文件查找与打包压缩 链接文件

目录

文件查找

grep:文件内容过滤

查找命令

查询命令和配置文件的位置

1.find详解:文件查找,针对文件名

1.1 文件名称查找 -name

1.2 文件类型查找 -type

1.3 文件大小查找 -size

1.4 文件权限查找

1.5 文件时间查找

1.6 找到文件后处理动作

2. 打包压缩

2.1 打包解包

2.1.1 打包 tar cvf

2.1.2 解包 tar xvf

2.2 压缩 解压缩

2.2.1压缩 gzip bzip2

2.2.2 解压缩

2.3 打包压缩一起

2.4 解压解包一起

3. 链接文件

3.1 硬链接

3.2 软链接

3.3 面试:软链接和硬链接的区别:


文件查找

grep:文件内容过滤

grep 'root' /etc/passwd        #从/etc/passwd文件中过滤root字段

查找命令

which ls

alias ls=‘ls - - color=auto’

        /usr/bin/ls

#which只能查找命令文件,对普通文件无效

查询命令和配置文件的位置

whereis rpm

rpm:/usr/bin/rpm         /usr/lib/rpm         /etc/rpm /usr/share/man/man8/rpm.8.gz

1.find详解:文件查找,针对文件名

语法:

find 路径 条件 跟条件相关的操作符

路径:

1.默认不写路径是查找的是当前路径

2.指定路径

条件:

1.文件名称        -name

2.文件类型        -tyep

3.文件大小        -size

4.文件权限        -perm

5.文件时间        -atime        -mtime        -ctime

1.1 文件名称查找 -name

find / -name “finle2”        #从根目录下查找含有finle2的文件

find /etc -iname "IFcfg-ens33"        #i忽略大小写

1.2 文件类型查找 -type

find /dev -type f        #查找普通文件

find / -type f -size -1M -o -name "*.txt"

find /dev -type d       #查找目录文件

find /etc -type l         #查找链接文件

find /dev/ -type b       #查找块设备

1.3 文件大小查找 -size

find /etc -size +5M        #查找大与5M的文件

find /etc -size 5M        #查找等于5M的文件

find /etc -size -5M        #查找小于5M的文件

find /etc -size +3M -a -size -5M        #查找大与3M并小于5M的文件 (-a是且 可忽略不写)

find /etc -size -1M -o -size +3M        #查找小于1M或大与3M的文件 (-o是或者)

1.4 文件权限查找

find /usr/bin -prem 644        #精确查找文件权限是644的文件

find /usr/bin -prem -4000        #包含set uid (u+s)

find /usr/bin -prem -2000        #包含set gid (g+s)

find /usr/bin -prem -1000        #包含sticky(o+t)

1.5 文件时间查找

按时间查找(atime,mtime,ctime)

-atime = access 访问时间

-mtime = modify 改变时间(内容修改时间)

-ctime = change 修改时间 (属性修改时间)

-amin 分钟

-mmin

-cmin

find /opt -mtime +5        #查找修改时间五天前的文件

find /opt -atime +1        #查找访问时间一天前的文件

find /opt -ctime -2        #查找修改时间两天内的文件

1.6 找到文件后处理动作

-name "ifcfg*" | xargs

-name "ifcfg*" | -print        #打印

-exec

find /etc -name "ifcfg" -exec cp -rf {} /tmp \;        #exec命令对查找出来的文件做进一步操作        ({}为查找到的内容, \; 格式)

xargs

find /home/ -name "test*" | xargs -i cp {} /tmp/        #找到之后删除处理xargs参数传递

-exec和xargs区别

-exec:参数是一个一个传递的,传递一个参数执行一次命令

xargs:将前一个命令的标准输出传递给下一个命令,作为它的参数转化成下一个命令的参数列表。

1.exec每处理一个文件或目录都要启动一次,效率不高

2.exec格式麻烦

3.xargs不能操作文件名有空格的文件

2. 打包压缩

2.1 打包解包

2.1.1 打包 tar cvf

语法:

#tar cvf xxx.tar filename 被打包的文件

c:create        创建

v:verbose        详细信息

f:file        文件

2.1.2 解包 tar xvf

语法:

#tar xvf xxx.tar -C 解包路径

-C:指定解包路径

案例

[root@youngfit.com ~]# tar cvf dir1.tar /home/dir10/ #打包目录dir10,将包命名为dir1.tar
[root@youngfit.com ~]# tar xf dir1.tar -C /usr/local/ #将dir1包解压到指定目录

2.2 压缩 解压缩

2.2.1压缩 gzip bzip2

语法:

gzip 源文件         文件结尾为.gz

bzip2 源文件        文件结尾为.bz2

2.2.2 解压缩

语法:

gunzip         压缩文件

gunzip2        压缩文件

gzip -d        压缩文件

gzip -d        压缩文件

案例

[root@youngfit.com ~]# gzip file1  #压缩
[root@youngfit.com ~]# gzip -d file1.gz #解压缩
[root@youngfit.com ~]# gunzip file1.gz  #也是解压缩包
[root@youngfit.com ~]# gzip -c file1 > /usr/local/file1.gz  #压缩到指定位置(注意以.gz结尾)
[root@youngfit.com ~]# gunzip -c /usr/local/file1.gz > /opt/file1 #解压到指定位置(解压出的名字可以自定义)
-c, --stdout

2.3 打包压缩一起

语法:

tar cvzf file.tar.gz 源文件

tar cvjf file.tar.bz2 源文件

z:表示gz压缩

j:表示bz2压缩

2.4 解压解包一起

语法:

tar xvzf 压缩文件 -C 压缩路径

tar xvjf 压缩文件 -C 压缩路径

案例

[root@youngfit.com ~]# tar cvzf dir1.tar.gz dir1              #打包并压缩
[root@youngfit.com ~]# tar xvzf dir1.tar.gz -C /usr/local/    #解压到指定位置

[root@youngfit.com ~]# tar czf /tmp/`date +%F-%T`-etc.tar.gz /etc/  #将打包压缩的文件放到/tmp目录下,并以当前时间开头命名

3. 链接文件

ll -i 查看inode号

3.1 硬链接

inode一样 源文件失效,链接文件依旧能用,不可作用于目录,不能跨文件系统

ln /file1 /file1-h1        #创建file1的硬链接文件file1-h1

3.2 软链接

inode号不同 源文件失效,链接文件不能用 ,可作用与目录,能跨文件系统

ln -s /file2 /file2-h2        #创建file2的软链接文件file2-h2

3.3 面试:软链接和硬链接的区别:

软链接可以跨文件系统,硬链接不行

软链接可以对目录进行链接,硬链接不行

删除源文件后软链接失效,硬链接没影响

软联机创建方式ln -s 硬链接创建方式 ln

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值