Linux中提供了多种命令和程序用于浏览文件。无论对于新手、普通用户、高级用户、开发人员还是管理员来说,与诸多文件打交道都是一项艰巨的任务。而如何做到高效更称得上是一门艺术。
今天就让我们来探讨几个最常使用的命令head、tail和cat,多数人对他们都有所了解,但这其中绝大部分人在真正使用的时候恐怕就不知所措了。
- head
head命令用于获取一个文件的前10行内容。其基本的语法格式如下:
1
head [options] [file(s)]
如下面的命令会打印出“/etc/passwd”的前10行内容:
head /etc/passwd
root❌0:0:root:/root:/bin/bash
daemon❌1:1:daemon:/usr/sbin:/bin/sh
bin❌2:2:bin:/bin:/bin/sh
sys❌3:3:sys:/dev:/bin/sh
sync❌4:65534:sync:/bin:/bin/sync
games❌5:60:games:/usr/games:/bin/sh
man❌6:12?/var/cache/man:/bin/sh
lp❌7:7:lp:/var/spool/lpd:/bin/sh
mail❌8:8:mail:/var/mail:/bin/sh
news❌9:9:news:/var/spool/news:/bin/sh
如果一次提供了多个文件,那head命令会分别返回每个文件的前10行内容。如:
head /etc/passwd /etc/shadow
> /etc/passwd < root❌0:0:root:/root:/bin/bash bin❌1:1:bin:/bin:/sbin/nologin daemon❌2:2:daemon:/sbin:/sbin/nologin adm❌3:4:adm:/var/adm:/sbin/nologin lp❌4:7:lp:/var/spool/lpd:/sbin/nologin sync❌5:0:sync:/sbin:/bin/sync shutdown❌6:0:shutdown:/sbin:/sbin/shutdown halt❌7:0:halt:/sbin:/sbin/halt mail❌8:12:mail:/var/spool/mail:/sbin/nologin uucp❌10:14:uucp:/var/spool/uucp:/sbin/nologin > /etc/shadow <
root:$6$85e1:15740:0:99999:7:::
bin::15513:0:99999:7:::
daemon::15513:0:99999:7:::
adm::15513:0:99999:7:::
lp::15513:0:99999:7:::
sync::15513:0:99999:7:::
shutdown::15513:0:99999:7:::
halt::15513:0:99999:7:::
mail::15513:0:99999:7:::
uucp:*:15513:0:99999:7:::
如果想查看多于10行的内容,利用“-n”选项并跟上一个整数则可指定返回的行数。下面的例子将返回“/var/log/yum.log”的前5行内容:
1
2
3
4
5
6
7
head -n5 /var/log/yum.log
Jan 10 00:06:49 Updated: openssl-1.0.1e-16.el6_5.4.i686
Jan 10 00:06:56 Updated: openssl-devel-1.0.1e-16.el6_5.4.i686
Jan 10 00:11:42 Installed: perl-Net-SSLeay-1.35-9.el6.i686
Jan 13 22:13:31 Installed: python-configobj-4.6.0-3.el6.noarch
Jan 13 22:13:36 Installed: terminator-0.95-3.el6.rf.noarch
实际上,“-n”都是不需要的。只需使用一个连字符外加一个整数即可达到同样的效果