20145316 《信息安全系统设计基础》第十周学习总结
代码调试
cp1.c
- 功能:进行复制文件的操作
-
要点:
- 需要有源文件和目的文件
fileinfo.c
- 功能:显示文件信息。
-
要点:
- 判断命令是否有操作数
- 没报错则打印出来相关文件信息
- 报错就用perror将报错信息打印出来。
- 需要输入要查看的文件
filesize.c
-
功能:查找
etc/passwd
文件的大小 -
要点:
- 只能查找etc/passwd
文件的大小
- 如需查找其他文件大小需对代码中如下内容进行修改:stat( "/etc/passwd", &infobuf)
- 可以看到infobuf所指的即是所需查找的文件的地址
- 将" "中内容改为想要查找的文件地址即可
ls1.c
-
功能:显示所在文件夹中的文件及文件夹列表
ls2.c
-
功能:显示所在文件夹中的文件及文件夹详细信息的列表
setecho.c
- 功能:改变符号显示状态
-
要点:
- no是不显示符号
- yes是显示
- no指令后输入的命令看不见,状态值为0
- yes指令后恢复可见,状值态为1
echostate.c
- 功能:检查命令行中的提示符是否显示的
-
要点:如果显示,输入的命令都可见,不显示则表示输入的命令不可见
spwd.c
-
功能:显示出所在目录
testioctl.c
- 功能:计算当前命令行窗口的行列数大小
-
实现效果:不同大小的变化如下:
who1.c
-
功能:从UTMP_FILE文件中读取系统中用户信息
who2.c
-
功能:此代码和who1.c相同……
知识点补充
1.用户相关命令
- 如何查看当前登录的用户?
-who am i
- 如何列出登录的用户?
-who或-w
- 如何注销掉用户?
-pkill -kill -t 用户名或-skill -KILL -v 用户名
2.目录操作
- 如何查看当前工作目录?
-pwd
- 如何改变当前工作目录进入下一级目录?
-cd 下一级/
- 如何返回当前工作目录的父目录?
-cd ..
- 如何返回根目录?
-cd /
注:在Linux的目录结构中“.”表示当前目录,“..”表示当前目录的父目录,“/”表示根目录。
- 当用户以个人账户登录系统后,就会直接进入用户主目录。如何从任何一个工作目录返回主目录?
-cd
注:mkdir命令用于创建一个新的目录。这个新的目录不仅可以使用绝对路径,也可以使用相对路径。但用户创建新目录的前提条件是:创建者对被创建新目录的父目录应有写权限。
- 如何在其父目录不存在的情况下首先创建父目录?
-mkdir -p
- 如何在创建新目录的同时指定此目录的权限?
-mkdir -m
注:rmdir命令功能用于删除指定的空目录。当要删除目录内的所有文件和子目录都被删除以后,才能使用rmdir命令删除该目录。用户删除目录时,应对该目录的父目录有写的权限。
- 如何删除指定路径上的所有目录(目录数大于一)?
-rmdir -p
- 如何列出当前目录下的文件?
-ls
- 如何列出当前目录下的包括权限等信息的文件?
-ls al
- Linux中的目录结构:linux中的命令一般存放在/bin目录下的。以下为linux下的基本目录结构和作用:
/根目录
/boot引导程序,内核等存放的目录。
/sbin超级用户可以使用的命令的存放目录。
/bin普通用户可以使用的命令的存放目录。
/lib根目录下的所程序的共享库目录。
/dev设备文件目录。
/home普通用户的家目录($HOME目录
/root用户root的$HOME目录
/etc全局的配置文件存放目录。
/usr这个目录中包含了命令库文件和在通常操作中不会修改的文件。
/proc特殊文件目录。
/opt可择的文件目录。
/mnt临时挂载目录。
/media挂载的媒体设备目录。
/var内容经常变化的目录。
/tmp临时文件目录。
/lost+found 恢复文件存放的位置
3.文件操作常用命令
指令 | 相关知识点 |
---|---|
①cat | 由第一行显示文件内容-cat -n l显示行号 |
②more | 一页一页显示,可翻页查看。空格 space : 向下翻页 Enter : 向下滚动一行 /字符串 : 向下查询字符串 :f : 显示当前行号 q : 退出 b : 往回翻页,只在文件有作用,对管道无作用。) |
③less | 与more类似,可以往前翻页 (空格 space : 向下翻一页 Enter : 向下一行 [PageDown] : 向下一页: [PageUp] : 向上一页 /字符串: 向下查询 ?字符串: 向上查询 n : 重复前一个查询 / 或 ? N : 反向前一个查询 / 或 ? q : 退出)man就是调用less显示说明文档的。 |
④cp | 复制文件-i 覆盖文件之前先询问用户 |
⑤pg | 格式:pg [option] filename 功能:分页显示指定文件的内容。在显示一页文件时,最后一行将显示等待用 户输入指令。可输入的指令有如下选项。选项:h 显示pg命令中可使用的帮助(help)命令。 q:退出pg命令 |
⑥mv | 用户可以使用mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中mv [选项] 源文件或目录 目标文件或目录 |
⑦lpr | lpr(line printer,按行打印)实用程序用来将一个或多个文件放入打印队列等待打印。lpr 可以用来将资料送给本地或是远端的主机来处理。-p Printer: 将资料送至指定的打印机 Printer,预设值为 lp。 |
⑧ugo | 文件有owner,group,others三种身份,我们分别用 u,g,o来分别代表着三种身份,用a同时代表三种身份,用r,w,x代表三种权限,用+,-,=三种符号分别代表添加,去除以及设置某种或某些权限的动作。 |
收获与思考
本周就娄老师上周指出的代码太少的问题进行了改正,进行了较多的实践,并且对一些常用命令进行了知识上的梳理。一周一篇的博客已经成为了知识的收集站和学习的必备工具,在经过长期地保持写博客后,发现了博客对于系统知识点的梳理、松散知识点的整合方面的巨大作用。CSAPP也在我的学习中产生了很深的影响,在课余时间学习编程语言时,结合了CSAPP相关的知识点,对于一些概念有了更为深入的理解,很是开心。
代码托管
代码托管链接
代码行数截图
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0/0 | 1/2 | 15/30 | |
第二周 | 56 /56 | 2/3 | 15/45 | |
第三周 | 89/145 | 1/4 | 20/65 | |
第五周 | 500/645 | 1/5 | 20/85 | |
第六周 | 150/795 | 1/6 | 20/105 | |
第七周 | 124/919 | 1/7 | 20/125 | |
第八周 | 0/919 | 1/8 | 15/140 | |
第九周 | 98/1017 | 1/9 | 15/155 | |
第十周 | 448/1465 | 1/10 | 20/175 |
参考资料##
- 《深入理解计算机系统V2》学习指导