Linux高级命令小总结,玩转Linux大世界

Linux高级命令

小总结

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关键字的行(并且显示行号):

  • cat -n /etc/passwd | grep root
  • nl /etc/passwd | sed -n ‘/root/p’ 只打印匹配行, 单引号里两/中间是关键字
  • cat -n /etc/passwd | awk ‘/root/{print $0}’

4、输出文件中不包含root关键字的行:

  • cat -n /etc/passwd | grep -v root
  • cat -n /etc/passwd | sed ‘/root/d’

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中。

你可能感兴趣的:(linux,shell,大数据)