基本格式
COMMAND [OPTIONS...] [ARGUMENTS...]
COMMAND:命令,表示可执行的二进制文件
OPTIONS:选项,可以用来调整命令的运行 []表示可选 ...表示可重复 支持多个选项
ARGUMENTS:参数,表示命令作用的对象,[]表示可选 ...表示可重复 支持多个参数
options 选项的作用
选项可以调整命令的运行,可以使命令本身的功能更丰富 选项本身是可选的
[root@centos76 ~]# pwd
/root
# ls命令 不带选项 也不带参数 默认显示当前路径下的文件
[root@centos76 ~]# ls
anaconda-ks.cfg data find sjk
加上参数后再看看效果
# 可以看到 加上-l参数后 显示的信息格式更全了
[root@centos76 ~]# ls -l
总用量 4
-rw-------. 1 root root 1326 2022-07-20 12:54:46 anaconda-ks.cfg
drwxr-xr-x. 2 root root 237 2022-07-25 11:18:27 data
drwxr-xr-x. 4 root root 30 2022-07-24 14:02:53 find
drwxr-xr-x. 2 root root 38 2022-07-23 07:03:10 sjk
# 加上-a参数后 显示的信息更多了 隐藏文件也显示出来了
[root@centos76 ~]# ls -a
. anaconda-ks.cfg .bash_logout .bashrc .cshrc find .lesshst sjk .viminfo
.. .bash_history .bash_profile .cache data .gem .pki .tcshrc
参数还可以合并
# 加上-la后 -l 和 -a的功能都体现出来了
[root@centos76 ~]# ls -la
总用量 52
dr-xr-x---. 8 root root 240 2022-07-25 09:47:42 .
dr-xr-xr-x. 17 root root 224 2022-07-20 12:54:07 ..
-rw-------. 1 root root 1326 2022-07-20 12:54:46 anaconda-ks.cfg
-rw-------. 1 root root 15279 2022-07-25 12:15:31 .bash_history
-rw-r--r--. 1 root root 18 2013-12-29 10:26:31 .bash_logout
-rw-r--r--. 1 root root 176 2013-12-29 10:26:31 .bash_profile
-rw-r--r--. 1 root root 240 2022-07-22 11:55:31 .bashrc
drwxr-xr-x. 3 root root 18 2022-07-20 14:21:41 .cache
-rw-r--r--. 1 root root 100 2013-12-29 10:26:31 .cshrc
drwxr-xr-x. 2 root root 237 2022-07-25 11:18:27 data
drwxr-xr-x. 4 root root 30 2022-07-24 14:02:53 find
drwxr-xr-x. 4 root root 31 2022-07-22 23:37:04 .gem
-rw-------. 1 root root 418 2022-07-24 13:57:39 .lesshst
drwxr-----. 3 root root 19 2022-07-20 14:20:13 .pki
drwxr-xr-x. 2 root root 38 2022-07-23 07:03:10 sjk
-rw-r--r--. 1 root root 129 2013-12-29 10:26:31 .tcshrc
-rw-------. 1 root root 5836 2022-07-24 14:14:28 .viminfo
options 选项的格式
平时在使用命令时 会发现选项的格式有很多
有单中线开头的 比如 ls -la ps -ef
有双中线开头的 比如 ls --all
甚至还有没有中线的 比如 ps aux
那么他们的区别是什么?
其实这是三种不同的风格
Unix风格的options 是单中线开头 也叫短格式
GNU风格的options 是双中线开头 也叫长格式
BSD风格的options 没有中线 不常见
一般命令长短格式的选项都会成对出现,互相可以替代,但是并不绝对,需要查看帮助文档视具体情况而定,而且三种格式的参数不能混用 需要注意
# 查看ps的帮助文档会发现 a u x属于BSD风格的参数 不应该加中划线
# 这里加了以后会有警告信息提示糟糕的语法 所以使用的时候还是要注意选项的格式
root@centos68 ~]# ps -aux
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 3.0 0.0 19232 1488 ? Ss 18:38 0:01 /sbin/init
root 2 0.0 0.0 0 0 ? S 18:38 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 18:38 0:00 [migration/0]
root 4 0.0 0.0 0 0 ? S 18:38 0:00 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S 18:38 0:00 [stopper/0]
arguments 参数的作用
参数用于指定 命令操作的对象 可以有多个
# 展示当前目录的内容 其实ls命令不加这个参数 默认就是展示当前目录
[root@centos76 ~]# ls ./
anaconda-ks.cfg data find sjk
# 参数可以重复 相当于分别展示两个目录中的内容
[root@centos76 ~]# ls /root/ /root/data/
/root/:
anaconda-ks.cfg data find sjk
/root/data/:
1.txt 2.txt 3.txt 4.txt 5.txt 6.txt 7.txt aa.txt a.sh bb.txt b.sh cc.txt c.sh dd.txt d.sh e.sh f.sh g.sh
总结
linux 命令由命令名、选项和参数三部分组成
命令名指向可执行的二进制文件
选项用来丰富命令的功能 注意选项的三种风格
参数用来指定命令操作的对象
网友评论