格式替换符
选项 | 功能描述 |
---|---|
%s | 字符串 |
%f | 浮点格式 |
%c | ASCII字符,即显示对应参数的第一个字符 |
%d,%i | 十进制整数 |
%o | 八进制值 |
%u | 不带正负号的十进制值 |
%x | 十六进制值(a-f) |
%X | 十六进制值(A-F) |
%% | 表示%本身 |
常用转义字符
选项 | 功能描述 |
---|---|
\b | 后退 |
\f | 换页 |
\n | 换行 |
\r 回车 | |
\t | 水平制表符 |
\v | 垂直制表符 |
\ | 表示\本身 |
fmt命令用于编排文本文件。fmt指令会从指定的文件里读取内容,将其依照指定格式重新编排后,输出到标准输出设备。若指定的文件名为"-",则fmt指令会从标准输入设备读取数据。
例如:
[root@localhost usr]# cat app.json
{
"pages":[
"pages/aboutme/aboutme",
"pages/index/index",
"pages/logs/logs"
],
"window":{
"backgroundTextStyle":"light",
"navigationBarBackgroundColor": "#0ff",
"navigationBarTitleText": "第一个微信小程序"
}
}
// 重新编排文件内容
[root@localhost usr]# fmt app.json
{
"pages":[
"pages/logs/logs"x",outme",
"window":{
"navigationBarBackgroundColor":",
"navigationBarTitleText": "第一个微信小程序"
}
}
nl命令在linux系统中用来计算文件中行号。nl 可以将输出的文件内容自动的加上行号。
[root@localhost usr]# nl a.txt
1 lzp
2 is a chinese man.
3 jaskson
4 is a usa man.
grep [选项] [范本样式] [文件或目录…]
例子
当前目录下查找以file前缀的文件中含有lzp的行。
[root@localhost local]# ls
android1 etc file2 include lib libexec sbin src afile
bin file1 games jdk lib64 mysql share tomcat
[root@localhost local]# grep lzp file*
file1:lzp
file2:lzp
多命令执行符 | 格式 | 作用 |
---|---|---|
; | 命令1;命令2 | 多个命令顺序执行,命令之间没有任何逻辑联系 |
&& | 命令1&&命令2 | 逻辑与;当命令1执行正确,则命令2才会执行;当命令2执行不正确,则命令2不会执行 |
|| | 命令1 || 命令2 | 逻辑或;当命令1执行不正确,则命令2才会执行当命令2执行正确,则命令2不会执行 |
例子:
同时执行多条命令
[root@localhost ~]# date;ls;cd /usr;date;ls
Wed May 8 07:49:28 PDT 2019
anaconda-ks.cfg Documents install.log Music Public Videos
Desktop Downloads install.log.syslog Pictures Templates
Wed May 8 07:49:28 PDT 2019
bin etc include lib libexec sbin src
dzqc games java lib64 local share tmp
如果其中一条命名发生错误,后面的命令依旧会执行。如date1命令错误,ls命令仍旧执行。
例2:同时执行ls和echo命令
[root@localhost usr]# ls && echo 'yes'
bin etc include lib libexec sbin src
dzqc games java lib64 local share tmp
yes
[root@localhost usr]# ls1 && echo yes
bash: ls1: command not found
逻辑与表示命令ls和命令echo同时成功时同时或失败
实例3:ls和echo命令只执行其中一个。
[root@localhost usr]# ls || echo yes // 执行的ls,没有执行echo
bin etc include lib libexec sbin src
dzqc games java lib64 local share tmp
[root@localhost usr]# ls1 || echo yes // 执行echo,没有执行ls1
bash: ls1: command not found
yes
实例4:判断ls命令是否正确执行,如果正确执行打印success,不正确执行打印fail
[root@localhost usr]# date && echo success || echo fail
Wed May 8 08:18:15 PDT 2019
success
[root@localhost usr]# date1 && echo success || echo fail
bash: date1: command not found
fail
实例5:判断命令的执行结果
[root@localhost usr]# date1 || echo no && echo yes
语法:
命令1 | 命令2
命令1的正确输出作为命令2的操作对象
实例1:命令ls显示/etc目录下的文件,并将结果重定向到abc.txt文件中。再用more显示。
[root@localhost etc]# ls -al>abc.txt
[root@localhost etc]# more abc.txt
上面的功能能使用一条命令吗?
[root@localhost etc]# ls /etc | more
将netstat命令的结果发到grep ,显示包含udp的行。
[root@localhost etc]# netstat -lntup | grep udp
udp 0 0 0.0.0.0:631 0.0.0.0:* 1803/cupsd
udp 0 0 0.0.0.0:68 0.0.0.0:* 2864/dhclient
将netstat命令的结果发到grep ,显示包含udp的行的数量。
[root@localhost etc]# netstat -lntup | grep udp | wc -l
2