文件和目录操作相关的命令(某马)

1.tree命令

  • 以树状形式查看指定目录内容,使用该命令需要安装软件tree
    sudo apt-get update sudo apt-get install tree

  • 命令使用方法
    tree -- 树形结构显示当前目录下的文件信息
    tree 目录 -- 树形结构显示指定目录下的文件信息

说明: 使用tree命令查看目录内容层次清晰, 一目了然.
tree命令只能查看目录内容, 不能查看普通文件内容.

2.ls命令

  • 查看指定目录下的文件信息

  • 使用方法:
    ls        --显示当前目录下文件信息
    ls 目录或文件名  --显示指定目录下文件信息

  • 相关参数

    • a:列出当前目录下的所有文件
      . 当前目录
      .. 当前目录的上一级目录
      隐藏文件, 以 . 开头的文件名, 如.bashrc
      普通文件
      -R:递归方式列出所有目录中的内容
      -l:列出文件的详细信息, 7部分内容
  • 文件类型 (第1个字符)
    • - : 普通文件
    • d : 目录
    • l : 符号链接,相当于windows中的快捷方式
    • s : 套接字
    • p : 管道
    • b : 块设备
    • c : 字符设备
  • 用户的操作权限 (2 – 10个字符)

    • 文件所有者对文件的操作权限 (2,3,4个字符)
    • 文件所属组用户对文件的操作权限(5,6,7个字符)
    • 其他人对文件的操作权限(8,9,10个字符)
  • 硬链接计数:

    • 对于目录来说, 链接计数等于该目录下所有的目录总数(含. 和 ..), 但是不包含该目录的子目录下的目录文件数量, 执行ls -la命令可以进行查看.
    • 对于文件来说, 指的是该文件所有的硬链接文件数量
  • 文件所有者:root

  • 文件所属组:root

  • 文件大小: 5628

    • 如果是目录: 只表示目录大小, 不包含目录中的内容, 目录大小为4k
    • 如果是文件:表示文件大小
  • 文件的创建日期或最后修改时间:2019年1月28 日

  • 文件名:xzgrep

  • 参数之间可以结合使用:

    • ls -la : 列出当前目录下所有文件的相信信息, 包括隐藏文件
    • ls -ltr: 列出当前目录下的文件, 按照时间逆向排序
ls -l 命令

3.cd 命令

切换目录(change directory), 命令使用方式:cd + 路径
路径可以使用相对路径或者绝对路径
cd /home/itcast 绝对路径(从根目录开始)
cd ./itcast/test 相对路径(从当前工作目录开始)

  • 切换到家目录(例如: /home/itcast)
    • cd
    • cd ~
    • cd /home/itcast
    • cd $HOME
  • 临近两个目录直接切换
    • cd -
      如开始在: /home/itcast/test/course/day1/test目录下, 执行了cd命令切换到家目录下, 然后在执行cd -又回到了/home/itcast/test/course/day1/test下.

4.pwd命令

查看用户当前所处的工作目录, printf working directory

5.which命令

显示命令所在的目录, 如which ls which cp

6.touch命令

如果文件不存在, 创建新文件, 如果文件存在, 更新文件的最后修改时间。
命令使用方式:touch 文件名

7.mkdir命令

创建新目录, make directory
创建方式:mkdir目录名
如果创建多级目录需要添加参数 -p
例 在当前目录下创建目录: mkdir mydir
在宿主目录下创建多级目录: mkdir -p ~/test/hello/world/aa

8.rmdir命令

删除空目录,只能删除空目录,使用方式:rmdir 目录名

9.rm命令

  • 删除文件: rm 文件名
  • 删除目录: rm -r 目录名
  • 参数:
    • -r:递归删除目录,删除目录必须添加此参数
    • -i:提示用户是否删除文件或目录
    • -f:强制删除
  • 注意事项:
    使用rm命令删除的文件或目录不会放入回收站中,数据不易恢复。

10.cp命令

命令使用方式:cp 源目录或文件 目标目录或文件
若有目录的拷贝需要使用-r参数

  • cp 要拷贝的文件(file1) file(不存在)
    • 创建file,将file1中的内容拷贝到file
  • cp file1 file(存在)
    • file1覆盖file
  • -cp file dir(存在)
    • 拷贝file到dir目录
  • cp -r dir(存在) dir1(存在)
    • 将dir目录拷贝到dir1目录中
    • 包括dir目录
  • cp -r dir(存在) dir1(不存在)
    • 创建dir1
    • 将dir中的内容拷贝到dir1中, 不包括dir目录
    • cp 拷贝目录也可以用-a参数, 这样可以保留被拷贝的文件的一些属性信息

11.mv命令

  • 改名或者移动文件 mv file1 file2
    • 改名

      • mv file(存在) file1(不存在)
      • mv dir(存在) dir1(不存在)
      • mv file(存在) file2(存在)
        • file文件覆盖file2文件,file改名为file2
    • 移动(第二个参数一定是目录文件)

      • mv file(文件) dir(存在目录)
        • 将file文件移动到dir中
      • mv dir(目录存在) dir1(目录存在)
        • 将dir移动到dir1中, dir就会作为dir1的子目录而存在

12.cat命令

  • 将文件内容一次性输出到终端。
  • 使用方式: cat 文件名
  • 缺点:终端显示的内容有限,如果文件太长无法全部显示。
  • 可用于文件重定向: cat file1>file2, 相当于cp file1 file2

13.more命令

  • 文件内容分页显示到终端,但是只能一直向下浏览,不能回退。
  • 使用方式:more + 文件名
  • 相关操作:
    • 显示下一行:回车
    • 显示下一页:空格
    • 退出:q(ctrl + c)

14.less命令

  • 文件内容分页显示到终端,可以自由上下浏览。
  • 使用方式:less 文件名
  • 相关操作:
    • 显示下一行:回车、ctrl + p、键盘向下键
    • 显示上一行:ctrl + n、键盘向上键
    • 显示下一页:空格、PageDown
    • 显示上一页:PageUp
    • 退出:q

15.head命令

  • 从文件头部开始查看前n行的内容
  • 使用方式:head -n[行数] 文件名
    • head -20 hello.txt
  • 如果没有指定行数,默认显示前10行内容

16.tail命令

  • 从文件尾部向上查看最后n行的内容
  • 使用方式:tail -n[行数] 文件名
  • 如果没有指定行数,默认显示最后10行内容
  • 一个比较重要的应用:显示日志 : tail -f test.log
    一个终端tail -f test.log , 另一个终端: echo “hello world” >>test.log
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容