dd 复制、转换数据
dd if=/dev/zero of=/file1.txt bs=1M count=2
指定输入文件 输出文件名 指定单位 2个单位 就是 2 M的文件
dd 是一个用于复制文件、转换数据的命令行工具
if input file 用于指定输入文件,这里使用了/dev/zero ,它是一个虚拟设备文件,
读取它会返回无穷多个0,这意味着我们从该设备读取的数据都是0.
of output file 用于指定输出文件的路径和名称
bs block size 用于指定数据块的大小 它决定了dd工具每次读取和写入的数据块大小
count 用于指定复制的数据块数量 这里设置为2 表示复制2个1MB的数据块
总结:
该命令是从 /dev/zero中读取两个1MB的数据块,并将其写入到名为 file1.txt 的文件中。
由于 /dev/zero 返回的始终是0,所以 file1.txt 将填充为2MB的零数据
dd </dev/zero >/file2.txt bs=1M count=20
< 符号用于重定向输入,这里将输入设置为/dev/zero
> 符号用于重定向输出,这里将输出文件的路径和名称设置为/file2.txt
at 定时执行
at now +5 min
at> useradd user1
at> <EOT> //ctrl+d结束
at 命令系统在未来的某个时间点执行指定任务
now 在当前时间的基础上
+5 min 延迟5分钟执行任务
总结:在当前时间的基础上延迟5分钟创建用户user1
# vim a.txt
sudo useradd yang100
# at now +2 min <a.txt
延迟2分钟执行a.txt
sort 排序
sort 配合管道使用
-t 指定分隔符
-k key排序键
-n 按数字进行排序
-r 反向排序
例:
# cat passwd
# cat passwd | sort //默认按第一个字符排序 如果第一个字符一样则往后顺延
# cat passwd | sort -t : -k 3 -n //以 : 为分隔符的第 3 列 按数值排序
# cat passwd | sort -t : -k 1.2 //以 : 为分隔符的第 1 列 第 2 个字符排序
uniq unique 处理连续重复的行
uniq unique 处理连续重复的行
选项:
-u unique 独一的
-d repeated 重复的
-c count 统计
例:
# cat a.txt
# cat a.txt | uniq //自动删减连续重复的行 只留本身的一行
# cat a.txt | uniq -u //筛选出单独的行
# cat a.txt | uniq -d //筛选出重复的行
# cat a.txt | uniq -c //统计连续重复的一样的行的个数
举例a.txt文件内容:
applications place terminal
applications place terminal
applications place terminal
applications place terminal
applications place terminal
applications place terminal
zabbix
test
kubernetes
kubernetes
kubernetes
kubernetes
docker
kubernetes
cut 切割字符串
-d delimiter 分隔符
-f field 字段
例:
# cat a.txt
hello world disk manager
# cat a.txt | cut -d ' ' -f 3
disk
把多行字符串换成单行
# cat a.txt | tr '\n' ' ' | tr ' ' '\n'
tr 替换单个字符
# cat a.txt | tr e E //把e换成E
# cat a.txt | tr '\n' ' ' //把 换行符 换成 空格
| grep
[root@ztq ~]# ll /dev/ | less
[root@ztq ~]# ps aux | grep 'sshd'
[root@ztq ~]# rpm -qa | grep 'httpd' //查询所有安装的软件包,过滤包含httpd的包
[root@ztq ~]# yum list | grep 'httpd'
# ps aux | grep var/log/messag[es]
messag[es] 有两个选项 message 和 messages
而他的进程名称是 messag[es] 所以不匹配