内容纲要

🗂 本文目录:Linux 指南 >


当谈到命令行时,实际上是指 Shell。Shell 是接受键盘命令的程序并将它们传递给操作系统以执行。

几乎所有的 Linux 发行版都提供了来自 GNU 计划中名为 bash 的 shell。

终端模拟器

在使用图形界面的操作系统上,还需要一个与 shell 交互的工具,一般称为「terminal」或「终端」,使用它能让我们访问 shell。

在使用终端模拟器时你会看到这样的界面:

[email protected]:~$
# 或者
[email protected]:~#

<用户名>@<主机名>:<当前目录><用户身份> 组成。

通常情况下刚打开「终端」时会位于当前用户的主目录也就是 ~

而最后的符号,当普通用户时显示 $,当超级用户时显示 #

路径名

文件系统表现为单个统一的层次结构:以 / 目录(也叫作根目录)为起点,向下延伸出任意多个子目录。和 Windows 不同,Windows 保留了特定磁盘的名字空间概念。

路径名是由找到该文件所必须经过的一系列目录以及文件名组成。路径名可以是绝对形式(/etc/hosts)也可以是相对形式(conf/file.conf,以当前目录作为起点)。

pwd:显示当前目录路径,「我在哪」

使用 pwd (print working directory)命令来显示当前目录的绝对路径。

如前面所说的 ~,想知道 ~ 的具体路径可以使用 pwd 查看:

$ pwd

cd:更改当前目录,「去到哪」

cd 命令用于更改当前工作目录

# 进入指定目录 cd <目录路径>,如:
$ cd /etc
# 进入主目录
$ cd ~

如果要进入到一长串的路径,其中的文件夹名称太长难以记住也不要紧。比如要进入根目录下的 etc 目录,但是只记得是 e 字母开头,那么可以在输入到 cd e 的时候,按 Tab 键(Q 键左边)就会自动补全 etc 整个目录的名称。

但是如果说有很多个目录都是「e」开头的情况,比如系统 etc 目录下有很多「rc」开头的目录我要进入名为「rcS.d」但是记不起全称时按两下 Tab 键:

$ cd /etc/r # 此时按两下「Tab」键 Shell 就会列出可能相关的目录
rc0.d/ rc2.d/ rc4.d/ rc6.d/ rsyslog.d/
rc1.d/ rc3.d/ rc5.d/ rcS.d/

利用补全功能让操作更为灵活而且提高效率。

一些小技巧:

# 回到之前的目录
$ cd -

# 去到上一级目录
$ cd ..

# 假设当前在 /usr/local/src 要进入到 /usr/local/share
$ cd ../share

ls:列出目录内容,「都有什么」

ls 用于显示目标目录中的所有内容。

# 等同于「ls .」,列出当前目录下有什么
$ ls
# 列出指定目标目录里有什么,比如列出根目录
$ ls /

ls 命令是强大的,其作用当然不仅于此,可以使用 man ls 来查看其更多的作用,使用其「选项」来做到更多。

ls 常用选项

选项 作用
-l 显示详细信息
-d 显示目录信息而非目录内容
-h 显示常用文件体积格式
-a 显示隐藏文件
-r 以相反次序显示(原按英文字母次序)
-t 以时间修改顺序显示
-R 递归显示