2017-10-14LInux文件的常用命令

您现在的位置是: 首页 > Linux技术 > LInux文件的常用命令

355次阅读

一、文本文件查看

> 重定向(覆盖原文件)
>> 重定向(追加原文件)

查看 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 (看一下cc.txt文件的结果)
grep 匹配文件中的行
grep 判断字 文件
grep adm /etc/passwd ,会把/etc/passwd 文件中含有 adm 的行打印出来
more a.txt|grep china, 把本来要输出 a.txt 的内容,交给 grep 再匹配,匹配含有 china 的行.


二、文件打包压缩及解压

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


.tar

解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
# 注:tar 是打包,不是压缩!

注:如果不想看打包的具体过程,可以用 tar cf filenamt.tar dirname;

.gz  和  .tar.gz

.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  和  .tar.bz2

.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  和  .tar.bz

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


.Z  和  .tar.Z

.Z
解压:uncompress FileName.Z
压缩:compress FileName

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


.tgz  和  .tar.tgz

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


.zip 

.zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName


.rar

.rar
解压:rar a FileName.rar
压缩:rar e FileName.rar


三、文件查找


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


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

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
查找系统中最后 n*24 小时访问的文件
-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’