首页 > 技术文章 > Linux Shell学习笔记1:常用命令

tijie 2021-01-29 11:22 原文

基本操作介绍

tar

用法1:打包

1 tar cvzf ets.tgz /etc
View Code

这里的4个选项c代表建立tar文件,v代表详细显示过程,z代表使用gzip压缩tar文件,f指定文件名。这条指令是指打包/ets目录,并压缩成ets.tgz

另一种打包命令:tar cvf – test2 | gzip -9 > save.tgz

这个方法不适用于支持项z的tar版本。先用cvf把test2的目录打包,然后-将结果输出要gzip进行压缩,最后转存为save.tgz

用法2:检查

1 tar tvzf ets.tgz
View Code

t选项的意思是列出打包内容

 

用法3:解包

1 tar xvzf etc.tgz
View Code

z表示使用gzip解压,x表示解包

1 gzip -9dc save.tgz | tar xvf –
View Code

这个方法不适用于支持项z的tar版本。gzip -9dc将save.tgz进行解压,-d表解压的意思,-c则是解压到比哦啊准输出。然后通过管道交给tar解包,tar的-表示标准输入读取数据

用法4:指定解包位置

1 tar xvzf etc.tgz –C tets2
View Code

-C表示切换到某一目录

 

sort:对文本文件进行排序

用法:

1 sort data
View Code

将data进行升幂排序(使用ASCII的字符进行大小比较

1 sort –r data

将data进行降幂排序(使用ASCII的字符进行大小比较

1 sort –n data

将data进行降幂排序(以字符串的数值进行大小比较

1 sort –k 2 data

将data进行降幂排序(以data文本中的第二个子段的字符串数值进行大小比较

 

uniq:筛选排序后文本重复行

用法:

1 uniq data

(如果重复列没有相邻则没有效果)

1 sort data | uniq

删除排序后data中的重复行

1 sort data | uniq –d

调出排序后data中的重复行

1 sort data | uniq –c

计算排序后data中的每一行出现的次数

 

cut:抽取文件每一行的一部分

用法:

1 cut –c2 data

抽出data中每一行的第二个字符

1 cut –c2- data

抽出data中每一行的第二个字符往后的全部字符

cut –c2-10 data

抽出data中每一行的第二到第十的字符

1 cut –d: -f1 /etc/passwd

-d代表使用分隔符”:”,-f1是取出第一个字段,所以这个指令的意思是取出/ets/passwd中以:为分隔符的第一个子段

 

tr:转换或者删除字符

用法:

1 tr t T < data

将data文件中的t字符转换成大T

1 tr –d k < data

删除data中的t字符

 

grep:显示符合样式的行

用法:

1 grep A data

显示data文件中含有A这个字符的行

1 grep –i A data

-i的意思是不分大小写

1  grep –v A data

-v的意思是不显示,不显示带有A的行

1 grep –l A *

-l的意思是只显示哪些文件带有A,不显示具体行

1 grep –n A *

与-l功能相同,但是会显示出行号

1 grep –q keyword filename

如果filename中含有keywordname就会返回0,否则返回非0

 

执行多个命令的方法

;:cmd1 ; cmd2 ; cmd3,依次执行cmd命令,但是不会理会前一个命令是否能够成功

&& :cmd1 && cmd2 && cmd3,依次执行cmd命令,cmd1执行失败了就不会执行接下来的命令

|| :cmd1 || cmd2 || cmd3,如果cmd1执行成功了就不会执行cmd2,

推荐阅读