123
321
456
654
EOF
[root@node-1 ~]# cat aa.txt
123
321
456
654
实际上成对的EOF可以用其他符号代替,但必须成对出现
11.2.3 错误重定向
作用:错误信息不再只显示在显示器上而是保存到特定文件中
操作符:
错误重定向:2>
标准输入: 1<
标准输出: 0>
例7:错误重定向的用法
[root@node-1 ~]# ls /etc/passwd 111 > error.txt
ls: cannot access 111: No such file or directory
只显示在显示器上
[root@node-1 ~]# cat error.txt
/etc/passwd
将错误重定向在指定的文件中
[root@node-1 ~]# ls /etc/passwd 111 2> error.txt
/etc/passwd
[root@node-1 ~]# cat error.txt
ls: cannot access 111: No such file or directory
11.2.4/dev/null与/dev/zero的作用
/dev/null:写入此文件的内容会永久消失
/dev/zero:会提供无限的空字符,在扩展swap时可以用到
例8:
[root@node-1 ~]# crontab -l
/3 * /sbin/ntpdate -u times.aliyun.com &> /dev/null
[root@node-1 ~]# dd if=/dev/zero of=allswap bs=1M count=512
512+0 records in
512+0 records out
536870912 bytes (537 MB) copied, 2.73801 s, 196 MB/s
[root@node-1 ~]# mkswap allswap && swapon -a
[root@node-1 ~]# free -h
total used free shared buff/cache available
Mem: 1.8G 85M 1.1G 9.3M 624M 1.5G
Swap: 2.5G 0B 2.5G
11.2.5 管道 | 的使用
语法:command-a | command-b | command-c | ......
注意:
1、管道命令只处理前一个命令正确输出,不处理错误输出
2、管道右边的命令,必须能够接收标准输入的数据流命令才行
3、管道符可以把两条命令连起来,它可以链接多个命令使用
4、前一个命令的输出是作为后面命令的输入来用的
例9:
[root@node-1 ~]# yum list |grep jdk
copy-jdk-configs.noarch 3.3-10.el7_5 base
java-1.6.0-openjdk.x86_64 1:1.6.0.41-1.13.13.1.el7_3 base
java-1.6.0-openjdk-demo.x86_64 1:1.6.0.41-1.13.13.1.el7_3 base
......
11.2.6 tee命令的用法
功能:读取标准输入的数据,并将其内容输出成文件。
语法:tee [-a][文件...]
参数:
默认是覆盖指定文件的内容
-a, --append 内容追加到给定的文件而非覆盖
例10:
[root@node-1 ~]# df -hT | tee -a meminfo.txt
[root@node-1 ~]# cat meminfo.txt
total used free shared buff/cache available
Mem: 1.8G 85M 1.6G 9.4M 98M 1.6G
Swap: 2.0G 0B 2.0G
3.10.0-1062.12.1.el7.x86_64
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 899M 0 899M 0% /dev
tmpfs tmpfs 910M 0 910M 0% /dev/shm
tmpfs tmpfs 910M 9.4M 901M 2% /run
tmpfs tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 18G 2.3G 16G 13% /
/dev/sda1 xfs 497M 141M 357M 29% /boot
tmpfs tmpfs 182M 0 182M 0% /run/user/0
11.3 which-whereis-locate-grep-find查找命令
11.3.1 which-whereis-locate-grep find命令使用
查找文件一般有以下几个命令:
which 查看可执行文件的位置(三星重要)
grep 过滤匹配或正则表达式;一个文件搜索工具(五星重要)
find 根据不同的条件查找相关文件(五星重要)
在实际工作中常用到which grep/egrep find
1)which 用法
which 命令:查找此命令在系统中的位置
[root@node-1 ~]# which ntpdate
/usr/sbin/ntpdate
2)grep查找使用
作用:过滤或使用正则表达式来搜索文本;把结果显示出来
主要参数:
-v 取反
-i 忽略大小写
^# 以#开头
#$ 以#结尾
^$ 空行
-n 对过滤的内容加上行号
| 或者的意思
例11:
[root@node-1 ~]# ps -aux | grep sshd | grep -v grep
root 894 0.0 0.2 112920 4328 ? Ss 19:30 0:00 /usr/sbin/sshd -D
root 1009 0.0 0.3 157336 6004 ? Ss 19:35 0:00 sshd: root@pts/0
[root@node-1 ~]# grep nologin$ /etc/passwd
bin:x:1:1:bin:/bin:/sbin/nologin
.....
ntp:x:38:38::/etc/ntp:/sbin/nologin
[root@node-1 ~]#grep -v ^# /etc/ssh/sshd_config
这样还会有空白行存在
[root@node-1 ~]#egrep -v "^#|^$" /etc/ssh/sshd_config
HostKey /etc/ssh/ssh_host_rsa_key
......
Subsystem sftp /usr/libexec/openssh/sftp-server
[root@node-1 ~]#grep -n root /etc/passwd
1:root:x:0:0:root:/root:/bin/bash
10:operator:x:11:0:operator:/root:/sbin/nologin
3)find命令使用(必会,参数比较多)
格式:find pathname -options [-print]
命令字 路径名称 选项 输出
参数:
pathname:所查找的目录路径,不输入代表当前目录例如用 .. 来表示上层目录,用 / 来表示根目录。可以是绝对路径也可以是相对路径
find命令选项:
-name? 按照文件名查找文件--“名字”
-perm? 按照文件权限来查找文件。666 777 等
-user? 按照文件属主来查找文件--“用户名”
-group? 按照文件所属的组来查找文件--“组名称”
-mtime -n / +n? 按照文件的更改时间来查找文件,
【这几天作为党员参加了社区安全防疫工作中了,更新确实有些慢,实在对不住】
原文:https://blog.51cto.com/450955/2473885