1、查找:根据文件名或用户查找文件或目录:
find / -name data.txt(文件名)
find / -user lisi(用户)
2、查找包含关键字的文件内容:
grep 文件内容 data.txt cat data.txt | grep python
grep、sed、awk文件操作的区别:grep(过滤) sed(文件编辑(过滤)) awk(文本分析(过滤))
awk可以选取列,而grep和sed是无法选取列的
3、查找文件中包含root关键字的行(并且显示行号):
4、输出文件中不包含root关键字的行:
5、统计文件有多少行的几种方法:
1、cat -n file | tail -1 | awk ‘{print $1}’
2、wc -l file | awk ‘{print $1}’
3、awk ‘BEGIN{cnt=0}{cnt++}END{print cnt}’ file
4、wc -l /etc/passwd | cut -d ’ ’ -f 1
5、cat -n file | tail -1 | cut -d ’ ’ -f 1
6、修改源文件的数据(数据替换)(i是直接操作源文件):
sed -i 's/xxx/xxxw/' 文件路径
s是替换的意思,用xxxw替换xxx。
如果要做两个操作就用-e连接
cat -n user.txt | sed -e '1a hello' -e '2,10d'
将user.txt带着行号的内容进行sed的操作,也就是在第一行后面添加一行,
添加的内容是hello,之后删除第二行到第十行
7、sed的参数:
n 安静模式
i 编辑原文件
e 多个编辑动作(两个动作连接)
f 动作写到文件
动作:
a:新增,a的后面可以接字符串,而这些字符串会在新的一行出现目前的下一行 (append是在后面插入)
c:取代(替换),c的后面可以接字符串,这些字符串可以取代n1,n2之间的行
d:删除,d后面通常不接任何字符串
i:插入,i的后面可以接字符串,而这些字符串会在新的一行出现目前的上一行 (insert是在前面插入)
p:打印,将某个选择的数据印出。通常p会与参数 sed -n 一起运行
s:取代,可以直接进行取代的工作。通常这个s的动作可以搭配正则表达式。例如:1,20s/old/new/g
8、压缩:
提前安装压缩工具:yum -y install gzip bzip2 zip unzip
gzip/gunzip:删除源文件,不能指定压缩文件名称和解压目录,不能压缩目录
zip/unzip:不删除源文件,可以指定压缩文件名称和解压目录,可以压缩目录
zip [-r] xxx.zip file
unzip xxx.zip [-d] directory
df -h 查看磁盘剩余空间
fdisk -l 当前磁盘分区情况
ps aux | grep mysql 查看进程信息的(查看进程占用的CPU或MEM)
ps ef | grep 3306 查看进程父子关系
top 查看当前服务器健康状况的
netstat:
提前安装: yum install net-tools
netstat -nlp | grep 端口号 查看网络端口号占用情况
netstat -anp | grep 进程号 功能描述:查看该进程网络信 息)
netstat -nlp | grep 端口号 功能描述:查看网络端口号占用情况)
9、定时任务(一个定时任务占一行):
开启定时任务服务:service crond start
编辑定义任务:crontab -e
编写完成后,保存并退出即可
查看定时任务:crontab -l
删除定时任务:crontab -r
10、去重:
1、sort -u file
2、sort file | uniq
11、查看当前系统进程状态
1、ps aux | grep 进程名
2、ps -ef | grep 进程端口号
3、top -p 进程端口号
小技巧:
如果想查看进程的CPU占用率和内存占用率,可以使用aux;
如果想查看进程的父进程ID可以使用ef;
12、awk命令内置变量
-F (FS)field separator 指定读的文件的列的分隔符
FNR 浏览的文件记录数
NF(number field) 每行的列数量
NR 当前行的行号
OFS 输出列分割符
ORS 输出行分隔符
FILENAME 文件名
$0 行内容
$1 第一列
13、sort总结
sort
-n 把当前列当数值来看
-t 指定列分隔符
-r 顺序取反
-k 指定排序依据列
-u 去重
案例:按照第2列为数值类型,降序排列
sort -t $'\t' -nk2r file
sort -u file -u可以去重
14、wc总结
wc [-lwm] filename
-l:仅显示行数
-w:仅显示字数英文单词个数
-m:字符数
15、cut总结
cut 选项 参数
-d 指定列分隔符,默认是TAB
-f 指定获取的列,获取第几个field
说明:该命令有两项功能,其一是用来显示文件的内容,它依次读取由参数file所指 明的文件,将它们的内容输出到标准输出上;其二是连接两个或多个文件,如cut fl f2 > f3将把文件fl和f2的内容合并起来,然后通过输出重定向符“>”的作用,将它们放入文件f3中。