#006 以文件之名

以文件之名

这里写图片描述

文件类型

符号文件类型
-常规文件,即f
d目录文件
b块设备文件
c字符设备文件
l符号链接文件
p命名管道
s套接字文件

目录管理

创建目录

mkdir DIR

删除目录

rmdir DIR

显示目录树,n是数字,代表目录树的深度

tree -L n DIR

文件查看

将多个文件串联起来显示在标准输出

cat [OPTION]... [FILE]...

    #OPTIONS:
        #-e:转义字符
        #-n:显示行号        

显示文件行首第一行到n行,默认为10行

head -n FILE...

显示文件末尾行到倒数第n行,默认为10行

tail -n FILE...

    #-f:查看文件尾部内容不退出,跟随显示新增的行。常用于查看动态日志内容

从文件行首,通过翻屏细读文件

more FILE...

从文件行尾,通过翻屏细读文件

less FILE...

显示文件类型

file FILE

显示文件的元数据信息

stat FILE

文件管理

创建一个临时的文件或目录,至少3个大写X

mktemp FILE.XXXX

复制文件

cp [OPTION]... SOURCE... DIRECTORY

 #  OPTIONS:
 #      -i:提示是否覆盖
 #      -f:强制覆盖原有文件
 #      -r:递归复制
 #      -d:父子链接文件本身,不复制指向的链接文件
 #      --preserve=all:保留源文件的元数据信息

移动文件

mv SOURCE DIRECTORY

删除文件或目录

rm [OPTION]... FILE...

#   OPTIONS:
#       -i:交互式提示
#       -r:递归删除
#       -d:删除空目录
#       -f:强制删除

文件查找

在某一路径下查找文件有两种方式:locatefind命令

locatefind
依赖于事先构建好的索引库实时遍历
查找速度快查找速度慢
模糊查找精确查找
非实时查找实时查找

locate命令

locate [OPTION]... PATTERN...

#   OPTIONS:
#       -b:只匹配路径中的基名
#       -c:统计符合条件的文件的个数

find命令

find [OPTIONS] [查找起始路径] [查找条件] [处理动作]
查找条件
  1. 文件名
  2. 从属关系
  3. 文件类型
  4. 文件大小
  5. 文件权限
  6. 文件时间戳
  7. 组合测试
文件名
find /etc -name "PATTERN"

#   OPTIONS:
#       -name pattern:文件名,满足blob通配符
#       -iname pattern:忽略大小写
#       -regex pattern:基于正则表达式(开头最好带.*)
#       -iregex pattern:忽略大小写
从属关系
find /etc -user USERNAME

#   OPTINOS:
#       -user USERNAME:属主
#       -group GROUPNAME:属组
#       -uid UID:属主UID
#       -gid GID:属组GID
#       -nouser:查找没有属主的文件
#       -nogroup:查找没有属组的文件
文件类型
find /etc -type f

#   OPTIONS:
#       f:普通文件
#       d:目录文件
#       l:符号链接文件
#       b:块设备文件
#       c:字符设备文件
#       p:管道文件
#       s:套接字文件
文件大小
find /etc -size 100K

#   OPTIONS:
#       #[K|M|G]:具体字节大小在同一个单位上换算的数值相等
#       +#[K|M|G]:大于100K
#       -#[K|M|G]:小于100K
文件权限
find /etc -perm 222

#   OPTIONS:
#       MODE:精确权限匹配
#       /MODE:或者关系;任何一类用户(u,g,o)的权限中的任何一位(r,w,x)符合条件即满足;
#       -MODE:与关系;同时符合条件即满足
#       +MODE:老版本;现在已经被/MODE替代。
文件时间戳
find /etc -atime 3

#   OPTIONS:
#       -atime:以天为单位访问时间
#           n:过去第n天
#           +n:n天前
#           -n:n天内
#       -mtime:以天为单位修改时间
#       -ctime:以天为单位更改时间
#       -amin:以分钟为单位访问时间
#       -mmin:以分钟为单位修改时间
#       -cmin:以分钟为单位更改时间
组合测试
find /etc -user root -a -perm 222

#   OPTIONS:
#       -a:与(默认)
#       -o:或
#       -not,!:非
处理动作
  • -print:输出至标准输出(默认)
  • -ls:类似于对查找到的文件执行“ls -l”命令
  • -delete:删除查找到的文件
  • -fls /PATH/TO/FILE:将查找到的文件的长格式信息保存到指定文件中
  • -exec COMMADN {} \; :对查找到的文件执行COMMAND命令
  • -ok COMMAND {} \; :对查找到的每个文件执行COMMAND命令,并且每次操作都由用户确定。

"{}"是对查找到的文件名的引用

find命令与xargs命令的结合

find传递查找到的文件路径后面的命令时,是先查找出所有符合条件的文件路径,并一次性传递给后面的命令。有些命令不能接受过长的命令,此时命令会失败,find与xargs结合可规避此问题

xargs - build and execute command lines from standard input

xargs命令是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具。它擅长将标准输入数据转换成命令行参数,xargs能够处理管道或者stdin并将其转换成特定命令的命令参数。xargs也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。xargs的默认命令是echo,空格是默认定界符。这意味着通过管道传递给xargs的输入将会包含换行和空白,不过通过xargs的处理,换行和空白将被空格取代。xargs是构建单行命令的重要组件之一。

xargs用法

xargs [OPTIONS] [COMMAND [COMMAND-ARGS]]

#   OPTIONS:
#       -n #:每行输出#个元素
#       -d "X":指定分隔符为X
#       -I(大写i):每个参数命令都会执行一次
#       -0:分隔符为0或null字符,配合-print0使用

复制所有图片到/data/images目录下

ls *.jpg | xargs -n1 -I cp {} /data/images

查找出当前目录下文件名后缀为.log的文件,并将其删除

find . -type f -name "*.log" -print0 | xargs -0 rm -f 

将当前目录下的所有.jpg的图片进行归档压缩

find . -type -f -name "*.jpg" -print | xargs tar zcf images.tar.gz

文件压缩和归档

文件压缩

只能压缩文件

  1. gzip
  2. bzip2
  3. xz
gzip/gunzip/zcat
gzip [OPTIONS]... FILE...

#   OPTIONS:
#       -d:解压缩,相当于gunzip
#       -#:指定压缩比(默认是6);压缩比(1-9)越大,所消耗的cpu时钟周期越长
#       -c:将压缩结果输出至标准输出;通过重定向至FILE.gz保存压缩

解压缩

gunzip FILE

压缩后,查看其内容

zcat FILE.gz
bzip2/bunzip2/bzcat
bzip2 [OPTIONS]... FILE...

#   OPTIONS:
#       -d:解压缩
#       -#:指定压缩比
#       -k:保留原文件
xz/unxz/xzcat
xz [OPTIONS]... FILE...

#   OPTIONS:
#       -d:解压缩
#       -#:指定压缩比
#       -k:保留原文件

文件归档并压缩

将多个文件并成一个文件

tar [OPTION]… FILE… 

#   归档OPTIONS:
#       -cf FILE.tar /PATH/FILE...:创建归档
#       -xf FILE.tar -C /PATH/DIR:展开归档至指定目录下
#       -tf /PATH/FILE.tar:查看归档文件中的列表

#   归档并压缩OPTIONS:
#       -zcf /PATH/FILE.tar.gz /PATH/DIR:归档并压缩为FILE.tar.gz
#       -zxf /PATH/FILE.tar.gz:解压缩并展开归档

#   归档并压缩OPTIONS:
#       -jcf /PATH/FILE.tar.bz /PATH/DIR:归档并压缩为FILE.tar.gz
#       -jxf /PATH/FILE.tar.bz:解压缩并展开归档

#   归档并压缩OPTIONS:
#       -Jcf /PATH/FILE.tar.xz /PATH/DIR:归档并压缩为FILE.tar.gz
#       -Jxf /PATH/FILE.tar.xz:解压缩并展开归档

zip:最通用的压缩工具,既能归档又能压缩,但是压缩比有限

#压缩
zip FILE.zip /PATH/FILE

#解压缩
unzip FILE.zip
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值