Linux实验 系统管理(一)

  • 实验目的:
  1. 掌握Linux系统文件检索、排序、查找命令;
  2. 掌握Linux系统文件的特殊权限及文件默认权限umask掩码;
  3. 掌握Linux系统用户和组管理、配置文件和常用命令。

  • 实验内容:

在VMware中启动已经安装好的CentOS,本地登录root账号,并在桌面上打开终端,完成以下任务,截图并粘贴于以下空行中。

或者在启动CentOS后,打开putty或者MobaXterm,远程登录root账号,完成以下任务,截图并粘贴于以下空行中。

  1. grep与正则表达式的练习

grep格式: grep [选项] 字符串 [文件…]

注:需要查找的字符串最好加上引号

grep的常用选项:

-i :忽略大小写(ignore case)

-v :反过来(invert),只打印没有匹配的,而匹配的反而不打印

-n :显示行号

-w :被匹配的文本只能是单词,而不能是单词中的某一部分,如文本中有liker,而我搜寻的只是like,就可以使用-w选项来避免匹配liker

-c :显示总共有多少行被匹配到了,而不是显示被匹配到的内容,注意如果同时使用-cv选项是显示有多少行没有被匹配到

-A  n:显示匹配到的字符串所在的行及其后n行,after

-B  n:显示匹配到的字符串所在的行及其前n行,before

-C  n:显示匹配到的字符串所在的行及其前后各n行,context

正则表达式的模式匹配字符

元字符

作用

.

匹配除了换行符外任意一个字符。例如:s..d会匹配在s和d这两个字母之间一定有两个字符的字符串所在的行。

*

匹配前一个字符0次或任意多次。例如:aa*匹配至少包含有一个a的行。

^

匹配行首。例如:^hello会匹配以hello开头的行。

$

匹配行尾。例如:hello$会匹配以hello结尾的行。

[]

匹配中括号中指定的任意一个字符,只匹配一个字符。 例如:[aoeiu] 匹配任意一个元音字母,[0-9] 匹配任意一位数字, [a-z][0-9]匹配小写字和一位数字构成的两位字符。

[^]

匹配除中括号的字符以外的任意一个字符。例如:[^0-9] 匹配任意一位非数字字符,[^a-z] 表示任意一位非小写字母。

\

转义符。用于去掉有特殊意义的元字符的含义,恢复其原义。

{n}

匹配前一个字符恰好出现n次。例如:[0-9]{4} 匹配4位数字,[1][3-8][0-9]{9} 匹配手机号码。使用时需要在大括号前加上\。

{n,}

匹配前一个字符至少出现于n次。例如: [0-9]{2,} 匹配2位及以上的数字。使用时需要在大括号前加上\。

{n,m}

匹配前一个字符至少出现n次,最多出现m次。例如: [a- z]{6,8} 匹配6到8位的小写字母。使用时需要在大括号前加上\。

完成以下练习:

利用SSH远程工具将myrefile.txt的文本文件复制到虚拟机中的/temp目录中。

查看此文件的内容。

匹配此文件中以love开头的所有行。

匹配此文件中以love.结尾的所有行。

匹配此文件中含有love或Love的行,并显示所在行号。

匹配此文件中o字符重复出现3次的行,并显示所在行号。

匹配此文件中o字符重复2到4次的行。

匹配此文件中出现you的行和其后1行,并显示所在行号。

匹配此文件中所有以大写字母开头的行,并显示所在行号。

匹配此文件中所有以英文句点“.”结尾的行。(提示:可以结合[]试试)

匹配此文件中所有含有单词love或Love的行。(提示:-w,注意与6) 的不同)

匹配此文件中所有仅由4个小写字母的单词所在的行(-w)。

find命令的练习(类似命令locate)

find格式:find [路径……] [选项] [表达式]

常用选项:

-name:按文件名,-iname忽略大小写

-user:按文件属主(拥有者)名称

-type:按文件类型

f   普通文件

d   目录

b   块文件(缓冲)

c   字符文件(不缓冲)

l   符号链接

p   命名管道(FIFO)

s   套接字

-size:按文件大小

-mtime:按文件修改时间(单位:天)

-mtime n : 列出在n天之前的“一天之内”被更改过内容的文件名

-mtime +n : 列出在n天之前(不含n天本身)被更改过内容的文件名

-mtime -n : 列出在n天之内(含n天本身)被更改过内容的文件名

-atime:按文件访问(存取)时间(单位:天)

-perm:按权限

完成以下练习:

在根目录/下查找 大于2MB的文件。只截取前5个文件。

在根目录/下查找3天内没有访问过的目录。只截取前5个文件。

在根目录/下查找所有以.sh为扩展名的文件。只截取前5个文件。

在根目录/下查找所有以.sh为扩展名且文件属主为root的文件。只截取前5个文件。

在根目录/下将查找到的超过30天没有访问过文件以长格式的详细格式写入文件名为over30.txt的文件中。

find  /tmp  -atime  +30  -exec ls -l {} \; > over30.txt

其中,{}代表的是由 find 找到的内容,找到的结果会被放置到 {} 位置中。

“-exec”和“\;” 是关键字,代表find之后额外动作的开始(-exec)和结束(\;),在这中间的就是find指令的额外动作。因为“;”在bash的环境下是有特殊意义的,因此需要使用转义符——反斜线\。

在/tmp目录下用touch命令一次创建三个空文件,文件名分别为test1、test2、test3。再利用通配符查找这三个文件,并同时将这三个文件删除。(提示:类似上一题,使用 -exec      {} \;)

sort命令的练习

sort格式:sort [选项] [文件名]

常用选项:除了教材介绍的选项外,这里补充两个选项

-f:忽略字符的大小写

-t:指定排序时所用的栏位(列)分隔符。如 -t :,表示以“:”作为栏位分隔符

完成以下练习:

利用SSH远程工具将myrsort.txt的文本文件复制到虚拟机中的/tmp目录中。

查看此文件的内容。

对此文件按每行的第一个字符进行排序输出。

对此文件按每行的第一个字符进行逆序输出。

对此文件以“:”作为分隔符的第3列,按字符进行排序输出。

对此文件以“:”作为分隔符的第3列,按数字进行排序输出。

对此文件以“.”作为分隔符的第2列,按数字进行排序输出。

查看系统中root用户和普通用户的umask掩码分别是多少。

切换到root用户,在/tmp目录下新建一个空文件和一个目录,分别查看它们的默认权限分别是什么?

模仿查看passwd的方法,查看自己虚拟机中CentOS7中四个主要配置文件的前后各5行,并截图于每题的空行处,注意理解文件中各字段的含义。

passwd

head -5 /etc/passwd; tail -5 /etc/passwd

shadow

group

gshadow

账户和组的管理命令的练习。

账户管理命令:useradd、usermod、userdel、passwd

组管理命令:groupadd、groupmod、gropudel、gpasswd

创建普通用户Tom,同时设置其过期日期(自行设定),格式为2021-10-30。接着查看/etc/passwd文件中查看刚刚添加的用户(在文件的最后)。由于没有修改有关的默认值,注意查看此用户主目录、所在组等默认信息。

为新用户Tom设置密码,密码自行设定(管理员给普通用户设置密码时,即使密码过短或过于简单,在提示出错时,再重新输入相同的密码即可)。

切换到用户Tom,并用设置好的密码登录,登录后修改自己的密码。

切换到root用户,创建一个名为gr_R的普通组,并查看/etc/group最后一行是否添加成功。

将用户Tom添加到gr_R这个普通组中(gpasswd命令),并查看/etc/group最后一行是否添加成功。

锁定用户Tom的账号,切换到用户Tom,查看是否可以登录。

切换到root用户,解除对用户Tom的锁定,并切换到用户Tom,查看是否可以登录。

删除用户Tom,并在/etc/passwd中查看结果。(若提示该用户正在使用某进程,可使用ctrl+d(或输入exit)退出root用户,系统会自动回到Tom用户;再次使用ctrl+d退出Tom用户,此时系统会自动返回到root用户,此时可正常删除用户。如若不行,重复上述过程再试)

删除普通组gr_R,并在/etc/group中查看结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值