欢迎来到CloudService文涵的博客

人生三从境界:昨夜西风凋碧树,独上高楼,望尽天涯路。 衣带渐宽终不悔,为伊消得人憔悴。 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。

RHCE笔记

第一章 Linux的基本使用

在虚拟控制台和图形环境间切换

典型的Liux系统运行4个虚拟控制台和2个图形控制台

按CTRL-ALT-F[1-2]键可进入图形控制台

使用CTRL-ALT-F[3-6]键可切换不同虚拟控制台

在虚拟控制台执行startx可以运行图形,前提是装了图形界面

登录的三个方式:

1.图形化(桌面软件)

2.字符界面(文本)

3.web控制台(网页)

启动web界面的控制台

[root@localhost ~]# systemctl enable --now cockpit.socket

在浏览器输入IP地址:9090访问

gnome-terminal桌面工具

Ctrl-Shift-t  		创建标签页
Ctrl-PgUp/PgDn  	在标签页之间切换
AIt+[123...]   		在标签页之间切换
Ctrl-Shift-c   		复制已选内容
Ctrl-Shift-v   		粘贴复制的内容
Shift-PgUp/PgDn		在标签页上下滚动
ctrl+l 		    	清屏
cls				    在windows的cmd清屏

[root@localhost ~]#

初步了解root用户

  • 系统管理员账号,又称超级用户

  • root用户几乎拥有完整控制系统的权限,但同时也拥有几乎完全破坏系统能力

  • 非特殊情况不要用root用户登录

执行简单的命令

显示日期

#显示系统当前日期
[root@localhost ~]# date
Sun May 22 10:11:05 CST 2022

#显示“年-月-日  时:分:秒”
[root@localhost ~]# date "+%Y-%m-%d %H:%M:%S"
2022-05-22 12:02:17

#查看今天是当年的第几天
[root@localhost ~]# date "+%j"
142

#查看系统的BIOS时间
[root@localhost ~]# hwclock 
2022-05-22 12:04:35.757988+08:00

显示日历

#显示当前月份日历
[root@localhost ~]# cal    
      May 2022      
Su Mo Tu We Th Fr Sa
 1  2  3  4  5  6  7
 8  9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31   

#显示指定月份的日历
[root@localhost ~]# cal 5 2022
      May 2022      
Su Mo Tu We Th Fr Sa
 1  2  3  4  5  6  7
 8  9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31            

#显示2022年所有月份
[root@localhost ~]# cal -y 2022
                               2022                               

       January               February                 March       
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa
                   1          1  2  3  4  5          1  2  3  4  5
 2  3  4  5  6  7  8    6  7  8  9 10 11 12    6  7  8  9 10 11 12
 9 10 11 12 13 14 15   13 14 15 16 17 18 19   13 14 15 16 17 18 19
16 17 18 19 20 21 22   20 21 22 23 24 25 26   20 21 22 23 24 25 26
23 24 25 26 27 28 29   27 28                  27 28 29 30 31      
30 31                                                             
        April                   May                   June        
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa
                1  2    1  2  3  4  5  6  7             1  2  3  4
 3  4  5  6  7  8  9    8  9 10 11 12 13 14    5  6  7  8  9 10 11
10 11 12 13 14 15 16   15 16 17 18 19 20 21   12 13 14 15 16 17 18
17 18 19 20 21 22 23   22 23 24 25 26 27 28   19 20 21 22 23 24 25
24 25 26 27 28 29 30   29 30 31               26 27 28 29 30      
                                                                  
        July                  August                September     
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa
                1  2       1  2  3  4  5  6                1  2  3
 3  4  5  6  7  8  9    7  8  9 10 11 12 13    4  5  6  7  8  9 10
10 11 12 13 14 15 16   14 15 16 17 18 19 20   11 12 13 14 15 16 17
17 18 19 20 21 22 23   21 22 23 24 25 26 27   18 19 20 21 22 23 24
24 25 26 27 28 29 30   28 29 30 31            25 26 27 28 29 30   
31                                                                
       October               November               December      
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa
                   1          1  2  3  4  5                1  2  3
 2  3  4  5  6  7  8    6  7  8  9 10 11 12    4  5  6  7  8  9 10
 9 10 11 12 13 14 15   13 14 15 16 17 18 19   11 12 13 14 15 16 17
16 17 18 19 20 21 22   20 21 22 23 24 25 26   18 19 20 21 22 23 24
23 24 25 26 27 28 29   27 28 29 30            25 26 27 28 29 30 31
30 31                                                     

修改密码

[root@localhost ~]# passwd 
Changing password for user root.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.

管理密码规则的配置文件

[root@localhost ~]# vim /etc/security/pwquality.conf
# Configuration for systemwide password quality limits
# Defaults:
#
# Number of characters in the new password that must not be present in the
# old password.
# difok = 1
#
# Minimum acceptable size for the new password (plus one if
# credits are not disabled which is the default). (See pam_cracklib manual.)
# Cannot be set to lower value than 6.
# minlen = 8

注意事项:

root用户可以修改自己和普通用户的密码,且不受到密码规则限制

普通用户修改密码前需要验证身份,且严格受到密码规则的限制

密码规则:单词、数字、大小写、特殊符号长度

显示当前用户信息

[root@localhost ~]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

[root@localhost ~]# id student 
uid=1000(student) gid=1000(student) groups=1000(student)

创建用户

[root@localhost ~]# useradd lisi       
[root@localhost ~]# id lisi 
uid=1001(lisi) gid=1001(lisi) groups=1001(lisi)

切换用户

[root@localhost ~]# su - lisi 
[lisi@localhost ~]$ su - student 
Password: # 输入student用户的密码
[student@localhost ~]$ 

# 普通用户切换到任意用户都需要验证密码
# root用户切换到任意用户都不需要验证密码

Tab键的作用

  • 补齐命令

  • 补齐参数

  • 例如:

    - $ xte<Tab>
    - $ xterm
    - $ Is myf<Tab>
    - $ Is myfile.txt
    

历史记录

#查看所有历史记录
[root@localhost ~]# history 

#列出最近的N条历史记录
[root@localhost ~]# history  3
   30  history  3
   31  history 5
   32  history  3

#调用第N条历史记录
[root@localhost ~]# !22
date "+%Y-%m-%d %H:%M:%S"
2022-05-22 12:36:59

#调用最近一条以d开头的命令
[root@localhost ~]# !d
date "+%Y-%m-%d %H:%M:%S"
2022-05-22 12:39:10

#调用最后一条参数
[root@localhost ~]# !$
cd

#ctr+r 搜索历史记录
[root@localhost ~]# 
(reverse-i-search)`ca': cal -y 2022

#调用上一条命令的最后一个参数(ctrl+.)
   54  history 
[root@localhost ~]# passwd history

第二章 运行命令和获取帮助

命令的语法

命令 选项 参数

命令:某个具体的功能

选项:是对命令的修饰 - 选项的短格式 -- 选项的长格式 选项的短格式一般是长格式的缩写 短格式可以缩写、长格式不可以缩写

参数:所有一切你想要操作的对象都是参数(目录、文件、用户名…)

命令和选项之间使用空格分隔

命令和参数之间使用空格分隔

选项和选项之间使用空格分隔

选项和参数之间使用空格分隔

参数和参数之间使用空格分隔

选项和参数是可以省略的

获取帮助

whatis 命令

#首先进行数据库更新
[root@localhost ~]# mandb 

#显示命令的简短描述
[root@localhost ~]# whatis passwd
openssl-passwd (1ssl) - compute password hashes
passwd (1)            - update user's authentication tokens
passwd (5)            - password file

--help选项

#查询命令本身的帮助
[root@localhost ~]# ls --help 
Usage: ls [OPTION]... [FILE]...   #选项用[ ]表示可选项

[root@localhost ~]# useradd --help  
Usage: useradd [options] LOGIN  #参数或者选项大写字母表示必选项

[root@localhost ~]# passwd --help
Usage: passwd [OPTION...] <accountName>  # <>代表变量表示必选项

[root@localhost ~]# ls --help
Usage: ls [OPTION]... [FILE]...    #...表示列表(可以接多个参数)
#例子
[root@localhost ~]# ls /opt/ /var/ /media/
/media/:
/opt/:
/var/:
account  cache  db     ftp    gopher    lib    lock  mail  opt       run    tmp
adm      crash  empty  games  kerberos  local  log   nis   preserve  spool  yp

[root@localhost ~]# date --help
Usage: date [OPTION]... [+FORMAT]   #[+FORMAT] 表示固定的格式
  or:  date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]   # a|b|c 表示多选一

#使用--help查询帮助
[root@localhost ~]# date --help 
-s, --set=STRING           set time described by STRING

#使用man查询帮助
[root@localhost ~]# man date 
DATE STRING
       The --date=STRING is a mostly free format human readable date  string  such  as  "Sun,  29  Feb  2004
       16:21:42  -0800"  or  "2004-02-29 16:21:42" or even "next Thursday".  A date string may contain items
       indicating calendar date, time of day, time zone, day of week, relative time, relative date, and num‐
       bers.   An  empty  string indicates the beginning of the day.  The date string format is more complex
       than is easily documented here but is fully described in the info documentation.
       
# 设置时间
[root@localhost ~]# date -s "2022-5-22 14:10:30"
Sun May 22 14:10:30 CST 2022

[root@localhost ~]# date --help
Usage: date [OPTION]... [+FORMAT]
  or:  date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
#设置这种格式的时间[MMDDhhmm[[CC]YY][.ss]]
[root@localhost ~]# date 010112122021.12

#解释
MM:月
DD:日
hh:时
mm:分
CC:年份的前两位
YY:年份的后两位
.ss:秒

#查看设置的时间
[root@localhost ~]# date "+%Y-%m-%d %H:%M:%S"
2021-01-01 12:13:16

man帮助手册

使用方法

#首先查询useradd有哪几章帮助文档
[root@localhost ~]# whatis useradd 
useradd (8)          - create a new user or update default new user information
#然后用man查看详细信息
[root@localhost ~]# man 8 useradd 

#man是一本书,查看man存放的位置
[root@localhost ~]# cd /usr/share/man/
[root@localhost man]# ls
ca  da  es  hu  it  ko     man1   man1x  man2x  man3p  man4   man5   man6   man7   man8   man9   mann  overrides  pt     ru  sv  uk     zh_TW
cs  de  fr  id  ja  man0p  man1p  man2   man3   man3x  man4x  man5x  man6x  man7x  man8x  man9x  nl    pl         pt_BR  sk  tr  zh_CN

#查询所有帮助文档包含passwd关键字的章节
[root@localhost ~]# man -k passwd
chgpasswd (8)        - update group passwords in batch mode
chpasswd (8)         - update passwords in batch mode
fgetpwent_r (3)      - get passwd file entry reentrantly
getpwent_r (3)       - get passwd file entry reentrantly
gpasswd (1)          - administer /etc/group and /etc/gshadow
grub2-mkpasswd-pbkdf2 (1) - Generate a PBKDF2 password hash.
lpasswd (1)          - Change group or user password
openssl-passwd (1ssl) - compute password hashes
pam_localuser (8)    - require users to be listed in /etc/passwd
passwd (1)           - update user's authentication tokens
passwd (5)           - password file
passwd2des (3)       - RFS password encryption
pwhistory_helper (8) - Helper binary that transfers password hashes from passwd or shadow to opasswd
saslpasswd2 (8)      - set a user's sasl password
smbpasswd (5)        - The Samba encrypted password file
sslpasswd (1ssl)     - compute password hashes
userpasswd (1)       - A graphical tool to allow users to change their passwords.
vncpasswd (1)        - change the VNC password

基本操作如下表

man手册结构说明

man help info 的区别

man 相当于吃快餐,很快查询到帮助信息

help 相当于你去餐馆,点菜要很多种需求后得到的,比help详细很多,会给你解释这个选项是干什么用的,甚至还有一些例子

info 相当于你自己买菜回家自己做,更详细,会给你例子,对man的补充,篇幅很长,一般要很长时间查询

第三章 文件系统组成和基本操作

文件系统的组成

  • 在Linux文件系统的结构:单根倒数状

  • 所有的文件起始位置都是根目录

  • 根目录在Linux有且仅有一个

  • 命名大小写敏感

  • 路径以'/'为分隔

文件和目录名

  • 名字不能多于255个字符

  • 所有字符都要求是有效的,除斜线(/)之外

    • 不要使用某些特殊的字符在文件或者目录名中

    • 当文件名中有特殊字符时应用引号保护引起来

  • 命名和大小写敏感

    例如:MAlL,Mail,mail和mAiL

绝对路径和相对路径

绝对路径:

  • 以根开头的路径

  • 文件位置的全路径

  • 在任何位置都可以引用

相对路径:

  • 不以斜线开头

  • 当前工作目录的相对位置

  • 在特定的位置才可以引用

#改变到一个绝对或者相对路径
[root@localhost ~]# cd /home/student/
[root@localhost /]# cd opt/luna/

cd改变目录

#显示当前工作目录
[root@localhost ~]# pwd
/root

#改变到上一级目录
[root@localhost sysconfig]# pwd
/etc/sysconfig
[root@localhost sysconfig]# cd ..
[root@localhost etc]# pwd
/etc

#改变目录到上一次工作目录
[root@localhost ~]# cd /var/ftp/
[root@localhost ftp]# cd -
/root

#改变到当前用户的主目录
[root@localhost ~]# cd /etc/sysconfig/
[root@localhost sysconfig]# cd
[root@localhost ~]# 

#改变到某个用户的主目录
[root@localhost ~]# cd ~student/
[root@localhost student]# pwd
/home/student

ls列出目录内容

#显示当前目录或者指定目录下的内容
[root@localhost ~]# ls
anaconda-ks.cfg  Desktop  Documents  Downloads  initial-setup-ks.cfg  Music  Pictures  Public  Templates  Videos

#显示所有文件包括隐藏文件
[root@localhost ~]# ls -a
.                .bash_history  .bashrc  .cshrc   Documents  .ICEauthority         .local    .pki     Templates
..               .bash_logout   .cache   .dbus    Downloads  initial-setup-ks.cfg  Music     Public   Videos
anaconda-ks.cfg  .bash_profile  .config  Desktop  .esd_auth  .lesshst              Pictures  .tcshrc  .viminfo

#显示扩展信息
[root@localhost ~]# ls -l
total 8
-rw-------. 1 root root 1451 May 21  2022 anaconda-ks.cfg
drwxr-xr-x. 2 root root    6 May 21  2022 Desktop
drwxr-xr-x. 2 root root    6 May 21  2022 Documents
drwxr-xr-x. 2 root root    6 May 21  2022 Downloads
-rw-r--r--. 1 root root 1795 May 21  2022 initial-setup-ks.cfg
drwxr-xr-x. 2 root root    6 May 21  2022 Music
drwxr-xr-x. 2 root root    6 May 21  2022 Pictures
drwxr-xr-x. 2 root root    6 May 21  2022 Public
drwxr-xr-x. 2 root root    6 May 21  2022 Templates
drwxr-xr-x. 2 root root    6 May 21  2022 Videos

#递归显示所有的目录
[root@localhost ~]# ls -R
.:
anaconda-ks.cfg  Desktop  Documents  Downloads  initial-setup-ks.cfg  Music  Pictures  Public  Templates  Videos

./Desktop:

./Documents:

./Downloads:

./Music:

./Pictures:

./Public:

./Templates:

./Videos:

#显示目录和符号链接信息
[root@localhost ~]# ls -ld /var/ftp/
drwxr-xr-x. 2 root root 6 Apr 23  2020 /var/ftp/

cp拷贝文件和目录

#将a.txt拷贝到tmp下面去
[root@localhost opt]# cp a.txt /tmp/

#拷贝多个文件
[root@localhost opt]# cp a.txt b.txt /var/

#拷贝目录
[root@localhost ~]# cp -r Desktop/ /opt/
[root@localhost ~]# ls /opt/
a.txt  b.txt  Desktop  luna

#拷贝时保留权限
[root@localhost ~]# cp -p /home/student/wenhan.txt /opt/
[root@localhost ~]# ls /opt/
a.txt  b.txt  Desktop  luna  wenhan.txt

destination说明:

  • 如果目标是一个目录,该拷贝把文件放到该目录下

  • 如果目标是一个文件,该拷贝覆盖目标文件

  • 如果目标不存在,该拷贝被重命名

posted on 2022-05-22 22:17  Cloudservice  阅读(88)  评论(0编辑  收藏  举报