标准输入输出和错误
标准输入(stdin) 是指令数据的输入,代码为0,使用<或者<<,默认是键盘
标准输出(stdout)是指令执行成功返回的结果,代码为1,使用>或者>>,默认由屏幕显示
标准错误输出(stderr)是指令执行失败返回的错误信息,代码为2,使用2>或者2>>,默认是屏幕
< 指定输入的数据媒介来源
1> 将正确的内容 覆盖输出到指定的媒介
1>> 将正确的内容 追加到指定的媒介
2> 将错误信息覆盖输出到指定媒介
2>> 将错误信息追加输出到指定媒介
默认只能保存正确的
同时分类导出
[[email protected] ~]$ rm -rf success fail result
[[email protected] ~]$ find /root a.txt 1>success 2>fail
[[email protected] ~]$ cat success
/root
a.txt
[[email protected] ~]$ cat fail
find: “/root”: 权限不够
正确错误的均导入文件
[[email protected] ~]$ find /root a.txt >result 2>&1
[[email protected] ~]$ cat result
/root
find: “/root”: 权限不够
a.txt
[[email protected] ~]$ find /root a.txt >result1 2>&1
[[email protected] ~]$ find /root a.txt >result
find: “/root”: 权限不够
[[email protected] ~]$ find /root a.txt &>result2
[[email protected] ~]$
&表示[012]
grep [a-z] -n <a.txt
替换
小写字母替换成大写字母
tr [a-z] [A-Z]<a.txt >a1.txt
管道命令使用
命令通过管道符号|连接
能够接收标准输入(stdin),如tail/more/grep等
能够接收来自于前一个指令的数据成为stdin进行处理 只能处理正确的输出,不能处理错误的输出
ls -8|grep ls
处理不了
grep [-cinv] ‘key‘ filename 支持正则
-c ,计算字符出现的次数
-i,忽略大小写进行查找
-n,输出行号
-v,显示没有该字符的行
[[email protected] ~]# cat log -n
1 php
2 ajax
3 java
4 python
5 nginx mysql
6 GO
7 PHP5
8
[[email protected] ~]# grep ‘php‘ log
php
[[email protected] ~]# grep -n ‘php‘ log
1:php
[[email protected] ~]# grep -ni ‘php‘ log
1:php
7:PHP5
[[email protected] ~]# grep -ci ‘php‘ log
2
[[email protected] ~]# grep -inv ‘php‘ log
2:ajax
3:java
4:python
5:nginx mysql
6:GO
8:
[[email protected] ~]# grep -n [a-z] log
1:php
2:ajax
3:java
4:python
5:nginx mysql
[[email protected] ~]# grep -nc [a-z] log
5
grep -n --color [a-z] log
统计当前登录用户
[[email protected] ~]# w
01:53:08 up 18:15, 1 user, load average: 0.00, 0.00, 0.00
USER TTY FROM [email protected] IDLE JCPU PCPU WHAT
root pts/0 192.168.1.101 01:19 0.00s 0.24s 0.13s w
[[email protected] ~]# w|grep -n root
3:root pts/0 192.168.1.101 01:19 0.00s 0.11s 0.00s w
[[email protected] ~]# w|grep -nc root
1
不是root的
[[email protected] ~]# w|grep -v root
01:54:20 up 18:16, 1 user, load average: 0.00, 0.00, 0.00
USER TTY FROM [email protected] IDLE JCPU PCPU WHAT
sort指令
sort [-fbknrtu] filename
-f 忽略大小写
-b 忽略最前面的空格
-M 以月份英文字母排序
-n 使用数字排序
-r 逆向排序
-t 分隔符标识 默认是tab
-k 以第几列来排序
[[email protected] ~]# ls
ab anaconda-ks.cfg a.php b.php composer.phar install.log install.log.syslog log mysql_listen.sh 公共的 模板 视频 图片 文档 下载 音乐 桌面
[[email protected] ~]# ls|sort
ab
anaconda-ks.cfg
a.php
b.php
composer.phar
install.log
install.log.syslog
log
mysql_listen.sh
[[email protected] ~]# ls|sort -r
mysql_listen.sh
log
install.log.syslog
install.log
composer.phar
b.php
a.php
anaconda-ks.cfg
ab
[[email protected] ~]# ls|sort
ab
anaconda-ks.cfg
a.php
A.php
b.php
B.php
composer.phar
D.php
install.log
install.log.syslog
log
mysql_listen.sh
默认不区分大小写
按照文件大小写来排序
[[email protected] ~]# ls -l|sort -t ‘ ‘ -k 5 -n
总用量 1740
-rw-r--r--. 1 root root 6 10月 16 02:17 1
-rw-r--r--. 1 root root 6 10月 16 02:17 B.php
-rw-r--r--. 1 root root 8 10月 16 01:59 a.php
-rw-r--r--. 1 root root 11 10月 16 02:06 A.php
-rw-r--r--. 1 root root 42 10月 16 01:42 log
-rw-r--r--. 1 root root 140 10月 16 02:02 ab
-rw-r--r--. 1 root root 143 10月 16 01:59 b.php
-rwxrwxrwx. 1 root root 272 1月 27 2016 mysql_listen.sh
-rw-r--r--. 1 root root 1112 10月 16 02:17 D.php
-rw-------. 1 root root 1416 1月 13 2016 anaconda-ks.cfg
drwxr-xr-x. 2 root root 4096 1月 13 2016 公共的
drwxr-xr-x. 2 root root 4096 1月 13 2016 模板
drwxr-xr-x. 2 root root 4096 1月 13 2016 视频
drwxr-xr-x. 2 root root 4096 1月 13 2016 图片
drwxr-xr-x. 2 root root 4096 1月 13 2016 文档
drwxr-xr-x. 2 root root 4096 1月 13 2016 下载
drwxr-xr-x. 2 root root 4096 1月 13 2016 音乐
drwxr-xr-x. 2 root root 4096 1月 13 2016 桌面
-rw-r--r--. 1 root root 10033 1月 13 2016 install.log.syslog
-rw-r--r--. 1 root root 46328 1月 13 2016 install.log
-rwxr-xr-x. 1 root root 1640731 6月 7 09:40 composer.phar
设置显示方式
export TIME_STYLE=‘+%Y-%m-%d %H:%M:%S‘
[[email protected] ~]# ls -l|sort -k 6
总用量 1740
-rw-r--r--. 1 root root 10033 2016-01-13 17:42:57 install.log.syslog
-rw-r--r--. 1 root root 46328 2016-01-13 17:48:20 install.log
-rw-------. 1 root root 1416 2016-01-13 17:48:28 anaconda-ks.cfg
drwxr-xr-x. 2 root root 4096 2016-01-13 17:52:58 公共的
drwxr-xr-x. 2 root root 4096 2016-01-13 17:52:58 模板
drwxr-xr-x. 2 root root 4096 2016-01-13 17:52:58 视频
drwxr-xr-x. 2 root root 4096 2016-01-13 17:52:58 图片
drwxr-xr-x. 2 root root 4096 2016-01-13 17:52:58 文档
drwxr-xr-x. 2 root root 4096 2016-01-13 17:52:58 下载
drwxr-xr-x. 2 root root 4096 2016-01-13 17:52:58 音乐
drwxr-xr-x. 2 root root 4096 2016-01-13 17:52:58 桌面
-rwxrwxrwx. 1 root root 272 2016-01-27 05:54:08 mysql_listen.sh
-rwxr-xr-x. 1 root root 1640731 2016-06-07 09:40:58 composer.phar
-rw-r--r--. 1 root root 42 2016-10-16 01:42:05 log
-rw-r--r--. 1 root root 8 2016-10-16 01:59:03 a.php
-rw-r--r--. 1 root root 143 2016-10-16 01:59:45 b.php
-rw-r--r--. 1 root root 140 2016-10-16 02:02:19 ab
-rw-r--r--. 1 root root 11 2016-10-16 02:06:07 A.php
-rw-r--r--. 1 root root 6 2016-10-16 02:17:17 1
-rw-r--r--. 1 root root 6 2016-10-16 02:17:21 B.php
-rw-r--r--. 1 root root 1112 2016-10-16 02:17:30 D.php
wc指令
wc [-lwm] filename 统计功能
-l 统计行
-w 统计词
-m 统计字符
[[email protected] ~]# wc -l log
8 log
[[email protected] ~]# cat log|wc -l
8
[[email protected] ~]# cat log|wc -w
10
[[email protected] ~]# cat log -n
1 php
2 ajax
3 java
4 python
5 nginx mysql
6 GO p erlang
7 PHP5
8
[[email protected] ~]# cat log|wc -m
53
[[email protected] ~]# cat log1|wc -m
12
[[email protected] ~]# cat log1 -n
1 p h p
2 1 2 3
结尾算一个字符
还有 cut/join/paste等