《Linux内核原理与分析》第一周作业
Linux 基础入门
实验一 Linux 系统简介
linux与windows之间的区别,主要是免费和收费,软件和支持,安全性,使用习惯,可制定性,应用范畴等。linux具有稳定的系统,安全性和漏洞的快速修补,多用户,用户和用户组的规划,相对较少的系统资源占用,可定制裁剪,移植到嵌入式平台(如安卓设备),可选择的多种图形用户界面(如 GNOME,KDE)等优点。因为是第一次接触到Luinx的操作系统,直观感受就是luinx上许多功能的执行都需要通过输入命令来完成的。
实验 2 基本概念及操作
UNIX/Linux 操作系统下的 Shell 既是用户交互的界面,也是控制系统的脚本语言。在 UNIX/Linux 中比较流行的常见的 Shell 有 bash、zsh、ksh、csh 等等,Ubuntu 终端默认使用的是 bash,默认的桌面环境是 GNOME 或者 Unity(基于 GNOME),但我们的环境中使用的分别是 zsh 和 xfce。
- echo“ ”可以用来打印字符串
- tab键可以补全命令,补全目录,补全命令参数
- Ctrl+c键可以强行终止当前程序
- Ctrl+d 键盘输入结束或退出终端
- Ctrl+s 暂停当前程序,暂停后按下任意键恢复运行
- Ctrl+z 将当前程序放到后台运行,恢复到前台为命令fg
- Ctrl+a 将光标移至输入行头,相当于Home键
- Ctrl+e 将光标移至输入行末,相当于End键
- Ctrl+k 删除从光标所在位置到行末
- Alt+Backspace 向前删除一个单词
- Shift+PgUp 将终端显示向上滚动
- Shift+PgDn 将终端显示向下滚动
通配符是一种特殊语句,主要有星号(*)和问号(?),用来对字符串进行模糊匹配(比如文件名、参数名)。当查找文件夹时,可以使用它来代替一个或多个真正字符;当不知道真正字符或者懒得输入完整名字时,常常使用通配符代替一个或多个真正字符。
实验 3用户及文件权限管理
输入who am i 或者who mom likes输出pts 伪终端,如果要查看当前登录用户的用户名,去掉空格直接使用 whoami 即可。伪终端就是在图形用户界面使用 /dev/tty7 时每打开一个终端就会产生一个伪终端,pts/0 后面那个数字就表示打开的伪终端序号,再打开一个终端,然后在里面输入 who am i,看第二列是不是就变成 pts/1 了,第三列则表示当前伪终端的启动时间。
who 命令其它常用参数
-a 打印能打印的全部
-d 打印死掉的进程
-m 同am i,mom likes
-q 打印当前登录用户数及用户名
-u 打印当前登录用户登录信息
-r 打印运行等级
在 Linux 系统里, root 账户拥有整个系统至高无上的权限,比如新建和添加用户。su <user> 可以切换到用户 user,执行时需要输入目标用户的密码,sudo <cmd> 可以以特权级别运行 cmd 命令,需要当前用户属于 sudo 组,且需要输入当前用户的密码。su - <user> 命令也是切换用户,但是同时用户的环境变量和工作目录也会跟着改变成目标用户所对应的。
默认情况下新创建的用户是不具有 root 权限的,也不在 sudo 用户组,可以让其加入 sudo 用户组从而获取 root 权限:su -l lilei
sudo ls
也可以通过 sudo passwd shiyanlou 进行设置,或者你直接关闭当前终端打开一个新的终端。然后再切换回 lilei 用户,就可以使用 sudo 获取 root 权限了。
使用 --remove-home 参数在删除用户时候会一并将该用户的工作目录一并删除。删除用户组可以使用 groupdel 命令,倘若该群组中仍包括某些用户,则必须先删除这些用户后,才能删除群组。
文件权限
读权限,表示可以使用 cat 之类的命令来读取某个文件的内容;写权限,表示可以编辑和修改某个文件的内容;
执行权限,通常指可以运行的二进制程序文件或者脚本文件,如同 Windows 上的 exe 后缀的文件,不过 Linux 上不是通过文件后缀名来区分文件的类型。需要注意的一点是,一个目录同时具有读权限和执行权限才可以打开并查看内部文件,而一个目录要有写权限才允许在其中创建其它文件,这是因为目录文件实际保存着该目录里面的文件的列表等信息。
ls -a | 显示除了 .(当前目录)和 …(上一级目录)之外的所有文件,包括隐藏文件(Linux 下以 . 开头的文件为隐藏文件) |
---|---|
ls -dl <目录名> | 查看某一个目录的完整属性,而不是显示目录里面的文件属性 |
ls -asSh | 显示所有文件大小,并以普通人类能看懂的方式呈现 |
遇到问题:
再变更文件所有者时,出现:
实验4 Linux 目录结构及文件基本操作
FHS 定义了两层规范,第一层是, / 下面的各个目录应该要放什么文件数据,例如 /etc 应该放置设置文件,/bin 与 /sbin 则应该放置可执行文件等等。
第二层则是针对 /usr 及 /var 这两个目录的子目录来定义。例如 /var/log 放置系统日志文件,/usr/share 放置共享数据等等