【Unix】分章复习笔记之第一章 · 基础知识
【Unix 】分章复习笔记之第一章 · 基础知识
1.1 UNIX体系结构
-
内核:操作系统中控制硬件资源、提供程序运行环境的核心部分。
-
系统调用:内核的接口
-
公用函数库:搭建于系统调用之上
-
shell:特殊的应用程序,为其他应用程序提供接口。
1.2 Shell
-
俗称壳(用来区别于核),是指 “提供使用者使用界面”的软件(命令解析器)。
-
Shell作为程序,是一个具有交互性的命令行解释器。它独 立于操作系统。Shell的作用在于等你键入命令,执行一些 特定的功能,然后将经它解释的命令传到操作系统执行。
-
Shell的输入通常来自用户终端(交互),也可以来自文件 (Shell脚本)。
常见的Shell有Bash,他是一个GNU shell。所有的Linux都提供Bash服务,它的设计遵循IEEE POSIX标准。
1.3 UNIX目录结构
"/"是表示根目录,它是所有文件绝对路径的起点。
-
一个文件的目录是由根目录到该文件的路径上 所有节点名按顺序构成的,相互之间用“/”分开
-
**家目录:**当UNIX创建一个用户的时候,通常情况下会==创建一个与用户名称相同的目录供该用户使用。==这个目录所在的位置就叫做家目录(起始目录)。
1.4 绝对路径和相对路径
绝对路径 | 相对路径 |
---|---|
完全指定文件或目录位置的方法,从根目录开始 | 永远起始于你的当前位置 |
永远以“/”开头 | 永远不会以“/”开头 |
不受当前位置的影响,在整个UNIX 系统中是唯一的 | 仅仅相对与你当前位置才能保证唯一 |
-
这两个特殊的目录存在于所有的目录中,“/”也不例外
-
在根目录下,".","…"均指向本目录(即根目录);
-
其他情况下,点(.)代表你当前的目录位置,点点(…)代表你当前目录对上一层的位置(又称为父目录)
1.5 UNIX的文件访问权限
-
在UNIX中,每个文件都归某个系统用户所有。文件的所有者对于谁有权访问文件有最终的控制权。 所有者有权允许或禁止其他用户访问其所有的文件。
-
文件的访问控制结构有三层:User:文件所有者;Group:能访问该文件的组;Other:系统中所有的其他用户。
在文件的权限控制中,访问类型有三种:
读 | 写 | 执行 |
---|---|---|
r | w | x |
我们来看,给出的总共有10位权限,其中第一位永远为“-”或“d”,当为d时表明其为目录。
剩下的9位分别按照文件所有者(user),与文件所有者同组的(group),其他(others)的顺序依次排列。
1.6 I/O重定向和管道
见上图。文件描述符0,1,2分别标志着标准输入,标准输出和标准错误(stdin,stdout,stderr),进程通过文件描述符来管理打开的文件。
UNIX所有的程序执行时,均需要资料的输入以及输出资料,一般而言,资料是从键盘输入,并将资料输出到荧幕上,这就叫做标准输入及标准输出,而我们可以更改标准输入输出。
- 更改标准输入——在命令后方加“< filename”,即可从filename这个文档输入资料。
- 更改标准输出——在命令后方加“> filename”,即可将荧幕输出的资料导向到filename这个文档上,会覆盖文档原内容。
- 更改标准输出——在命令后方加“>> filename”,功能与上一条相似,只不过这会将资料加在文档最后。
- 管道——在两个命令中间加上‘|’,即可将前方指令的输出 当成后方指令的输入。
1.7 其他的一些UNIX基本的操作这里就不在赘述。提高使用频率就能熟练使用这些命令。
命令 | 效果 | 用法示例和flags |
---|---|---|
ls | 列出目录内容 | ls < flag> 路径名 flag:-a -l -F |
cd | 改变当前目录 | cd /home/ubuntu |
pwd | 显示当前目录 | pwd |
mkdir | 新建目录 | mkdir MCServer |
rmdir | 删除目录 | rmdir MCServer |
cat,more,less | 显示文件内容 | cat一下子列出文件的所有内容。当一屏显示不完,more逐屏显示 |
touch | 修改时间 | 将每个文件的访问和修改时间设置为当前时间。若不存在则新建 |
cp | 复制文件 | cp hello ./test/hello |
rm | 删除文件 | -f -i -r -v |
mv | 重命名或移动文件 | 自己查,我懒! |
find | 查找文件 | 自己查,我懒! |
grep | 查找文件内容 | 自己查,我懒! |
tail | 显示文件尾部内容 | 自己查,我懒! |
chmod | 更改文件或目录访问权限 | 自己查,我懒! |
diff | 比较文档 | 自己查,我懒! |
whoami | 显示的是使用本地终端的用户登录名 | 自己查,我懒! |
ps | 显示进程 | ps aux显示所有用户的进程,ps ux:显示本用户的进程 |
kill | 杀死一个进程 | kill -l,列出所有信号,kill [-s signal] pid:杀死进程 |
top | 自己查,我懒! | 展示当前系统所有的进程以及一些系统信息如 内存 |
logout/exit | 退出系统 | |
who | 自己查,我懒! | 显示登录到系统的用户列表,以及TTY端口和登录日期、时间。 |
man | 显示命令的帮助文档 | 自己查,我懒! |
passwd | 修改密码 | 自己查,我懒! |
clear | 清除屏幕上的输出 | 自己查,我懒! |
其他 | 自己查,我懒! | 自己查,我懒! |