课程概览与shell
The Shell
使用shell
当打开终端时,会看到一个提示符:
这是shell最主要的文本接口
missing:~$
主机名为missing
,当前工作目录或者说当前所在位置是~
(表示“home”)$
表示当前身份不是root用户
输出当前日期以及时间
missing:~$ date
Fri 10 Jan 2020 11:49:31 AM EST
missing:~$ echo hello
hello
shell基于空格分割命令并进行解析,然后执行第一个单词代表的程序,并将后续单词作为程序可以访问的参数。如果希望传递的参数包含空格,要么使用单引号或者双引号将其包裹起来,要么使用转义符号\
进行处理
在shell中导航
shell中的路径是一组被分割的目录,在Linux和macOS上使用/分割,而在Windows上是
假设使用的是Linux文件系统。
如果某个路径以/
开头,那么它是一个绝对路径,其他的都是相对路径。
当前工作目录可以使用pwd
命令获取。
切换目录使用cd
命令。在路径中,.表示的是当前目录,而…表示上级目录
为了查看指定目录下包含哪些文件,使用ls
命令
大多数的命令接受标记和选项(带有值的标记),它们以-开头,并可以改变程序的行为
利用man
知道关于程序参数、输入输出信息,亦或是想要了解它们的工作方式
在程序间创建连接
shell中,程序有输入流和输出流。当程序尝试读取信息时,会从输入流中进行读取,打印信息时,会将信息输出到输出流中。我们可以重定向这些流
最简单的重定向:< file
和 > file
还可以使用>>
来向一个文件追加内容
使用管道(pipes),能够更好的利用文件重定向。|
操作符允许我们将一个程序的输出和另外一个程序的输入连接起来
一个功能全面又强大的工具
对于大多数类Unix系统,有一类用户非常特殊,那就是:根用户(root user)。**通常我们并不会以根用户的身份直接登录系统。取而代之的是我们会在需要的时候使用sudo
命令。**他的作用是让人可以以su(super user或root)的身份执行一些操作。
|
、<
、>
是通过shell执行的,而不是被各个程序单独执行