Jammly
发布于 2023-12-03 / 469 阅读
31

Linux文件管理指南

Linux 删除文件命令

1. 删除单个文件

要删除单个文件,只需使用 rm 命令后跟要删除的文件名:

#rm 文件名
rm example.txt

2. 删除多个文件

如果要删除多个文件,可以将文件名放在 rm 命令后并用空格分隔:

#rm 文件1 文件2 文件3
rm file1.txt file2.txt file3.txt

3. 删除文件夹及其内容

如果要删除整个文件夹及其所有内容,可以使用 -r 参数(递归删除)来确保连同子文件夹一起删除:

#rm -r 文件夹名
rm -r my_folder

注意:递归删除非常危险,因为它会将文件夹及其所有内容完全删除,无法恢复。确保在执行此操作前三思。

4. 确认删除

在默认情况下,rm 命令会直接删除文件,不会询问确认。如果你希望在删除文件时得到确认提示,请使用 -i 参数:

#rm -i 文件名
rm -i important.txt
#rm 命令会提示类似以下信息:
rm: 是否删除 "important.txt"? 

输入 "y" 表示确认删除,输入 "n" 表示取消删除。

5. 强制删除

如果你希望在删除文件时不接收任何确认提示,并强制删除文件,可以使用 -f 参数:

#rm -f 文件名
rm -f temp.txt

请小心使用 -f 参数,因为它会立即删除文件,无法恢复。

Linux 删除文件夹命令

1. 删除空文件夹

如果要删除一个空的文件夹,非常简单。打开终端,执行以下命令:

#rmdir 文件夹名
rmdir my_folder

2. 删除非空文件夹

要删除一个非空文件夹,我们需要使用 rm 命令,并结合一些选项来确保递归删除所有文件和子文件夹。

#rm -r 文件夹名
rm -r my_folder

请注意 -r 参数,它是 "recursive"(递归)的缩写。这将告诉系统删除文件夹及其所有内容。

3. 确认删除

在执行删除命令之前,系统会要求你确认删除操作。如果要删除多个文件或文件夹,可以使用 -i 参数来逐一确认。如果你确认删除,请键入 "y",然后按下 Enter

rm -ri 文件夹名

这样可以避免误删除,因为删除后无法恢复。

4. 强制删除

如果你希望删除文件夹时不收到任何确认提示,并强制删除所有内容,可以使用 -f 参数。

rm -rf 文件夹名

5. 删除多个文件夹

如果你想一次删除多个文件夹,可以将它们放在同一个 rm 命令中,并用空格分隔。

rm -r 文件夹1 文件夹2 文件夹3

确保仔细检查要删除的文件夹列表,避免误操作。

Linux 创建文件命令

1. 使用 touch 命令

touch 命令用于创建一个空白的文件,或者更新已有文件的访问和修改时间。

要创建一个空白的文件,只需在 touch 命令后跟上要创建的文件名:

#touch 文件名
touch example.txt

2. 使用文本编辑器命令

可以使用文本编辑器命令来创建文件并添加内容。常见的文本编辑器包括 vivimnano 等。

例如,使用 vi 命令创建一个名为 "new_file.txt" 的文件:

vi new_file.txt

按下 i 键进入编辑模式,然后输入你想添加到文件中的内容。编辑完成后,按下 Esc 键退出编辑模式,然后输入 :wq 保存并退出。

3. 使用 echo 命令

echo 命令用于将文本输出到终端或文件中。你可以将 echo 命令的输出重定向到文件,从而创建一个带有内容的文件。

echo "这是一个文本文件的内容" > message.txt

以上命令将创建 "message.txt" 文件,并在其中添加一行文本 "这是一个文本文件的内容"。

4. 使用其他命令生成文件内容

date > date.txt

使用 date 命令将当前日期输出到 "date.txt" 文件。

Linux 创建文件夹命令

1. 基本语法

mkdir 命令的基本语法如下:

mkdir 目录名
  • mkdir: 表示创建文件夹的命令。

  • 目录名: 指定要创建的文件夹名称。

2. 创建单个文件夹

要创建单个文件夹,只需在 mkdir 命令后跟上要创建的文件夹名:

#mkdir 文件夹名
mkdir my_folder

3. 创建多个文件夹

创建多个文件夹,可以将它们放在 mkdir 命令中,并用空格分隔:

#mkdir 文件夹1 文件夹2 文件夹3
mkdir folder1 folder2 folder3

4. 创建多级文件夹

还可以使用 -p 参数创建多级文件夹。如果某个父级文件夹不存在,使用 -p 参数会自动创建它。

#mkdir -p 父级文件夹/子级文件夹
mkdir -p parent/child

-p 参数会确保 "parent" 文件夹存在,即使它不存在也会被创建。

Linux 复制文件到另一个文件夹命令

1. 基本语法

cp 命令的基本语法如下:

cp 源文件 目标文件夹
  • cp: 表示复制文件的命令。

  • 源文件: 指定要复制的源文件名称。

  • 目标文件夹: 指定要将源文件复制到的目标文件夹。

2. 复制单个文件

要复制单个文件,只需在 cp 命令中指定源文件和目标文件夹:

#cp 源文件 目标文件夹
cp file.txt backup

3. 复制多个文件

如果希望一次复制多个文件,可以将它们放在 cp 命令中,并用空格分隔:

#cp 文件1 文件2 文件3 目标文件夹
cp file1.txt file2.txt file3.txt backup

4. 复制目录及其内容

要复制整个目录及其内容,可以使用 -r 参数(递归复制)来确保连同子目录一起复制:

#cp -r 源目录 目标目录
cp -r my_folder backup

请注意,递归复制是将整个目录结构复制到目标目录,而不仅仅是单个目录。

Linux 复制文件夹到另一个目录

复制文件夹到另一个目录

使用 cp 命令来复制文件夹(目录)及其内容到另一个目录:

#cp -r 源文件夹 目标目录
cp -r source_folder destination_folder

将 "源文件夹" 替换为要复制的原始文件夹路径,将 "目标目录" 替换为目标目录的路径。

使用 -r 参数(递归复制)是必要的,因为它将使 cp 命令递归复制整个目录结构,包括子目录和文件。

注意事项

  1. 如果目标目录不存在,cp 命令会自动创建它,并将源文件夹及其内容复制到新创建的目录中。

  2. 如果目标目录已经存在,复制操作将覆盖同名的文件和目录,因此请谨慎使用。

  3. 如果源文件夹中包含符号链接(软链接),使用 -r 参数会复制链接指向的文件而不是链接本身。

  4. 如果你想要保留原始文件夹的元数据(如时间戳和权限),可以使用 -p 参数,如 cp -rp 源文件夹 目标目录

请确保在复制文件夹时,你有足够的权限来访问源文件夹和目标目录,并且谨慎确认目标目录是否正确。

Linux 查看文件大小

1. 使用 ls 命令

#ls -l 文件名
ls -l example.txt

ls 命令将显示文件的详细信息,包括文件大小(以字节为单位)。

注意:要显示隐藏文件和文件夹,可以使用 -a 选项(显示所有文件,包括隐藏文件):

ls -a

或者,使用 -A 选项(显示所有文件,但不包括...):

ls -A

2. 使用 du 命令

du 命令用于估算文件夹的大小。如果你想查看单个文件的大小,可以使用 -h 参数来以人类可读的格式显示文件大小(例如 KB、MB、GB)。

#du -h 文件名
du -h example.txt

du 命令将以 KB、MB、GB 等格式显示文件的大小。

3. 使用 stat 命令

stat 命令用于显示文件或文件系统的详细状态信息,包括文件大小。在终端中输入以下命令:

#stat 文件名
stat example.txt

stat 命令将显示文件的详细状态信息,包括文件大小(以字节为单位)。

4. 使用 ncdu 命令(需要安装)

ncdu 命令是 du 命令的一个增强版本,它提供了更直观和交互式的方式来查看文件夹大小,并且可以在终端中浏览文件夹的大小信息。

如果系统上没有安装 ncdu,你可以先使用包管理器安装它。在终端中输入以下命令安装 ncdu

sudo apt install ncdu   # Debian/Ubuntu 系统

sudo yum install ncdu   # CentOS/RHEL 系统

安装完成后,可以输入以下命令启动 ncdu

ncdu 文件夹名

ncdu 命令将递归地计算文件夹及其子文件夹的大小,并以交互式界面显示大小信息。按方向键可以浏览文件夹和子文件夹。

Linux 压缩和解压缩命令

1. 使用 tar 命令

tar 命令用于创建或解压 tar 归档文件,通常与其他压缩命令一起使用来压缩和解压缩文件和目录。

压缩文件或目录:

tar -czvf 压缩文件名.tar.gz 要压缩的文件或目录

参数说明:

  • -c:创建新的 tar 归档文件。

  • -z:使用 gzip 压缩算法。

  • -v:显示详细信息。

  • -f:指定归档文件名。

解压缩文件:

tar -xzvf 归档文件名.tar.gz

参数说明:

  • -x:从 tar 归档文件中提取文件。

  • -z:使用 gzip 解压缩算法。

  • -v:显示详细信息。

  • -f:指定归档文件名。

2. 使用 zipunzip 命令

zipunzip 命令用于创建和解压 ZIP 归档文件。

压缩文件或目录:

zip 压缩文件名.zip 要压缩的文件或目录

解压缩文件:

unzip 归档文件名.zip -d 目标目录
  • unzip: 表示解压 Zip 文件的命令。

  • 归档文件名.zip: 指定要解压的 Zip 压缩文件名。

  • -d 目标目录: 指定解压后的目标目录。如果不指定该选项,文件将解压到当前工作目录。

查看 Zip 文件内容

查看 Zip 文件的内容列表,而不解压它,可以使用 -l 参数:

unzip -l 压缩文件名.zip

注意事项:

  1. 使用压缩和解压缩命令时,确保你有权限在当前目录或目标目录执行操作。

  2. 在压缩文件时,可以根据实际需要选择不同的压缩算法,如 gzip、bzip2 等。

Linux 修改文件和文件夹权限

可以使用 chmod 命令来修改文件和文件夹的权限。chmod 命令用于更改文件和目录的访问权限,即控制谁可以读取、写入和执行文件。

1. 使用数字表示法修改权限

使用数字表示法来设置文件或文件夹的权限。数字表示法使用三个数字来表示权限,每个数字代表一种用户类别:所有者(User)、所属组(Group)和其他用户(Other)。每个数字对应一个权限值:

  • 4:读权限(r)

  • 2:写权限(w)

  • 1:执行权限(x)

要设置权限,将对应的权限值相加:

chmod 数字权限 文件或文件夹

例如,要将文件 "example.txt" 设置为所有者可读写,所属组可读,其他用户可执行,可以使用以下命令:

chmod 754 example.txt

这里的 7 表示所有者可读写执行(4+2+1),5 表示所属组可读执行(4+1),4 表示其他用户只可读(4)。

2. 使用符号表示法修改权限

使用符号表示法来增加或删除权限,而不需要重新设置所有权限。符号表示法使用加号(+)来增加权限,减号(-)来删除权限,等号(=)来设置权限。并且,u 表示所有者,g 表示所属组,o 表示其他用户,a 表示所有用户。

chmod [符号][操作][权限] 文件或文件夹

例如,要将文件 "example.txt" 设置为所有者可写,可以使用以下命令:

chmod u+w example.txt

要将文件夹 "my_folder" 设置为所有用户可读执行,可以使用以下命令:

chmod a+rx my_folder

Linux 清空文件内容

1. 使用 echo 命令

可以使用 echo 命令来输出空内容,并将其覆盖到目标文件中,从而清空文件内容。

echo -n > 文件名

其中,-n 参数用于防止 echo 命令输出末尾的换行符。

例如,要清空文件 "example.txt" 的内容,可以使用以下命令:

echo -n > example.txt

2. 使用重定向符号

另一种常用的方法是使用重定向符号 > 将空内容输出到文件,从而清空文件的内容。

> 文件名

例如,要清空文件 "example.txt" 的内容,可以使用以下命令:

> example.txt

3. 使用 truncate 命令

truncate 命令用于截断文件到指定大小。如果指定大小为 0,则可以用于清空文件内容。

truncate -s 0 文件名

例如,要清空文件 "example.txt" 的内容,可以使用以下命令:

truncate -s 0 example.txt

Linux 重命名文件

使用 mv 命令来重命名文件或将文件移动到新的位置。mv 命令用于移动文件和目录,同时也可以用于重命名文件。

1. 使用 mv 命令进行重命名

要重命名文件,可以使用 mv 命令,并将原始文件名作为第一个参数,将新文件名作为第二个参数。

mv 原文件名 新文件名

例如,将文件 "old_name.txt" 重命名为 "new_name.txt",可以使用以下命令:

mv old_name.txt new_name.txt

2. 使用绝对路径进行重命名

mv /旧目录/旧文件名 /新目录/新文件名

例如,将文件 "file.txt" 从 "/home/user1/documents/" 目录移动到 "/home/user2/documents/" 目录并重命名为 "new_file.txt",可以使用以下命令:

mv /home/user1/documents/file.txt /home/user2/documents/new_file.txt

Linux 搜索文件名命令

使用 find 命令

find 搜索目录 -name "文件名模式"

参数说明:

  • 搜索目录:要开始搜索的目录路径。

  • -name "文件名模式":指定要匹配的文件名模式。你可以使用通配符 * 来匹配文件名中的任意字符。

例如,要在 "/home/user/documents" 目录及其子目录中搜索文件名以 ".txt" 结尾的文件,可以使用以下命令:

find /home/user/documents -name "*.txt"

该命令将输出所有匹配的文件路径。

Linux 下载文件命令

1. 使用 curl 命令

curl 是一个功能强大的命令行工具,可以用于下载文件。你可以使用 curl 命令来从 Internet 下载文件,并将其保存到本地目录。

curl -o 本地文件名 网络文件URL

参数说明:

  • -o 本地文件名:指定要保存的本地文件名。

  • 网络文件URL:要下载的网络文件的 URL 地址。

例如,要从 Internet 下载名为 "example.txt" 的文件,可以使用以下命令:

curl -o example.txt https://example.com/example.txt

2. 使用 wget 命令

wget 是另一个常用的命令行下载工具,它也可以用于从 Internet 下载文件。

wget 网络文件URL

例如,要从 Internet 下载名为 "example.txt" 的文件,可以使用以下命令:

wget https://example.com/example.txt