Linux的命令格式
命令的语法通用格式:
~]# COMMAND OPTIONS ARGUMENTS
COMMAND: 发起一命令:请求内核将某个二进制程序运行为一个进程;
程序 –> 进程
静态 –> 动态(有生命周期)
命令本身是一个可执行的程序文件:二进制格式的文件,有可能会调用共享库文件;
多数系统程序文件都存放在:/bin, /sbin, /usr/bin, /usr/sbin,/usr/local/bin, /usr/local/sbin
普通命令:/bin, /usr/bin, /usr/local/bin
管理命令:/sbin, /usr/sbin, /usr/local/sbin
共享库:/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64
32bits的库:/lib, /usr/lib, /usr/local/lib
64bits的库:/lib64, /usr/lib64, /usr/local/lib64
注意:
1) 并非所有的命令都有一个在某目录下与之对应的可执行程序文件,比如shell内嵌命令;
2) 库是应用程序的一部分,如果应用程序中调用了库文件,运行时这些库文件要和应用程序一并装入内存中。
OPTIONS:指定命令的运行特性;
选项的表现形式:
短选项:-C, 例如-l, -d
有些命令的选项可能没有 – , 如果同一命令同时使用多个短选项,多数可合并:-l -d = -ld
长选项:–word, 例如–help, –human-readable
长选项不能合并.
选项的参数:有些选项可以带参数,称为选项参数
长选项的参数用 "=" 来指定,短选项的参数用 " " 来分割。
ARGUMENTS:命令的作用对象,不同的命令的参数格式不同;有些命令可同时带多个参数,多个之间以空白字符分隔
注意:命令的参数和选项的参数不是一回事
命令的分类:
1) 内置命令:由shell程序的自带的命令;
2) 外部命令:独立的可执行程序文件,文件名即命令名。
查看命令类型:type COMMAND
实例:
~]# type file
file is /usr/bin/file #后面跟路径表明file命令为外部命令
~]#
~]# type type
type is a shell builtin #后面跟shell builtin表明命令type为shell内嵌命令
Shell查找命令的路径:
shell程序是独特的程序,负责解析用户提供的命令,当用户输入某个特定命令时,shell通过遍历指定目录下的命令文件实现命令的查找,bash通过PATH变量存放可遍历的目录,查找次序是自左而右。
实例:
~]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
命令的文件组织格式:
命令必须遵循特定格式规范:exe(Windows), msi(Windows), ELF(Linux)
查看文件格式的命令:file COMMAND
实例:
~]# type file
file is hashed (/usr/bin/file) #查看file命令的可执行文件路径
~]#
~]# file /usr/bin/file #查看file命令的可执行文件组织格式,可以看到为ELF格式
/usr/bin/file: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x2b41e1e88b26311141384893b71fb1a7e86a5db9, stripped
在Linux上使用帮助的方法
获取命令的使用帮助:
内部命令:
~]# help COMMAND
外部命令:
(1) 命令自带简要格式的使用帮助
~]# COMMAND –help
(2) 使用手册manual,手册位置:/usr/share/man,如果手册目录中没有对应命令的手册,则man COMMAND时是看不到使用手册的
~]# man COMMAND
SECTION:
NAME:功能性说明
SYNOPSIS:语法格式
DESCRIPTION:描述
OPTIONS:选项
EXAMPLES:使用示例
AUTHOR: 作者
BUGS: 报告程序bug的方式
SEE ALSO: 参考
…
SYNOPSIS:
[]:可选内容;
<>:必须提供的内容;
a|b|c:多选一;
…:同类内容可出现多个;
manual的章节划分
man1:用户命令,包括普通用户和管理员使用的所有命令;
man2:系统调用,system call帮助文件,编程人员常用;
man3:C库调用,C libraries call帮助文件,编程人员常用;
man4:设备文件及特殊文件;
man5:文件格式;(配置文件格式)
man6:游戏使用帮助;
man7:杂项;
man8:管理工具及守护进行,即管理员命令;
指定查看特定章节的manual:
~]# man CHAPTER COMMAND
查看COMMAND都在那些章节下存在帮助文件:~]# whatis COMMAND
注意:
1) 其执行过程是查询数据库进行的;新安装的软件可能数据库并未自动更新到最新,因此可以手动更新数据库
手动更新数据库命令你个:~]# makewhatis
2) 并非每个COMMAND在所有章节下都有手册;
man命令打开手册以后的操作方法:
翻屏:
空格键:向文件尾翻一屏;
b: 向文件首部翻一屏;
Ctrl+d:向文件尾部翻半屏;
Ctrl+u:向文件首部翻半屏;
回车键:向文件尾部翻一行;
k: 向文件首部翻一行;
G:跳转至最后一行;
#G: 跳转至指定行;
1G:跳转至文件首部;
man文本搜索:
/keyword:从文件首部向文件尾部依次查找;不区分字符大小写;
?keyword:从文件尾部向文件首部依次查找;
n: 下一个keyword,与查找命令方向相同;
N: 下一个keyword,与查找命令方向相反;
退出:
q: quit
选项:
-M /PATH/TO/SOMEDIR:到指定目录下查找命令手册并打开之;
(3) info COMMAND
获取命令的在线文档;
(4) 很多应用程序会自带帮助文档:/usr/share/doc/APP-VERSION
README:程序的相关的信息;
INSTALL: 安装帮助;
CHANGES:版本迭代时的改动信息;
(5) 主流发行版官方文档
http://www.redhat.com/doc
(6) 程序官方的文档:
官方站点上的“Document”
(7) 搜索引擎
keyword filetype:pdf
keyword site:domain.tld
…
Linux基本命令
type命令:查看命令类型
用法:type COMMAND
内部命令:显示为shell builtin
外部命令:显示为命令的可执行文件路径
注意:命令可以有别名;别名可以与原名相同,此时原名被隐藏;此时如果要运行原命令,则使用\COMMAND;
实例:
~]# type ls
ls is aliased to `ls –color=auto'
~]# \ls
~]# type type
type is a shell builtin
~]# type file
file is hashed (/usr/bin/file)
whatis命令:查看命令manual存在于那些章节
用法:whatis COMMAND
实例:
~]# whatis ls
ls (1) – list directory contents
ls (1p) – list directory contents
which命令:显示命令的可执行文件路径
用法:which [options] programname […]
OPTIONS
–skip-alias:忽略别名
注:hich的别名与命令名相同,因此命令名被隐藏,且which命令不显示别名,只是别名中加入了显示别名的选项
实例:
~]# which –skip-alias ls
/usr/bin/ls
~]#
~]# which ls
alias ls='ls –color=auto'
/usr/bin/ls
~]#
~]# \which ls
/usr/bin/ls
~]# alias which
alias which='alias | /usr/bin/which –tty-only –read-alias –show-dot –show-tilde'
whereis命令:显示命令的可以行文件、源文件、手册文件存放路径
用法:whereis [options] name…
OPTIONS
-b: 仅搜索二进制可执行文件路径;
-m:仅搜索使用手册文件路径;
-s:仅搜索源文件路径。
实例:
~]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
~]#
~]# whereis -b ls
ls: /usr/bin/ls
~]#
~]# whereis -m ls
ls: /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
who命令:显示用户登录系统的情况
用法:who [OPTION]…
-b: 系统此次启动的时间;
-r: 运行级别。
注:who命令可以看到那个用户、在什么时间、通过什么终端、以什么源IP登录的系统,通过本地虚拟终端登录时不显示登录端IP地址。
实例:
~]# who
(unknown) :0 2016-09-06 20:15 (:0)
root pts/0 2016-09-06 20:18 (192.168.110.1)
~]#
~]# who -b
system boot 2016-09-06 20:15
~]#
~]# who -r
run-level 5 2016-09-06 20:15
w命令:显示用户登录系统的情况及资源占用情况
用法:w [options] user […]
实例:
~]# w
01:05:53 up 4:50, 3 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.110.1 20:18 1.00s 0.45s 0.02s w
user3 pts/1 192.168.110.1 01:05 9.00s 0.05s 0.05s -bash
~]#
~]# w user3
01:05:58 up 4:50, 3 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
user3 pts/1 192.168.110.1 01:05 14.00s 0.05s 0.05s -bash
echo命令:回显
用法:echo [SHORT-OPTION]… [STRING]…
SHORT-OPTION
-n:输出时不换行
-e:让转义符生效
\n:换行,在回显的内容中,有\n则换行
\t:制表,在回显的内容中,有\t再加一个Tab,类似表格
…
STRING:可以使用引号,单引号和双引号均可用;
单引号:强引用,变量不执行值替换
双引号:弱引用,变量执行值替换
实例:
~]# echo -e "hello\tworld"
hello world
~]#
~]# echo $?
0
tty命令:输出当前终端名称
用法:tty
实例:
local]$ tty
/dev/pts/1
startx命令:启动一个GUI窗口
用法:startx
pwd命令:输出工作目录
用法:pwd
cd命令:切换目录
用法:cd [/PATH/TO/SOMEDIR]
cd: 切换回家目录;
cd ~:切换回自己的家目录,bash中~表示家目录;
cd ~USERNAME:切换至指定用户的家目录;只有管理员才可以切换到其他用户的家目录中,管理员的家目录为/root,普通用户的家目录为/home/USERNAME;
cd -:在上一次所在目录与当前目录之间来回切换;因为有如下两个环境变量对当前目录和上一次工作目录进行记录;
$PWD:当前工作目录
$OLDPWD:上一次的工作目录
.:当前目录
..:父目录
ls命令:列出指定目录下的内容
用法:ls [OPTION]… [FILE]…
OPTIONS
-a: 显示所有文件,包括隐藏文件;
-A:显示除.和..之外的所有文件;
-h, –human-readable:对文件大小单位换算;换算后结果可能会非精确值;
-d:查看目录自身而非其内部的文件列表;
-r: reverse, 逆序显示;
-R: recursive,递归显示;
-l: –long, 长格式列表,即显示文件的详细属性信息;
-rw-r–r–. 1 root root 8957 10月 14 19:34 boot.log
-:文件类型,-, d, b, c, l, s, p
rw-r–r–
rw-:文件属主的权限;
r–:文件属组的权限;
r–:其它用户(非属主、属组)的权限;
1:数字表示文件被硬链接的次数;
root:文件的属主;
root:文件的属组;
8957:数字表示文件的大小,单位是字节,对于设备文件,此处为以 , 分割的两位数字,表示设备的编号;
10月 14 19:34 :文件最近一次被修改的时间;
boot.log:文件名
cat命令:文本文件查看工具
用法:cat [OPTION]… [FILE]…
OPTIONS
-n:给显示的文本行编号;
-E: 显示行结束符$;
实例:
~]$ tac -nE /etc/fstab
tac命令:文本文件查看工具,和cat显示顺序相反,tac为逆序显示
用法:tac /PATH/TO/FILENAME
file命令:查看文件内容组织格式
用法:file [FILE]…
实例:
[hdctc@Y002 /]$ file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
shutdown命令:关机或重启
用法:shutdown [OPTIONS…] [TIME] [WALL…]
OPTINOS
-h: halt
-r: reboot
-c: cancle
TIME
now: 立即关机
hh:mm: 几点几分关机
+m: 几分钟后关机
+0: 立即关机
WALL
实例:
~]# shutdown -r +10 "hello world" #在10min后重启,并且发送hello world的wall
~]# shutdown -c #取消之前设定的重启操作
原创文章,作者:Yurnero,如若转载,请注明出处:http://www.178linux.com/44979
评论列表(1条)
统一回复一下,可以在每个命令的常用参数下面写一个例子来说明一下,是不是没有做后面的题目啊?