Linux C/C++编程之(二)常用命令之目录处理命令

一、Linux命令的普遍语法格式

  • Linux命令格式(可修改):
命令 -选项 参数
  • 例子:
ls -la /etc

在这里插入图片描述

二、显示目录文件命令:ls

  • 英文原意:list
  • 命令所在路径:/bin/ls
    在这里插入图片描述
  • 执行权限:所有用户
  • 功能描述:显示目录文件
  • 语法:
    • -a 显示所有文件,包括隐藏文件
      在这里插入图片描述
    • -l 详细信息显示,包括文件的属性和权限等数据
      在这里插入图片描述
    • -d 仅显示目录名,而不显示目录下的内容列表
      在这里插入图片描述
    • -h人性化显示(hommization)
      在这里插入图片描述
    • -t 用文件和目录的更改时间排序;可以用第一个显示的文件判断最近修改的文件
      在这里插入图片描述
    • -r 按字母逆序或最早优先的顺序显示输出结果
      在这里插入图片描述
    • -R 连同子目录一同显示出来,也就所说该目录下所有文件都会显示出来(显示隐藏文件要加-a参数)
      在这里插入图片描述

注意:.开头的文件除非是目录,否则就是隐藏文件

最常用也是最好用的一个命令就是:

ls -lrt

在这里插入图片描述
以其中一条信息为例子,解析每个字段都是什么。

drwxrwxr-x 2 gxl gxl 4096 6月  26 12:01 linux

在这里插入图片描述

  • 第一位 d 表示文件类型,-表示是二进制文件,d表示目录,l表示软连接文件。
  • 后面的九位,每三个为一组:rwxrwxr-x
    • u(user)所有者,g(group)所属组,o(other)其他人
    • r 读,w 写,x 执行,- 无权限
      在这里插入图片描述
  • 2 是引用计数,表示文件被引用过多少次
  • gxl 表示所有者,一般创建一个文件,所有者默认是创建者
  • gxl 表示所属组
  • 4096 表示文件字节大小,不带单位表示字节
  • 6月 26 12:01 表示文件的最后修改时间。

注意;Linux没有明确的创建时间,只有最后一次访问时间、文件的状态修改时间、文件的数据修改时间

  • linux 表示文件名

三、切换目录命令:cd

  • 英文原意:change directory
  • 命令所在路径:shell 内置命令
    在这里插入图片描述

shell内置命令和外部命令的区别

  • 内部命令是shell程序的一部分,其中包含的是一些比较简单的linux系统命令,这些命令由shell 程序识别并在shell 程序内部完成运行,通常在linux系统加载运行时shell 就被加载并驻留在系统内存中。
  • 外部命令是linux系统中的实用程序部分,因为实用程序的功能通常都比较强大,所以其包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调用内存。
  • 内部命令和外部命令最大的区别之处就是 性能。内部命令由于构建在shell中而不必创建多余的进程,要比外部命令执行快得多,因此和执行更大的脚本是一个道理,执行包含很多外部命令的脚本会损害脚本的性能。
    • 内部命令是由Bash自身提供的命令,其执行速度比外部命令快,因为解析内部命令shell不需要创建子进程。比如:cd,echo等。
    • 外部命令是在bash之外额外安装的,通常放在/bin,/usr/bin,/sbin,/usr/sbin……….等等。比如:ls、vi等。
  • 执行权限:所有用户
  • 功能描述:切换目录
  • 语法:
    • cd 目录名
    • 回到上一级目录:cd ..
    • 还是在当前目录:cd .
    • 返回上两级目录:cd ../..
    • 返回进入此目录之前所在的目录:cd -
      在这里插入图片描述

四、创建目录命令:mkdir

  • 英文原意:make directories
  • 命令所在路径:/bin/mkdir
    在这里插入图片描述
  • 执行权限:所有用户
  • 功能描述:创建新目录
  • 语法:
    • mkdir -p 目录名(-p递归创建)

例子:

  • 创建单个目录:
mkdir -p ./txt/a.txt
  • 创建多个目录:
mkdir -p ./txt/a.txt /tmp/b.txt

在这里插入图片描述
注意:

  1. 创建的目录如果已经存在,那么Linux会提示无法创建。
    在这里插入图片描述
  2. 不带任何参数地运行mkdir命令,会在当前目录下创建目录。
    在这里插入图片描述
  3. 加上-p,前面的目录没有的会依次创建;不加-p,需要权限。
    在这里插入图片描述

五、删除空目录命令:mkdir

  • 英文原意:remove empty directories
  • 命令所在路径:/bin/rmdir
    在这里插入图片描述
  • 执行权限:所有用户
  • 功能描述:删除空目录(如果目录下存在文件,不能删除)
  • 语法:
    • rmdir 空目录名

例子:删除指定目录
在这里插入图片描述
在这里插入图片描述

六、删除文件或目录命令:rm

  • 英文原意:remove
  • 命令所在路径:/bin/rm
    在这里插入图片描述
  • 执行权限:所有用户
  • 功能描述:删除文件
  • 语法:
    • rm -rf 文件名或目录名

例子:

  • 在 test2 目录下有一个目录 test 和一个文件 test.c,
    • rm -rf test2 是强制删除,不需要输入 y 来确认,容易误删文件。
      在这里插入图片描述
  • rm -rf a1.txt a2.txt 同时删除两个文件
    在这里插入图片描述
  • rm -ir test2 交互式删除文件
    在这里插入图片描述

七、显示当前目录命令:pwd

  • 英文原意:print working directory
  • 命令所在路径:/bin/pwd
    在这里插入图片描述
  • 执行权限:所有用户
  • 功能描述:显示当前目录
  • 语法:
    • pwd

例子:

  • 显示当前目录:pwd
    在这里插入图片描述

八、复制文件或目录命令:cp

  • 英文原意:copy
  • 命令所在路径:/bin/cp
    在这里插入图片描述
  • 执行权限:所有用户
  • 功能描述:复制文件或目录
  • 语法:
    • cp -rp 原文件或目录 目标目录
    • -r 复制目录
    • -p 保留文件属性

例子:

  • 将目录下的a.txt文件复制,同样可以用于复制后文件改名
    在这里插入图片描述
  • 加-p属性,会将原文件的一些属性比如修改时间等也原封不动的复制过去。如果不加-p属性,那么复制后的文件修改时间为当前系统时间。
    在这里插入图片描述

九、剪切文件或目录命令:mv

  • 英文原意:move
  • 命令所在路径:/bin/mv
    在这里插入图片描述
  • 执行权限:所有用户
  • 功能描述:剪切文件、改名
  • 语法:
    • mv 原文件或目录 目标目录

例子:

  • 在当前目录下将c.txt剪切到上一目录下
    在这里插入图片描述
©️2020 CSDN 皮肤主题: 酷酷鲨 设计师:CSDN官方博客 返回首页