1. 切换路径 - cd
命令cd: change directory 改变目录
cd 语法和选项:
cd dir
选项:
-P 切换至物理路径,而非软连接目录
使用绝对或相对路径:
cd .. #切换到父目录
cd ~ #切换到当前用户家目录
cd - #切换到最近一次工作目录
2. 查看当前路径 - pwd
pwd 命令查看当前用户工作的绝对路径
相关环境变量:
- PWD:当前目录路径
- OLDPWD:上一次目录路径
3. 查看路径下文件和目录 - ls
ls 命令可以列出当前目录的内容或指定目录内容
- 用法及选项:
ls [options] [files_or_dirs]
常见选项:
-a 包含隐藏文件在内的所有文件
-l 显示额外的详细信息
-R 递归各目录并显示其中文件
-1 文件分行显示(数字1)
-S 按从大到小排序
-t 按mtime排序
-u 配合-t选项,显示并按atime从新到旧排序
-U 按目录存放顺序显示
-X 按文件后缀排序
-F 对不同类型文件显示附加不同的符号: */=>@|
-C 文件多时,以多列的方式显示文件,默认是一列
- ls查看不同后缀文件时的颜色定义
- /etc/DIR_COLORS
- @LS_COLORS
4. 在路径下搜索文件或目录 - find
find命令用来在指定目录下查找文件。
用法及选项:
find path -option [ -print ] [ -exec -ok command ] {} ;
参数说明:
find根据下列规则判断path和expression,
在命令列上第一个-(),!之前的部分为path,之后的是expression。
如果path是空字符串则使用目前路径,
如果expression是空字符则使用-print为预设expression。
expression选项介绍
- -mount,-xdev:只检查和指定目录在同一个文件系统下的文件,避免列出其他文件系统中文件
- -amin n:在过去n分钟内被读取过
- -anewer file:比文件file 更晚被读取过的文件
- -atime n:在过去n天内被读取过的文件
- -cmin n:在过去n分钟内被修改过
- -cnewer file:比文件file更新的文件
- -ctime n:在过去n天内被修改过的文件
- -empty:空文件-gid n or -group name
- -ipath p,-path p:路径名称符合p的文件,ipath会忽略大小写
- -name name,-iname name:文件名称符合name的文件。iname会忽略大小写
- -size n:文件大小是n单位,b代表512位元组的区块,c表示字元数,k表示kilo bytes,w两个位元组
- -type c:文件类型是c的文件。、
文件类型有:- d:目录
- b:字型装置文件
- p:具名列
- f:一般文件
- |:符号链接
- s:socket
可以使用()将运算式分隔,并使用下列运算
- exp1 -and exp2
- !expr
- -not expr
- exp1 -or exp2
- exp1,exp2
实例:
#当前目录及其子目录下所有文件后缀为'.c'的文件列出来
[root@centos7 ~]# find . -name "*.c"
#当前目录及子目录所有文件列出
[root@centos7 ~]# find . -type f
#当前目录及子目录下所有最近20天内更新过的文件列出
[root@centos7 ~]# find . -ctime -20
#找'/var/log'目录中更改时间在7日以前的普通文件,并在删除之前询问他们;
[root@centos7 ~]# find /var/log -type f -mtime +7 -ok rm {} ;
#找当前目录中文件属性具有读写权限,并且文件所属组的用户和其他用户具有读权限的文件
[root@centos7 ~]# find . -type f -perm 644 -exec ls -l {} ;
#找系统中所有文件长度为0的普通文件,并列出他们的完整路径
[root@centos7 ~]# find / -type f -size 0 -exec ls -l {} ;