Linux——查找和压缩

文件查找

文件查找有3种命令:

  • which: 命令查找,查找我们在系统上使用的命令,如which cat
  • find:文件查找,针对文件名
  • locate:文件查找,依赖数据库

which

which用于查找命令文件

  • which命令的使用方法:which 需要查找的命令
[root@localhost ~]# which ls
alias ls='ls --color=auto'
        /usr/bin/ls
[root@localhost ~]# which mkdir
/usr/bin/mkdir
[root@localhost ~]# which cd
/usr/bin/cd

alias ls='ls --color=auto'表示的是将ls --color=auto简写为ls
alias命令就是给命令起个别名,方便后续使用。

  • 也可以使用where命令进行查找:whereis 需要查找的命令
[root@localhost ~]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
[root@localhost ~]# whereis mkdir
mkdir: /usr/bin/mkdir /usr/share/man/man1/mkdir.1.gz /usr/share/man/man1p/mkdir.1p.gz /usr/share/man/man2/mkdir.2.gz /usr/share/man/man3p/mkdir.3p.gz
[root@localhost ~]# whereis cd
cd: /usr/bin/cd /usr/share/man/man1/cd.1.gz /usr/share/man/man1p/cd.1p.gz

locate

locate是用来查找所有文件的
查找命令:locate 文件名

对于新创建的文件locate是不能查找到的,只有当系统重启,重新加载所有文件时才可以适用locate查找到。或者执行updatedb命令,更新系统文件。

find命令

find命令的语法是:
find [path...] [options] [expression] [action]

  • path: 要查找的路径
  • options: 要查找的内容的选项,如-name表示查找文件名
  • expression:表达式,查找参数
  • action:行为,动作

按文件名查找文件

按文件名查找文件,options就是-name

find /etc -name '7755199.txt'

表示在etc目录下查找文件名为755199.txt的文件。

查找不区分大小写
默认的查找命令是区分大小写的,如果不想区分大小写,可以使用添i参数。

find /etc -iname “hosts”

就是不区分大小写在etc文件夹下查找hosts文件

按文件大小查找文件

按文件大小查找文件,options就是-size

find /etc -size +5M

表示查找在etc目录下大小大于5M的文件。

find /etc -size 5M

表示查找在etc目录下大小等于5M的文件。

find /etc -size -5M

表示查找在etc目录下小于5M的文件。

  • ls -lh 文件: 表示查看文件的长列表数据大小数据

按目录深度查找文件

按目录深度查找文件,options就是-maxdepth
使用:

find / -maxdepth 2 -a -name ifcfg*

就是在根目录下查找层级为2并且名字以ifcfg开头的文件。

按文件属主属组查找

按文件属主属组查找,options就是user(属主),group(属组)

find /home -user jack 

在home文件夹下查找属主为jack的文件

find /home -group hr 

在home文件夹下查找属组为hr的文件

按文件类型查找

按文件属主属组查找,options就是type
type的取值有:

  • f:普通文件
  • d: 文件夹
  • l:链接文件
  • b: 设备:光驱、硬盘、RAID等
    在windows中意后缀作为文件区分,但是linux中不以后缀做区分,而是以文件类型作区分,ls -l命令中的第个字母表示文件类型

按文件权限查找

按文件权限查找,options就是perm

find . -perm 644 -ls

就是在.目录下查找权限是644的文件。
-ls就是动作参数:这里表示查找到文件之后以ls命令查看该文件。

[action]

find查看命令的最后一个参数是[action],表示查找到文件之后要进行的动作。
可选项:

  • -print:默认值,就是输出的意思。
  • -delete:表示找到文件后进行删除
  • -ok cp -rvf {} 目标文件夹 \; :复制查找到的文件
    ok是连接符:用于连接拷贝动作
    {}:是引用符,引用符引用的是前面查找出来的文件,
    \; :是结束符
  • -ls: 以ls查看查找到的文件

文件打包和压缩

tar命令是Unix/Linux系统备份文件的可靠方法,几乎可以工作于任何环境中,它的使用权限是所有用户。建议针对目录。

打包

语法:tar 选项 压缩包名称 源文件

tar -f 1.tar /etc

注意:打包是打包,并不会进行压缩。
选项可选值:
-f:即filename,即文件
-cf:即createFile,即创造文件
-czf:即createZipFile,即创造文件并进行压缩
-cjf:创造文件并进行压缩
-cJf:创造文件并进行压缩,相比于前两种压缩方法压缩后的体积最小,但是时间长。

压缩的原理:
就是找到文件中相同的信息用一个简介的变量名替代,压缩就是去重法,优点是文件体积变小,缺点是无法直接读,所以需要解压。

解压文件

  • tar -xf 需要解压的文件
    表示将目标文件解压到当前目录中
    打包的文件也是需要解压的,只要文件打包要解析该文件就要进行解压。
  • tar -xf 需要解压的文件 -C 目标目录
    表示将文件解压到目标目录中。

eg:

tar -xf etc.tar -C /tmp

表示将etc.tar压缩包解压到tmp目录。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值