Unix/Linux 文件管理怎么操作?

文章导读
上一个 测验 下一个 Linux 中的文件管理是什么? 在使用 Linux 时,我们需要许多文本文件和二进制文件,例如所有 Linux 程序都以二进制文件形式提供,而它们的源代码则以文本文件形式存在。作为操作系统的用户,我们还会创建许多文件来管理日常活动。用户生成的文件包括
📋 目录
  1. Linux 中的文件管理是什么?
  2. Linux 中的文件类型
  3. Linux 中的文件管理命令
A A

Linux - 文件管理



上一个
测验
下一个

Linux 中的文件管理是什么?

在使用 Linux 时,我们需要许多文本文件和二进制文件,例如所有 Linux 程序都以二进制文件形式提供,而它们的源代码则以文本文件形式存在。作为操作系统的用户,我们还会创建许多文件来管理日常活动。用户生成的文件包括 Word 文件、Excel 文件、PowerPoint 演示文稿以及许多其他文本文件。

在本章中,我们将详细讨论 Linux/Unix 中的文件管理。Linux 中的所有数据都组织成文件,这些文件又组织成不同的目录。这些目录组织成一种树状结构,称为文件系统。

文件系统负责将信息存储在硬盘上,并随后检索和更新它。Linux 文件系统的示例包括 FAT16、FAT32、NTFS、Ext2、Ext3、Ext4 等。

Linux 中的文件类型

在 Linux 中,一切都是文件。因此,在使用 Linux 时,无论如何,您的大部分时间都会花在处理文件上。本教程将帮助您了解如何创建和删除文件、复制和重命名它们、为它们创建链接等。

在 Linux 中,有三种基本文件类型 −

  • 普通文件 − 普通文件是系统中包含数据、文本或程序指令的文件。在本教程中,您将学习如何处理普通文件。

  • 目录 − 目录存储特殊文件和普通文件。对于熟悉 Windows 或 Mac OS 的用户来说,Unix 目录相当于文件夹。

  • 特殊文件 − 一些特殊文件提供对硬件的访问,例如硬盘、CD-ROM 驱动器、调制解调器和以太网适配器。其他特殊文件类似于别名或快捷方式,允许您使用不同的名称访问单个文件。

Linux 中的文件管理命令

让我们学习最重要的 Linux 命令,用于列出可用文件、创建和删除文件、复制和重命名文件、为文件创建链接等。

列出文件

要在 Linux 系统上列出当前目录中存储的所有文件和目录,请使用以下命令 −

$ ls

以下是上述命令的示例输出 −

$ls

bin        hosts  lib     res.03
ch07       hw1    pub     test_results
ch07.bak   hw2    res.01  users
docs       hw3    res.02  work

命令 ls 支持 -l 选项,这将帮助您获取所列文件更多信息 −

$ls -l
total 1962188

drwxrwxr-x  2 amrood amrood      4096 Dec 25 09:59 uml
-rw-rw-r--  1 amrood amrood      5341 Dec 25 08:38 uml.jpg
drwxr-xr-x  2 amrood amrood      4096 Feb 15  2006 univ
drwxr-xr-x  2 root   root        4096 Dec  9  2007 urlspedia
-rw-r--r--  1 root   root      276480 Dec  9  2007 urlspedia.tar
drwxr-xr-x  8 root   root        4096 Nov 25  2007 usr
drwxr-xr-x  2    200    300      4096 Nov 25  2007 webthumb-1.01
-rwxr-xr-x  1 root   root        3192 Nov 25  2007 webthumb.php
-rw-rw-r--  1 amrood amrood     20480 Nov 25  2007 webthumb.tar
-rw-rw-r--  1 amrood amrood      5654 Aug  9  2007 yourfile.mid
-rw-rw-r--  1 amrood amrood    166255 Aug  9  2007 yourfile.swf
drwxr-xr-x 11 amrood amrood      4096 May 29  2007 zlib-1.2.3
$

以下是所有列出的列的信息 −

  • 第一列 − 表示文件类型和赋予该文件的权限。以下是所有文件类型的描述。

  • 第二列 − 表示文件或目录占用的内存块数量。

  • 第三列 − 表示文件的所有者。这是创建该文件的 Linux 用户。

  • 第四列 − 表示所有者的组。每个 Linux 用户都有一个关联的组。

  • 第五列 − 表示文件大小(以字节为单位)。

  • 第六列 − 表示文件最后一次创建或修改的日期和时间。

  • 第七列 − 表示文件或目录名称。

ls -l 列表示例中,每一行文件都以 d-l 开头。这些字符表示所列文件的类型。

前缀 描述
-

普通文件,如 ASCII 文本文件、二进制可执行文件或硬链接。

b

块特殊文件。块输入/输出设备文件,如物理硬盘。

c

字符特殊文件。原始输入/输出设备文件,如物理硬盘。

d

目录,包含其他文件和目录的列表。

l

符号链接文件。指向任何普通文件的链接。

p

命名管道。用于进程间通信的机制。

s

套接字,用于进程间通信。

Linux 中的元字符

Linux 元字符在 Unix 中具有特殊含义。例如,*? 是元字符。我们使用 * 匹配 0 个或多个字符,问号 (?) 匹配单个字符。

例如 −

$ls ch*.doc

显示所有名称以 ch 开头并以 .doc 结尾的文件 −

ch01-1.doc   ch010.doc  ch02.doc    ch03-2.doc 
ch04-1.doc   ch040.doc  ch05.doc    ch06-2.doc
ch01-2.doc ch02-1.doc c

这里,* 作为元字符,匹配任意字符。如果您想显示所有仅以 .doc 结尾的文件,则可以使用以下命令 −

$ls *.doc

Linux 中的隐藏文件

Linux 和 Unix 有一些对用户不可见的隐藏文件。这些文件名称以点或句点字符 (.) 开头。Linux 程序(包括 shell)使用大多数这些文件来存储系统配置信息。

隐藏文件的常见示例包括以下文件 −

文件 描述
.profile

Bourne shell (sh) 初始化脚本

.kshrc

Korn shell (ksh) 初始化脚本

.cshrc

C shell (csh) 初始化脚本

.rhosts

远程 shell 配置文件

要列出这些隐藏(或不可见)文件,我们必须在 ls 命令中指定 -a 选项 −

$ ls -a

.         .profile       docs     lib     test_results
..        .rhosts        hosts    pub     users
.emacs    bin            hw1      res.01  work
.exrc     ch07           hw2      res.02
.kshrc    ch07.bak       hw3      res.03
$
  • 单点 (.) − 表示当前目录。

  • 双点 (..) − 表示父目录。

Linux 中创建文件

Linux 系统上预装了许多文件编辑器。我最喜欢的是 vim 或简称为 vi 编辑器,我用它在 Ubuntu Linux 系统上创建和更新不同的文本文件。

因此,让我们使用 vi 编辑器在任何 Linux 系统上创建普通文件。您只需给出以下命令 −

$ vi filename

上述命令将打开具有给定文件名的文件。现在,按键 i 进入编辑模式。一旦进入编辑模式,您就可以开始在文件中编写内容。

让我们在文本文件中写入以下内容 −

This is a text file in Linux....I created it using vi text editor.....
I'm going to save this content in this file.

在文件中编写完内容后,请按照以下步骤操作 −

  • 按键 esc 退出编辑模式。

  • 同时按两个键 Shift + ZZ 完全退出文件。

现在,您将在当前目录中创建一个名为 filename 的文件。

$ vi filename
$

Linux 中编辑文件

您可以使用 vi 编辑器编辑现有文件。我们将简要讨论如何打开现有文件 −

$ vi filename

文件打开后,按键 i 进入编辑模式,然后您可以继续编辑文件。如果您想在文件中上下移动,则首先需要按键 Esc 退出编辑模式。在此之后,您可以使用以下键在文件中移动 −

  • l 键向右移动。

  • h 键向左移动。

  • k 键向上移动。

  • j 键向下移动。

因此,使用上述键,您可以将光标定位到想要编辑的任何位置。一旦定位好,您就可以按 i 键进入编辑模式。编辑完成后,按 Esc,最后同时按两个键 Shift + ZZ 完全退出文件。

显示文件内容

您可以使用 cat 命令查看文件内容。以下是查看上述创建文件的内容的简单示例 −

$ cat filename
This is a text file in Linux....I created it using vi text editor.....
I'm going to save this content in this file.

$

您可以通过在 cat 命令中使用 -b 选项来显示行号,如下所示 −

$ cat -b filename
1    This is a text file in Linux....I created it using vi text editor.....
2    I'm going to save this content in this file.

$

统计文件中的字数

您可以使用 wc 命令获取文件中总行数、字数和字符数的统计。以下是查看上述创建文件信息的简单示例 −

$ wc filename
2  22 116 filename

$

以下是所有四列的详细信息 −

  • 第一列 − 表示文件中的总行数。

  • 第二列 − 表示文件中的总字数。

  • 第三列 − 表示文件中的总字节数。这是文件实际大小。

  • 第四列 − 表示文件名。

您可以同时给出多个文件并获取这些文件的信息。以下是简单语法 −

$ wc filename1 filename2 filename3

Linux 中复制文件

要复制现有文件,请使用 cp Linux 命令。该命令的基本语法为 −

$ cp source_file destination_file

以下是创建现有文件 filename 副本的示例。

$ cp filename copyfile

$

现在,您将在当前目录中找到另一个文件 copyfile。该文件将与原始文件 filename 完全相同。

Linux 中重命名文件

要更改现有文件的名称,请使用 mv Linux 命令。以下是基本语法 −

$ mv old_file new_file

以下程序将把现有文件 filename 重命名为 newfile

$ mv filename newfile

$

mv 命令将完全将现有文件移动到新文件中。在这种情况下,您将在当前目录中只找到 newfile

Linux 中删除文件

要从 Linux 文件系统中删除现有文件,请使用 rm 命令。以下是基本语法 −

$ rm filename
注意 − 文件可能包含有用信息。使用此 删除 命令时始终建议小心。最好与 rm 命令一起使用 -i 选项。

以下是完全删除现有文件 filename 的示例。

$ rm filename

$

您可以使用以下命令一次删除多个文件 −

$ rm filename1 filename2 filename3

$

为文件创建链接

Linux 提供链接机制,从另一个位置访问文件。您可以说这些链接是现有文件的备用名称。这些链接可以是符号链接或硬链接。

以下是为 filename 创建符号链接的命令:

$ ln -s filename symlink

$

以下是为现有文件创建硬链接的命令:

$ ln filename hardlink

$

现在您可以检查您创建的链接:

$ ls -l
total 8
-rw-r--r-- 2 root root 132 May  1 07:18 filename
-rw-r--r-- 2 root root 132 May  1 07:18 hardlink
lrwxrwxrwx 1 root root   8 May  1 07:17 symlink -> filename

$

创建符号链接或硬链接后,您可以使用这些链接访问原始文件。您可以使用链接编辑这些文件,但如果您删除链接文件,则原始文件将保持未删除且不变。