零基础学习Linux第四章:文件的常用命令

4.1文本文件查看

查看 more,less,head,tail,cat,以及 grep more 查看文件的内容
用 法 more filename less 作用/用法同 more
[more 最后一屏时自动退出,less 不自动退出,按 q 退出,也可以 ctrl+b 往前翻,ctrl+f 往后翻] head 查看文件的前几行
用法 head -3 filename (不一定是-3 哦,只是举个例子,查看前 3 行)
tail 查看文件的后几行
用法 tail -5 filename (也不一定是-5,只是举个例子,查看后 5 行)
cat 把文件的内容连接起来打印到终端或者用 > 覆盖到另一个文件
用法 cat 文件 1 文件 2 …文件 n (直接把 n 个文件的内容连接起来输出在屏幕上) cat 文件 1 文件 2 …文件 n > 文件 n+1(把 n 个文件连接成一个新文件)
示例 (看一下结果)

echo aa > aa.txt
echo bb > bb.txt
cat aa.txt bb.txt > cc.txt more cc.txt

grep 匹配文件中的行
grep 判断字 文件
grep adm /etc/passwd ,会把/etc/passwd 文件中含有 adm 的行打印出来
more a.txt|grep china, 把本来要输出 a.txt 的内容,交给 grep 再匹配,匹配含有 china 的行.

4.2文件打包压缩

.tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar 是打包,不是压缩!) 注:如果不想看打包的具体过程,可以用 tar cf filenamt.tar dirname;
.gz 解压 1:gunzip FileName.gz
解压 2:gzip -d FileName.gz
压缩:gzip FileName
压缩且不删除源文件: gzip -c FileName > FileName.gz

.tar.gz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName

.bz2
解压 1:bzip2 -d FileName.bz2
解压 2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName
.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName

.bz
解压 1:bzip2 -d FileName.bz
解压 2:bunzip2 FileName.bz
压缩:未知

.tar.bz
解压:tar jxvf FileName.tar.bz
压缩:未知

.Z
解压:uncompress FileName.Z
压缩:compress FileName .tar.Z
解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName

.tgz
解压:tar zxvf FileName.tgz
压缩:未知
.tar.tgz
解压:tar zxvf FileName.tar.tgz
压缩:tar zcvf FileName.tar.tgz FileName

.zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName
.rar
解压:rar a FileName.rar
压缩:rar e FileName.rar

rar 请到:http://www.rarsoft.com/download.htm 下载!
解压后请将 rar_static 拷贝到/usr/bin 目录(其他由$PATH 环境变量指定的目录也可以)

4.3文件查找

find / -name httpd.conf

这个命令语法看起来很容易就明白了,就是直接在 find 后面写上 -name,表明要求系统按照文件名查找,最后写上 httpd.conf 这个目标文件名即可。
稍等一会系统会在计算机屏幕上显示出查找结果列表: etc/httpd/conf/httpd.conf
这就是 httpd.conf 这个文件在 Linux 系统中的完整路径。查找成功。
如果输入以上查找命令后系统并没有显示出结果,那么不要以为系统没有执行 find/ -name httpd.conf 命令,而可能是你的系统中没有安装 Apache 服务器,这时只要你安装了 Apache Web 服务器,然后再使用find / -name httpd.conf 就能找到这个配置文件了。
无错误查找技巧:

在 Linux 系统中普通用户户使用“find”命令来查询这些文件目录是,往往会出现"Permissiondenied."
(禁止访问)字样。系统将无法查询到你想要的文件。为了避免这样的错误,我们可是使用转移错误提示 的方法尝试着查找文件,输入

find / -name access_log 2>/dev/null

根据部分文件名查找方法:

这个方法和在 WINDOWS 中查找已知的文件名方法是一样的。不过在 Linux 中根据部分文件名查找文件的方法要比在 WINDOWS 中的同类查找方法要强大得多。例如我们知道某个文件包含有 srm 这 3 个字母,那么要找到系统中所有包含有这 3 个字母的文件是可以实现的,输入:

find /etc -name '*srm*'

这个命令表明了 Linux 系统将在/etc 整个目录中查找所有的包含有 srm 这 3 个字母的文件,比如absrmyz, tibc.srm 等等符合条件的文件都能显示出来。如果你还知道这个文件是由 srm 这 3 个字母打头的,那么我们还可以省略最前面的星号,命令如下:

find/etc -name 'srm*'

这是只有像 srmyz 这样的文件才被查找出来,象 absrmyz 或者 absrm 这样的文件都不符合要求,不被显示,这样查找文件的效率和可靠性就大大增强了。
根据文件的特征查询方法:

find / -amin -10 # 查找在系统中最后 10 分钟访问的文件
find / -atime -2 # 查找在系统中最后 48 小时访问的文件
find / -empty # 查找在系统中为空的文件或者文件夹
find / -group cat # 查找在系统中属于 groupcat 的文件
find / -mmin -5 # 查找在系统中最后 5 分钟里修改过的文件
find / -mtime -1 #查找在系统中最后 24 小时里修改过的文件
find / -nouser #查找在系统中属于作废用户的文件
find / -user fred #查找在系统中属于 FRED 这个用户的文件

下面的列表就是对 find 命令所可以指定文件的特征进行查找的部分条件。在这里并没有列举所有的查找条件,参考有关 Linux 有关书籍可以知道所有 find 命令的查找函数。
-amin n
查找系统中最后 N 分钟访问的文件
-atime n
查找系统中最后 n24 小时访问的文件
-cmin n
查找系统中最后 N 分钟被改变状态的文件
-ctime n
查找系统中最后 n
24 小时被改变状态的文件
-empty
查找系统中空白的文件,或空白的文件目录,或目录中没有子目录的文件夹
-false
查找系统中总是错误的文件
-fstype type
查找系统中存在于指定文件系统的文件,例如:ext2 .
-gid n
查找系统中文件数字组 ID 为 n 的文件
-group gname
查找系统中文件属于 gnam 文件组,并且指定组和 ID 的文件
技巧: find 配合 grep 来查询含有某个关键词的文件
find /www -name “*.php” |xargs grep ‘mysql_connect’

你可能感兴趣的:(Linux学习)