Linux系统命令行基础

Linux系统命令行基础

 

  1. Linux必知必会基础知识
    1. 什么是Bash shell(壳)

BashShell是一个命令解释器,它在操作系统的最外层,负责用户程序与内核进行交互操作的一种接口,将用户输入的命令翻译给操作系统,并将处理后的结果输出至屏幕。

当我们使用远程连接工具连接linux服务,系统则会给打开一个默认的shell,我们可在这个界面执行命令、比如:获取系统当前时间,创建一个用户等等...

  1. Bash Shell能干什么?

使用Shell实现对Linux系统的大部分管理,例如:

    1.文件管理

    2.权限管理

    3.用户管理

    4.磁盘管理

    5.网络管理

    6.软件管理

    等等.

  1. Bash shell执行方式

输入命令方式           --->效率低--->适合少量的工作

shell script          --->效率高--->适合复杂的工作

  1. Linux命令行的作用和意义

众所周知,Linux是一个主要通过命令行来进行管理的操作系统,即通过键盘输入指令来管理的相关操作,包括但不限于编辑文件、启动和停止服务等。这和大家所使用的Windows系统使用鼠标点击这类可视化管理大不相同。

使用鼠标可视化管理的优势是简单、容易上手,但缺点是不能方便快速、批量、自动化的管理系统,而且感觉系统也很臃肿,这个时候Linux系统的命令行管理优势就凸显出来了。使用Linux 命令行管理,不但可以实现批量、自动化管理,还可以实现智能化、可视化管理,当然,后者需要开发人员配合开发管理界面来完成,但无论如何,Linux系统的优势还是快速、批量、自动化、智能化管理系统及处理业务。

  1. Linux命令行介绍

安装Linux系统时,无论是使用文本模式安装,还是使用图形模式安装,最终管理系统的任务都会落到命令行上。

多数互联网企业在安装系统时甚至不会安装图形管理软件包,而是直接使用文本模式安装,因此登录后直接面对的就是命令行的界面(如下图所示)


-通过SSH客户端(xshell)连接linux系统后的命令行

  1. Linux命令行的登录及退出

在开启主机时,Linux系统经过一系列的引导和程序加载后,最终会出现登录前的提示界面(如下图所示)。


图-CentOS Linux系统登录后的命令行界面

    在上图中,将光标定位到login:字符后面,输入超级用户管理员root后,按回车键,弹出密码提示框后,再输入密码,注意密码是不显示的。输入正确的密码后,再按回车键就可以登录到Linux系统中了(如下图所示)。


图-CentOS Linux系统登录后的命令行界面

    在命令行界面,执行exit或logout命令可退出命令行(如下图所示),当然也可以使用快捷键Ctrl+d键退出命令行。退出命令行后,如果要再次登录,还是需要输入用户名和密码的(除非使用SSH客户端将用户名和密码保存)。


图-CentOS Linux命令行退出操作界面

  1. 命令行提示符介绍

Linux命令行结尾的提示符有"#"和"$"两种,如下所示:

[root@oldboy ~]# #<==这是超级管理员root用户对应的命令行

[root@oldboy ~]$ #<==这是普通用户oldboy对应的命令行

其中:

1root,表示当前登录的用户(可用whoami命令查询查询)

2@符,表示分隔符

3oldboy,表示主机名(可用hostname命令查询)

4~号,表示当前用户所在的路径(可用pwd命令查看,默认用户登录之后所在的路径是当前用户的家目录)

5#号,表示超级用户root登录后的命令行结尾提示符,而$号是使用普通用户登录后的命令行结尾提示符。超级用户具有管理系统的所有权限,普通用户的权限比较小,只能进行基本的系统信息查看等操作,无法更改系统配置和管理服务。

6Linux命令行提示符由PS1环境变量所控制的。

[root@web ~]# set |grep PS1 #注意,这里的PS是大写的。这里的PS1='[\u@\h \W]\$ ',可以通过命令export进行修改,永久生效的话通过全局配置文件/etc/bashrc/etc/profile按需进行配置和调整。在这里,我们可以给命令行提示符加上颜色。


PS1='\[\e[32;1m\][\u@\h \W]\$ \[\e[0m\]'

  1. Linux命令组成结构

在企业里,绝大多数使用Linux的管理员都是通过命令行操作Linux的,学会如何通过命令行操作Linux是一个Linux管理员的必须课。

在操作Linux命令之前,先看下命令操作语法格式(如下图所示)。Linux系统命令操作语法的格式为:

#命令         [选项]         [参数/路径]

command     [-options]         [arguments]

[root@oldboy ~]# ls     #命令

[root@oldboy ~]# ls -a     #命令+选项

[root@oldboy ~]# ls -a /home/         #命令+选项+参数

#命令: 整条shell命令的主体

#选项: 用于调节命令的具体功能

#
"-"引导短格式选项(单个字符),例如"-a"

#以"--"引导长格式选项(多个字符),例如"--all"

#多个短格式选项可以写在一起,只用一个"-"引导,例如"-al"

#参数: 命令操作的对象,如文件、目录名等

PS1:中括号表示可选,即命令的选项即参数是可选的。

PS2:选项表示使用一个命令的不同功能。

PS3:命令、选项、参数两两之间至少要有一个空格。一个整体的命令、选项、参数不能有空格。

PS4: 选项和参数在有些命令的时候时,位置可以发生变化.

PS5: 命令必须放在开头,
选项和参数位置可以发生变化

图-命令的组成结构

  1. 执行命令的常见报错

[root@oldboy ~]# ls-a

bash: ls-a: command not found...    找不到命令(要么命令写错了,要么就真的没有该命令)

[root@oldboy ~]# ls /.bashrc

ls: cannot access /.bashrc: No such file or directory    没有这个文件或目录

PS:相信电脑,电脑是不会出错的,如果电脑的出现的结果和你想像的不一样,那么一定是你错了。

  1. Bash shell特性

1. tab键补全支持

    命令补全
选项补全
参数补全

在实际生产中tab补全往往是我们使用的最多的, 因为可以减少执行命令以及路径出错率

命令补全: 按一下tab键没有任何反应,因为以user开头的命令有很多,系统并不知道你需要使用哪一个

[root@oldboy ~]# user

useradd userdel userhelper usermod usernetctl users

选项补全:

[root@web 20:39:54 ~]# ls --

--all --format= --quote-name

--almost-all --group-directories-first --quoting-

--author --help --recursive

--block-size= --hide= --reverse

3.路径补全:

[root@web 20:39:54 ~]# ls /root/

1.sh .bash_profile etc/ filename.bz2 .lesshst .pki/ .tcshrc

2. base shell常用快捷键

ctrl + c cancel 取消当前的操作

ctrl + l (小写字母L) clear(命令)清空当前屏幕

ctrl + d 退出当前用户

ctrl + r 查找(历史命令)。 history|grep

ctrl + a 把光标移动到行首

ctrl + e 把光标移动到行尾

ctrl + u 把光标到行首的内容删除/剪切

ctrl + y 粘贴

delete 光标所在处从前往后删除内容

ctrl + k 把光标到行尾的内容删除/剪切

ctrl + → 向右移动一个单词 Xshell工具提供的

ctrl + ← 向左移动一个单词 Xshell工具提供的

ctrl + s 锁屏

ctrl + q 解锁

ctrl + w 删除当前位置至上一个空格的字符

Esc + .     获取上一条命令最后的部分(空格分割)

!号开头的快捷命令

!!         执行上一条命令

!cd         执行最近以cd开头的命令

!num     执行历史命令列表的第num(数字)条命令

注意:有些的快捷命令是基于Xshell和SecureCRT远程连接工具实现的。

  • 小练习:

命令行输入oldboyedu,然后让光标移动到行首
加上注释符号和I am studying,然后让光标移动到行尾,加上 linux.site:www.oldboyedu.com 剪切这一行内容。粘贴3次。

3.历史记录history

history #命令直接查看当前的shell所执行过的命令

!100 #调用history历史命令中编号为100

!! #执行上一次执行过的指令

选项

-w #保存命令历史到历史文件    write #写入到当前用户的家目录下.bash_history

-c #清空命令历史记录, 不会情况文件    clear

-d #删除命令历史的第 N 条行            delete

Ecs + . #获取上一个命令的参数

4.命令别名alias

4.1.如何设定别名

alias oldboy='ping www.baidu.com'

4.2.如何取消别名

unalias oldboy

4.3.为什么系统默认存在一些别名:

防止在执行危险指令时,发生误操作的情况,比如:

alias rm='rm -i'

PS: 当前的别名全部都是针对当前的Shell生效,临时生效.

4.4.永久生效{扩展}

将内容写入到 /etc/bashrc 所有的shell都生效

  1. 在Linux命令行下查看命令帮助

    1. 使用man获取命令帮助信息

man命令是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。示例:

  1. 使用help参数获取命令帮助信息

大多数的命令都会有个帮助信息的参数--help。示例如下:

  1. 使用help命令获取bash内置命令帮助

help命令用于显示shell内部命令的帮助信息。help命令只能显示shell内部的命令帮助信息。示例:

那么如何查看当前系统的所有内置命令呢:使用help命令即可,那么有如何查看单个命令是否是内置命令呢:使用type 命令即可,如:type cd

  1. 使用info获取帮助信息

就内容来说,info页面比man page编写得要更好、更容易理解,也更友好,但man page使用起来确实要更容易得多。一个man page只有一页,而info页面几乎总是将它们的内容组织成多个区段(称为节点),每个区段也可能包含子区段(称为子节点)。理解这个命令的窍门就是不仅要学习如何在单独的Info页面中浏览导航,还要学习如何在节点和子节点之间切换。可能刚开始会一时很难在info页面的节点之间移动和找到你要的东西,真是具有讽刺意味:原本以为对于新手来说,某个东西比man命令会更好些,但实际上学习和使用起来更困难。

  1. 从互联网搜索获取命令帮助信息

除了Linux系统自带的帮助功能以外,可以通过搜索引擎网站来获取命令帮助信息。如:百度,谷歌,搜狐等。

下面几个网址是一些命令详解的地址

http://man.linuxde.net

http://liunx.web3.xin

http://linux.51yip.com

  1. Linux关机重启注销命令

    1. 重启或关机命令:shutdown

  • 重启

shutdown -r 10 #10分钟之后重启

shutdown -r 0 #立刻重启

shutdown -r now #立刻重启

  • 关机

shutdown -h 10 #10分钟之后关机

shutdown -h 0 #立刻关机

shutdown -h now #立刻关机

  • 取消当前关机或重启

shutdown -c #取消正在进行的
关机或重启
shutdown )

  1. 关机与重启命令

  • 重启

reboot #立刻重启

  • 关机

poweroff #立即停止系统,并且关闭电源

halt #立即停止系统,需要人工关闭电源,是reboot的链接文件

  1. 关机、重启和注销的命令列表

命令

说明

关机命令
shutdown -h now

立刻关机(生产常用)

shutdown -h +1

1分钟以后关机,1可以是别的数字或时间点,例如:11:00

halt

立即停止系统,需要人工关闭电源,是reboot的链接文件

init 0

切换运行级别到0,0表示关机,因此此命令作用就是关机

poweroff

立即停止系统,并且关闭电源

重启命令
reboot

立即重启(生产常用)

shutdown -r now

立即重启(生产常用)

shutdown -r +1

1分钟后重启

init 6

切换运行级别到6,6表示重启,因此此命令作用就是重启

注销命令
logout

注销退出当前用户窗口

exit

注销退出当前用户窗口

  1. Linux显示系统IP地址

    1. 使用ifconfig查看IP地址

ifconfig #显示所有网卡IP地址

ifconfig eth0 #显示某块网卡IP地址

  1. 使用ip查看IP地址

ip address (简写ip a) #显示所有网卡IP地址

ip address show eth0 (简写ip a s eth0 ) #显示某一块网卡IP地址。

  1. 使用hostname查看IP地址(不常用)

hostname -I #显示所有IP地址(没有网卡详细信息,只有ip信息)

hostname -i #显示外网IP地址(没有网卡详细信息,只有ip信息)

您可能也喜欢:

第18章 Linux系统安全及优化

添加普通用户账号 linux/unix是一个多用户、多任务的操作系统。 超级管理员(root): root默认在unix/linux操作系统中拥有最高的管理权限。比喻:皇帝。 普通用户:管理员或者具备管理权限的用户创建的。权限:系统管理仅可以读、看,不能增、删、改。 权限越大,责任越大...

more

第17章 Linux系统三剑客(Awk、Sed、Grep)

grep/egrep grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。 Unix的grep家族...

more

第16章 Linux系统磁盘管理体系

磁盘知识体系 磁盘结构 磁盘外部结构 磁盘主轴转速 rpm(round per minute) 10k rpm 15k rpm 5400 rpm 7200 rpm 磁盘盘片(用于存储数据) 磁头(用于读取数据) 磁盘接口及类型 SATA...

more

 
posted @ 2019-08-21 19:25  Mr-Bear  阅读(1422)  评论(0编辑  收藏  举报