前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux的文件和目录常用命令

Linux的文件和目录常用命令

原创
作者头像
织幻妖
修改2021-04-26 10:21:46
2.3K0
修改2021-04-26 10:21:46
举报
文章被收录于专栏:用户7552167的专栏

文件和目录

1.切换目录:

[root@localhost ~]# cd [相对路径或绝对路径]

特殊符号

作 用

~

代表当前登录用户的主目录

~用户名

表示切换至指定用户的主目录

-

代表上次所在目录

.

代表当前目录

..

代表上级目录

2.显示当前路径

[root@localhost ~]# pwd

3.查看目录下文件

[root@localhost ~]# ls [选项] 目录名称

选项

功能

-a

显示全部的文件,包括隐藏文件(开头为 . 的文件)也一起罗列出来,这是最常用的选项之一。

-A

显示全部的文件,连同隐藏文件,但不包括 . 与 .. 这两个目录。

-d

仅列出目录本身,而不是列出目录内的文件数据。

-f

ls 默认会以文件名排序,使用 -f 选项会直接列出结果,而不进行排序。

-F

在文件或目录名后加上文件类型的指示符号,例如,* 代表可运行文件,/ 代表目录,= 代表 socket 文件,| 代表 FIFO 文件。

-h

以人们易读的方式显示文件或目录大小,如 1KB、234MB、2GB 等。

-i

显示 inode 节点信息。

-l

使用长格式列出文件和目录信息。

-n

以 UID 和 GID 分别代替文件用户名和群组名显示出来。

-r

将排序结果反向输出,比如,若原本文件名由小到大,反向则为由大到小。

-R

连同子目录内容一起列出来,等於将该目录下的所有文件都显示出来。

-S

以文件容量大小排序,而不是以文件名排序。

-t

以时间排序,而不是以文件名排序。

--color=never--color=always--color=auto

never 表示不依据文件特性给予颜色显示。always 表示显示颜色,ls 默认采用这种方式。auto 表示让系统自行依据配置来判断是否给予颜色。

--full-time

以完整时间模式 (包含年、月、日、时、分)输出

--time={atime,ctime}

输出 access 时间或改变权限属性时间(ctime),而不是内容变更时间。

4.创建目录(文件夹)

[root@localhost ~]# mkdir [-mp] 目录名

  • -m 选项用于手动配置所创建目录的权限,而不再使用默认权限。
  • -p 选项递归创建所有目录,以创建 /home/test/demo 为例,在默认情况下,你需要一层一层的创建各个目录,而使用 -p 选项,则系统会自动帮你创建 /home、/home/test 以及 /home/test/demo。

5.删除空目录(只能是空目录)

[root@localhost ~]# rmdir [-p] 目录名

-p 选项用于递归删除空目录。

6.创建文件及修改文件时间戳

[root@localhost ~]# touch [选项] 文件名

选项:

  • -a:只修改文件的访问时间;
  • -c:仅修改文件的时间参数(3 个时间参数都改变),如果文件不存在,则不建立新文件。
  • -d:后面可以跟欲修订的日期,而不用当前的日期,即把文件的 atime 和 mtime 时间改为指定的时间。
  • -m:只修改文件的数据修改时间。
  • -t:命令后面可以跟欲修订的时间,而不用目前的时间,时间书写格式为 YYMMDDhhmm

7.复制文件和目录

[root@localhost ~]# cp [选项] 源文件 目标文件

选项:

  • -a:相当于 -d、-p、-r 选项的集合;
  • -d:如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接;
  • -i:询问,如果目标文件已经存在,则会询问是否覆盖;
  • -l:把目标文件建立为源文件的硬链接文件,而不是复制源文件;
  • -s:把目标文件建立为源文件的软链接文件,而不是复制源文件;
  • -p:复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间);
  • -r:递归复制,用于复制目录;
  • -u:若目标文件比源文件有差异,则使用该选项可以更新目标文件,此选项可用于对文件的升级和备用。

8.删除文件或目录

[root@localhost ~]# rm[选项] 文件或目录

选项:

  • -f:强制删除(force),和 -i 选项相反,使用 -f,系统将不再询问,而是直接删除目标文件或目录。
  • -i:和 -f 正好相反,在删除文件或目录之前,系统会给出提示信息,使用 -i 可以有效防止不小心删除有用的文件或目录。
  • -r:递归删除,主要用于删除目录,可删除指定目录及包含的所有内容,包括所有的子目录和文件。

注意,rm 命令是一个具有破坏性的命令,因为 rm 命令会永久性地删除文件或目录,这就意味着,如果没有对文件或目录进行备份,一旦使用 rm 命令将其删除,将无法恢复,因此,尤其在使用 rm 命令删除目录时,要慎之又慎。

9.移动文件或改名

[root@localhost ~]# mv 【选项】 源文件 目标文件

选项:

  • -f:强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖;
  • -i:交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项);
  • -n:如果目标文件已经存在,则不会覆盖移动,而且不询问用户;
  • -v:显示文件或目录的移动过程;
  • -u:若目标文件已经存在,但两者相比,源文件更新,则会对目标文件进行升级;

10.命令补全功能

考虑到这种情况,Shell(Bash)提供了一种称为“命令行自动补全”的功能,即在输入文件名的时候,只需要输入该文件名的前几个字符,然后按 Tab 键,Shell 就可以自动将文件名补全。

11.Linux命令的执行过程

Linux 命令的执行过程分为如下 4 个步骤。

1) 判断路径

判断用户是否以绝对路径或相对路径的方式输入命令(如 /bin/ls),如果是的话直接执行。

2) 检查别名

Linux 系统会检查用户输入的命令是否为“别名命令”。要知道,通过 alias 命令是可以给现有命令自定义别名的,即用一个自定义的命令名称来替换原本的命令名称。

3) 判断是内部命令还是外部命令

Linux命令行解释器(又称为 Shell)会判断用户输入的命令是内部命令还是外部命令。其中,内部命令指的是解释器内部的命令,会被直接执行;而用户通常输入的命令都是外部命令,这些命令交给步骤四继续处理。

4) 查找外部命令对应的可执行文件

当用户执行的是外部命令时,系统会在指定的多个路径中查找该命令的可执行文件,而定义这些路径的变量,就称为 PATH 环境变量,其作用就是告诉 Shell 待执行命令的可执行文件可能存放的位置,也就是说,Shell 会在 PATH 变量包含的多个路径中逐个查找,直到找到为止(如果找不到,Shell 会提供用户“找不到此命令”)。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文件和目录
    • 1.切换目录:
      • [root@localhost ~]# cd [相对路径或绝对路径]
    • 2.显示当前路径
      • [root@localhost ~]# pwd
    • 3.查看目录下文件
      • [root@localhost ~]# ls [选项] 目录名称
    • 4.创建目录(文件夹)
      • [root@localhost ~]# mkdir [-mp] 目录名
    • 5.删除空目录(只能是空目录)
      • [root@localhost ~]# rmdir [-p] 目录名
    • 6.创建文件及修改文件时间戳
      • [root@localhost ~]# touch [选项] 文件名
    • 7.复制文件和目录
      • [root@localhost ~]# cp [选项] 源文件 目标文件
    • 8.删除文件或目录
      • [root@localhost ~]# rm[选项] 文件或目录
    • 9.移动文件或改名
      • [root@localhost ~]# mv 【选项】 源文件 目标文件
    • 10.命令补全功能
      • 11.Linux命令的执行过程
        • 1) 判断路径
        • 2) 检查别名
        • 3) 判断是内部命令还是外部命令
        • 4) 查找外部命令对应的可执行文件
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档