上机实验1:Linux基础命令实验
温馨提示:在系统关机之前,务必进行内容的保存 :sync 指令
并且先创建好实验时需要操作的那几个文件及目录,比如dir2 目录、文件 Test3、.bak 〈学号年月日〉目录和file1.txt 文件等,用mkdir 或者 touch 命令
特别备注:仅供参考,第一次投稿,制作有点生疏,右下方水印有点长qwq
涉及到很多命令,但是有的是在图片里给出,因此复制命令会有些不便,抱歉~
不嗦了~先去做学校常态化的核酸抽测了wwww
一、上机实验要求
1. 在 dir2 目录下建立 bak 目录,如果 dir2 目录不存在,那么同时建立 dir2 目录。
2. 删除当前目录下的 longkey/test 目录下的全部内容。
3. 取消同组用户对文件 file.bat 的写权。
4. 将文件 file1.txt 设为所有人皆可读取
5. 将 file1.txt 与 file2.txt 设为拥有者与同组人可写入,但其他人则不可写。
6. 将 ex1.py 设定为只有该文件拥有者可以执行。
7. 当前目录的所有文件与子目录为任何人可读 。
8.文件 Test1 的内容为:
A123456789123456789123456789
A123456789123456789
A123456789
文件 Test2 的内容为:
B123456789123456789123456789
B123456789123456789
B123456789
文件 Test3 的内容为:
C123456789123456789123456789
C123456789123456789
C123456789写出执行下面的指令后的输出
(1) cat -n Test1 > Test2
(2)cat -b Test1 Test2 >>Test3
9.分析下面的指令的功能
(1)find $HOME -type f -user fe2000 -atime +8 -exec ls –l {} \;
(2) find / -name myfile -print > /root/test &
10.设置 umask,使 FE2000 账号(可替换成自己的账号)新建立的文件只有 FE2000 可访问 。
11. 将/home 目录及其子目录中属于 FE2000 账号(可替换成自己的账号)的 7 天以来没用过的
文件找到并删除。
12. 将 FE2000 账号(可替换成自己的账号)的家($HOME)目录下最长的 3 个文件找出。
13. 在 FE2000 账号(可替换成自己的账号)的家($HOME)目录下创建.bak〈学号年月日〉
的目录。
14. 将/home 中近 7 天以来用过的以 FE2000 开头的文件名及其路径写到.bak〈学号年月日〉
目录下的<.james.学号年月日>文件中。
15. 使.bak〈学号年月日〉目录中的文件不能被删除。
16. 将当前目录下的所有文件打包成 data.tar 文件。
17. 将当前目录下的所有文件打包成 data.tar 文件,再用 gzip 命令压缩。
二、上机实验过程及运行结果
1. 在 dir2 目录下建立 bak 目录,如果 dir2 目录不存在,那么同时建立 dir2 目录。
输入命令 mkdir -p dir2/bak,回车,显示dir2文件已创立
点dir2进去,发现bak目录在里面,如下图
2.删除当前目录下的 longkey/test 目录下的全部内容。
进入目录,发现只有abc.txt一个文档(做实验之前自己特意创建的)
输入命令 rm -r longkey/text/*,回车,如下图
发现原存在text目录下的abc.txt文档已被删除
3.取消同组用户对文件 file.bat 的写权。
chomd 为修改文件权限指令,g是group的缩写,w为写权限,因此指令为
chmod g-w file.bat
4.将文件 file1.txt 设为所有人皆可读取
举一反三,a为all(所有人)的缩写,r为read是读取权限,
因此指令为chmod a-r file1.txt
5.将 file1.txt 与 file2.txt 设为拥有者与同组人可写入,但其他人则不可写。
仍然是chmod 指令,拥有者和同组人缩写在一起是ug,其他人(other)缩写是o,“+”表示授予权限,“-”表示删除权限,指令如下:
6.将 ex1.py 设定为只有该文件拥有者可以执行
先用touch 指令创建ex1.py 先用“a-x”取消所有人的执行权限,然后用“u+x”设置为只有该文件拥有者可以执行,如下图
7. 当前目录的所有文件与子目录为任何人可读 。
指令为chmod -R a+r * 星号*意思大概是指所有文件及目录吧
其中,a 表示“全部(all)用户”。它是系统默认值。
8.文件 Test1 的内容为:
A123456789123456789123456789
A123456789123456789
A123456789
文件 Test2 的内容为:
B123456789123456789123456789
B123456789123456789
B123456789
文件 Test3 的内容为:
C123456789123456789123456789
C123456789123456789
C123456789写出执行下面的指令后的输出
(1) cat -n Test1 > Test2
(2)cat -b Test1 Test2 >>Test3
cat -n Test1 > Test2
是把test1文本文件中的输出行进行编号后输入到test2文本文件中,即合并
cat -b Test1 Test2 > >Test3为追加文件内容(cat file1 >> file2)
输入如下命令,在原有的test3.txt文本文件后追加test1和test2文本文件中的内容
且-b作用是对于空白行不编号。
上图为输入命令cat -n Test1 > Test2后的结果(查看Test2)
上图为输入cat -b Test1 Test2 > >Test3后的结果(查看Test3)
9.分析下面的指令的功能
(1)find $HOME -type f -user fe2000 -atime +8 -exec ls –l {} \;
是find寻找命令,大概意思是在home下寻找用户fe2000八天前访问过的文件
结果如下
文件显示不一样的话,可能是我个人的问题,和各位看官不一致请见谅,呜,仅供参考
(2) find / -name myfile -print > /root/test &
作用是找出系统中叫myfile的文件路径并打印
(我也不知道这样对不对,我只是个菜鸟小白呜呜)
10.设置 umask,使 FE2000 账号(可替换成自己的账号)新建立的文件只有 FE2000 可访问 。
指令umask 077
11. 将/home 目录及其子目录中属于 FE2000 账号(可替换成自己的账号)的 7 天以来没用过的
文件找到并删除。
输入以上命令,删除了没用过的文件
12. 将 FE2000 账号(可替换成自己的账号)的家($HOME)目录下最长的 3 个文件找出。
输入了正确的命令,但是为什么只有两个?网上很多答案也是这样,别慌
直到我把n3 改成了n4,才得出了似乎正确的答案,挺神奇的,舍友教我的
13. 在 FE2000 账号(可替换成自己的账号)的家($HOME)目录下创建.bak〈学号年月日〉
的目录。
输入命令 mkdir /home/fe2000/.bak302124411120220930
得到相关目录,但通过大佬指导得知该目录为隐藏目录,输入 ls -a ,显示如上图
14. 将/home 中近 7 天以来用过的以 FE2000 开头的文件名及其路径写到.bak〈学号年月日〉
目录下的<.james.学号年月日>文件中。
这里出现了较大问题,首先是我以为既然要在刚创建好的bak目录下的文件.james操作,那必然是该文件应该提前创建好,但是我打算提前创建的时候却无法创建,如上图。
然后索性不管了,直接进行操作,竟然可以,我不理解。
如下图:
从未创建的.james文件竟然存在了,但我不知道它里面有没有/home 中近 7 天以来用过的以 FE2000 开头的文件名及其路径。应该是么有的
好在最后似乎行了 ,是在先进入.bak目录下用cat指令查看
(这一步我写的不够清楚,小伙伴们可以搜搜那些大佬们写的)
15. 使.bak〈学号年月日〉目录中的文件不能被删除。
输入命令 chmod a-w .bak302124411120220930 回车,结果如上图,已被上锁,无法删除
16. 将当前目录下的所有文件打包成 data.tar 文件。
指令为 tar -cvf data.tar * 或者 tar -cvf data.tar ./ 都是指当前目录下的所有文件
17. 将当前目录下的所有文件打包成 data.tar 文件,再用 gzip 命令压缩。
命令为 gzip [-参数] (文件名),我这里 -N 是压缩文件时,保存原来的文件名称及时间,可自行查阅资料更改参数
希望能对你有一点点帮助哦~