Linux命令系列之

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 {} ;

原文地址:https://www.cnblogs.com/hony625/p/15042374.html