RHCSA第四天

基础知识介绍: 

1.查找文件的路径

whereis     可以搜索系统命令的可执行文件路径和说明文档   基于$path查找
which         which 是搜索系统命令的可执行文件     基于$path查找
locate        按照数据库搜索,搜索速度快,消耗资源小。可以使用updatedb 命令强制更新数据库。    全局搜素
find            可按照文件名、大小、时间、权限、类型、所属者、所属组来搜索文件    全局搜素
        -name     匹配名称
        -size        匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件)
       -mtime -n +n      匹配修改内容的时间(-4指小于等于4天内的文件名;+4,大于等于5天前的文件名;4指前4~5那一天的文件)
       -atime -n +n       匹配访问文件的时间
       -ctime -n +n       匹配修改文件权限的时间
       -newer f1 !f2      匹配比文件f1新但比f2旧的文件
       -perm          匹配权限(mode为完全匹配,-mode为包含即可)
       -user           匹配所有者
       -group        匹配所有组
       -nouser       匹配无所有者的文件
       -nogroup   匹配无所属组的文件
       -type  b/d/c/p/l/f     匹配文件类型(后面的字母参数依次表示块设备、目录、字符设备、管道、链接文件、文本文件)
       -prune     忽略某个目录
       -exec …… {}\;    后面可跟用于进一步处理搜索结果的命令

2.压缩和解压缩

zip和unzip命令
     zip: 可以压缩文件和目录。
    语法: zip FILE
    语法: unzip FILE

将当前目录dir1连同目录下文件一起压缩
    [root@localhost test]# zip -r dir1.zip dir1/
向压缩文件中test1.zip中添加test2. txt文件
    [root@localhost test]# zip -m test1.zip test2.txt
删除压缩文件中的文件 
    [root@localhost test]# zip -d test1.zip test2.txt

gzip和gunzip命令
    注:查看压缩过的文本文件内容: zcat、zless 。 zcat 文件名.gz

bzip2、bunzip2命令
    注:查看压缩过的文件内容: bzcat、bzless 。 bzcat 文件名.bz2

xz、unxz命令
    注:查看压缩过的文件内容: xzcat、xzless 。 xzcat 文件名.xz

 3.tar归档命令

格式: tar [选项] [args]……
选项:任选其一
    -c     创建.tar格式的包文件
    -x     释放.tar格式的包文件
    -t     查看包中的文件列表
必选项:
    -f     用于指定打包文件名。
            当与-c选项一起使用时,创建的tar包文件使用该选项指定的文件名
            当与-x选项一起使用时,则释放该选项指定的tar包文件
辅助选项:
    -v    表示在命令执行时显示详细的提示信息
    -p    打包时保留文件及目录的权限
     z     调用gzip程序,以gzip格式压缩或解压缩文件(.tar.gz)
    -j     调用bzip2程序,以bzip2格式压缩或解压缩文件(.tar.bz2)
    -J    使用xz压缩或解压缩文件(.tar.xz),xz的压缩率通常比bzip2更高
    -C (大写字母C) 和-x选项一起使用,表示释放包时指定释放的目标路径

创建(非压缩的)打包文件,将指定的一个或多个文件或目录备份生成为一个指定的包文件
    tar cvf/cfv/-cvf 文件名.tar 要打包的目录或文件名列表……

4.文件上传下载

sftp是一个交互式文件传输命令
    # sftp [email protected]
scp具有和ssh一样的验证机制,从而可以实现2台机器安全的远程拷贝文件
    scp可以概括为: scp -P 端口 文件路径 用户名@主机地址:远程目录
scp具有和ssh一样的验证机制,从而可以实现2台机器安全的远程拷贝文件
    scp可以概括为: scp -P 端口 文件路径 用户名@主机地址:远程目录
rz命令与sz命令
    命令格式: rz [选项] [filelist]

5.命令解释器-shell

type 命令查看命令是file、alias还是builtin
    type -a 列出当前命令可以如何执行
    type -t 仅列出命令按照哪种方式执行

(1)、普通变量
设置变量:
    变量命名的规则:只能使用数字、字母和下划线,且不能用数字开头
    变量名和变量值用“=”连接
    等号两边不能有空格符
 (2)、环境变量
 (3)、显示与取消变量
    用 unset 消除本地变量和环境变量
    [root@www ~]$ unset +变量名

6.Linux 中的特殊符号

    ;    可使用分号分隔多条命令
    *    匹配任意零个或者多个字符    不能用于创建文件
    ?  匹配任意单个字符    不能用于创建文件
    [ ]  匹配方括号中的任意一个字符,表示范围可以用"-”   不能用于创建文件
    [^]或者[!]    匹配方括号中的任意一个字符或数字后进行取反 用于查找和删除文件,   不用于创建文件
    {string,string}    匹配括号中的任意一个字符串,表示一个范围时,字符串之间个".."    可用于创建、查看、删除文件\ 使\后面的特殊字符失效
    `    反引号,一般用于引用命令,执行的时候反引号里面的命令会被执行,与$()作用相同 '
    ''    单引号,将单引号内的所有内容都原样输出
    "    双引号,除了几个特殊字符外,将双引号内的几乎所有内容都原样输出    ”$“和“\”以及“ ` ”在双引号里面仍然保留自己的特殊含义

7.命令别名

      语法: alias 别名=’原命令 [选项]…… [参数]……’
    #删除别名: [root@node13 ~]#unalias 别名
提供alias永久化的方法(所有用户):
    vim /etc/bashrc写入
    source /etc/bachrc读取

8.命令历史

history 命令可以查阅命令历史记录 ,也可在命令行利用向上或向下光标键来进行查询。
    语法: history [选项] [参数]
        -c:清空当前历史命令 
        -a [file]:后面没跟文件时,默认将缓冲区中历史命令写入~/.bash_history中 -r [file]:将历史命令文件中的命令读入当前历史命令缓冲区中 
        -w:将当前历史命令缓冲区命令写入历史命令文件中;
         cat /etc/profile | grep HIST


9.AAA认证

   AAA:分别为Authentication、Authorization、Accounting

       认证(Authentication):验证用户的身份与可使用的网络服务;

       授权(Authorization):依据认证结果开放网络服务给用户;

       计帐(Accounting):记录用户对各种网络服务的用量,并提供给计费系统。


10.用户类别

  管理员:uid=0
  普通用户:1-65535
         系统用户:1-999
         一般用户:1000-60000
         useradd==adduser


11.组   

      管理组:gid=0
      普通组:1-65535
              主组 基本组 附加组


12.添加新用户

命令格式: useradd [选项]
          -u   设置账号的UID
          -g   设置基本组
          -G   指定附加组
          -d   更新家目录
          -c    注释信息
          -s    shell名
          -r    添加系统用户1-999


13.修改用户信息——usermod命令

    命令格式: usermod [选项] username
         -l     更改账户的名称
         -L    锁定(暂停)用户账户
         -U   解锁用户账户
         -g
         -G    同添加
         -c
         -d
         -s


14.删除用户账号——userdel命令

     命令格式: userdel [-r] 账户名
         -r     在删除该账户的同时,一并删除该账户对应的主目录

15.cat users | chpasswd users 批量修改

作业要求: 

一、文件查找

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

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

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

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

二、打包压缩

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

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

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

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

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

三、别名

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

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

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

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

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

四、用户管理

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

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

一、文件查找 

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

find $HOME -atime -2

RHCSA第四天_第1张图片

(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 -print
/test/
/test/mulu1
/test/mulu2
/test/mulu3

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

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

二、打包压缩 

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

[root@localhost ~]# zip -r myfile.zip . -i test.zip
  adding: test (stored 0%) 
  adding: test/fstab (deflated 44%)
[root@localhost ~]# ls myfile.zip
myfile.zip

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

[root@localhost ~]# unzip myfile.zip -d /opt
 Archive:  myfile.zip
 extracting: /opt/test.zip           
[root@localhost ~]# ll /opt
total 4
-rw-r--r--. 1 root root 192 Aug  2 20:30 test.zip

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

 gzip -r /opt > /test/newfile.tar.gz

    查看结果: 

[root@localhost ~]# ll /test/
total 4
-rw-r--r--. 1 root root 19 Aug  2 10:40 file1
-rw-r--r--. 2 root root  0 Aug  1 14:13 filenk
-rw-r--r--. 1 root root  0 Aug  2 10:23 file.txt
-rw-r--r--. 1 root root  0 Aug  2 20:42 newfile.tar.gz

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

[root@localhost ~]# zcat /test/newfile.tar.gz

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

[root@localhost ~]# tar cfp /BeiFen.tar /etc

三、别名 

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

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

[root@localhost ~]# vim ~/.bashrc

#进入vim编辑模式书写如下指令
alias hello='echo hello,everyone'

#调用
[root@localhost ~]# source ~/.bashrc
[root@localhost ~]# hello
hello,everyone

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

[root@localhost ~]# vim  ~/.bashrc 
#进入vim编辑模式书写如下指令:

alias shuaxin='touch file.txt'

#调用
[root@localhost ~]# source  ~/.bashrc 

#测试
[root@localhost ~]# shuaxin
[root@localhost ~]# stat file.txt
  File: file.txt
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d	Inode: 35311917    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2022-08-03 05:25:06.667032449 +0800
Modify: 2022-08-03 05:25:06.667032449 +0800
Change: 2022-08-03 05:25:06.667032449 +0800
 Birth: 2022-08-03 05:25:06.667032449 +0800

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

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

[root@localhost ~]# vim /etc/bashrc
#进入vim编辑模式书写如下指令:

alias hh='touch /file1'

#调用
[root@localhost ~]# source /etc/bashrc

#测试
[root@localhost ~]# shuaxin
[root@localhost ~]# stat file.txt
  File: file.txt
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d	Inode: 35311917    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2022-08-03 05:25:06.667032449 +0800
Modify: 2022-08-03 05:25:06.667032449 +0800
Change: 2022-08-03 05:25:06.667032449 +0800
 Birth: 2022-08-03 05:25:06.667032449 +0800

四、用户管理 

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

[root@localhost ~]# useradd sarah -s /sbin/nologin
[root@localhost ~]# id sarah
uid=1001(sarah) gid=1001(sarah) groups=1001(sarah)

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

[root@localhost ~]# useradd -u 3456 -c alian -p glegung2 alex
[root@localhost ~]# su alex
[alex@localhost root]$ su ouqiao
Password: 
[alex@localhost root]$

你可能感兴趣的:(Linux专栏,servlet,linux)