shell严格区分输入命令的大小写,如who、Who和WHO是不同的,其中只有全小写——who是正确的Linux命令。
命令与选项和参数之间要用空格或制表符隔开。连续空格会被shell解释称单个空格。
选项:对命令的特殊定义,以“-”开始,多个选项之间可以用“-”连接起来,如“ls -l -a”等同于“ls -la”。
参数:提供命令运行的信息或者命令执行过程中所使用的文件名。通常,参数是一些文件名,告诉命令从哪里可以得到输入,以及把输出送到什么地方。
若一个命令太长,一行写不完,可在每行行尾输入“\”字符,然后按回车(Enter)。即可另起一行继续输入命令。如:
1、who命令
格式:who [OPTION]... [ FILE | ARG1 ARG2 ]
who (show who is logged on):列出所有正在使用系统的用户、所用终端名和注册到系统的时间。
who am i:列出使用该命令的当前用户的相关信息。
-a, --all
same as -b -d --login -p -r -t -T -u
相当于同时执行 -b -d --login -p -r -t -T -u
-b, --boot
time of last system boot
上次系统引导时间
-d, --dead
print dead processes
打印死进程
-H, --heading
print line of column headings
打印的表头信息
-l, --login
print system login processes
打印系统登录进程
--lookup
attempt to canonicalize hostnames via DNS
尝试通过DNS规范化主机名
-m only hostname and user associated with stdin
只有主机名和用户的标准输入 等同 who am i
-p, --process
print active processes spawned by init
打印由初始化生成的活动进程
-q, --count
all login names and number of users logged on
所有登录名和登录用户数
-r, --runlevel
print current runlevel
打印当前运行级别
-s, --short
print only name, line, and time (default)
只打印名称、行和时间(默认)
-t, --time
print last system clock change
打印上次系统时钟更改
-T, -w, --mesg,--message,--writable
add user's message status as +, - or ?
将用户的消息状态添加为+、-或?
-u, --users
list users logged in
列出登录的用户
2、echo
格式:
echo [SHORT-OPTION]... [STRING]...
echo LONG-OPTION
echo - (display a line of text) :显示一行文本
-n do not output the trailing newline 不输出尾随的换行符
-e enable interpretation of backslash escapes 启用反斜杠转义的解释
-E disable interpretation of backslash escapes (default) 禁用反斜杠转义的解释(默认)
--help display this help and exit 显示此帮助并退出
--version output version information and exit 输出版本信息并退出
If -e is in effect, the following sequences are recognized:
如果-e生效,将识别以下序列:
格式例如:echo -e "\\"
echo -e "\a"
\\ backslash 反斜杠
\a alert (BEL) 警告
\b backspace 退格(删除前一个字符)
\c produce no further output 不产生进一步的输出(\c后面的字符不会输出,每行默认的回车当然也不会输出)
\e escape
\f form feed 换页(换行但光标仍旧停留在原来的位置)
\n new line 另起一行(换行且光标移至行首)
\r carriage return 光标移至行首,但不换行(\r后面的内容会覆盖\r前面的内容)
\t horizontal tab 水平制表符(制表符,Tab键)
\v vertical tab 垂直制表符(跟\f一样的作用)
\0NNN byte with octal value NNN (1 to 3 digits) 按八进制ASCII码表输出字符,其中0为数字0,NNN是3位八进制数
\xHH byte with hexadecimal value HH (1 to 2 digits) 按十六进制ASCII码表输出字符,其中HH是两位十六进制数;
3、date
date - print or set the system date and time 打印或设置系统日期和时间
格式:
date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
%n : 下一行
%t : 跳格
%H : 小时(00..23)
%I : 小时(01..12)
%k : 小时(0..23)
%l : 小时(1..12)
%M : 分钟(00..59)
%p : 显示本地 AM 或 PM
%r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)
%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数
%S : 秒(00..61)
%T : 直接显示时间 (24 小时制)
%X : 相当于 %H:%M:%S
%Z : 显示时区 %a : 星期几 (Sun..Sat)
%A : 星期几 (Sunday..Saturday)
%b : 月份 (Jan..Dec)
%B : 月份 (January..December)
%c : 直接显示日期与时间
%d : 日 (01..31)
%D : 直接显示日期 (mm/dd/yy)
%h : 同 %b
%j : 一年中的第几天 (001..366)
%m : 月份 (01..12)
%U : 一年中的第几周 (00..53) (以 Sunday 为一周的第一天的情形)
%w : 一周中的第几天 (0..6)
%W : 一年中的第几周 (00..53) (以 Monday 为一周的第一天的情形)
%x : 直接显示日期 (mm/dd/yy)
%y : 年份的最后两位数字 (00.99)
%Y : 完整年份 (0000..9999)
运用例子:
date +‘This date now is =>%x ,time is now =>%X ,thank you !’
This date now is =>2020年09月09日 ,time is now =>22时11分11秒 ,thank you !
date +%Y-%m-%d //显示现在天年月日
date +%Y-%m-%d --date="+1 day" //显示后一天的日期
date +%Y-%m-%d --date="-1 day" //显示前一天的日期
date +%Y-%m-%d --date="-1 month" //显示上一月的日期
date +%Y-%m-%d --date="+1 month" //显示下一月的日期
date +%Y-%m-%d --date="-1 year" //显示前一年的日期
date +%Y-%m-%d --date="+1 year" //显示下一年的日期
其他格式:
例如前一天:
date --date "1 days ago" +"%Y-%m-%d"