RHCSA作业1

1.基础文件和目录操作

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

复制代码
[root@localhost ~]# mkdir test_dir
[root@localhost ~]# cd test_dir
[root@localhost test_dir]# touch test_file.txt

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

复制代码
[root@localhost test_dir]# cp ~/test_dir/test_file.txt  /tmp/copy_of_test.txt

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

复制代码
[root@localhost ~]# rm -rf ~/test_dir

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

复制代码
[root@localhost ~]# mkdir -p ~/test_dir
[root@localhost ~]# cd ~/test_dir
[root@localhost test_dir]# touch test_file.txt
[root@localhost test_dir]# ln -s test_file.txt soft_link.txt
[root@localhost test_dir]# ln test_file.txt hard_link.txt

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

复制代码
软链接:不能访问。因为软链接是指向原文件的路径,原文件被删除后,软链接指向的路径无效,就像指向一个不存在的地址,所以无法访问。

硬链接:能访问。硬链接是与原文件共享同一个inode,原文件删除后,硬链接仍然指向该文件的inode,所以可以通过硬链接访问到文件内容。

2.文件内容查看与编辑

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

复制代码
[root@localhost ~]# head /etc/passwd

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

复制代码
[root@localhost ~]# echo "这是追加的测试内容" >> copy_of_test.txt
[root@localhost ~]# cat copy_of_test.txt

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

复制代码
[root@localhost ~]# vim copy_of_test.txt

:%s/测试/练习/g  #回车
: x             #回车

3.综合操作

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

复制代码
[root@localhost ~]# mkdir /home/backup
[root@localhost ~]# cp /etc/*.conf /home/backup

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

复制代码
[root@localhost ~]# ls /home/backup | wc -l

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

复制代码
[root@localhost ~]# tar -czf etc_backup.tar.gz /home/backup 
[root@localhost ~]# rm -rf /home/backup

4.文件权限管理

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

复制代码
[root@localhost ~]# chown user1:group1 copy_of_test.txt

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

复制代码
[root@localhost ~]# chmod 754 copy_of_test.txt

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

复制代码
[root@localhost ~]# ls -l copy_of_test.txt

5.用户和用户组基础操作

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

复制代码
[root@localhost ~]# useradd -s /bin/bash newuser1

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

复制代码
[root@localhost ~]# groupadd newgroup1
[root@localhost ~]# usermod -a -G newgroup1 newuser1

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

复制代码
[root@localhost ~]# userdel newuser1

6.文件和目录权限设置与修改

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

复制代码
[root@localhost ~]# mkdir perm_test_dir
[root@localhost ~]# touch perm_test_file.txt
[root@localhost ~]# chmod 750 perm_test_dir
[root@localhost ~]# chmod 644 perm_test_file.txt

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

复制代码
[root@localhost ~]# chgrp -R newgroup1 perm_test_dir

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

复制代码
[root@localhost ~]# chmod -R 774 perm_test_dir

7.写出通过dnf安装cockpit的详细过程。

复制代码
确保系统连接到网络,在管理员权限下执行安装cockpit命令:dnf -y install cockpit
dnf 会自动解析依赖关系,下载并安装cockpit和其需要用到的相关软件包
安装完成后启动cockpit服务: systemctl start cockpit.socket
再设置开机自启: systemctl enable cockpit.socket

8.vim练习题

复制代码
# test文件内容

Red Hat Enterprise Linux release 9.3 (Plow)
NAME="Red Hat Enterprise Linux"
VERSION="9.3 (Plow)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="9.3"
PLATFORM_ID="platform:el9"
PRETTY_NAME="Red Hat Enterprise Linux 9.3 (Plow)"
ANSI_COLOR="0;31"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:redhat:enterprise_linux:9::baseos"
HOME_URL="https://www.redhat.com/"
DOCUMENTATION_URL="https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9"
BUG_REPORT_URL="https://bugzilla.redhat.com/"

REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 9"
REDHAT_BUGZILLA_PRODUCT_VERSION=9.3
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="9.3"

(1).使用快捷键将光标快速移动到文件的第 3 行第 5 个字符处

复制代码
打开vim test.txt文件后,
在命令模式下,输入3G可以将光标快速移动到第 3 行的行首,
然后输入5l(l表示向右移动一个字符,输入5l即向右移动 4 个字符),
即可将光标移动到第 3 行第 5 个字符处。

(2).删除文件中第二行的所有内容,然后撤销该删除操作

复制代码
在命令模式下,将光标移动到第二行(可以使用2G快速定位到第二行),
输入dd即可删除当前行(即第二行)的所有内容。
删除后,输入u命令,即可撤销上一步的删除操作,恢复第二行内容。

(3).复制文件的前两行内容,并粘贴到文件末尾,形成一个新的段落,最后保存文件

复制代码
在命令模式下,将光标移动到第一行,输入2yy复制当前行及下一行(即前两行)的内容。
然后将光标移动到文件末尾(可以使用G快速定位到文件末尾),输入p将复制的内容粘贴到文件末尾。
完成操作后,输入:w保存文件。

(4). vim test.txt文件中查找 "Linux" 这个单词,并统计其出现的次数

复制代码
在命令模式下,输入/Linux,
然后按回车键,vim 会自动定位到第一个 "Linux" 出现的位置。
继续按n键可以查找下一个 "Linux",按N键查找上一个。
若要统计出现的次数,可以在命令模式下输入:%s/Linux//gn,
其中%表示在整个文件范围内,s表示替换操作,//表示查找 "Linux",
g表示全局替换(即查找每一处),n表示只显示匹配次数而不进行实际替换,
执行该命令后,vim 会在底部显示 "Linux" 出现的次数。

(5).将文件中所有的 "Linux" 替换为 "RHEL 系统",要求在替换前显示替换提示

复制代码
在命令模式下,输入:%s/Linux/RHEL系统/gc,
其中%表示整个文件,s表示替换,Linux是要查找的内容,
RHEL系统是替换后的内容,g表示全局替换,c表示在每次替换前显示确认提示,
输入y确认替换,n跳过本次替换 。

(6).在文件中查找以 "LOGO" 开头的行,并将光标定位到该行

复制代码
在命令模式下,输入/^LOGO,然后按回车键,vim 会自动将光标定位到以 "LOGO" 开头的行。
其中^表示匹配行首。
相关推荐
egoist20239 小时前
[linux仓库]信号保存[进程信号·肆]
linux·开发语言·信号集·信号保存·sigpending
keep intensify9 小时前
Redis基础指令全解析:从入门到精通
linux·数据库·c++·redis
Industio_触觉智能9 小时前
RK3562核心板/开发板RT-Linux系统实时性及硬件中断延迟测试
linux·嵌入式开发·瑞芯微·rk3562·rt linux·xenomai rt·preempt_rt
爱吃生蚝的于勒9 小时前
【Linux】零基础学会linux环境基础开发工具使用(yum,vim,makefile,gdb)
linux·服务器·数据结构·c++·蓝桥杯·编辑器·vim
本贾尼10 小时前
Linux系统下的终端,会话,shell,bash,进程组这几个概念的关系。
linux·服务器·网络·ubuntu·bash
零基础的修炼10 小时前
Linux---线程封装
linux·c++·算法
---学无止境---10 小时前
Linux中比较两个字符串的前count个字符的汇编实现
linux
文火冰糖的硅基工坊10 小时前
[嵌入式系统-115]:鸿蒙操作系统(HarmonyOS)与欧拉操作系统(openEuler)、Linux操作系统的关系、比较及异同如下:
linux·服务器·科技·华为·重构·架构·harmonyos
2401_8370885010 小时前
Redis的vim基本操作
linux·编辑器·vim