第2章 命令之乐
2.1 简介
2.2 cat
2.3 录制并回放终端会话
使用`script`和`scriptreplay`命令
开始录制终端会话:
$script -t 2 > timing.log -a output.session
command;
回放命令执行过程:
scriptreplay timing.log output.session
2.4 文件查找与文件列表
#find /home -type f -exec chown dog {} \;
转换为 chown dog {} ,{}替换文件名
2.5 玩转xargs
`xargs`将标准输出转换为命令行参数
#多行变单行
cat file | xargs
#单行变多行(每行n个参数)
cat file | xargs -n 3
#定界符
xargs -d X
2.6 tr (translate)
从A集合到B集合的映射
tr 'A-Z' 'a-z' < file1 > file2
<1>用tr删除字符
$cat file | tr -d '[set1]'
<2>字符补集
$tr -d -c '0-9'
<3>tr压缩字符 -s
2.7 校验与核实
校验和`(checksum)`, 计算工具`md5sum`,`sha1sum`
<1>计算校验和
$md5sum file > file.md5
$md5sum file ... > file.md5
<2>检查校验和
$md5sum -c file.md5
-----------------------------------------------------
对目录进行校验(工具md5deep和sha1deep)
$md5deep -er1 directoy > directoy.md5
核实
$md5sum -c directoy.md5
2.8 加密工具与散列
加密工具:crypt/gpg/base64 <.....> md5sum/sha1sum/openssl
<1>crypt
加密.....................>
$crypt < input_file > encrypted_file
Enter passphrase:
或
crypt PASSPHRASE < input_file > encrypted_file
解密
crypt PASSPHRASE -d < encrypted_file > output.file
<2>gpg
加密......................>
$gpg -c file
解密
$gpg file.gpg
<3>base64
加密
$base64 file > outputfile
解密
$base64 -d file > outputfile
2.9 排序、唯一与重复
sort -n, r, m(merge)
sort -k (key,指定第几列)
uniq -u,
uniq -c,
uniq -d,
2.10 临时文件命名与随机数
临时文件
mktemp
临时目录
mktemp -d
临时文件
mktemp -u
2.11 分割文件和数据
$split -b 10k file
xaa xab xac xad
以数字为后缀(-d),以-a length指定后缀长度
$split -b 10k -d -a 4
指定前缀(最后一个参数是前缀)
$split ... [PREFIX]
2.12 根据拓展名切分文件名
2.13 批量重命名和移动
2.14 拼写检查与词典操作
2.15 交互输入自动化
2.16 利用并行进程加速命令执行