文件操作命令

一、文件操作

1.查看当前工作目录

每个 shell 和系统进程都有一个当前的工作目录 CWD current work directory
显示当前 shell CWD 的绝对路径
pwd 命令 : printing working directory
  •   -P 显示真实物理路径
  •   -L 显示链接路径(默认)

2.绝对和相对路径

  • 绝对路径               
        以正斜杠/ 即根目录开始
        完整的文件的位置路径
        可用于任何想指定一个文件名的时候
  • 相对路径
        不以斜线开始
        一般情况下,是指相对于当前工作目录的路径,特殊场景下,是相对于某目录的位置
        可以作为一个简短的形式指定一个文件名
基名: basename ,只取文件名而不要路径
目录名: dirname ,只取路径,不要文件名

3.更改目录

命令 cd change directory 改变目录
选项: -P 切换至物理路径,而非软链接目录
可以使用绝对或相对路径
  • 切换至父目录: cd ..
  • 切换至当前用户主目录: cd
  • 切换至以前的工作目录: cd -

4.列出目录的内容

ls 命令可以列出当前目录的内容或指定目录
用法:
ls [options] [files_or_dirs]
常见选项:
  • -a 包含隐藏文件
  • -l 显示额外的信息
  • -R 目录递归
  • -ld 目录和符号链接信息
  • -1 文件分行显示
  • -S 按从大到小排序
  • -t mtime排序
  • -u 配合-t选项,显示并按atime从新到旧排序
  • -U 按目录存放顺序显示
  • -X 按文件后缀排序
  • -F 对不同类型文件显示时附加不同的符号:*/=>@|
  • -C 文件多时,以多列的方式显示文件,默认是一列(标准输出)
说明:
        ls 查看不同后缀文件时的颜色由 /etc/DIR_COLORS @LS_COLORS 变量定义
        ls -l 看到文件的大小 , 不一定是实际文件真正占用空间的大小

5.查看文件状态stat

文件相关信息: metadata, data
每个文件有三个时间戳:
  • access time 访问时间,atime,读取文件内容
  • modify time 修改时间,mtime,改变文件内容(数据)
  • change time 改变时间,ctime,元数据发生改变

6.确定文件内容

文件可以包含多种类型的数据,使用 file命令检查文件的类型,然后确定适当的打开命令或应用程序使用
格式
file [options] <filename>...
常用选项 :
  • -b 列出文件辨识结果时,不显示文件名称
  • -f filelist 列出文件filelist中文件名的文件类型
  • -F 使用指定分隔符号替换输出文件名后默认的”:”分隔符
  • -L 查看对应软链接对应文件的文件类型
  • --help 显示命令在线帮助

7.文件通配符模式 wildcard pattern

文件通配符可以用来匹配符合条件的多个文件,方便批量管理文件
通配符采有特定的符号,表示特定的含义,此特符号称为元 meta 字符
常见的通配符如下:
* 匹配零个或多个字符,但不匹配 "." 开头的文件,即隐藏文件
? 匹配任何单个字符,一个汉字也算一个字符
~ 当前用户家目录
~mage 用户mage家目录
. 和 ~+ 当前工作目录
~-   前一个工作目录
[0-9] 匹配数字范围
[a-z] 一个字母
[A-Z] 一个字母
[wang] 匹配列表中的任何的一个字符
[^wang] 匹配列表中的所有字符以外的字符
[^a-z] 匹配列表中的所有字符以外的字符

[:digit:]:任意数字,相当于0-9
[:lower:]:任意小写字母,表示 a-z
[:upper:]: 任意大写字母,表示 A-Z 
[:alpha:]: 任意大小写字母
[:alnum:]:任意数字或字母
[:blank:]:水平空白字符
[:space:]:水平或垂直空白字符
[:punct:]:标点符号
[:print:]:可打印字符
[:cntrl:]:控制(非打印)字符
[:graph:]:图形字符
[:xdigit:]:十六进制字符

8.创建空文件和刷新时间

touch 命令可以用来创建空文件或刷新文件的时间
格式:
touch [OPTION]... FILE...
选项说明:
  • -a 仅改变 atimectime
  • -m 仅改变 mtimectime
  • -t [[CC]YY]MMDDhhmm[.ss] 指定atimemtime的时间戳
  • -c 如果文件不存在,则不予创建

9.复制文件和目录

利用 cp copy )命令可以实现文件或目录的复制
格式
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
常用选项
  • -i 如果目标已存在,覆盖前提示是否覆盖
  • -n 不覆盖,注意两者顺序
  • -r, -R 递归复制目录及内部的所有内容
  • -a 归档,相当于-dR --preserv=all,常用于备份功能
  • -d --no-dereference --preserv=links 不复制原文件,只复制链接名
  • --preserv[=ATTR_LIST]

                mode: 权限

                ownership: 属主属组

                timestamp:

                links

                xattr

                context

                all

  • -p 等同--preserv=mode,ownership,timestamp
  • -v --verbose
  • -f --force
  • -u --update 只复制源比目标更新文件或目标不存在的文件
  • -b 目标存在,覆盖前先备份,默认形式为 filename~ ,只保留最近的一个备份

10.移动和重命名文件

        mv 命令可以实现文件或目录的移动和改名
        同一分区移动数据, 速度很快 : 数据位置没有变化
        不同分区移动数据, 速度相对慢 : 数据位置发生了变化
        格式:
mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...
常用选项:
  • -i 交互式
  • -f 强制
  • -b 目标存在,覆盖前先备份
利用 rename 可以批量修改文件名
格式:
rename [options] <expression> <replacement> <file>...

11.删除文件

使用 rm 命令可以删除文件
注意:此命令非常危险,慎重使用,建议使用 mv 代替 rm
格式:
rm [OPTION]... FILE...
常用选项:
  • -i 交互式
  • -f 强制删除
  • -r 递归
  • --no-preserve-root 删除/
rm 虽然删除了文件,但是被删除的文件仍然可能被恢复,在安全要求较高的场景下,可以使用 shred安全删除文件
shred 格式
shred [OPTION]... FILE...
常见选项:
  • -z   最后一次覆盖添加0,以隐藏覆盖操作
  • -v 能够显示操作进度
  • -u 覆盖后截断并删除文件
  • -n # 指定覆盖文件内容的次数(默认值是3次)

二、目录操作

1.显示目录树 tree

常见选项:
  • -d: 只显示目录
  • -L level:指定显示的层级数目
  • -P pattern: 只显示由指定wild-card pattern匹配到的路径

2.创建目录 mkdir

常见选项:
  • -p: 存在于不报错,且可自动创建所需的各目录
  • -v: 显示详细信息
  • -m MODE: 创建目录时直接指定权限

3.删除空目录 rmdir

常见选项:
  • -p 递归删除父空目录
  • -v 显示详细信息

注意:rmdir只能删除空目录,如果想删除非空目录,可以使用rm -r 命令,递归删除目录树

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值