在 Linux 中如何使用命令行管理文件

如果你更喜欢用终端与系统交互,请了解一下我最喜欢的管理文件的命令。

如果你更喜欢用终端与系统交互,请了解一下我最喜欢的管理文件的命令。

在 Linux 中如何使用命令行管理文件

在如 GNOME 或 KDE 等图形桌面中使用鼠标点击管理文件。你点击文件的图标,将它移动到另一个文件夹中,或者移动到回收站里。图形交互使得桌面计算机便于使用。

但是在 Linux 中,我们并不总是与图形界面交互。如果你在服务器上工作,那么你可能需要使用命令行来解决问题。即使像我这样使用桌面的用户,可能也更喜欢使用终端和命令行和系统交互。我倾向于通过命令行运行命令来管理我的文件:

使用 ls 显示文件

“`
ls

“`

对任何使用命令行的人来说,如果不知道有什么文件,工作将很难进行下去。ls 命令 会罗列出文件夹中的文件。例如,要查看 Web 服务器的文档根目录 /var/www/html 中的内容,你可以键入:

“`
ls /var/www/html

“`

大多数情况,我使用 ls 命令查看当前文件夹内的文件。只需要输入 ls 即可查看所有文件。例如,当我在我的网页项目的根目录时,输入 ls 后可以看到这些:

“`
$ ls
about fontawesome fonts index.php styles
docs fontawesome.zip images prism

“`

ls 命令包含 60 种选项,可以以任意方式显示文件和目录。-l 是一个很有用的选项,可以详细的显示文件,包含权限、文件大小以及所有者等信息。

“`
$ ls -l

total 6252
drwxrwxr-x. 2 jhall jhall 4096 Jun 22 16:18 about
drwxr-xr-x. 2 jhall jhall 4096 Jun 25 16:35 docs
drwxr-xr-x. 2 jhall jhall 4096 Jun 7 00:00 fontawesome
-rw-r–r–. 1 jhall jhall 6365962 Jun 2 16:26 fontawesome.zip
drwxrwxr-x. 2 jhall jhall 4096 Jun 22 16:17 fonts
drwxr-xr-x. 2 jhall jhall 4096 Jun 25 13:03 images
-rw-rw-r–. 1 jhall jhall 327 Jun 22 16:38 index.php
drwxrwxr-x. 2 jhall jhall 4096 Jun 22 16:18 prism
drwxrwxr-x. 2 jhall jhall 4096 Jun 22 16:17 styles

“`

上方的文件大小是以字节为单位,或许看起来有点吃力。想要以方便我们阅读的格式查看文件大小,只需要添加 -h--human-readable 选项,能以 GMK 为单位显示文件大小。

“`
$ ls -l –human-readable
total 6.2M
drwxrwxr-x. 2 jhall jhall 4.0K Jun 22 16:18 about
drwxr-xr-x. 2 jhall jhall 4.0K Jun 25 16:35 docs
drwxr-xr-x. 2 jhall jhall 4.0K Jun 7 00:00 fontawesome
-rw-r–r–. 1 jhall jhall 6.1M Jun 2 16:26 fontawesome.zip
drwxrwxr-x. 2 jhall jhall 4.0K Jun 22 16:17 fonts
drwxr-xr-x. 2 jhall jhall 4.0K Jun 25 13:03 images
-rw-rw-r–. 1 jhall jhall 327 Jun 22 16:38 index.php
drwxrwxr-x. 2 jhall jhall 4.0K Jun 22 16:18 prism
drwxrwxr-x. 2 jhall jhall 4.0K Jun 22 16:17 styles

“`

现在,ls 将 zip 文件显示为 6.1M 或刚刚超过 6 MB 的文件大小,而不是 6365962

使用 cat、head 和 tail 命令查看文件

“`
cat

“`

“`
head

“`

“`
tail

“`

当显示出文件后,需要检查文件夹中的内容。使用很少几个命令即可做到。以我的 Web 服务器中的 docs 文件夹为例:

“`
$ ls docs
chapter1.tex chapter4.tex chapter7.tex lorem.txt
chapter2.tex chapter5.tex chapter8.tex readme.txt
chapter3.tex chapter6.tex chapter9.tex workbook.tex

“`

这些文件是什么?我不知道,幸运的是该目录中有一个 readme.txt 文件,我猜它包含了这个项目目录中文件的描述。如果该文件不是很长,那我可以使用 cat 命令查看它:

“`
$ cat docs/readme.txt
This is the workbook for the C programming self-paced
video series. The main file is the workbook.tex file,
which includes the other chapters.

“`

如果这个文件很长,则可以使用 head 命令查看文件的前几行。该命令通常显示前 10 行的内容,不过你也可以使用 -n 或者 --lines 选项来指定行数。例如,使用这两个 head 命令的选项查看 lorem.txt 文件的前三行:

“`
$ head -n 3 docs/lorem.txt
Lorem ipsum dolor sit amet, consectetur adipiscing
elit. Nullam at ligula eget nunc feugiat pharetra. Nullam
nec vulputate augue. Suspendisse tincidunt aliquet

$ head –lines=3 docs/lorem.txt
Lorem ipsum dolor sit amet, consectetur adipiscing
elit. Nullam at ligula eget nunc feugiat pharetra. Nullam
nec vulputate augue. Suspendisse tincidunt aliquet

“`

如果我想要查看文件的最后几行的内容,可以以相同方式使用 tail 命令。同样,这两个 tail 命令分别显示 lorem.txt 文件的最后三行:

“`
$ tail -n 3 docs/lorem.txt
egestas sodales. Vivamus tincidunt ex sed tellus tincidunt
varius. Nunc commodo volutpat risus, vitae luctus lacus
malesuada tempor. Nulla facilisi.

$ tail –lines=3 docs/lorem.txt
egestas sodales. Vivamus tincidunt ex sed tellus tincidunt
varius. Nunc commodo volutpat risus, vitae luctus lacus
malesuada tempor. Nulla facilisi.

“`

使用 headtail 命令在服务器中查看日志文件十分有用。我有一个小型 Web 服务器运行在家庭网络,用于在网站上线前的测试。最近我发现 Web 服务器的日志很长,我好奇它存在多久了。使用 head 命令,我只打印第一行,可以看到该日志文件是在 2020 年 12 月创建的:

“`
$ ls -l –human-readable /var/log/httpd
total 13M
-rw-r–r–. 1 root root 13M Jun 25 16:23 accesslog
-rw-r–r–. 1 root root 45K Jun 2 00:00 error
log

$ sudo head -n 1 /var/log/httpd/accesslog
10.0.0.177 – – [05/Dec/2020:14:58:35 -0600] “GET / HTTP/1.1” 403 5564 “-” “Mozilla/5.0 (X11; Fedora; Linux x86
64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36″

“`

使用 rm 命令删除文件

“`
rm

“`

在包含示例文本文件的目录中,lorem.txt 文件中包含 “ 乱数假文 Lorem Ipsum ” 文本。这只是印刷行业中使用的虚拟文本,因此 lorem.txt 文件并不属于该项目。让我们用 rm 命令删除这样的文件:

“`
$ ls docs
chapter1.tex chapter4.tex chapter7.tex lorem.txt
chapter2.tex chapter5.tex chapter8.tex readme.txt
chapter3.tex chapter6.tex chapter9.tex workbook.tex

$ rm docs/lorem.txt

$ ls docs
chapter1.tex chapter4.tex chapter7.tex readme.txt
chapter2.tex chapter5.tex chapter8.tex workbook.tex
chapter3.tex chapter6.tex chapter9.tex

“`

由于用 rm 命令删除的文件会直接删除,而不会放入回收站,因此它很危险。安装 trash 命令比较安全,例如 trashytrash-cli 命令。这样你可以在文件永久删除前,将其放入暂存区。

“`
$ rm docs/lorem.txt

“`

只需很少的命令即可在命令行中管理文件。使用 ls 命令显示目录中的文件,使用 catheadtail 命令查看文件中的内容。使用 rm 或者安全的 trash 命令将不需要的文件删除。这五个命令足以帮你在 Linux 中管理文件。想要了解更多,可以使用 --help 选项来查看如何使用这些命令。例如使用 ls --help 查看 ls 命令如何使用。


via: https://opensource.com/article/22/7/manage-files-linux-command-line

作者:Jim Hall 选题:lkxed 译者:Donkey 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

主题测试文章,只做测试使用。发布者:eason,转转请注明出处:https://aicodev.cn/2022/08/15/%e5%9c%a8-linux-%e4%b8%ad%e5%a6%82%e4%bd%95%e4%bd%bf%e7%94%a8%e5%91%bd%e4%bb%a4%e8%a1%8c%e7%ae%a1%e7%90%86%e6%96%87%e4%bb%b6/

(0)
eason的头像eason
上一篇 2022年8月15日
下一篇 2022年8月15日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信