linux第一次作业

1. 基础文件和目录操作

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

[root@localhost ~]# cd /
[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_file.txt /tmp/copy_of_test.txt
[root@localhost /]# cd tmp
[root@localhost tmp]# ls

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

[root@localhost test_dir]# cd ..
[root@localhost /]# rm -r test_dir
rm: descend into directory 'test_dir'? y
rm: remove regular empty file 'test_dir/test_file.txt'? y
rm: remove directory 'test_dir'? y
[root@localhost /]# lsafs bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var

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

[root@localhost /]# mkdir 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
[root@localhost test_dir]# ls
hard_link.txt soft_link.txt test_file.txt

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

[root@localhost test_dir]# rm test_file.txt 
rm: remove regular empty file 'test_file.txt'? y
[root@localhost test_dir]# ls
hard_link.txt  soft_link.txt

原因:软链接依赖于原始文件,原始文件被删除后,软链接就会失效

硬链接不依赖于原始文件名,只要还有一个硬链接存在,文件数据就不会丢失。

2. 文件内容查看与编辑

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

[root@localhost ~]# head /etc/passwd
rootx0:0:root:/root:/bin/bash
binx1:1:bin:/bin:/sbin/nologin
daemonx2:2:daemon:/sbin:/sbin/nologin
admx3:4:adm:/var/adm:/sbin/nologin
lpx4:7:lp:/var/spool/lpd:/sbin/nologin
syncx5:0:sync:/sbin:/bin/sync
shutdownx6:0:shutdown:/sbin:/sbin/shutdown
haltx7:0:halt:/sbin:/sbin/halt
mailx8:12:mail:/var/spool/mail:/sbin/nologin
operatorx11:0:operator:/root:/sbin/nologin

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

[root@localhost ~]# echo "这是追加的测试内容" >> copy_of_test.txt
[root@localhost ~]# vim copy_of_test.txt

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

:%s/测试/练习/g

:wq

3. 综合操作

​ (1).在/home目录下创建一个名为backup的目录,将/etc目录下所有以.conf结尾的文件复制到backup目录中。
[root@localhost ~]# cd /home
[root@localhost home]# mkdir backup
[root@localhost home]# ls
backup  rhce
 
[root@localhost ~]# cp /etc/*.conf /home/backup
[root@localhost ~]# cd /home
[root@localhost home]# vim backup

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

[root@localhost ~]# ls /home/backup | wc -l
33

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

[root@localhost ~]# tar -czvf /home/etc_backup.tar.gz -C /home backup
 
[root@localhost ~]# ls /home
backup  etc_backup.tar.gz  rhce
 
[root@localhost ~]# rm -rf /home/backup
[root@localhost ~]# ls /home
etc_backup.tar.gz  rhce

 4. 文件权限管理

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

[root@localhost ~]# chown user1:group1 copy_of_test.txt 
chown: invalid group: ‘user1:group1’

 (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 
-rwxr-xr--. 1 root root 28 Oct 16 19:28 copy_of_test.txt

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

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

[root@localhost ~]# useradd -m -s /bin/bash newuser1

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

[root@localhost ~]# groupadd newgroup1
 
[root@localhost ~]# usermod -aG 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_dir/perm_test_file.txt
[root@localhost ~]# chmod 750 perm_test_dir
[root@localhost ~]# chmod 644 perm_test_dir/perm_test_file.txt

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

[root@localhost ~]# chown -R :newgroup1 perm_test_dir

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

[root@localhost ~]# chown -R 755 perm_test_dir

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

一、安装 Cockpit 软件包

使用 `dnf` 命令安装 Cockpit:

    dnf install cockpit -y

该命令会从默认仓库下载并安装 Cockpit 及其依赖包2。

二、启动并启用 Cockpit 服务

安装完成后,需启动 Cockpit 服务并设置为开机自启:

    systemctl enable --now cockpit.socket 

三、配置防火墙放行端口

Cockpit 默认使用 9090 端口,需在防火墙中放行:

    firewall-cmd --permanent --add-service=cockpit
    firewall-cmd --reload 

四、访问 Cockpit Web 界面

1. 在浏览器中输入 `https://<服务器IP>:9090` 访问登录页面
2. 使用系统的用户名和密码登录(默认禁止 root 用户登录,需修改 `/etc/cockpit/disallowed-users` 文件注释 `root`)

8.vim 练习题

分类    选项    作用说明    示例
文件操作    -o 或 -O    -o 水平分割窗口打开多个文件;-O 垂直分割窗口打开多个文件。    vim -o file1.txt file2.txt(水平分割窗口打开两个文件)vim -O file1.txt file2.txt(垂直分割窗口打开两个文件) ctrl+w+w
-R    以只读模式打开文件,防止误修改。    vim -R config.txt(只读模式打开config.txt文件)
-M    与 -R 类似,但不允许强制写入,更严格的只读模式。    vim -M important_file.txt(严格只读打开文件)
+[num]    打开文件后,将光标定位到指定行号num处。    vim +10 script.sh(打开script.sh后,光标定位到第 10 行)
+/{pattern}    打开文件后,自动搜索并将光标定位到第一个匹配pattern的位置。    vim +/function_name main.c(打开main.c后,定位到首个出现function_name的位置)
搜索与替换    --cmd    在启动 vim 时执行指定命令,常用于设置搜索或替换规则。    vim --cmd ":%s/old/new/g"(打开文件时自动执行全文替换)
模式    分类    快捷键 / 指令    功能说明
命令模式    光标移动    w    移动到下一个单词的开头
W    移动到下一个以空格分隔的单词开头
b    移动到当前单词的开头
B    移动到上一个以空格分隔的单词开头
e    移动到当前单词的结尾
E    移动到当前以空格分隔的单词结尾
0    移动到当前行首
^    移动到当前行第一个非空白字符处
$    移动到当前行尾
gg    移动到文件开头
G    移动到文件结尾
nG    移动到第 n 行(n 为数字)
文本删除    x    删除光标所在字符
X    删除光标前一个字符
dd    删除当前行
ndd    删除从当前行开始的 n 行
d0    删除从光标处到行首的内容
d$    删除从光标处到行尾的内容
dw    删除从光标处到下一个单词开头的内容
dG    删除从当前行到文件结尾的内容
dgg    删除从当前行到文件开头的内容
文本复制    yy    复制当前行
nyy    复制从当前行开始的 n 行
y0    复制从光标处到行首的内容
y$    复制从光标处到行尾的内容
yw    复制从光标处到下一个单词开头的内容
yG    复制从当前行到文件结尾的内容
ygg    复制从当前行到文件开头的内容
文本粘贴    p    在光标后粘贴复制 / 删除的内容
P    在光标前粘贴复制 / 删除的内容
np    粘贴 n 次复制 / 删除的内容
文本修改    r    替换光标所在字符(输入新字符后生效)
R    进入替换模式,持续替换光标后的字符
cc    删除当前行并进入插入模式
cw    删除从光标处到单词结尾的内容并进入插入模式
~    切换光标所在字符的大小写
J    将当前行与下一行合并
撤销与重做    u    撤销上一步操作
Ctrl + r    重做上一步被撤销的操作
:u n    撤销前 n 步操作
插入模式    进入方式    i    在光标当前位置插入
I    在当前行首插入
a    在光标后插入
A    在当前行尾插入
o    在当前行下方新建一行并插入
O    在当前行上方新建一行并插入
可视化模式    进入方式    v    字符可视化模式(选中单个字符)
V    行可视化模式(选中整行)
Ctrl + v    块可视化模式(选中矩形块)
操作指令    d    删除选中内容
y    复制选中内容
c    删除选中内容并进入插入模式
>    将选中内容向右缩进
<    将选中内容向左缩进
~    切换选中内容的大小写
U    将选中内容转为大写
u    将选中内容转为小写
命令行模式    文件操作    :w    保存文件
:w filename    另存为 filename 文件
:q    退出 vim(无修改时)
:q!    强制退出,不保存修改
:wq 或 :x    保存并退出
:e filename    打开另一个文件 filename
:e!    放弃修改,重新加载当前文件
:r filename    将 filename 文件内容插入到当前光标位置
:r !command    将 Shell 命令 command 的输出插入到当前光标位置
查找替换    /pattern    向下查找 pattern
?pattern    向上查找 pattern
:noh    取消高亮显示查找结果
:%s/old/new/g    全文替换 old 为 new
:%s/old/new/gc    全文替换,每次替换前确认
:n1,n2s/old/new/g    在 n1 到 n2 行之间替换 old 为 new
窗口操作    :split 或 :sp    水平分割窗口
:vsplit 或 :vsp    垂直分割窗口
:close    关闭当前窗口
:only    关闭其他窗口,只保留当前窗口
配置设置    :set nu    显示行号
:set nonu    隐藏行号
:set hlsearch    高亮显示查找结果
:set nohlsearch    关闭查找结果高亮

(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” 开头的行。其中^表示匹配行首。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值