美文网首页
26 文件和目录管理

26 文件和目录管理

作者: StarShift | 来源:发表于2016-10-08 23:01 被阅读38次

绝对路径和相对路径

文件和目录名可以是绝对的,这表示名称以 / 开头。
也可以相对当前工作目录,这表示不是以 / 开头。

文件或目录的绝对路径的组成为:
在 0 个或多个目录名后附加一个 /,其中每个目录名的后面都有一个 /,然后是一个最终文件名。

列出详细内容

在一台存储设备中,文件或目录被包含到一个块(block)组合中。有关文件的信息被包含在一个索引节点(inode)中,其中记录如下信息:所有者、最后一次访问文件的时间、文件大小、是否为目录以及谁可以读取或写入数据。inode 编号也被称为文件序列号(file serial number),并且在一个特定文件系统中是唯一的。我们可以使用-l
(或--format=long
)选项来显示存储在 inode 中的某些信息。

默认情况下,ls 命令不会列出特殊文件,这些文件的文件名以点号 (.) 开头。除根目录外的所有目录都至少包含两个特殊条目:目录本身 (.) 和父目录 (..)。根目录没有父目录。

[ian@echidna lpi103-2]$ ls -al
total 52
drwxrwxr-x. 2 ian ian 4096 2009-08-11 21:21 .
drwx------. 35 ian ian 4096 2009-08-12 10:55 ..
-rw-rw-r--. 1 ian ian 8 2009-08-11 21:17 sedtab
-rw-rw-r--. 1 ian ian 24 2009-08-11 14:02 text1
-rw-rw-r--. 1 ian ian 25 2009-08-11 14:27 text2
-rw-rw-r--. 1 ian ian 63 2009-08-11 15:41 text3
-rw-rw-r--. 1 ian ian 26 2009-08-11 15:42 text4
-rw-rw-r--. 1 ian ian 24 2009-08-11 18:47 text5
-rw-rw-r--. 1 ian ian 98 2009-08-11 21:21 text6
-rw-rw-r--. 1 ian ian 15 2009-08-11 14:41 xaa
-rw-rw-r--. 1 ian ian 9 2009-08-11 14:41 xab
-rw-rw-r--. 1 ian ian 17 2009-08-11 14:41 yaa
-rw-rw-r--. 1 ian ian 8 2009-08-11 14:41 yab
  • 第一个字段(本例中为 drwxrwxr-x 或 -rw-rw-r--)告诉我们,文件是一个目录 (d) 还是一个普通文件 (-)。类型之后是针对所有者、所有者所在组的成员、每一个成员的三组特权。这三个值分别表示用户、组、组成员是否拥有读 (r)、写 (w) 或 (x) 执行权限。

  • 下一个字段是一个数字,告诉我们文件的硬链接的数量。inode 包含有关文件的信息。文件的目录条目包含到文件的 inode 的硬链接(或指针),因此列出的每个条目都应该至少拥有一个硬链接。目录条目对 . 条目和每个子目录条目使用另外的硬链接。使用 .. 表示的主目录有大量子目录,因此包含 35 个硬链接。

  • 接下来两个字段分别为文件的所有者和所有者的主组。

  • 下一个字段包含文件的长度,以字节为单位。可以通过增加h选项使得输出的文件大小带有单位。

  • 倒数第二个字段包含最后一次修改的时间戳。

  • 最后一个字段包含文件或目录的名称。

  • ls -i 命令可以显示 inode 号。
    ls -t 将按照修改时间排序(从最新到最旧)
    ls -lS 将生成一个按大小排序的长列表(从最大到最小)。添加-r
    将反向排序。

复制、移动和删除文件

  • cp 用于复制一个或多个文件或目录。您必须提供一个(或多个)名和一个目标名。源名或目标名可能包含一个路径。
    说明:
  1. 如果目标是一个现有目录,那么所有源将被复制目标中。
  2. 如果目录是一个不存在的目录,那么(单一)源也必须为一个目录,并且源目录的副本及其内容使用目标名作为新名称。
  3. 如果目标是一个文件,那么(单一)源必须也为文件,而源文件的副本使用目标名作为新名,替换任何现有的具有相同名称的文件。
  • mv
    用于移动重命名一个或多个文件或目录。通常使用的名称遵循使用cp 执行复制的相同规则;可以重命名一个文件或将一组文件移动到一个新目录中。因为名称只是一个链接到 inode 的目录条目,对 inode 数量没有改变不应感到奇怪,除非该文件移动到另一个文件系统中,在这种情况下,移动它的行为更像在复制之后删除原始文件。

  • rm 用于删除一个或多个文件。

下面是关于文件inode的一个实例:

ian@Z61t-u14:~/lpi103-2$ cp text1 text1.bkp
ian@Z61t-u14:~/lpi103-2$ mkdir backup
ian@Z61t-u14:~/lpi103-2$ cp text1 backup/text1.bkp.2
ian@Z61t-u14:~/lpi103-2$ ls -i text1 text1.bkp backup
787425 text1 787445 text1.bkp
backup:
787447 text1.bkp.2
ian@Z61t-u14:~/lpi103-2$ 
mv text1.bkp backup
ian@Z61t-u14:~/lpi103-2$ 
mv backup/text1.bkp backup/text1.bkp.1
ian@Z61t-u14:~/lpi103-2$ 
ls -i text1 text1.bkp backup
ls: cannot access text1.bkp: No such file or directory
787425 text1
backup:
787445 text1.bkp.1 787447 text1.bkp.2

通常,cp 命令会复制一个文件来覆盖现有副本,只要现有文件是可写的。另一方面,如果目标存在,mv 就不会移动或重命名文件。

有一些与 cp 和mv 的这一行为相关的有用选项。
**-f 或--force **
导致cp 尝试删除现有目标文件,即使该文件是不可写的。
**-i 或--interactive **
要求在尝试替换现有文件之前进行确认。
**-b 或--backup **
对任何要替换的文件进行备份。

ian@Z61t-u14:~/lpi103-2$ cp text2 backup
ian@Z61t-u14:~/lpi103-2$ cp --backup=t text2 backup
ian@Z61t-u14:~/lpi103-2$ ls backup
text1.bkp.1 text1.bkp.2 text2 text2.~1~
ian@Z61t-u14:~/lpi103-2$ 
rm backup/text2 backup/text2.~1~
ian@Z61t-u14:~/lpi103-2$ ls backup
text1.bkp.1 text1.bkp.2

cp 命令默认情况下为新文件创建了一个新时间戳。所有者和组也被设置为执行复制的用户的所有者和组。可以使用-p 选项保留选定的属性。请注意,根用户可能是唯一可以保留所有权的用户。

创建和删除目录

  • Mkdir 创建目录
    如果您想创建嵌套的子目录,比如 d1/d2/d3,可能会失败,因为 d1 和 d2 目录不存在, 这个时候可以使用-p 选项来创建。

相关文章

  • 26 文件和目录管理

    绝对路径和相对路径 文件和目录名可以是绝对的,这表示名称以 / 开头。也可以相对于当前工作目录,这表示不是以 / ...

  • Linux的简单学习记录(三)

    Linux的文件目录管理一、文件和目录管理 1.cd命令与pwd命令 进入文件目录与现实当前文件目录 2.mkdi...

  • 文件和目录管理

    在复习Linux命令的时候,突然从百度发现了一个不错的网站,Linux命令大全 1.cd 主要用法:切换当前的工作...

  • Linux操作系统学习笔记 0 ——目录

    环境配置和软件安装环境配置和软件安装地址 初识Linux——命令示例命令示例 目录管理目录管理 文件管理文件管理 ...

  • 第三章 基本的bash shell命令

    使用shell bash手册 浏览文件系统VFS 文件和目录 管理文件和目录 查看文件内容 3.1 启动shell...

  • linux 常用命令

    终端 文件管理 查看目录和文件信息 新建文件、新建目录 移动和复制文件 删除文件或目录 新建链接文件软链接:软链接...

  • linux文件和目录管理

    处理目录和文件的几个常用命令 ls:展示目录下的内容 cd: 切换到某个目录下 pwd:显示目前的目录 mkdir...

  • linux文件和目录管理

    文件管理主要命令cd 切换目录pwd 显示当前目录mkdir 新建目录rmdir 删除空目录 . 代表当层目录.....

  • 文件和目录管理(上)

    主要目录的作用 linux/下主要目录的作用,如下表所示: 绝对路径和相对路径 绝对路径:在linux中的每个目录...

  • 文件和目录管理(下)

    查看文件或目录的权限 ls命令可以列出当前目录中的所有文件和目录.加上-l会列出详细信息,-a会列出所有的文件或者...

网友评论

      本文标题:26 文件和目录管理

      本文链接:https://www.haomeiwen.com/subject/bnylyttx.html