Linux命令系列之 - 文件目录操作 - 文件目录创建查找移动复制属性查看
1. 文件及目录属性查看
linux系统文件类型
- '-' 普通文件
- d 目录文件directory
- b 块设备文件
- c 字符设备character
- l 符号链接文件link
- p 管道文件pipe
- s 套接字文件socket
1.1 查看文件状态 - stat
stat命令:查看文件相关信息:metadata,data
- 文件时间戳
- atime, access time 访问时间,读取文件内容
- mtime, modify time 修改时间,改变文件内容(数据)
- ctime, change time 改变时间,元数据发生改变
1.2 确定文件内容 - file
file命令:检查文件包含类型,确定适当的打开命令或应用程序使用
用法和常用选项:
file [options] <filename>...
常用选项:
-b #列出文件辨识结果时,不显示文件名称
-f filelist #列出文件filelist中文件名的文件类型
-F #使用指定分隔符号替换输出文件名后默认的“:”分隔符
-L #查看对应软连接对应文件的文件类型
--help #显示命令在线帮助
1.3 查看文件类型 - type
1.4 查看文件详细信息 - ls -l
ls命令:可以列出当前目录的内容或指定目录内容
用法:
ls [option] [files or dires]
常见选项:
-a 显示包含隐藏文件
-l 显示详细信息
-R 递归显示子目录信息
-ld 显示目录和字符连接信息
-1 文件分行显示
-S 文件按从大到小排序显示
-t 按mtime排序显示
-u 配合-t,显示并按atime从新到旧排序
-U 按目录存放顺序显示
-X 按文件后缀排序
-F 对不同类型文件显示附加不同的符号:*/+>@|
-C 文件多时,以多列方式显示文件
ls查看不同后缀文件时的颜色定义: /etc/DIR_COLORS
和 @LS_COLORS
变量定义
1.5 查看文件或目录大小 - du
1.6 显示目录树 - tree
用法和选项:
tree [options]... dir
选项:
-d #只显示目录
-L level #指定显示的层级数目
-P pattern #只显示由指定wild-card pattern匹配到的路径
1.7 显示当前工作目录 - pwd
pwd命令:显示当前shell的绝对路径,printing working directory
pwd [option]
选项:
-P 显示真实物理路径
-L 显示连接路径
1.8 更改工作目录 - cd
cd命令:切换改变工作目录,change directory
cd [option] dir
#选项:
-P 切换至物理路径,而非软链接目录
#用法:
cd .. 切换至当前目录的父目录
cd ~ 切换至当前用户家目录
cd - 切换至上一次的工作目录
环境变量:
- PWD 当前目录路径
- OLDPWD 上一次目录路径
2. 文件或目录操作
2.1 创建空文件和刷新访问时间 - touch
touch - 命令可以用来创建空文件或刷新文件的时间
用法和选项:
touch [options]... file...
选项:
-a # 仅改变atime和ctime
-m # 仅改变mtime和ctime
-t # [[CC]YYMMDDhhmm[.ss]]指定atime和mtime的时间戳
-c # 如果文件不存在,则不予创建
2.2 复制文件和目录 - cp
cp命令-copy,可以实现文件或目录的复制
用法和选项:
cp [options]... [-T] source dest
cp [options]... source... derectory
cp [options]... -t directory source...
选项:
-i #如果目标已存在,覆盖前提示是否覆盖
-n #不覆盖,注意两者顺序
-r,-R #递归复制目录及内部的所有内容
-a #归档,相当于-dR --preserv=all,常用于备份功能
-d --no-dereference --preserv=links #不复制原文件,只复制链接名
-p #等同--preserv=mode,ownership,timestamp
-v --verbose #输出处理过程
-f --force #强制复制
-u --update #只复制源比目标新文件或目标不存在的文件
-b #目标存在,覆盖前先备份,只保留最近的一个备份
--backup=numbered #目标存在,覆盖前先备份加数字后缀,可以保留多个版本
--preserv[=ATTR_LIST]
mode:权限
ownership:属主属组
timestamp
links
xattr
context
all
2.3 移动和重命名文件 - mv
mv命令-move,可以实现文件或目录的移动和改名
- 同一分区移动数据,速度很快,数据位置没有变化
- 不同分区移动数据,速度相对慢,数据位置发生变化
用法和选项:
mv [options]... [-T] source dest
mv [options]... source... directory
mv [options].. -t directory source...
选项:
-i #交互式
-f #强制
-b #目标存在,覆盖前先备份
利用rename
命令可以批量修改文件名
格式:rename [options] <expression> <replacement> <file>...
2.4 删除文件和目录 - rm
rm命令-remove,可以删除文件(危险的命令,慎用)
用法和选项:
rm [options]... file...
选项:
-i #交互式
-f #强制删除
-r #递归删除目录和文件
--no-preserve-root #删除/
rm删除了文件,仍然可能被恢复,在安全要求较高的场合下,可以使用shred安全删除文件
shred [option]... file...
选项:
-z # 最后一次覆盖添加0,以隐藏覆盖操作
-v # 能够显示操作进度
-u # 覆盖后截断并删除文件
-n # 指定覆盖文件内容的次数(默认为3)
2.5 创建和删除目录 - mkdir rmdir
mkdir创建目录
mkdir [options]... dir
选项:
-p #存在时不报错,且可自动创建所需的各目录
-v #显示详细信息
-m mode #创建目录时直接指定权限
rmdir删除目录
rmdir [options]... dir
选项:
-p #递归删除父空目录
-v #显示详细信息
备注:rmdir只能删除空目录,如果想删除非空目录,可以使用rm -r
命令,递归删除目录树。
2.6 创建连接文件 - ln
格式:
ln filename [linkname]
选项:
-s #创建软连接
实例:创建文件和目录软连接文件
[root@centos7 data]# ln -sv /etc/hostname myfile
[root@centos7 data]# ll
lrwxrwxrwx. 1 root root 13 8月 27 18:40 myfile -> /etc/hostname
[root@centos7 data]# ln -sv /home/WinS mydir
[root@centos7 data]# ll
lrwxrwxrwx. 1 root root 13 8月 27 18:37 mydir -> /home/WinS