用于记录The Missing Semester of Your CS Education
Lecture1–The Shell
ls
-l
indicates use a long listing format
1 | missing:~$ ls -l /home |
第一个参数表示文件类型
- | 代表普通文件 |
---|---|
d | 代表目录 |
c | 代表字符型文件 |
l | 代表链接文件 |
后面三组共9个参数用来表示不同用户对该文件的操作权限
| 属主权限 | 属组权限 | 其他人权限 | 属主 | 属组
权限项 | 读 | 写 | 执行 | 读 | 写 | 执行 | 读 | 写 | 执行 |
---|---|---|---|---|---|---|---|---|---|
字符表示 | r | w | x | r | w | x | r | w | x |
数字表示 | 4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 |
权限分配 | 文件所有者(属主) | 文件所有者(属主) | 文件所有者(属主) | 文件所属组(属组) | 文件所属组(属组) | 文件所属组(属组) | 其他用户 | 其他用户 | 其他用户 |
find
Shebang
在计算领域中,Shebang(也称为Hashbang)是一个由井号和叹号构成的字符序列#!
,其出现在文本文件的第一行的前两个字符。 在文件中存在Shebang的情况下,类Unix操作系统的程序加载器会分析Shebang后的内容,将这些内容作为解释器指令,并调用该指令,并将载有Shebang的文件路径作为该解释器的参数
例如,以指令#!/bin/sh
开头的文件在执行时会实际调用/bin/sh程序(通常是Bourne shell或兼容的shell,例如bash、dash等)来执行。这行内容也是shell脚本的标准起始行
这也是为什么bash
文件前面会添加一个#!/bin/sh