Unix外壳¶
“Linux的哲学是‘临危开怀大笑’。哎呀。错了。‘自己动手’。是的,就是这样。”
—莱纳斯·托瓦尔兹
我们可以试着想出一种简洁的方式来定义 UNIX外壳 是,但谢天谢地 Wikipedia 伸出援手:
Unix shell是提供传统的类似Unix的命令行用户界面的命令行解释器或shell。用户通过输入命令作为供命令行解释器执行的文本,或者通过创建一个或多个这样的命令的文本脚本来指导计算机的操作。
简单地说,不是指向和点击彩色图标来执行打开目录或程序等操作,而是在终端中键入命令。以下各节概述了最常用的命令。
注解
如果您以前没有任何使用命令行界面(CLI)的经验,一开始使用命令行界面可能会让您望而生畏。这是非常正常的。习惯Unix shell需要时间。掌握Unix shell的关键是使用它。 很多。
ls
¶
此命令用于显示您指定为参数的目录的内容。
$ ls directory1
如果你们不提供任何其他东西的话 ls
它打印当前工作目录的内容。
$ ls
对于更详细的版本,您可以使用 -l
选项:
$ ls -l
注解
如果某些文件名中有空格,则必须将整个文件名括起来,如下所示: "{{filename}}"
cd
¶
此命令用于将目录更改为指定为参数的目录。如果没有提供参数,您将切换到您的主目录。
$ cd directory1
要访问父目录,请使用
$ cd ..
注解
在很多情况下 bash
-您正在使用的外壳-提供相当智能的 自动完成 。要使用此功能,请先键入文件或目录的名称,然后按 tab
按钮。如果有唯一的完成选项,它会自动完成。否则,另一次按Tab键会给出一个选项列表,在此之前,无论您键入什么,选项列表都以该选项开头。
cp
¶
此命令用于复制文件。例如
$ cp file1 file2
副本 file1
至 file2
。如果要将大量文件复制到另一个目录,请使用
$ cp file1 file2 ... fileN directory1/
复制整个目录需要使用 -r
选项:
$ cp -r directory1 directory2
mv
¶
此命令用于移动文件。例如
$ mv file1 file2
本质上重命名 file1
至 file2
。要将多个文件移动到一个目录中,请使用
$ mv file1 file2 ... fileN directory1/
与之相对的是 cp
这个 mv
命令可以移动整个目录,而无需使用 -r
选项:
touch
¶
此命令用于创建空文件。使用
$ touch file1
因此会产生一个名为的空文件 file1
。
注解
如果您要从终端复制某些内容,则不能通过组合键执行此操作 Ctrl + C
因为这是为取消正在运行的程序而保留的。取而代之的是使用 Ctrl + Shift + C
。要粘贴,您还必须使用 Ctrl + Shift + V
。
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
。
练习¶
创建名为的空文件
my_first_file.txt
使用文本编辑器打开该文件,然后使用以外的内容填充该文件
asdf
。保存后关闭。将文件内容打印到终端。
创建一个名为的新目录
my_first_directory
复制文件
my_first_file.txt
放到这个目录中。删除旧文件。
打印文件的内容
my_first_file.txt
在目录中my_first_directory
去航站楼。打印当前工作目录。
输入目录
my_first_directory
。打印当前工作目录。
输入父目录。
列出当前工作目录的内容。
删除目录
my_first_directory
。列出当前工作目录的内容。