8.2 KiB
Linux 命令:你必须牢记的 10 个命令
通过学习一些基本的 shell Linux 命令,您可以显著提高您的工作效率并加深对操作系统的理解。本教程中的 Linux 命令在 Bash 中工作,Bash 是 Linux 和 MacOS 上最常见的 shell。然而,替代 shells 大多与 Bash 兼容,因此它们应该在任何地方都可以工作!
如果您非常熟悉这些 linux 命令,请跳到下一节来学习一些更高级的命令和 shell 脚本。例如,学习如何创建 Bash 脚本,或者在 Bash 中做多重处理!
目录
- pwd:返回工作目录名
- Linux 中的 ls 命令:列出目录内容
- Linux 中的 cd 命令:改变目录
- cp Linux 命令:复制一个文件
- Linux 中的 mv 命令:Move
- mkdir Linux 命令:制作目录
- rmdir 命令:删除目录
- rm 命令:移除东西
- 猫,少,尾,头命令:查看内容
- control+r:找到你之前的命令
pwd:返回工作目录名
让我们从知道一旦你打开你的终端你在哪里开始。这是通过 pwd Linux 命令完成的:
$ pwd
/Users/erik
我在我的主目录里(在 Mac 上),你在哪里?
Linux 中的 ls 命令:列出目录内容
现在让我们看看当前目录中有什么:
$ ls
AndroidStudioProjects VirtualBox VMs
Applications Desktop
Documents flutter
Downloads...
这里有很多因为我是一个乱七八糟的家伙,所以我截断了一点。ls 命令有许多方便的选项;这三个我一直在用:
-l:(小写字母“ell”。)长格式列表。(见下文。)所有文件大小的总和在长列表之前的一行上输出-h:与-l 选项一起使用,将文件大小改为更易读的大小,比如 10G、42M。在我的脑海里,我把它翻译成“人类可读的”-a:‘所有’的简称;包括名称以点(.)
您可以根据需要任意组合,如下所示:
$ ls -lha
total: 32
drwxr-xr-x+ 85 erik staff 2.7K May 27 11:11 .
drwxr-xr-x 6 root admin 193B Sep 29 2019 ..
-rw-r--r-- 1 erik staff 2.1K Apr 15 11:06 .gitignore
-rw-r--r-- 1 erik staff 25M May 26 15:44 image.zip
...
您在这里看到的是访问权限、所有者和组、文件大小、文件的最后修改数据以及文件名本身。
在前两行,您可能会注意到一些奇怪的事情:两个名为.和..的文件:
.是当前目录。它甚至有一个大小,这取决于目录中文件的数量..是底层目录,当前目录是其中的一部分
这些便捷的快捷键可以在每个命令中使用。如果您想查看底层目录的内容,请使用ls ../。你也可以重复这个,所以如果你想下两个目录,可以用ls ../../。
Linux 中的 cd 命令:改变目录
现在你知道你在哪里,有什么目录,你想四处导航。假设您的项目存储在项目文件夹中。您可以通过键入以下 Linux 命令来实现:
$ cd Projects
大多数 shells 支持自动完成。只需键入以下命令进行尝试:
$ cd Pro<TAB key>
您的 shell 将自动补全单词,或者,如果多个目录与您键入的内容匹配,它通常会向您显示所有选项。
Thank you for reading my tutorials. I write these in my free time, and it requires a lot of time and effort. I use ads to keep writing these free articles, I hope you understand! Support me by disabling your adblocker on my website or, alternatively, buy me some coffee. It's much appreciated and allows me to keep working on this site!
cp Linux 命令:复制一个文件
您可能想要拷贝或复制一些文件。Linux 中的 cp 命令就是这么做的:它复制一个文件。它通过创建一个新文件并将所有内容复制到该文件来实现这一点。要将file1.txt复制到第二个文件,例如备份,使用:
$ cp file1.txt file1.txt.bak
要将文件复制到另一个目录,您可以使用:
$ cp file1.txt ./backups/
./表示“当前目录”,所以./backups位于当前工作目录。
Linux 中的 mv 命令:Move
如果需要移动文件,请使用 mv 命令。请注意,移动文件等同于重命名文件。事实上,Bash 命令行上没有 rename 命令。用 mv 和 cp 区别不大。要重命名/移动文件:
$ mv file1.txt file1.txt.bak
要将文件移动到另一个目录,例如当前工作目录中的备份文件夹:
$ mv file1.txt backups/
mkdir Linux 命令:制作目录
这个 Linux 命令将简单地创建一个目录。要创建存储项目的目录,请使用:
$ mkdir Projects
这个命令有一个非常方便的参数,-p。当您使用它时,任何尚不存在的中间目录也将被创建。如果您想在一个名为Projects的目录中创建您的第一个项目,您可以使用:
$ mkdir -p Projects/my_first_project
rmdir 命令:删除目录
mkdir 的反义词是 rmdir:它删除一个目录。它甚至允许相同的-p参数。
$ rm Projects
要删除项目目录和我们刚刚创建的第一个项目:
$ rmdir -p Projects/my_first_project
移除目录仅在该目录为空时有效。如果您想删除一个目录,包括它的内容,请参见下面的 rm 命令!
rm 命令:移除东西
现在我们进入了一个危险的领域。这个 Linux 命令非常强大,有可能破坏您的文件系统。小心使用。
让我们从删除 Linux 中的一个文件开始:
$ rm file1.txt
噗!它不见了。没有你在其他操作系统中可能已经习惯的“垃圾桶”。
现在让我们删除我们的项目目录中所有以.txt结尾的文件。您需要一个所谓的 glob 模式来匹配多个文件:
$ rm Projects/*.txt
如果要删除所有文件,请使用:
$ rm Projects/*
全球模式*匹配一切!
如果您想谨慎行事,请使用-i选项,它会强制您确认删除操作。
现在,作为压轴戏,让我们删除整个目录和文件树。为此,您需要参数-r,递归的简称。rm -r有时会拒绝删除特殊文件,或者不断要求确认。你可以使用强制选项-f清除它能清除的一切;不问任何问题。让我们删除所有项目:
$ rm -rf Projects
噗!你所有的工作都一去不复返了。就像我说的,小心处理!
猫,少,尾,头命令:查看内容
您经常想要快速检查文件的内容。有几个 Linux 命令可以帮助您做到这一点。选择一个符合您的使用案例的:
- 打印屏幕上的所有内容
- 允许你在文件中滚动,甚至在里面搜索
tail:类似 cat,但只打印最后 10 行(默认)head:类似 cat,但只显示前 10 行(默认)
尾部和头部都使用-n <num>选项来改变它显示的行数。
control+r:找到你之前的命令
很容易忘记,所以快速找到您昨天或上周使用的 Linux 命令不是很好吗?你可以的!只需在键盘上点击control + r,开始输入你记得的那部分命令。这可以是任何部分!如果你找到的不完全是你要找的,通过反复点击control + r继续搜索。它会从你的命令历史中不断给你匹配。