第二次实验内容: 掌握Linux文件与目录的简单命令
实验类型:设计型
实验仪器设备与软件:计算机,Windows+Vmware Workstation(Player) + fedora32
实验目的和要求:熟悉掌握Linux文件与目录常用命令的使用方法与运行结果,特别要注意掌握这些命令的常用参数的搭配使用!
注意事项:
(1)请大家仔细查看并确认每个命令的输出结果,否则实践的意义就不是很大;
(2)实验报告请对折书写;
(3)实验报告请有选择的重点记录出问题的实验内容;
(4)每次实验内容的最后,填写一项实验总结,要求至少2条总结,比如实验过程中遇到的问题,通过实验掌握了什么内容,自己对于实验涉及的知识点还存在哪些没有很好的掌握等。
实验步骤:
0 进入系统,打开终端,
$useradd ludong
$useradd test
添加用户 ludong 和 test , 先会用,具体命令使用会在后面课程介绍
$cd
$mkdir quhp
$touch quhp/test //提前建好一个目录和一个文件
1 命令行修改目录与文件的权限
$ cd //goto root
$ ll //看看quhp 的相关值
$ chmod -R 666 quhp //把整个目录及其下的文件的权限都改成 rw-
$ ll
$ ll quhp //确认
$ cd quhp // 进入quhp目录
$ chmod 755 test
$ ll
$ touch 1.txt // 创建一个空文件
$ cp /proc/cpuinfo . // 从其他目录拷贝一个文件过来
$ ll // 确认有三个文件存在,并注意各自的 权限 ,分别为 test 1.txt 和 cpuinfo
$ chmod 644 * // 通配符 * 表示 所有的意思 , 会把这三个文件 权限同时改变
$ ll
$ chmod 000 1.txt
$ chmod u+r 1.txt
$ ll
$ chmod g+w 1.txt
$ ll
$ chmod o+x 1.txt
$ ll
$ chmod +x 1.txt
$ ll
$ chmod ugo+w 1.txt
$ ll
$ chmod u-x 1.txt
$ ll
//请注意 以上两种方式的区别, 数字法是直接覆盖 而 + - 则是在现有基础上增加(删除)对应的权限,请一定深入理解体会!
2 命令行修改目录与文件的属主
$ cd //goto root
$ chown -R test.test quhp //把整个目录及其下的文件的属主改成 test.test
$ ll
$ ll quhp // 确认
$ cd quhp
$ chown root.root test
$ chown ludong.root 1.txt
$ chown luodng.test cpuinfo
$ ll //确认
3 查看系统的根目录的结构
$ cd /root/quhp
$ cd /
$ ll // 可以进入 dev etc var 各个目录下看看其子目录与文件
$ ll /home // 可以看到为 两个用户 ludong test 分别创建了 其工作目录
$ cd -
$ pwd // 应该回到之前的目录 /root/quhp
$ su test //切换到 test用户
$ pwd // 目录没有发生变化, @ 的前部从 root 改为 test
$ cd
$ pwd //进入 test 的主目录 /home/test
$ su ludong //此处需要输入密码
$ pwd // 仍然是test 的主目录 /home/test
$ cd
$ pwd // 进入 ludong 的主目录 /home/ludong
$ su root // 123456
$ cd
$ pwd // 进入 用户ront的主目录 /root
4 mkdir -p 参数的使用
$ cd
$ mkdir quhp // 创建已经存在目录 报错
$ ll // 注意 quhp 的修改时间
$ mkdir -p quhp // 无错返回, 且修改时间未变
$ mkdir quhp/quhp2/quhp3 // 报错
$ mkdir -p quhp/quhp2/quhp3 //三级子目录成功创建
5 ls查看隐藏文件
$ cd /root/quhp
$ ls
$ ls -l
$ ls -al // 注意这三个显示的区别
$ ls -l test // 显示修改时间
$ ls -lc test // 显示写入时间
我们注意到因为在test 创建后我们对其内容一直没有写入,所以 修改时间时间就是当初的创建时间,但是在此过程中修改了文件属主与权限,所以 写入时间会变化。
6 cp -a 加属性 -r 递归复制
$ cd //goto root
$ cp -r quhp our //把整个quhp目录内容复制到our
$ ls -l //注意两个目录 quhp our 时间的变化, our 的时间应该是当前时间, 同时请关注 两目录的权限与属性的不同
$ ll quhp
$ ll our
$ cp -a quhp our2 //在递归复制的同时进行属性复制
$ ll // our2 与 quhp 目录一模一样
$ ll our2
7 mv 的文件改名+移动
$ cd /root/quhp
$ ll
$ touch 1.txt 2.txt 3.txt 4.txt //同时创建4个空文件
$ ll
$ mv 1.txt 2.txt 4.txt quhp2 //三个文件移动到quhp2子目录
$ ll
$ ll quhp2
$ mv 3.txt quhp2/quhp3/5.txt //移动+改名
$ ll quhp2/quhp3
$ cd quhp2
$ mv *.txt quhp3 //通配符移动
$ ll quhp3 //应该是 1 2 4 5
8 rm 的默认与递归删除
$ cd /root/quhp/quhp2/quhp3
$ rm 1.txt // 需要确认后删除
$ rm -f 2.txt // 直接删除
$ ll
$ cd .. //返回quhp2 目录
$ rm -rf quhp3 //直接删除目录+文件
$ ll // 确认删除成功
9 文件查看
$ cd /root/quhp/
$ cat /proc/cpuinfo // 顺序一下显示
$ tac /proc/cpuinfo // 倒序一下显示
$ cat -b /proc/cpuinfo // 空格不显示行号
$ cat -n /proc/cpuinfo // 空格也显示行号
$ cat /proc/cpuinfo /proc/meminfo /proc/meminfo /proc/cpuinfo > test // 把两个文件内容拼接重定向到 test文件中
$ cat test // 查看test 内容
$ cat test test >> test // 报错 没法重定向到同名文件中
$ more test //一屏显示
Space: 向下翻一页
Enter: 向下滚动一行
/字符串: 向下查询关键字 如/Huge 可以看到有Huge 的那行显示在屏幕的第一行
q: 退出
$ less test // 在more 基础上可以向上
PageDown 向下翻一页
PageUp 向上翻一页
?字符串 向上查询关键字
10 文件头部跟尾部的获取
$ cd /root/quhp
$ wc -l test //获取文件行数 如 136
$ head -n 10 test
$ head -n -100 test //显示头 36 行
$ head -n -100 test | wc -l //确认就是36
$ tail -n 23 test
$ tail -n +100 test //显示 后37行,因为包含第100行
$ tail -n +100 test | wc -l
$ head -n 20 test | tail -n 10 //显示 10-20 行
选作内容:
1 把FC的桌面图片替换为你拷贝进去的一个图片
2 把终端界面从白底黑字 调换成 黑底白字, 同时默认字体与大小 都进行一些修改,把终端的提示符从$切换成# 或其他符号