tr(transform)
作用
字符串替换功能
命令
tr "被替换的内容" "替换成"
tr "0" "a" <11.txt 读不了,输入重定向
tr -d "a" <11.txt 删除文件内的所有a(delete)
tr -d "a-z" <11.txt 批量去重,"a-z"所有小写字母
tr -s "abc" <11.txt 连续字符去重(aaabbbccc
去重后为abc),a,b或c连续的重复,变为一个a,b,c(--squeeze-repeats)
tr "a-z" "A-Z" <11.txt 所有小写换成大写
cut
作用
文本切割截取字符串
命令
cut -b 1-3 1.txt 截取一行的第几个到第几个字符, (一个英文数字占一个字节)(bytes)
tac
tac 文件
倒着显示文件内容
nc
作用
支持绑定端口,进行监听,和其他机器通信
命令
nc -l -p4444 开启监听(listen监听模式)
nc ip 端口 连接监听
-l:--listen,监听模式,用于服务器端。
-p:--port,指定端口。
-s:--source,指定源 IP 地址。
-v:--verbose,详细输出。
-u:--udp,使用 UDP 协议而不是 TCP 协议。
-n:--numeric,不进行域名解析,直接使用 IP 地址。
-w:--timeout,设置超时时间。
sort
作用
排序
命令
sort <1.txt 每行首字母按照26英文字母大小写在一起排序,(读不了,输入重定向)
sort -n <1.txt 以开头字符排序,字母在前,数字靠后
uniq
作用
去重
命令
uniq <1.txt 将相邻行的重复行去重
uniq -c <1.txt 统计合并了几个(count)
sort <1.txt | uniq -c 先排序后去重,去除重复行
wc
作用
数据统计功能
命令
ls | wc cat 11.txt |wc -c 统计字符个数(bytes)
cat 11.txt | wc -l 统计行数(lines)
ls |wc -w 统计字符串个数
管理压缩包
rar
安装rar
yum install -y http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
yum install unrar -y
解压
unrar x 压缩包 解压缩包
unrar x 压缩包 /data #指定解压路径
zip
安装管理工具
yum install zip unzip -y
添加压缩包
zip 压缩包名 被压缩的文件(多个文件空格分开)
解压zip包
unzip 文件 unzip 文件
-d 目录 解压到指定目录(directory)
tar
介绍
linux默认压缩,效果好
压缩打包
tar zcvf 压缩包名字 被压缩文件1 文件2 #压缩包名字必须为···.tar.gz
z开启高压缩模式
c创建压缩包
v显示过程
f指定存放压缩包路径,参数f后面必须接路径名称
注意
- 压缩文件通常会把文件路径的开头的/删除
- 加参数P就不删除
- 压缩时尽量通过相对路径压缩(避免暴露绝对路径和方便解压)
查看包内容
tar tf 压缩包名
解压包
tar xvf 压缩包名
-c 指定解压到哪 directory DIR
--exclude 排除指定文件(压缩和解压都可以使用)
历史命令记录
history
history -c 清空历史记录
只显示本终端的历史记录
优化
定义history日志
mkdir /var/log/history/
vim /etc/profile
export HISTORY_FILE=/var/log/history/.`date '+%Y%m'`.log
export PROMPT_COMMAND='{ date "+%Y-%m-%d %T ##### $(who am i |awk "{print \$1\" \"\$2\" \"\$5}") #### $(history 1 | { read x cmd; echo "$cmd"; })"; } >> $HISTORY_FILE'
屏蔽history记录
set +o history
set -o history
find查找
find /(从哪找) 参数
按照文件名查找
查找/etc/所有.conf文件
find /etc/ -name "*.conf" 包含多级目录的conf,区分大小写
按照类型查找
find /etc/ -type d -name "*conf*" 指定类型查找
-type 判断类型
f 文件
d 目录
b 存储
c 外接设备
l 软链接
按照大小查找
-size 按照大小查找
+1M 大于1M -1M小于1M
find / -size +900M 大于900M
find / -size +900M -size +1G 大于900M小于1G(不写就默认-a,a的简写为and )
find / -size -900M -o -size +1G 小于900M或大于1G(-o的简写为or)
按照时间查找
find / -mtime
-mtime +3 三天以前修改的文件
-mtime -3 三天以内修改的文件
find /-mmin -3 最近三分钟内更改的文件
find /-mmin +3 最近三分钟前更改的文件
find结合其他命令的使用
批量删除/tmp/超过100M的大文件
方式一
-exec 将find查找结果的文件给后面命令处理的目标
find /tmp/ -size +100M -exec rm -rf {} \; #{}调用前面执行的结果,\;结束符号 exec参数,查到一个给一个
方式二
find /opt/ -name "a" |xargs rm -rf
#|xargs 前面弄完在给后面,结果默认放最后,效率比第一个快
练习
通过find查找/etc下名字包含host的文件,打包
find /etc/ -name "*host*" -type f |xargs tar zcvf host.rar.gz
如果用第一种方式会覆盖
find /etc/ -name "*host*" -type f -exec tar zcvf host.rar.gz {} \;
查找/etc/目录下,所有.conf后缀的文件
find /etc/ -type f -name "*.conf"
将上题中找到的所有conf文件,使用tar命令打包到/tmp目录下
find /etc/ -type f -name "*.conf" |xargs tar zcvf /tmp/caa.tar.gz