![c6f3aa06e5a6730a61941c9b10bd8318.png](https://i-blog.csdnimg.cn/blog_migrate/4416abada3efbaf347e5a571214e81d6.jpeg)
命令格式:在Linux下命令通常有三部分组成。
命令(command) 选项 (options) 参数(arguments)
第一部分:命令本身,在命令提示符下输入的必须是命令,或是个可执行程序的路径、或是个脚本的路径、名字。
第二部分:命令选项,命令本身与命令选项必须用空格隔开,选项的作用,用于修改命令的执行方式以及特性,选项可以同时使用多个,而且选项有长和短之分,有些选项是可带有参数的。
短选项:通常用一个 - 和一个字母来引导,如果在命令加入多个短选项时,也可以用一个 - 把多个选项组合在一起引导,组合引导选项与选项之间不需要隔开,也可以每个短选项都单独用一个 - 引导,但需要空格隔开。
长选项:通常用两个 -- 后面跟上的选项就是以单词格式作为选项引导,长选项通常不能组合,必须要分开引导。
第三部分:参数,命令的作用对象,生效在什么地方,对不同的命令来言,是否能接受参数、接受的参数个数、等等都是各不相同的。
3.2.1 基本命令之 ls
作用:列出指定路径或当前目录下的子目录和文件。
语法:ls 目录/文件 ,ls 不加参数时,只列出当前目录的子目录和文件。
常用选项:
-h :做单位转换
-a :all 显示包括隐藏文件目录,Linux下隐藏文件以 . 开头,在每个目录下都有 . 和 .. 这两个隐藏目录
-l :以长格式查看文件
-A : 显示包括隐藏文件和目录,但不显示. 和 ..
-d :显示目录自身属性
-S :以文件的大小进行排序
-i :显示文件的索引号
-r :逆序显示文件,默认是顺序显示文件排列
-R :递归(recursive)显示,此方式显示比较消耗资源,比如一个目录下有百个目录而每个目录下都有上百层,上万个文件,因为将要显示的数据都是先调入内存中,此时用这种方式显示 ,所以内存的大量缓存会用于显示目录
命令后面不加任何选项:
[root@xuegod63 ~]# ls #列出目录中的内容。
anaconda-ks.cfg initial-setup-ks.cfg 公共 模板 视频 图片 文档 下载 音乐 桌面
1. -l 列出文件的详细信息,如创建者,创建时间,文件的读写权限列表等等,长列表。
[root@xuegod63 ~]# ls -l
总用量 8
-rw-------. 1 root root 1680 9月 19 12:16 anaconda-ks.cfg
-rw-r--r--. 1 root root 1728 9月 19 12:55 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 6 9月 19 13:05 公共
drwxr-xr-x. 2 root root 6 9月 19 13:05 模板
drwxr-xr-x. 2 root root 6 9月 19 13:05 视频
2. 文件属性每段代表的含义,如图 3-3 所示。
![78981f68bc58fe113d00337b43c22145.png](https://i-blog.csdnimg.cn/blog_migrate/680d06131ddeff35aefc4f44b71ba8fd.jpeg)
图 3-3 文件属性分解图
(1) 第一个字符文件类型中:
1) d:目录文件
2) l:链接文件
3) b:块设备文件
4) c:字符设备文件
5) p:管道文件
6) -: 表示普通文件
(2) Linux系统中不同的颜色代表了不同的文件类型,详解如表 3-1 所示。
颜 色
代表内容
举 例
蓝色
目录
/etc
黑色
文件
/etc/passwd
浅蓝色
链接
/etc/grub2.cfg
红色
压缩包
boot.tar.gz
绿色
可执行文件
/etc/init.d/network
黑底黄字
设备文件
/dev/sda
![2e5790c795b32641b82bd7c7f9743702.png](https://i-blog.csdnimg.cn/blog_migrate/e474134a4b3744e80cd6afcfd3dbb29a.jpeg)
表 3-1 颜色代表文件类型详解图
3. -a 列出目录下所有的文件,包括以“.“开头的隐藏文件(Linux下隐藏文件是以 . 开头的,如果存在2个点代表存在着父目录,1个点表示当前目录)
[root@xuegod63 ~]# ls -a
. .. .bash_profile .dbus .mozilla 视频 桌面
4. -d 查看目录(不查看里面的内容,一般常用是与-l参数同时使用,单独使用-d参数意义不大)。
[root@xuegod63 ~]# ls -ld /root/
dr-xr-x---. 15 root root 4096 11月 15 21:37 /root/
5. -S 以文件的大小进行排序
[root@xuegod63 ~]# ls -lS /root/
总用量 8
-rw-r--r--. 1 root root 1728 9月 19 12:55 initial-setup-ks.cfg
-rw-------. 1 root root 1680 9月 19 12:16 anaconda-ks.cfg
ls -l 和ll 这两个命令是等价的。
[root@xuegod63 ~]# ll /etc/passwd
-rw-r--r--. 1 root root 2053 9月 19 12:57 /etc/passwd
[root@xuegod63 ~]# ls -l /etc/passwd
-rw-r--r--. 1 root root 2053 9月 19 12:57 /etc/passwd
[root@xuegod63 ~]# type ll
ll 是 `ls -l --color=auto' 的别名。
3.2.2 别名的使用
命令别名即是把一个命令名称改成另一个名称,在使用时,可以使用命令的本身,也可以使用命令的别名。
定义一个命令的别名时,使用alias 自定义别名='系统已有命令' 即可定义命令别名,命令可以带选项、参数,如果命令和选项、参数之间有空格,用‘ ’单引号引起。
定义别名是Shell的特性,所以只在当前终端生效,用户退出当前终端时,所定义的别名则失效,就算同一个用户再打开一个Shell也是不会生效,也就说在Shell中定义的别名仅在当前Shell生命周期中有效,别名的有效范围为当前Shell进程,需要永久生效则需要修改Bash相关的配置文件实现。
当前用户生效的别名,仅在当前用户下使用,全局则可以系统中所有用户都可使用。
1. 定义命令别名
命令alias,作用:用于定义命令别名。
命令使用格式:命令 自定义别名='系统已有命令' #此方式为临时定义别名。
[root@xuegod63 ~]# alias vimens33='vim /etc/sysconfig/network-scripts/ifcfg-ens33'
[root@xuegod63 ~]# vimens33 #使用已定义好的别名。
在使用命令的别名时,实现上是使用命令别名对应的命令,在执行别名vimens33时,实际上系统是在执行vim /etc/sysconfig/network-scripts/ifcfg-ens33 。
2. 删除别名
命令unalias,作用:用于取消/删除命令别名。
命令使用格式:unalias 命令别名
[root@xuegod63 ~]# unalias vimens33 #unalias 命令别名,即可删除别名。
3. 设置别名永久生效(分为两种生效范围)
(1) 设置当前用户别名永久生效(生效范围仅当前用户使用有效):
[root@xuegod63 ~]# vim /root/.bashrc #插入以一下内容:
alias vimenss33="vim /etc/sysconfig/network-scripts/ifcfg-ens33"
[root@xuegod63 ~]# source /root/.bashrc #重新加载 /root/.bashrc文件。
[root@xuegod63 ~]# vimenss33
(2) 设置全局使用别名永久生效(生效范围系统所有用户使用有效)
[root@xuegod63 ~]# vim /etc/bashrc #在文件最后插入。
alias vimenss33="vim /etc/sysconfig/network-scripts/ifcfg-ens33"
[root@xuegod63 ~]# su - mk #切换到普通用户。
上一次登录:四 11月 16 10:22:03 CST 2017pts/1 上
[mk@xuegod63 ~]$ vimenss33 #使用普通用户执行定义好的别名。
TYPE=Ethernet #网络类型
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33 #网卡名。
UUID=5e7053bf-1f1b-4335-a5b5-3865225c24d6 #网卡UUID号,全球唯一的。
DEVICE=ens33 #设备名字,在内核中识别的名字。
ONBOOT=yes #启用该设备,如果为no,表示不启用此网络设备。
IPADDR=192.168.1.63 #IP地址。
NETWORK=255.255.255.0 #子网掩码。
GATEWAY=192.168.1.1 #默认网关。
总结:
别名的永久生效,分别全局定义和个人定义修改的配置文件。
全局定义:
修改 /etc/bashrc ,在文件中加入 alias cls=clear 即可。
# source /etc/bashrc #重新加载该文件。
个人定义:
修改 ~/.bashrc ,在文件中加入 alias cls=clear 即可,~表示当前用户家目录。
# source ~/.bashrc #重新加载该文件。
3.2.3 基本命令之 cd
作用:切换目录(change directory)
命令使用格式:cd [目录]
说明:直接输入cd表示回到当前用户的宿主(家)目录。
[root@xuegod63 ~]# cd /etc/sysconfig/network-scripts/ #切换目录。
[root@xuegod63 network-scripts]# cd #直接使用cd命令回到用户家目录。
[root@xuegod63 ~]#
[root@xuegod63 ~]# cd ~ #使用cd~和直接使用cd是同样意义。
cd .. 表示返回到上级目录位置,也就是父目录。
cd . 表示进入到当前用户所在的目录。
[root@xuegod63 ~]# pwd #查看当前处理哪一个工作目录。
/root
[root@xuegod63 ~]# cd .. #返回上一级目录。
[root@xuegod63 /]# pwd #查看当前处理哪一个工作目录。
/
[root@xuegod63 /]# cd . #切换到当前目录。
[root@xuegod63 /]#
[root@xuegod63 ~]# cd - #切换到上一次切换的目录,在上次所处的目录切换到当前目录之间来回切换。
例3.4:
[root@xuegod63 /]# cd /etc/sysconfig/network-scripts/
[root@xuegod63 network-scripts]# cd - #使用cd- 直接返回到上次切换至此的目录/。
3.2.4 历史命令之history
用于查看所执行过的命令和管理。
命令:history
命令使用格式:history [选项]
4个快速查找Linux历史命令的技巧:
(1) : 光标上下键
(2) : ctrl+r -》输入某条命令的关键字-》找出来对应的命令,按右光标键
(3) : !数字 #执行历史命令中第N条命令
(4) : !字符串 #搜索历史命令中最近一个以xxxx字符开头的命令,例如!Vim
3.2.5 Linux下快捷键
在Linux下的快捷键都是使用Ctrl+下面的单词, ^表示Ctrl。
1. ^C
终止前台运行的程序 , 如:ping http://g.cn 后,想停止按下Ctrl+C。
2. ^D
退出 等价exit。
3. ^L
清屏与clear命令功能一样。
4. ^R
搜索历史命令,可以利用好关键词。
5. tab键
补全命令使用tab键,Tab只能补全命令和文件。
6. !$ 引用上一个命令的最后一个参数,等价于
[root@xuegod63 network-scripts]# cat /etc/hosts
[root@xuegod63 network-scripts]# vim !$ #相当于执行: vim /etc/hosts
本文节选自学神IT教育原创书籍《LINUX-第一阶段-centos7-操作系统入门到精通》,全套书共四册1600页,跟着学神学Linux,祝你早日成为大牛!
想要全套印刷书籍,可以关注我们,经常会举办赠书活动。
【点击】MK老师,获取免费视频学习