5.1在标准输出设备上查看文件
cat
5.2将文件拼接至标准输出设备
cat file1 file2
cat是concatenate(拼接)的缩写,连接到一起。
将两个或更多的文件拼接成一个文件只对一个文件应用
5.3将文件与其他文件拼接
cat file1 file2 >file3
5.4拼接文件,并给文件加上行号
cat -n file1 file2或cat --number file1 file2
tac的功能是:反向拼接文件
5.5 分屏查看文件
less file1
less taoteching.txt
5.6在分页器中搜索
5.7在分页查看文件时进行编辑
查看器,按v键
5.8查看文件的前10行内容
head
5.9查看多个文件的前10行内容
head file1 file2
5.10查看一个或多个文件的前几行内容
head -n number 或head --line=5
5.11查看文件前几个字节、几K字节或几个M字节的内容
head -c或head --bytes=
一个中文字符占四个字节,一个英文字符占一个字节,一个英文标点占一个字节,一个中文标点占3个字节。
5.12查看文件的最后10行内容
tail
5.13查看多个文件的最后10行内容
tail file1 file2
5.14查看一个或多个文件的最后几行内容
tail -n或tail --lines=
tail -n 3 test9.txt test10.txt
5.15查看一个或多个文件中不断更新的最后几行
tail -f 或tail--follow
日志文件最大特点:随着系统中各种事情的发生而不断更新。
tail -f /var/log/messages
大部分存放到公共日志文件/var/log/messages中
时间标签:消息发出的日期时间 主机名 生产消息的计算机的名称 子系统名称:发出消息的应用程序的名称 消息 消息级别的具体内容
打印和管理打印任务
6.1列出所有可用的打印机
lpstat -p
6.2找到默认的打印机
lpstat -d
6.3查看打印机是如何连接的
lpstat -s
6.4一次性获取打印机的所有信息
lpstat -t
6.5将文件打印到默认的打印机
lpr
6.6将文件打印到任何打印机
lpr -P
6.7打印多份文件
lpr -#
6.8列出打印任务
lpq
lpq -a 查看所有打印机上打印队列的状态,而不只是默认打印机的队列。
6.9 按打印机来列出打印任务
lpstat
6.10取消发送到默认打印机上的当前打印任务
lprm表示lp remove
6.11取发送到任何打印机上的打印任务
lprm job ID
6.12取消所有的打印任务
lprm -
拥有者和权限
7.1修改文件或目录属于的用户组
chgrp
7.2递归修改目录属于的用户组
chgrp -R或chgrp --recursive
7.3使用chgrp命令查看文件用户组的变化
chgrp -v
chgrp -c
7.4修改文件和目录的拥有者
chown
7.5同时修改文件和目录的拥有者和用户组
chown owner:group
chown后面先指定用户,再指定用户组,中间用冒号隔开,最后是要修改的文件或目录。
用户或用户组中有冒号,在冒号前面输入\,它可以转义。
7.6理解权限的基础
用户(u);组(g);其他(o)
root用户一直能够对任何文件胡目录进行任何操作。
7.7用字母表示法修改文件和目录的权限
chmod [ugo][+-=][rwx]
字母表示法:【想要修改的用户组】【+授予权限-删除权限=设置完全匹配的权限】【想要修改的权限的字母】
优点:它的速度通常很快 缺点:如果要修改两个或更多的用户组,每个用户组的修改各不相同,至少要运行chmod命令两次。
7.8用数字权限修改文件和目录的权限
chmod [0-7][0-7][0-7]
数字权限:基于二进制系统而创建
7.9递归地修改权限
chmod -R或chmod --recursive
7.10设置和清除suid
chmod u[+-]s
suid只适用于可执行文件,不能用于目录。
在设置suid以后,用户就可以使用拥有者的权限执行这个文件,就好像程序的拥有者在运行它一样。
在设置suid之前,如果拥有者已经具有执行权限(x),就会看到s;而S则表示在设置suid之前,拥有者没有执行的权限。
设置suid,将suid的数字设置为4
删除suid,将suid的数字设置为0,将权限设置回默认状态,不设置suid权限。
7.11设置和清除sgid
chmod g[+-]s
sgid权限既适用于文件,也适用于目录。
sgid与suid的功能类似,只不过用户是以组的权限执行文件,而不是以拥有者的权限执行文件。
对于目录,sgid则会做些有趣的事情:任何后来在该目录中创建的文件都属于分配给该目录的组。
设置sgid,将sgid数字设置为2;删除sgid,将sgid数字设置为0。
/*删除sgid,开头输入0,并不能去掉sgid权限,字母表示法可以,chmod g-s可以。
7.12设置和清除sticky bit
chmod [+-]t
在文件夹设置了sticky bit以后,除了文件的拥有者或设置了sticky bit权限的目录的拥有者之外,其他用户都不能删除或重命名该目录中的文件。最常用于/tmp目录
在设置sticky bit之前,若所有人已经具有了执行权限(x),结果就会看到t;T表示在设置sticky bit之前,还没有为所有人设置执行的权限。
添加、删除sticky bit
八进制权限表示法设置sticky bit
suid为4,sgid为2,sticky bit使用1.
用0会同时删除suid、sgid和sticky bit 权限(其实不能)
归档和压缩
zip:操作系统都可以很好地支持zip和unzip,用zip压缩的文件在Linux和Mac OS也能正常使用。将归档文件发送给其他用户,但不知道它们使用的具体操作系统,zip格式就是安全的选择。
gzip是一个开源程序,用于取代旧的Unix程序compress。在基于Unix计算机的用户来回发送文件,gzip格式将是安全的选择。
bzip2命令是Linux中的后来者,主要用来取代gzip,bzip2创建的文件体积更小,但需要以牺牲速度作为代价。
zip、gzip和bzip2主要用于压缩(虽然zip也可以用来归档);tar命令则只有一个功能,就是归档。tar几乎完全应用于基于Unix的计算机。
8.1用zip归档和压缩文件
zip
体积压缩 341k-->340k
压缩目录
8.2用zip获得最好的压缩效果
-[0-9] 0-9调整压缩率
目标文件最好不要有空格
8
8.3用密码保护压缩的Zip文档
-p -e
8.4解压文件
unzip
unzip -v 或unzip verbose
8.5列出将要压缩的文件
-l
不解压文件而列出某个zip文件的内容
8.6测试将要解压的文件
-t
最坏的情况:解压zip压缩文件并删除它之后,才发现部分或者全部解压的内容都是损坏的,不能打开。
8.7用gzip归档和压缩文件
gzip
使用zip,需要指定新创建的zip文件的名称,否则zip就不能运行。使用gzip时,可以只输入命令和需要压缩的文件名。
使用zip压缩文件时,他会保留原始文件,最终得到的是原始文件和新创建的压缩文件;使用gzip压缩文件时,最终得到的只是新创建的压缩文件,原文件不存在了。
gzip保留原始文件,使用-c或--stdout或--to-stdout选项。
gzip结果输出到shell,还需要将输出重定向到另一个文件。
8.8用gzip递归式地归档和压缩文件
-r
gzip -r *
8.9用gzip获得最好的压缩效果
-[0-9]
8.10解压用gzip压缩的文件
gunzip
8.11测试将要用gunzip解压的文件
-t
如果压缩文件没有问题,gzip不会报告任何信息。
8.12用bzip2归档和压缩文件
bzip2
和gzip一样,bzip2也只保留最终生成的.bz2文件,原始文件将不复存在。
保留原始文件,使用-c或--stdout选项,将结果通过管道输出到文件名以.bz2结尾的文件中。
8.13用bzip2获得最好的压缩效果
-[0-9]
8.14解压用bzip2压缩的文件
bunzip2
8.15测试将要用bunzip解压的文件
-t
8
8.16用tar归档文件
-cf
tar不能进行压缩,只进行归档,结果生成的归档文件就是tarball。
-c或--create选项告诉tar正在创建一个tarball,
-f或--file选项则用于为tarball指定文件名。
tar用于压缩整个目录结构,能用它来批量归档大量的文件和子目录。
tar -cf TEST.tar TEST/
8.17用tar和gzip归档和压缩文件
-zcvf
tar命令:先对目录及其内容进行归档,然后再使用gzip或bzip2对生成的tarball文件进行压缩。
通常,用tar和gzip归档和压缩文件,最终的文件扩展名是.tar.gz 但是也可以使用.tgz或.tar .gzip
8.18测试将要解开和解压的tarball
-zvtf
8.19解开和解压tarball
-zxvf