RHCSA第四天作业

作业要求:

RHCSA第四天作业_第1张图片

 文件查找

(1)目录及其子目录中,查找2天前被更改过的文件

[root@localhost ~]# find  $HOME -mtime +1
/root/.bash_logout
/root/.bash_profile
/root/.bashrc
/root/.cshrc
/root/.tcshrc
/root/anaconda-ks.cfg
/root/.cache

(2)在/etc/目录下查找以host开头的文件

[root@localhost ~]# find /etc/ -name "host*" -print
/etc/host.conf
/etc/hosts
/etc/avahi/hosts
/etc/hostname
/etc/nvme/hostnqn
/etc/nvme/hostid

(3)在/test下面查找目录文件

[root@localhost ~]# find /test/ -type d
/test/
/test/fff
/test/ggg
/test/hhh
/test/jjj
[root@localhost ~]# 

(4)在/test目录及子目录中,查找超过2kb的文件

[root@localhost ~]# find /test -size +2k

打包压缩

(1)将/test目录下的所有文件和文件夹全部压缩成myfile.zip文件

[root@localhost ~]# zip -r myfile.zip /test
  adding: test/ (stored 0%)
  adding: test/aaa (stored 0%)
  adding: test/bbb (stored 0%)
  adding: test/ccc (stored 0%)
  adding: test/eee (stored 0%)
  adding: test/fff/ (stored 0%)
  adding: test/ggg/ (stored 0%)
  adding: test/hhh/ (stored 0%)
  adding: test/jjj/ (stored 0%)

(2)把myfile.zip文件解压到/opt

[root@localhost ~]# unzip myfile.zip -d /opt
Archive:  myfile.zip
   creating: /opt/test/
 extracting: /opt/test/aaa           
 extracting: /opt/test/bbb           
 extracting: /opt/test/ccc           
 extracting: /opt/test/eee           
   creating: /opt/test/fff/
   creating: /opt/test/ggg/
   creating: /opt/test/hhh/
   creating: /opt/test/jjj/

(3)将/opt目录下的文件全部打包并用gzip压缩成/test/newfile.tar.gz

[root@localhost ~]# tar -cavf /test/newfile.tar.gz /opt
tar: 从成员名中删除开头的“/”
/opt/
/opt/test/
/opt/test/aaa
/opt/test/bbb
/opt/test/ccc
/opt/test/eee
/opt/test/fff/
/opt/test/ggg/
/opt/test/hhh/
/opt/test/jjj/

(4)查看/test/newfile.tar.gz文件中有哪些文件?

 [root@localhost test]# zcat newfile.tar.gz
 opt/0000755000000000000000000000000014272220265010360 5ustar  
 rootrootopt/test/0000755000000000000000000000000014272217431011340 5ustar  
 rootrootopt/test/aaa0000644000000000000000000000000014272217365012001 0ustar  
 rootrootopt/test/bbb0000644000000000000000000000000014272217372012002 0ustar  
 rootrootopt/test/ccc0000644000000000000000000000000014272217376012011 0ustar  
 rootrootopt/test/eee0000644000000000000000000000000014272217402012005 0ustar  
 rootrootopt/test/fff/0000755000000000000000000000000014272217413012101 5ustar  
 rootrootopt/test/ggg/0000755000000000000000000000000014272217423012105 5ustar  
 rootrootopt/test/hhh/0000755000000000000000000000000014272217426012113 5ustar  
 rootrootopt/test/jjj/0000755000000000000000000000000014272217431012115 5ustar  rootr
 [root@localhost test]# 

(5)在/test目录内,备份/etc下所有的文件并保留其权限

[root@localhost test]# cp -r /test /etc
[root@localhost test]# ll /test
总用量 16
-rw-r--r--.   1 root root    0 8月   2 08:56 aaa
-rw-r--r--.   1 root root    0 8月   2 08:56 bbb
-rw-r--r--.   1 root root    0 8月   2 08:56 ccc
-rw-r--r--.   1 root root    0 8月   2 08:56 eee
drwxr-xr-x. 145 root root 8192 8月   2 09:32 etc
drwxr-xr-x.   2 root root    6 8月   2 08:56 fff
drwxr-xr-x.   2 root root    6 8月   2 08:56 ggg
drwxr-xr-x.   2 root root    6 8月   2 08:56 hhh
drwxr-xr-x.   2 root root    6 8月   2 08:56 jjj
-rw-r--r--.   1 root root  265 8月   2 09:17 newfile.tar.gz

别名

1.当前用户永久生效的命令别名

(1)写一个命令命为hello,实现的功能为每输入一次hello命令,就有hello,everyone写入文件/file.txt中。

alias hello='echo "hello,everyone" >> /file.txt'
[root@localhost ~]# hello
[root@localhost ~]# cat /file.txt
hello,everyone

(2)写一个命令别名为shiuaxin,实现的功能为每输入一次该命令,file.txt文件的所有时间就更新为当前时间。

alias gengxin='chmod a+rw /file.txt;cat /file.txt;echo " " >> /file.txt'
[root@localhost /]# gengxin
hello,everyone
hello,everyone
hello,everyone
hello,everyone
hello,everyone
 
[root@localhost /]# stat /file.txt
  文件:/file.txt
  大小:79        	块:8          IO 块:4096   普通文件
设备:fd00h/64768d	Inode:1229309     硬链接:1
权限:(0666/-rw-rw-rw-)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:etc_runtime_t:s0
最近访问:2022-08-02 07:44:53.511632255 -0400
最近更改:2022-08-02 07:44:53.512632264 -0400
最近改动:2022-08-02 07:44:53.512632264 -0400
创建时间:2022-08-02 06:52:48.287536885 -0400
[root@localhost /]# gengxin
hello,everyone
hello,everyone
hello,everyone
hello,everyone
hello,everyone
 
 
[root@localhost /]# stat /file.txt
  文件:/file.txt
  大小:81        	块:8          IO 块:4096   普通文件
设备:fd00h/64768d	Inode:1229309     硬链接:1
权限:(0666/-rw-rw-rw-)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:etc_runtime_t:s0
最近访问:2022-08-02 07:46:00.263268416 -0400
最近更改:2022-08-02 07:46:00.263268416 -0400
最近改动:2022-08-02 07:46:00.263268416 -0400
创建时间:2022-08-02 06:52:48.287536885 -0400

2.所有用户生效的命令别名

写一个所有用户都生效的命令别名为hh,每一个用户输入这个命令之后可以在该用户家目录下创建一个file1文件

[root@localhost ~]# vim /etc/bashrc
alias hh='touch file1'
[root@localhost ~]# su redhat
[redhat@localhost root]$ hh
touch: 无法创建 'file1': 权限不够

用户管理

1.新建一个名为sarah的用户,不属于adminuser组,并将其设置为不可登录shell

[root@localhost ~]# useradd -s /sbin/nologin sarsh
[root@localhost ~]# su sarsh
此帐户目前不可用。

2.创建alex用户,使其满足以下要求:用户id为3456,描述名为alian,密码为glegunge

[root@localhost ~]# useradd -u 3456 -c alian alex
useradd:警告:此主目录已经存在。
不从 skel 目录里向其中复制任何文件。
正在创建信箱文件: 文件已存在
[root@localhost ~]# cat /etc/passwd
alex:x:3456:3456:alian:/home/alex:/bin/bash
[root@localhost ~]# passwd alex
更改用户 alex 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

总结

1、查找文件的路径
      which:基于环境变量路径,查找可执行文件
      where is:基于环境变量路径,查找所有文件,可以找到对应文件,配置文件以及帮助手册文件
      locate:按照字符查找而非文件名,基于系统中的数据库查找,全局查找
      find:可以实现全局搜索。
    -name:根据文件名搜索
    -size:根据文件大小搜索
    -newer   f1 !f2:查找比文件  f1  新但比  f2  旧的文件
    -user:查找用户文件
    -perm:以权限查找(mode为完全匹配,-mode为包含)
    -group:以组查找
          -exec ......{}\;   :把前面命令的输出结果交给后面的命令处理
2、压缩和解压缩
     zip:压缩  例:zip a.txt.zip  a.txt
     unzip:解压缩
     zip -d
     zip -m
     unzip -v:显示压缩包详细信息,但不解压
     gzip: 将原文件直接压缩,原文件不在
    -r:压缩目录下的文件,并不压缩目录
     gunzip:将文件解压,原文件不在
     zcat:查看压缩包里的文件,对 gzip 文件
3、tar归档命令 
    -c  创建.tar格式的包文件
    -x  释放.tar格式的包文件
    -t  查看包中的文件列表
     打包后压缩
    tar -czvf 12345.tar.gz 1 2 3 4 5  
4、shell
    取消变量:unset +变量名
    查看变量:echo $+变量名
    定义别名:alias  别名 = '原命令'
    查看别名:alias
    删除别名:unalias
      要使别名永久生效,可以将其写入配置文件/etc/bashrc或者,要使别名对指定用户生效,就将别名写入~/.bashrc。写入配置文件后运行bash命令使其生效。
5、命令历史
    history:查看命令历史
    清空历史文件:history -c (清空缓存区历史命令文件)
                history -w  (保存缓存区历史文件,即将当    前历史命令缓存区命令写入历史命令文件中)
    命令匹配顺序:alias--->  hash---->$PATH
6、清楚当前终端所有命令缓存:hash -r
      查看命令缓存:hash
7、AAA认证:认证机制,授权机制,审计机制。
8、用户类别
     管理员:uid=0
     普通用户:1-65535个用户
    系统用户:1-999个用户
    一般用户:1000-60000个用户
     添加用户:useradd   用户名
          adduser   用户名
     查看对应用户的id值:id 用户名
     查看用户:cat /etc/passwd
     组:
    管理组:gid=0
    普通组:gid=1-65535
        主组,默认组,基本组
        附加组
    /bin/bash(交互式验证登录shell)
    /sbin/nonlgin(非交互式验证登录shell)
     更改用户名:usermod -l  新名  旧名

              usermod  旧名   -l   新名
     更改uid,组id,附加组,注释:usermod -u 1111 -g 1002 -G redhat -c tashizhangsan
     useradd:
    -u  更改uid
    -g  更改基本组
    -G  更改附加组
    -d  更改家目录
    -c  更改描述信息
    -s  更改shell
    -r  添加为系统用户1-999
     usermod:
    -u  更改uid
    -g  更改基本组
    -G  更改附加组
    -d  更改家目录
    -c  更改描述信息
    -s  更改shell
    -r  添加为系统用户1-999
    -l  新用户名--更改用户名称
    -L 锁定用户账户,使其不能登录使用
    -U 解锁用户账户
     删除用户:userdel 
        -r(递归删除)
     设置密码:passwd 用户名
          echo 密码 | passwd -- stdin 用户名

你可能感兴趣的:(linux,运维)