| 会员登录 立即注册

打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
3AAA 发表于 2022-8-15 09:27:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
楼主
3AAA
2022-8-15 09:27:35 3775 3 看楼主

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



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

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

使用 ls 显示文件

ls
对任何使用命令行的人来说,如果不知道有什么文件,工作将很难进行下去。ls 命令会罗列出文件夹中的文件。例如,要查看 Web 服务器的文档根目录/var/www/html中的内容,你可以键入:
ls /var/www/html
大多数情况,我使用 ls命令查看当前文件夹内的文件。只需要输入ls即可查看所有文件。例如,当我在我的网页项目的根目录时,输入ls后可以看到这些:
$ lsabout  fontawesome      fonts   index.php  stylesdocs   fontawesome.zip  images  prism
ls命令包含 60 种选项,可以以任意方式显示文件和目录。-l是一个很有用的选项,可以详细的显示文件,包含权限、文件大小以及所有者等信息。
$ ls -ltotal 6252drwxrwxr-x. 2 jhall jhall    4096 Jun 22 16:18 aboutdrwxr-xr-x. 2 jhall jhall    4096 Jun 25 16:35 docsdrwxr-xr-x. 2 jhall jhall    4096 Jun  7 00:00 fontawesome-rw-r--r--. 1 jhall jhall 6365962 Jun  2 16:26 fontawesome.zipdrwxrwxr-x. 2 jhall jhall    4096 Jun 22 16:17 fontsdrwxr-xr-x. 2 jhall jhall    4096 Jun 25 13:03 images-rw-rw-r--. 1 jhall jhall     327 Jun 22 16:38 index.phpdrwxrwxr-x. 2 jhall jhall    4096 Jun 22 16:18 prismdrwxrwxr-x. 2 jhall jhall    4096 Jun 22 16:17 styles
上方的文件大小是以字节为单位,或许看起来有点吃力。想要以方便我们阅读的格式查看文件大小,只需要添加 -h或--human-readable选项,能以G、M、K为单位显示文件大小。
$ ls -l --human-readabletotal 6.2Mdrwxrwxr-x. 2 jhall jhall 4.0K Jun 22 16:18 aboutdrwxr-xr-x. 2 jhall jhall 4.0K Jun 25 16:35 docsdrwxr-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.zipdrwxrwxr-x. 2 jhall jhall 4.0K Jun 22 16:17 fontsdrwxr-xr-x. 2 jhall jhall 4.0K Jun 25 13:03 images-rw-rw-r--. 1 jhall jhall  327 Jun 22 16:38 index.phpdrwxrwxr-x. 2 jhall jhall 4.0K Jun 22 16:18 prismdrwxrwxr-x. 2 jhall jhall 4.0K Jun 22 16:17 styles
现在,ls将 zip 文件显示为6.1M或刚刚超过 6 MB 的文件大小,而不是6365962。

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

catheadtail
当显示出文件后,需要检查文件夹中的内容。使用很少几个命令即可做到。以我的 Web 服务器中的 docs文件夹为例:
$ ls docschapter1.tex  chapter4.tex  chapter7.tex  lorem.txtchapter2.tex  chapter5.tex  chapter8.tex  readme.txtchapter3.tex  chapter6.tex  chapter9.tex  workbook.tex
这些文件是什么?我不知道,幸运的是该目录中有一个 readme.txt文件,我猜它包含了这个项目目录中文件的描述。如果该文件不是很长,那我可以使用cat命令查看它:
$ cat docs/readme.txt This is the workbook for the C programming self-pacedvideo 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 adipiscingelit. Nullam at ligula eget nunc feugiat pharetra. Nullamnec vulputate augue. Suspendisse tincidunt aliquet$ head --lines=3 docs/lorem.txt Lorem ipsum dolor sit amet, consectetur adipiscingelit. Nullam at ligula eget nunc feugiat pharetra. Nullamnec vulputate augue. Suspendisse tincidunt aliquet
如果我想要查看文件的最后几行的内容,可以以相同方式使用 tail命令。同样,这两个tail命令分别显示lorem.txt文件的最后三行:
$ tail -n 3 docs/lorem.txt egestas sodales. Vivamus tincidunt ex sed tellus tinciduntvarius. Nunc commodo volutpat risus, vitae luctus lacusmalesuada tempor. Nulla facilisi.$ tail --lines=3 docs/lorem.txt egestas sodales. Vivamus tincidunt ex sed tellus tinciduntvarius. Nunc commodo volutpat risus, vitae luctus lacusmalesuada tempor. Nulla facilisi.
使用 head和tail命令在服务器中查看日志文件十分有用。我有一个小型 Web 服务器运行在家庭网络,用于在网站上线前的测试。最近我发现 Web 服务器的日志很长,我好奇它存在多久了。使用head命令,我只打印第一行,可以看到该日志文件是在 2020 年 12 月创建的:
$ ls -l --human-readable /var/log/httpdtotal 13M-rw-r--r--. 1 root root 13M Jun 25 16:23 access_log-rw-r--r--. 1 root root 45K Jun  2 00:00 error_log$ sudo head -n 1 /var/log/httpd/access_log10.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 docschapter1.tex  chapter4.tex  chapter7.tex  lorem.txtchapter2.tex  chapter5.tex  chapter8.tex  readme.txtchapter3.tex  chapter6.tex  chapter9.tex  workbook.tex$ rm docs/lorem.txt $ ls docschapter1.tex  chapter4.tex  chapter7.tex  readme.txtchapter2.tex  chapter5.tex  chapter8.tex  workbook.texchapter3.tex  chapter6.tex  chapter9.tex
由于用 rm命令删除的文件会直接删除,而不会放入回收站,因此它很危险。安装trash命令比较安全,例如trashy或trash-cli命令。这样你可以在文件永久删除前,将其放入暂存区。
$ rm docs/lorem.txt
只需很少的命令即可在命令行中管理文件。使用 ls命令显示目录中的文件,使用cat、head和tail命令查看文件中的内容。使用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中国荣誉推出
回复

使用道具 举报

沙发
bibbb 发表于 2022-8-15 09:28:38 | 只看该作者
沙发
bibbb
2022-8-15 09:28:38 看楼主
Linux文件命令
回复 支持 反对

使用道具 举报

板凳
拧鏖荡 发表于 2022-8-15 09:29:32 | 只看该作者
板凳
拧鏖荡
2022-8-15 09:29:32 看楼主
转发了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 返回列表

3AAA 当前离线
白银会员

查看:3775 | 回复:3

关于我们  |   侵权投诉受理  |   联系我们  |   Archiver  |  
免责声明:邳州信息网所有言论只代表发表者个人观点,与本站无关
Copyright © 2009-2025 pzxxw.com 版权所有:邳州金银杏文化传媒有限公司  

苏公网安备 32038202000401号

快速回复 返回顶部 返回列表