标準輸入
案例一:
# 發郵件
[[email protected] ~]# echo '我是曾老濕。'|mail -s 'biaoti' zls_mail
[roo[email protected] ~]# mail -s '/etc/passwd' zls_mail 0< /etc/passwd
[ro[email protected] ~]# mail -s '/etc/passwd' zls_mail < /etc/passwd
[[email protected] ~]# mail zls_mail
Subject: ceshi
youjianneirong
.
EOT
案例二:
# 指令等待輸入
[[email protected] ~]# grep 'zls'
xxxx
zls123
zls123
案例三:
[root@localhost ~]# dd if=/dev/zero of=/opt/zls_disk bs=1M count=1024
[[email protected] ~]# dd /opt/zls_disk2 bs=1M count=512
案例四:
# 資料庫備份和恢複
[[email protected] opt]# systemctl start mariadb
[root@localhost opt]# mysqldump -uroot -p123 -B zls > /tmp/zls.txt
[[email protected] opt]# mysql -uroot -p123 < /tmp/zls.txt
[[email protected] opt]# cat /tmp/zls.txt | mysql -uroot -p123
案例五:
[[email protected] opt]# echo -e "111\n222\n333" > file1.txt
[[email protected] opt]# cat file1.txt
111
222
333
[[email protected] opt]# echo '
1111
2222
3333
4444
' > file2.txt
[[email protected] opt]# cat >> 1.txt <
> aaa
> bbb
> ccc
> ddd
> EOF
[[email protected] opt]# cat >> 2.txt
111
222
333
444
Ctrl + d 結束
cat <
+--------------------------+
| vmware manager |
+--------------------------+
| by zls |
+--------------------------+
| 1. Install KVM |
| 2. Install or Reset C6.5 |
| 3. Install or Reset C7.4 |
| 5. Instqll or Reset W7 |
| 6. Remove all |
| q. quit |
+--------------------------+
EOF
[[email protected] opt]# cat <
> 1.install mysql
> 2.install nginx
> 3.intsall php
> 4.install tomcat
> 5.install redis
> EOF
1.install mysql
2.install nginx
3.intsall php
4.install tomcat
5.install redis
案例六:
# 兩條指令同時重定向
[[email protected] opt]# (ls ; date) > 1.txt
(while :; do date; sleep 2; done) &>date.txt &
#如果不希望某些指令的執行對目前 shell 環境産生影響,請在subshell中執行
[[email protected] ~]# (cd /boot; ls)
管道技術
管道操作符号:|,叫做管道符
作用:将管道符左邊指令的标準輸出,交給管道符右邊指令的标準輸入來處理
用法:cmd1|cmd2|cmd3| cmd4...
案例一:
# 取出passwd檔案中,uid最大的前五個
[[email protected] ~]# sort -nr -k 3 -t ':' /etc/passwd|head -5
案例二:
# 統計出passwd檔案中,所有使用者的shell種類
[root@localhost ~]# awk -F: '{print $7}' /etc/passwd|sort |uniq|wc -l
6
案例三:
[[email protected] ~]# hostname -I
10.0.0.200
[[email protected] ~]# ifconfig |awk 'NR==2{print $2}'
10.0.0.200
sed
awk
grep
組合:sed awk
grep awk
10種方法,取IP
案例四:
# 取出 磁盤已使用 百分比
[r[email protected] ~]# df -h|awk '{print $5}'|awk -F '%' '{print $1}'
已用
9
1
24
5
1
tee
# tee 和 重定向的差別
[[email protected] ~]# date > date.txt
[[email protected] ~]# date |tee date.txt
xargs
[[email protected] opt]# find /etc/ -name '*.conf'|xargs cp -t /tmp/