我曾这般幻想过宇宙的起源——
在不可知、不可理解的维度,一个存在通过某些工具编写了世界的规则,而后,“回车”按下,那个“点”被编译出来了,运行,宇宙诞生了,一切都按照着预定的规则运转……
在幻想中,那台工具应该有一种简洁纯粹的美感,它的操作亦然——就如我们通过命令来控制系统一般——简洁。
下面,我们便介绍一些Linux的基础命令:
在正式开始指令之前,我们先了解一些简单的,基础的知识点。
. (没错,这有个点)表示当前目录,也可以用“./”表示
.. (这回是两个点了)表示上级目录,也可以用“../”表示
~ 这个是宿主目录,你大概可以理解为个人储物柜?而实际上你能用的储物柜不止这一个。
/ 这个简简单单的斜杠是最不简单的,它是根目录,是一切的一切之源头,等闲情况下,我们是用不到它的,除非,你有一些大胆的想法……
* 它代表着0个或无穷多个字符,在Linux中,一个简简单单的“ * ”便是一只物理学神兽——无限猴子的所有努力了,它包罗万象,是一切组合之组合。由此,很容易得到了一个匹配前缀或者后缀的方法,a*,在所有匹配目标中,以a为前缀的所有目标;*c,在所有匹配目标中,以a为后缀的所有目标。
ls [参数] [目录]
List
可以查看 linux 文件夹包含的文件,而且可以查看文件权限等信息。
常用参数
-a all的缩写,列出目录所有文件,包括以 . 开头的隐藏文件
PS.实际上还有一种是 -A ,与 -a 相比较主要是差了 . 和 .. 两个文件。
-l 显示文件的详细信息
大概就像这样:
其中,第一个“-”所表示的是该文件是普通文件,此位置不同文件类型的标识为:
“-”表示普通文件;
“d”表示目录;
“l”表示链接文件;
“p”表示管理文件;
“b”表示块设备文件;
“c”表示字符设备文件;
“s”表示套接字文件;
随后紧跟着的九个字符我们将它们分为3组,
第一组表示文件的创建者/所有者对该文件所具有的权限,
第二组表示创建者/所有者所在的组的其他用户所具有的权限,
第三组表示其他组的其他用户所具有的权限。
每组三个分别用于填写“r”、“w”、“x”。
r代表读权限,
w代表写权限,
x代表执行权限。
若拥有权限,则对应位置会显示对应的标识字母,否则,则显示“-”。
-d 如果你在它后边指定了目录,则会将指定的目录以文件形式显示,否则则会将当前目录以文件形式显示(它只会显示出一个“.”)
PS.一般将-d与-l一起使用,写做-ld,用来显示某个固定目录的具体信息。
pwd
Print Working Directory
显示用户当前所在目录,这并没有什么难点。
cd [目录]
Change Directory
通常会在cd后跟上所要跳转到的目录路径,如果什么都不跟,则会跳转到"home"目录。
cd - 进入上一次工作路径
cd !$ 把上个命令的参数作为cd参数使用。
chmod [选项] [文件]
Change Mode
控制用户对文件的权限的命令,只有文件所有者与超级用户(root)可以使用
Linux的文件权限分为三级 : 文件所有者、用户组、其它用户。这一点是上文所讲过的。
u——User——文件或目录的拥有者
g——Group——文件或目录的拥有者所属群组
o——Other Users——其他用户
a——All——所有用户
在使用chmod管理文件或目录的权限时,我们往往将r、w、x即读、写与执行的权限用抽象的二进制来表示,1,表示拥有该权限,0,表示不拥有。当拥有权限时,文件的信息显示便会将对应的字母显示出来,否则,以“-”代替。
以上文的rwxrwxr-x为例,其拥有者权限为“111”,即“7”;其他组权限为“101”,即“5”
使用chmod时,我们常见的权限操作有以下三种:
用户类型 + 权限 [文件] ——以此来为某类型用户添加某类型权限
用户类型 - 权限 [文件] ——以此来为某类型用户删除某类型权限
用户类型 = 权限 [文件] ——以此来为某类型用户指定某类型权限
PS.两种额外的权限模式
X —— 特殊执行权限 —— (注意,这是个大写的)只有当文件为目录文件,或者其他类型的用户有可执行权限时,才将文件权限设置可执行
t —— 粘滞位 ——除文件所有者之外,其他用户不可删除该文件
touch [文件]
用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。
mkdir [目录]
Make Directory
如其名,用来创建目录
-p —— mkdir -p tmp/test/t1/t —— 在 tmp 目录下创建路径为 test/t1/t 的目录,若不存在,则创建。
rmdir [空目录]
Remove Directory
删除指定空目录,注意,我所写明的是空目录,这也正是该命令的鸡肋之处——它只能删除空目录!
-p ——当子目录被删除后使它也成为空目录的话,则顺便一并删除,但这也改不了它鸡肋的事实。
rm
Remove
用于删除一个文件或者目录.若要删除的是一个目录,则需要加上 -r 参数。
-i —— 删除前逐一询问确认。
-r —— 将目录及其中文件一同删除。
-f —— 所有文件无需确认直接删除。
所以,结合以上所有,你猜“ rm -rf /* ”是什么意思?
不要尝试!
不要尝试!
不要尝试!