一个月彻底学会Linux --第四天

一,使用多种命令结合查看文件内容

  a.cat查看/etc/passwd文件内容,且输出时带行号

[root@ls-Kk9vVGkm ~]# cat -b /etc/passwd | head -n10
     1	root:x:0:0:root:/root:/bin/bash
     2	bin:x:1:1:bin:/bin:/sbin/nologin
     3	daemon:x:2:2:daemon:/sbin:/sbin/nologin
     4	adm:x:3:4:adm:/var/adm:/sbin/nologin
     5	lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
     6	sync:x:5:0:sync:/sbin:/bin/sync
     7	shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
     8	halt:x:7:0:halt:/sbin:/sbin/halt
     9	mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    10	operator:x:11:0:operator:/root:/sbin/nologin


  b.使用more查看/etc/passwd内容,且每页显示10行

[root@ls-Kk9vVGkm ~]# more -d10  /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin


  c.使用head/tail分别查看文件前5行内容和后5行内容

[root@ls-Kk9vVGkm ~]# head -n5  /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
[root@ls-Kk9vVGkm ~]# tail -n5  /etc/passwd
sssd:x:992:988:User for sssd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
chrony:x:991:987::/var/lib/chrony:/sbin/nologin
rngd:x:990:986:Random Number Generator Daemon:/var/lib/rngd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin


  d.使用grep查看/etc/passwd中和root相关的内容

[root@ls-Kk9vVGkm ~]# grep /sbin/nologin /etc/passwd

2.cut命令使用:

cut的作用就是剪切,具体说就是在文件中负责剪切数据用的。cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段输出。

cut  [选项参数]  filename

参数                        作用
-b分割字节
-c分割字符
-d按照分隔符分割
-f依据分隔后,取那些段落

示例:给定文件cut_data.txt且内容为:
  No Name    Score
  1 zhang 20
  2 li  80
  3 wang 90
  4 sun  60
 使用默认定界符切割文件内容,且输出切割后的第一个字段

[root@ls-Kk9vVGkm lengkun]# cut -d' ' -f1 cut_data.txt

切割文件内容,且输出切割后的第一个字段和第三个字段

[root@ls-Kk9vVGkm lengkun]# cut -d' ' -f1,3 cut_data.txt

 按字节切割:输出切割的第一个字节到第10个字节的内容

[root@ls-Kk9vVGkm lengkun]# cut -b 1-10 cut_data.txt

按字符切割:输出切割后的第一个字符和第5个字符的内容

[root@ls-Kk9vVGkm lengkun]# cut -c 1,5 cut_data.txt

按指定分界符去切割:内容如下, 输出第一个字段和第三个字段内容
          No|Name|Score
          1|zhang|20
          2|li|80
          3|wang|90
          4|sun|60

[root@ls-Kk9vVGkm lengkun]# cut -d'|' -f1,3 cut_data.txt

3.uniq命令

uniq命令的主要作用:

uniq用于重复数据的处理,使用前最好先用sort进行排序

参数作用
-c  显示重复行重复的次数
-d只输出重复的行
-u显示不重复的行
-s忽略指定重复的字符
+-n       表示前n个字段包括空白被忽略

使用: 新建文件uniq_data.txt,文件内容为
     Welcome to Linux
     Windows
     Windows
     Mac
     Mac
     Linux
使用uniq命令输出去重后的结果

[root@ls-Kk9vVGkm lengkun]# uniq  uniq_data.txt

使用uniqmingl只输出重复的行

[root@ls-Kk9vVGkm lengkun]# uniq -d uniq_data.txt

使用uniq命令输出不重复的行

[root@ls-Kk9vVGkm lengkun]# uniq -u uniq_data.txt

使用uniq命令统计重复次数.

[root@ls-Kk9vVGkm lengkun]# uniq -c uniq_data.txt

4.sort命令

sort作为常用的排序命令,参数也有很多:

参数作用
-n进行数字排序
-o将排序后的文件输出到指定文件
-u去除重复的行
-t                                            指定分隔符
-k指定具体某一列/或某一行
-r        按照降序进行排序,默认是升序

给定文件 num.txt, args.txt
      文件内容:num.txt
       1
      3
      5
      2
      4
   文件内容:args.txt
     test
     args1
     args2
     args4
     args4
     args3
   对num.txt进行排序,且将结果输出到sorted_num.txt中

[root@ls-Kk9vVGkm lengkun]# sort -n num.txt -o sorted_num.txt

 对args.txt进行排序,且将结果输出到sorted_args.txt中

[root@ls-Kk9vVGkm lengkun]# sort -n args.txt -o sorted_args.txt

对num.txt和args.txt进行排序,且将结果输出到sorted_merge.txt中

[root@ls-Kk9vVGkm lengkun]# sort -n sorted_num.txt sorted_args.txt -m > sored_merge.txt


对args.txt排序后去重输出

[root@ls-Kk9vVGkm lengkun]# sort -u args.txt

合并sorted_args.txt和sorted_num.txt且输出 

[root@ls-Kk9vVGkm lengkun]# sort -n sorted_num.txt sorted_args.txt


   给定文件info_txt:按第二列作为key进行排序
    No Name    Score
    1 zhang 20
    2 li  80
    3 wang 90
    4 sun  60

[root@ls-Kk9vVGkm lengkun]# sort  -k 2  info_txt

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值