Unix外壳

“Linux的哲学是‘临危开怀大笑’。哎呀。错了。‘自己动手’。是的,就是这样。”

—莱纳斯·托瓦尔兹

我们可以试着想出一种简洁的方式来定义 UNIX外壳 是,但谢天谢地 Wikipedia 伸出援手:

Unix shell是提供传统的类似Unix的命令行用户界面的命令行解释器或shell。用户通过输入命令作为供命令行解释器执行的文本,或者通过创建一个或多个这样的命令的文本脚本来指导计算机的操作。

简单地说,不是指向和点击彩色图标来执行打开目录或程序等操作,而是在终端中键入命令。以下各节概述了最常用的命令。

注解

如果您以前没有任何使用命令行界面(CLI)的经验,一开始使用命令行界面可能会让您望而生畏。这是非常正常的。习惯Unix shell需要时间。掌握Unix shell的关键是使用它。 很多。

pwd

此命令用于显示当前工作目录的路径。它通常用于查看您当前所在的位置。

$ pwd

ls

此命令用于显示您指定为参数的目录的内容。

$ ls directory1

如果你们不提供任何其他东西的话 ls 它打印当前工作目录的内容。

$ ls

对于更详细的版本,您可以使用 -l 选项:

$ ls -l

注解

如果某些文件名中有空格,则必须将整个文件名括起来,如下所示: "{{filename}}"

cd

此命令用于将目录更改为指定为参数的目录。如果没有提供参数,您将切换到您的主目录。

$ cd directory1

要访问父目录,请使用

$ cd ..

注解

在很多情况下 bash -您正在使用的外壳-提供相当智能的 自动完成 。要使用此功能,请先键入文件或目录的名称,然后按 tab 按钮。如果有唯一的完成选项,它会自动完成。否则,另一次按Tab键会给出一个选项列表,在此之前,无论您键入什么,选项列表都以该选项开头。

cat

此命令用于打印指定为参数的文件内容。

$ cat file1 file2 ... fileN

cp

此命令用于复制文件。例如

$ cp file1 file2

副本 file1file2 。如果要将大量文件复制到另一个目录,请使用

$ cp file1 file2 ... fileN directory1/

复制整个目录需要使用 -r 选项:

$ cp -r directory1 directory2

mv

此命令用于移动文件。例如

$ mv file1 file2

本质上重命名 file1file2 。要将多个文件移动到一个目录中,请使用

$ mv file1 file2 ... fileN directory1/

与之相对的是 cp 这个 mv 命令可以移动整个目录,而无需使用 -r 选项:


touch

此命令用于创建空文件。使用

$ touch file1

因此会产生一个名为的空文件 file1

注解

如果您要从终端复制某些内容,则不能通过组合键执行此操作 Ctrl + C 因为这是为取消正在运行的程序而保留的。取而代之的是使用 Ctrl + Shift + C 。要粘贴,您还必须使用 Ctrl + Shift + V

mkdir

此命令用于创建目录。使用

$ mkdir directory1

从而创建一个名为 directory1

rm

此命令用于删除文件和目录。因此,

$ rm file1

删除 file1

警告

如果在现代图形操作系统上删除文件或目录,文件和目录通常不会立即删除,而是复制到通常称为 trash bin 。这可以被认为是防止意外删除重要文件的安全措施。这个“安全网”不存在于 rm 指挥部。您通过以下方式删除的任何内容 rm 被永久删除。

摘要

pwd

打印您当前所在目录的路径。

ls $1

列出由指定的目录的内容 $1 。如果您不指定目录,它将缺省为您的当前目录。

cd $1

将目录更改为 $1 。如果不指定目录,则转到主目录。如果您想要返回到您可以使用的最后一个目录 cd -

cat $1 $2 ... $n

读取指定的文件,并将其内容打印到终端。

cp $1 $2

将第一个参数复制到第二个参数。如果要复制目录,则必须将其与 -r 选项: cp -r $1 $2

mv $1 $2

将第一个参数移动到第二个参数。这基本上类似于重命名第一个参数。

touch $1

在以下位置创建空文件 $1

mkdir $1

在以下位置创建目录 $1

rm $1 $2 ... $n

删除指定的文件。如果要删除目录及其内容,则必须将其与 -r 选项: rm -r $1

练习

  1. 创建名为的空文件 my_first_file.txt

  2. 使用文本编辑器打开该文件,然后使用以外的内容填充该文件 asdf 。保存后关闭。

  3. 将文件内容打印到终端。

  4. 创建一个名为的新目录 my_first_directory

  5. 复制文件 my_first_file.txt 放到这个目录中。

  6. 删除旧文件。

  7. 打印文件的内容 my_first_file.txt 在目录中 my_first_directory 去航站楼。

  8. 打印当前工作目录。

  9. 输入目录 my_first_directory

  10. 打印当前工作目录。

  11. 输入父目录。

  12. 列出当前工作目录的内容。

  13. 删除目录 my_first_directory

  14. 列出当前工作目录的内容。