我向所有的 Linux 初学者推荐以下这些命令。
在使用 Linux 命令行时,很容易就会迷失方向,这可能会导致灾难性的后果:我有一次使用删除命令 rm
删除文件,然而删除之后我才意识到我刚刚是删除了计算机的引导目录。后来,我学会了使用pwd
命令,来知道当前在文件系统的哪个目录下;并且我使用了trashy 和 trash-cli这一命令行回收站工具(LCTT 译注:在删除文件时trash-cli
会充当中间人,将文件先“删除”到桌面上的垃圾箱中,能够通过垃圾箱或通过终端的trash
命令,来恢复垃圾箱中已删除的文件。)
当我刚开始使用 Linux 时,我有一个放在桌子上的“速查表”,它就是《101 条你应该知道的 Linux 命令》,我在管理 Linux 服务器时能参考速查表上面的这些命令。随着我越来越熟悉这些命令,我越来越精通服务器管理了。
以下是我认为最有用的 12 个 Linux 命令。
1、打印工作目录(pwd)pwd
命令会打印出你的工作目录。换句话来说,它输出你当前所在目录的路径。pwd
命令有两种选项:-L
或--logical
(即逻辑路径)用来打印当前的目录路径(不解析符号链接),-P
或--physial
(即物理路径)会打印出解析符号链接后的物理目录。(LCTT 译注:你可以进一步阅读我们翻译的另一篇文章。)
使用 mkdir
命令来创建一个新目录,是非常容易的。以下命令,创建了一个名为example
目录(若example
已存在,则无法创建):
$ mkdir example
你也可以在嵌套地创建目录及其子目录:
$ mkdir -p example/one/two
如果目录 example
和目录one
都已存在,则仅会创建目录two
。如果上述目录都不存在,则会创建这三个嵌套的目录。
我最早使用的是 MS-DOS(微软磁盘操作系统),因此我习惯于使用 dir
命令,来列出文件。我不记得当时是否能在 Linux 上使用dir
命令,但是如今dir
命令已经包含在 GNU 核心实用程序包GNU Core Utilities package 中了。大多数人会使用ls
命令,来显示目录中的文件及其所有的属性。ls
命令有许多选项,包括-l
查看文件的长列表,显示文件所有者和权限等信息。
在 Linux 中经常要更改当前工作目录,这就是 cd
命令的功能。例如,以下的示例将让你从 主目录home 进入Documents
目录:
$ cd Documents
你可以使用 cd ~
或者cd
,来快速转换到你的主目录。你可以使用cd ..
来返回到上一级目录。
删除文件是很危险的,因为在 Linux 终端上用 rm
命令会
彻底地
删除文件,并没有像桌面的垃圾桶那样依旧保存着删除的文件。许多终端用户有一个坏习惯,他们会永久地删除他们认为不再需要的文件。然而,因为没有“取消删除”命令,这个坏习惯可能会导致严重的问题:你会不小心删除了包含重要数据的目录。Linux 系统为文件删除提供了 rm
和shred
命令。要删除文件example.txt
,请输入以下内容:
$ rm example.txt
然而,使用 trash
命令要安全得多,例如trashy或者trash-cli,它会将文件先“删除”到桌面上的垃圾箱中:
$ trash example.txt
(LCTT 译注:关于 Trash-Cli 的更多信息可以参考我们翻译的 另一篇文章。)
6、复制文件(cp)使用 cp
命令,来复制文件。cp
的语法是从旧文件复制到新文件。这里有一个例子:
$ cp file1.txt newfile1.txt
你也可以复制整个目录:
$ cp -r dir1 newdirectory
7、移动并重命名文件(mv)重命名和移动文件在功能上是相同的过程。当你移动文件时,从一个目录中取出一个文件,并将其放入一个新目录中;当你重命名文件时,将一个目录中的文件更改为新名称,并放回到同一目录或另一个目录下。无论是重命名还是移动文件,你都可以使用 mv
命令:
$ mv file1.txt file_001.txt
8、创建一个空文件(touch)使用 touch
命令可以简单地创建一个空文件:
$ touch one.txt$ touch two.txt$ touch three.md
9、更改权限(chmod)使用 chmod
命令,来更改文件的权限。chmod
最常见的用途是让文件能够执行:
$ chmod +x myfile
以下的示例展示了如何用 chmod
命令给文件赋予权限,这对于脚本来说特别方便。尝试一下这个简单的练习吧:
$ echo 'echo Hello $USER' > hello.sh$ chmod +x hello.sh$ ./hello.shHello, Don
10、提升为 root 权限(sudo)在管理自己的 Linux 系统时,可能需要提升为超级用户(也称为 root),这就是 sudo
(即 以超级用户做super user do)命令的来源。假设你想要做一些只有管理员(或 root 用户)才能做的事情,只需在命令前加一个sudo
即可:
$ touch /etc/os-release && echo "Success"touch: cannot touch '/etc/os-release': Permission denied$ sudo touch /etc/os-release && echo "Success"Success
11、关机(poweroff)poweroff
命令的功能和它的字面意思一样:把你的计算机关机。需要在poweroff
前面加一个sudo
才能成功关机。
实际上,还有很多方法可以关闭你的计算机,这些方法有略微的不同。例如,shutdown
命令会在指定的时间(例如 60 秒)后关闭计算机:
$ sudo shutdown -h 60
或者立即关闭计算机:
$ sudo shutdown -h now
你也可以用 sudo shutdown -r now
或者reboot
来重启计算机。
man
命令可能是 Linux 中最重要的命令了,你可以通过man
命令查看 Linux 系统上每个命令的官方文档。例如,要阅读更多有关mkdir
的信息,可以输入:
$ man mkdir
一个与 man
相关的命令是info
命令,它提供了一组不同的手册,它通常会提供比简洁的man
页面更详细一点的内容。
Linux 系统上还有数百个其他命令!你最喜欢使用的 Linux 命令是什么呢?什么命令是你一直反复使用的呢?