linux复习作业

  1. 基础文件和目录操作

(1). 在用户主目录下创建一个名为test_dir的目录,并在该目录中创建一个名为test_file.txt的空文本文件。

复制代码
[zr@localhost ~]$ mkdir ~/test_dir
[zr@localhost ~]$ touch test_dir/test_file.txt
​

(2). 将test_file.txt文件复制到/tmp目录下,并将复制后的文件重命名为copy_of_test.txt。

复制代码
[zr@localhost ~]$ cd test_dir
[zr@localhost test_dir]$ cp test_file.txt /tmp/copy_of_test.txt
​

(3). 删除test_dir目录及其下的所有文件(包括test_file.txt),请使用一个命令完成此操作。

复制代码
[zr@localhost ~]$ rm -r test_dir

(4).在test_dir目录(如果已删除可重新创建)下创建一个test_file.txt文件,然后再创建该文件的软链接链接名为soft_link.txt,再创建一个硬链接,链接名为hard_link.txt。

复制代码
[zr@localhost ~]$  mkdir ~/test_dir
[zr@localhost ~]$  touch test_dir/test_file.txt
[zr@localhost ~]$ ln -s test_dir/soft_link.txt
[zr@localhost ~]$ ln test_dir/test_file.txt  test_dir/hard_link.txt
​

(5). 删除test_file.txt文件,查看软链接和硬链接文件是否还能访问,分别说明原因。

复制代码
[zr@localhost ~]$ rm test_dir/test_file.txt
[zr@localhost ~]$ ls -l test_dir
总用量 0
-rw-r--r--. 1 zr zr 0 10月 20 18:57 hard_link.txt
[zr@localhost ~]$ cat test_dir/soft_link.txt
cat: test_dir/soft_link.txt: 没有那个文件或目录
[zr@localhost ~]$ cat test_dir/hard_link.txt
[zr@localhost ~]$ 
硬链接与原始文件指向相同的 inode(索引节点)。删除原始文件名只是减少了该 inode 的链接计数,硬链接仍然指向相同的数据,因此可以正常访问。
  1. 文件内容查看与编辑

(1). 使用合适的命令查看/etc/passwd文件的前 10 行内容。

复制代码
[zr@localhost ~]$ head -n 10 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
​

(2). 向copy_of_test.txt文件中追加一行内容 "这是追加的测试内容",并使用命令查看文件内容确认追加成功。

复制代码
[zr@localhost ~]$ echo "这是追加的测试内容" >> /tmp/copy_of_test.txt
[zr@localhost ~]$ cat /tmp/copy_of_test.txt
这是追加的测试内容
[zr@localhost ~]$ 
​

(3). 使用文本编辑器(如vim)打开copy_of_test.txt文件,将 "测试" 替换为 "练习",保存并退出编辑器。

复制代码
[zr@localhost ~]$ vim /tmp/copy_of_test.txt 
[zr@localhost ~]$ cat /tmp/copy_of_test.txt
这是追加的练习内容
[zr@localhost ~]$ 
​
  1. 综合操作

(1).在/home目录下创建一个名为backup的目录,将/etc目录下所有以.conf结尾的文件复制到backup目录中。

复制代码
[zr@localhost ~]$ sudo cp /etc/*.conf /home/backup/
[zr@localhost ~]$ ls -l /home/backup/
总用量 204
-rw-r--r--. 1 root root   833 10月 20 19:22 appstream.conf
-rw-r--r--. 1 root root    55 10月 20 19:22 asound.conf
-rw-r--r--. 1 root root 28974 10月 20 19:22 brltty.conf
-rw-r--r--. 1 root root  1369 10月 20 19:22 chrony.conf
-rw-r--r--. 1 root root 27839 10月 20 19:22 dnsmasq.conf
-rw-r--r--. 1 root root   117 10月 20 19:22 dracut.conf
-rw-r--r--. 1 root root    20 10月 20 19:22 fprintd.conf
-rw-r--r--. 1 root root    38 10月 20 19:22 fuse.conf
-rw-r--r--. 1 root root     9 10月 20 19:22 host.conf
-rw-r--r--. 1 root root  8979 10月 20 19:22 kdump.conf
-rw-r--r--. 1 root root   880 10月 20 19:22 krb5.conf
-rw-r--r--. 1 root root    28 10月 20 19:22 ld.so.conf
-rw-r-----. 1 root root   191 10月 20 19:22 libaudit.conf
-rw-r--r--. 1 root root  2391 10月 20 19:22 libuser.conf
-rw-r--r--. 1 root root    19 10月 20 19:22 locale.conf
-rw-r--r--. 1 root root   496 10月 20 19:22 logrotate.conf
-rw-r--r--. 1 root root  5235 10月 20 19:22 man_db.conf
-rw-r--r--. 1 root root  1208 10月 20 19:22 mke2fs.conf
-rw-r--r--. 1 root root  3012 10月 20 19:22 nsswitch.conf
-rw-r--r--. 1 root root  1362 10月 20 19:22 pbm2ppa.conf
-rw-r--r--. 1 root root  6300 10月 20 19:22 pnm2ppa.conf
-rw-r--r--. 1 root root  1787 10月 20 19:22 request-key.conf
-rw-r--r--. 1 root root    73 10月 20 19:22 resolv.conf
-rw-r--r--. 1 root root   458 10月 20 19:22 rsyncd.conf
-rw-r--r--. 1 root root  3380 10月 20 19:22 rsyslog.conf
-rw-r--r--. 1 root root   216 10月 20 19:22 sestatus.conf
-rw-r-----. 1 root root  3983 10月 20 19:22 sudo.conf
-rw-r-----. 1 root root  3181 10月 20 19:22 sudo-ldap.conf
-rw-r--r--. 1 root root   449 10月 20 19:22 sysctl.conf
-rw-r--r--. 1 root root   624 10月 20 19:22 updatedb.conf
-rw-r--r--. 1 root root  1523 10月 20 19:22 usb_modeswitch.conf
-rw-r--r--. 1 root root    28 10月 20 19:22 vconsole.conf
-rw-r--r--. 1 root root   817 10月 20 19:22 xattr.conf
-rw-r--r--. 1 root root   108 10月 20 19:22 yum.conf
​

(2). 统计backup目录中文件的数量,并输出结果。

复制代码
[zr@localhost ~]$ find /home/backup -maxdepth 1 -type f | wc -l
34
​

(3).将backup目录打包成一个名为etc_backup.tar.gz的压缩包,并删除原始的backup目录。

复制代码
[zr@localhost ~]$ sudo tar -czvf /home/etc_backup.tar.gz -C /home backup
[sudo] zr 的密码:
backup/
backup/appstream.conf
backup/asound.conf
backup/brltty.conf
backup/chrony.conf
backup/dnsmasq.conf
backup/dracut.conf
backup/fprintd.conf
backup/fuse.conf
backup/host.conf
backup/kdump.conf
backup/krb5.conf
backup/ld.so.conf
backup/libaudit.conf
backup/libuser.conf
backup/locale.conf
backup/logrotate.conf
backup/man_db.conf
backup/mke2fs.conf
backup/nsswitch.conf
backup/pbm2ppa.conf
backup/pnm2ppa.conf
backup/request-key.conf
backup/resolv.conf
backup/rsyncd.conf
backup/rsyslog.conf
backup/sestatus.conf
backup/sudo.conf
backup/sudo-ldap.conf
backup/sysctl.conf
backup/updatedb.conf
backup/usb_modeswitch.conf
backup/vconsole.conf
backup/xattr.conf
backup/yum.conf
[zr@localhost ~]$ rm -r /home/backup
rm:是否进入有写保护的目录'/home/backup' ?
[zr@localhost ~]$ sudo rm -r /home/backup
[zr@localhost ~]$ ls -lh /home/etc_backup.tar.gz
-rw-r--r--. 1 root root 37K 10月 20 19:32 /home/etc_backup.tar.gz
[zr@localhost ~]$ 
​
​

(4).将当前主机/home/backup目录中的所有文件备份到另一台主机的/test目录。

复制代码
scp -r /home/backup/. root@xxxxxxx
  1. 文件权限管理

(1).将copy_of_test.txt文件的所有者修改为当前系统中的普通用户user1(假设user1存在),文件所属组修改为group1(假设group1存在)。

复制代码
sudo chown user1:group1 /tmp/copy_of_test.txt

(2).为copy_of_test.txt文件设置权限,使得所有者有读写执行权限,所属组有读和执行权限,其他用户只有读权限,写出具体命令。

复制代码
[zr@localhost ~]$ sudo chmod 754 /tmp/copy_of_test.txt 
[sudo] zr 的密码:
[zr@localhost ~]$ ls -l /tmp/copy_of_test.txt
-rwxr-xr--. 1 zr zr 28 10月 20 19:15 /tmp/copy_of_test.txt
​

(3).查看copy_of_test.txt文件的详细权限信息。

复制代码
[zr@localhost ~]$ ls -l /tmp/copy_of_test.txt
-rwxr-xr--. 1 zr zr 28 10月 20 19:15 /tmp/copy_of_test.txt
​
  1. 用户和用户组基础操作

(1).创建一个名为newuser1的普通用户,并指定其默认登录 Shell 为/bin/bash。

复制代码
[zr@localhost ~]$ sudo useradd -m -s /bin/bash newuser1
[sudo] zr 的密码:
[zr@localhost ~]$ grep '^newuser1:' /etc/passwd
newuser1:x:1001:1001::/home/newuser1:/bin/bash
​

(2).创建一个名为newgroup1的用户组,然后将newuser1添加到该用户组中。

复制代码
[zr@localhost ~]$ sudo groupadd newgroup1
[zr@localhost ~]$ sudo usermod -aG newgroup1 newuser1
[zr@localhost ~]$ groups newuser1
newuser1 : newuser1 newgroup1
​

(3).删除用户newuser1,要求保留其家目录。

复制代码
[zr@localhost ~]$ sudo userdel newuser1
[zr@localhost ~]$ id newuser1
id: “newuser1”:无此用户
[zr@localhost ~]$ ls -ld /home/newuser1
drwx------. 3 1001 1001 78 10月 20 19:49 /home/newuser1
​
  1. 文件和目录权限设置与修改

(1).在用户主目录下创建一个名为perm_test_dir的目录和perm_test_file.txt的文件,分别为该目录和文件设置权限:目录的所有者有读写执行权限,所属组有读和执行权限,其他用户无任何权限;文件的所有者有读写权限,所属组和其他用户只有读权限。

复制代码
mkdir ~/perm_test_dir
touch ~/perm_test_file.txt
chmod 750 ~/perm_test_dir
chmod 644 ~/perm_test_file.txt

(2).将perm_test_dir目录及其下所有文件的所属组修改为newgroup1。

复制代码
[zr@localhost ~]$ sudo chgrp -R newgroup1 ~/perm_test_dir
[sudo] zr 的密码:
[zr@localhost ~]$ ls -ld ~/perm_test_dir
ls -l ~/perm_test_dir
drwxr-x---. 2 zr newgroup1 6 10月 17 14:53 /home/zr/perm_test_dir
总用量 0
​

(3).递归地将perm_test_dir目录的权限修改为:所有者和所属组有读写执行权限,其他用户只有读权限。

复制代码
[zr@localhost ~]$ sudo chmod -R 774 ~/perm_test_dir
[zr@localhost ~]$ ls -ld ~/perm_test_dir
drwxrwxr--. 2 zr newgroup1 6 10月 17 14:53 /home/zr/perm_test_dir
[zr@localhost ~]$ ls -l ~/perm_test_dir
总用量 0
​
相关推荐
xiangjiaodalishi1 小时前
武汉玖叁鹿科技:我们把 GEO 服务做成了可以审计的交付工程
python·1024程序员节
思麟呀1 小时前
BTree的原理与 C++ 完整实现
c语言·数据结构·c++·算法·1024程序员节
u1301301 小时前
AI 日报(2026年10月24日)
人工智能·1024程序员节
2401_895366501 小时前
RHCS练习
1024程序员节
Escalating_xu1 小时前
【Linux 网络编程】应用层协议 HTTP(上):URL、请求与响应、方法和状态码
1024程序员节
weixin_417396831 小时前
老酒店有线电视改造怎么做?三种路径对比与施工节奏
网络·技术·酒店·1024程序员节·综合布线·弱电
jimy11 小时前
C++ 中 xvalue 的 identity 存在哪里?和 lvalue 的 identity 有什么区别?
开发语言·c++·1024程序员节
机器学习之心1 小时前
198种组合算法+优化CNN-Transformer+SHAP分析+新数据预测+多输出!
1024程序员节