RHCSA-2学习摘要

 

 

Liunx发行版本

  1. (1)RHEL----红帽公司
  2. (2)CentOS----红帽系统
  3. (3)Fedora----红帽系统
  4. (4)openSUSE----德国厂商
  5. (5)Gentoo----操作比较发杂
  6. (6)Debian
  7. (7)Ubuntu

国产发行版本:RedFlag 中标 深度

            unix:HP-UX,AIX

2. 使用类似于xshell的远程连接工具去维护Linux服务器

1.便于跨区域维护和管理

2.Linux服务器置于机房,没有必要每次维护都去机房

3.当公司使用云服务器时,无法去接近服务器

3. 安装Linux系统至少分几个区?

 安装Linux系统至少分几个区?

 有两个分区:/和swap  根分区和交换分区

 交换分区的大小:是物理内存的1.5—2倍

4. 6.命令格式

命令 [选项] [参数]

Eg:ls  -l   /

选项:

    长格式 --

短格式-

Eg:-l

   --help

7.开关机命令

重启:reboot,shutdown -r  now

关机:shutdown -h now,poweroff

  1.  

重启:init 6

   关机:init 0

9. 查看信息

1)linux的发行版 cat /etc/redhat-release

2)内核 uname -r

3)  名称  hostname 或 uname -n

4)  ip:  ip a 或 ifconfig

5)内存:free -h

10.远程连接

格式:ssh ip地址,ssh  用户名@ip地址

11.  ssh:

     -X :连接可以使用图像工具(CE考试)

12.设置主机名

     hostnamectl set-hostname openlap

 

 

     对应设置文件:/etc/hostname

13.修改用户密码:

     [root@openlap ~]# echo 123456 | passwd --stdin root

14.第一种重置密码:

1、重启虚拟机

 输入reboot

2、在linux16末尾加上 rd.break,ctrl+x执行

 

3、mount -o remount,rw /sysroot

4、chroot /sysroot

5、passwd root

6、输入新密码:

7、确认密码

 

8、touch /.autorelabel

9、exit

10、exit

 

 

15.第二种重置密码:

    https://blog.csdn.net/baidu_38432732/article/details/80637922

 

 

    1、boot引导时按e

    2、找到linux16, 在末尾添加  init=/bin/sh

3、ctrl+x启动

 

   4、重新挂载: mount -o remount,rw /

   5、修改密码: echo "redhat" | passwd --stdin root

   6、创建文件: touch /.autorelabel

   7、启动: exec /sbin/init

 

 

9.25

 

  1. 文件管理:
  1. 命令格式:

 命令分为两类:

由shell程序自带的命令:内置命令(builtin)

有独立的可执行程序文件,文件名即命令名:外部命令

选项:指定命令的运行特性,指明要运行命令中的哪一个功能代码

选项有两种表现形式:

  短选项:-l、-d   可合并为-ld

  长选项:--help

注意:有些选项可以带参数,有些选项可以不带参数

参数:命令的作用对象,即命令对什么生效

注意:不同的命令的参数不同;有些命令可同时带多个参数,多个参数之间以空白字符分隔

  查看目录下的文件:ls(list)

ls -l        以长列表方式列出   -ll

ls -r        逆序列出

ls -d         查看当前目录.

ls -ld        长列表列出当前目录的详细信息

ls -lh 显示目录或文件大小

ls -a        列出隐藏文件,包括.和..

ls -A        列出隐藏文件,不包括.和..

ls -i 显示文件索引节点号(inode)。一个索引节点代表一个文件,在linux中保存在磁盘分区中的文件都给它分配一个编号,称为索引节点号inode。

linux的文件类型:

-        普通文件,类似于Windows的记事本

d        目录文件,类似于文件夹

c        字符设备文件,串行端口设备,顺序读写,键盘

b        块设备文件,可供存储的接口设备,随机读写,硬盘

p        管道文件,用于进程间的通信

s        套接字文件,通常用于网络上的通信。可以启动一个程序来监听客户端的要求,客户端可以通过套接字来进行数据通信

l        link,链接文件

.软连接和硬连接的区别:

  1. 软连接inode节点号与原始文件不同,而硬连接则相同
  2. 软连接可以跨文件系统创建,而硬连接不行
  3. 软连接可以给目录文件创建,而硬连接不行
  4. 当原始文件被删除后,软链接不存在,而硬连接不影响

 

  1. 请写出 /bin、/boot、/root、/home、/etc作用

/bin        可执行文件,ls,cd

/sbin    可执行文件

/boot      开机启动的文件,包括linux内核以及开机菜单与开机所需配置文件等

/dev        设备文件,任何设备与接口设备都是以文件形式存在于这个目录的

/root        root用户的主目录

/home      普通用户的主目录

/var        可变目录,用以存放经常变化的文件,如日志文件

/etc        配置文件

  1. 文件操作命令
  1. touch:创建空文件

       修改文件的时间戳(访问、更改、改动时间)

[root@wangluo ~]# stat  /

  File: ‘/’

  Size: 4096         Blocks: 8          IO Block: 4096   directory

Device: 802h/2050d  Inode: 128         Links: 20

Access: (0555/dr-xr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)

Context: system_u:object_r:root_t:s0

Access: 2019-09-23 12:59:42.672616135 +0800

Modify: 2019-09-23 12:59:30.555550174 +0800

Change: 2019-09-23 12:59:30.555550174 +0800

 Birth: -

 

  1. 删除文件:rm  文件名

          -f:强制删除

通配符:

? 代表一个字符

*  代表任意个字符,0个,1个或多个(匹配0个或任意多个)

3.echo: 将输入接到标准输出

重定向:>

追加重定向:>>

4.查看不同文件内容

  1. 文本统计:wc——word count

显示文件行数、单词数、字节数和文件名:wc 文件名

###在UTF-8编码格式里面,显示时一个字符占一个字节,一个中文字占用3个字节

只显示单词数:wc -w 文件名

只显示字节数:wc -c 文件名

只显示行数:wc -l 文件名

只显示字符数:wc -m 文件名

显示最长的一行的字符数(不包括断行符):wc -L 文件名

 

      行数   单词数    字节数   文件名  

2. cat连接并显示文件内容到标准输出

显示文件内容并显示行号:cat -n 文件名

将文件内容重定向到/dev/null:cat 文件 >/dev/null

不带任何选项时,从标准输入接收输出到标准输出

(当进入后,按ctrl退出)

 

逆序显示文件:tac

  1. 分屏显示:more  路径

在没有翻到最后一屏时支持向前翻

Q或q退出

不支持搜索

     4.分行显示命令: less  路径

          支持搜索:/+内容               n: 向后  N:向前

4. 默认查看文件前10行:head /etc/passwd

指定查看前5行:head -5 /etc/passwd

 

默认查看后10行:tail /etc/passwd

查看后5行:tail  -5 /etc/passwd

 考试:查看文件/etc/passwd 的第5行

方法1:head -5 /etc/passwd | tail -1

方法2:awk 'NR==5' /etc/passwd

5.目录操作命令:

     1. ls:查看目录下的文件

    2.cd:切换所在目录的命令

   3.pwd:查询所在目录

   4. mkdie:创建目录

       -p:  递归建立所需目录

   5.rm:删除文件以及目录

-f:  强制删除(force)

-i:  交互删除,在删除之前会询问用户

-r:  递归删除,可以删除目录(recursive)

 

9.26

1.命令帮助:

  1.help:显示 Shell 内置命令的帮助。可以使用 type 命令来区分内置命令与外部命令

  eg:

    [root@wangluo ~]# type cd

cd is a shell builtin

[root@wangluo ~]# help  cd

2. --help:绝大多数外部命令可以使用的命令帮助

eg:

  [root@wangluo ~]# type ls

ls is aliased to `ls --color=auto'

[root@wangluo ~]# ls  --help

  1. man:显示联机帮助手册。

[root@localhost ~]# man [选项] 命令

 选项:  -f:  查看命令拥有哪个级别的帮助

 -k:  查看和命令相关的所有帮助

     5.info:命令的帮助信息是一套完整的资料,每个单独命令的帮助信息只是这套完整资料中的某一个小章节。

2.文本操作:

   1.cp:复制文件和目录

 

   

    2. mv:剪切--移动文件或改名(在相同目录下)

 

  1. vi编辑器:

 

   1.vim  文件名:进入该文件

  操作:

    (1)

 

 

字母前可加入数字

   (2)不保存退出:   :q!

   (3)删除:    x               (可加入数字)

   (4)进入插入模式:   i

        按Esc回到正常模式

   (5)进入插入模式并且光标跳转到该行行尾    A

        按Esc回到正常模式

   (6)保存退出: 1)    先从插入模式按Esc退回正常模式,  :wq   完成操作

                   2)     先从插入模式按Esc退回正常模式,  :x   完成操作

   

(7)删除当前光标后的单词:  dw

(8)删除当前光标到当前行的行尾内容    d$

(9)删除整行内容     dd     

       (前面可加数字)

(10)移动光标到当前行的行首:   0

(11)移动光标到当前行的行尾:   $

 (12)  撤销上一次命:   u

(13) 撤销该行整行命令:  U

(14)重新植入已删除的文本内容

        r  路径

(15)替换:  r --------------单个字母替换

              R --------------批量替换

(16)跳转光标: G------将光标移动至文件最后一行

                 gg-----将光标移动至文件第一行

    (17)光标移动至指定行    :数字

    (18)替换指定内容

        1)  :s/(被替换的内容)/(所要替换的内容)/g  --光标所在行内容

        2) :1,5 s/(被替换的内容)/(所要替换的内容)/g  --指定行所有内容

        3) :% s/(被替换的内容)/(所要替换的内容)/g  --全文内容

 

 

   (19)保存:      :w

   (20)插入指定文件的内容:     :r 路径

   (21)o-------在当前光标的下一新的行插入内容

         O-------在当前光标的上一新的行插入内容

练习:

  请在 /tmp 这个目录下创建一个名为 vitest 的目录;

2. 进入 vitest 这个目录当中;

3. 将 /etc/man_db.conf 复制到本目录下面(或由上述的链接下载 man_db.conf 文件) ;

4. 使用 vi 打开本目录下的 man_db.conf 这个文件;

5. 在 vi 中设置一下行号;

6. 移动到第 43 列,向右移动 59 个字符,请问你看到的小括号内是哪个文字?

7. 移动到第一列,并且向下搜寻一下“ gzip ”这个字串,请问他在第几列?

8. 接着下来,我要将 29 到 41 列之间的“小写 man 字串”改为“大写 MAN 字串”,并且一个

一个挑选是否需要修改,如何下达指令?如果在挑选过程中一直按“y”, 结果会在最后一

列出现改变了几个 man 呢?

9. 修改完之后,突然反悔了,要全部复原,有哪些方法?

10. 我要复制 66 到 71 这 6 列的内容(含有MANDB_MAP) ,并且贴到最后一列之后;

11. 113 到 128 列之间的开头为 # 符号的注解数据我不要了,要如何删除?

12. 将这个文件另存成一个 man.test.config 的文件名;

13. 去到第 25 列,并且删除 15 个字符,结果出现的第一个单字是什么?

14. 在第一列新增一列,该列内容输入“I am a student...”;

15. 储存后离开吧!

 

 

 

 

  

                9.28

1.对文本数据内容处理后的显示

 1.cut--文本切割显示

 (1)按指定分隔符显示

[root@wangluo ~]# cut  -d  ':'   -f1  ll/passwd

 

      [root@wangluo ~]# cut -d':'  -f1,3 ll/passwd

     

      [root@wangluo ~]# cut  -d  ':'   -f2-5  ll/passwd

   (2)按指定字符显示

      [root@wangluo ~]# cut -c-4  ll/passwd

   (3)将显示的内容按指定分割符显示

      [root@wangluo ~]# cut  -d  ':'   -f1-5  --output-delimiter=@   ll/passwd

      [root@wangluo ~]# cut  -d  ':'   -f1-5  --output-delimiter=#  ll/passwd

      [root@wangluo ~]# cut  -d  ':'   -f1-5  --output-delimiter=' '  ll/passwd

  1. cut--文本排序显示
  1. 指定内容排序显示

[root@wangluo ~]# head  ll/passwd | sort -t:  -k3

[root@wangluo ~]# head  ll/passwd | sort  -n  -t:  -k3

(2)对指定文本内容排序显示

    [root@wangluo Desktop]# sort  -n   -k3  ttt.txt

    [root@wangluo Desktop]# sort  -nr   -k3  ttt.txt

   (3)[root@wangluo ~]# sort ip.txt | uniq -c | sort -nr -k1 | head -4

  3.grep--文本过滤显示

   (1)过滤文本中的指定字符串

      [root@wangluo ~]# grep root ll/passwd

3. 查找文件的路径

(1)[root@wangluo ~]# locate ls

     [root@wangluo ~]# whereis ls

  1. 查找文件时间比 /etc/passwd的文件

[root@wangluo ~]# find -newer /etc/passwd

  1. 查找用户名底下的文件

[root@wangluo ~]# find /home -user wan

[root@wangluo ~]# find /home -user 1000

  1. 以长格式显示查找到的文件

[root@localhost ~]# find -type f -name "f*.txt" -exec ls -l {} \;

  1. 查找到文件并执行复制操作

[root@localhost ~]# find  -type f -size +10k -size -900M     -exec cp {} kk \;

 

注:

  根据系统数据库查找文件名路径

   [root@localhost ~]# whereis ls

ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

 

根据系统环境变量查找文件名路径

[root@localhost ~]# which ls

alias ls='ls --color=auto'

/usr/bin/ls

4从linux服器上/文件

 1.同过传输软件传输;

 2. scp命令

 从服务器下载普通文件:

scp 用户名@目标IP地址:文件名 目录名

向服务器上传文件:

scp 要上传文件的全路径 用户名@目标IP地址:文件名

 

  

  1. rz命令
  2. 下载:sz

 

作业:

  1. 找出/tmp目录下,属主不是root,且文件名不以f开头的文件

[root@localhost ~]# find /tmp -name root | sort ^[^f] /tmp

  1. 查找/etc/下,除/etc/sane.d目录的其它所有.conf后缀的文件

find /etc/ -path /etc/sane.d -a -prune -o -name "*.conf"

  1. 查找/var目录下属主为root,且属组为mail的所有文件

[root@localhost ~]# find /var/  -type root -group mail

  1. 查找/etc目录下大于1M且类型为普通文件的所有文件

       [root@localhost ~]# find /etc -type f -size -1M

  1. 查找/etc目录下所有用户都没有写权限的文件

[root@localhost ~]# find /etc  -type f  -perm a-w

 

 

(1)同时满足:-a

 

 

(2)满足一个即可:-o

 

 

(3)条件取反:-not或者!

 

  

  1. 查找/etc目录下大于1M的文件,并将其写入/tmp/etc.largefiles文件

[root@localhost ~]# find  /etc   -type f -size -1M > /tmp/etc.largefiles

  1. 查找大于1k 小于100k的文件   

[root@wangluo ~]# find  -size -1k  -size +100k

 

 

 

 

LINUX grep练习题

  1. 显示/proc/meminfo文件中以大小s开头的行

[root@wangluo ~]# grep ^[s]  /proc/meminfo

  1. 显示/etc/passwd文件中不以/bin/bash结尾的行

[root@wangluo ~]# grep ^/bin/bish$  /etc/passwd

  1. 显示用户rpc默认的shell程序

 

 5.bash shell的优点以及在linux中获取帮助

 1.系统环境变量:

  [root@localhost ~]# echo $PATH

/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin  

 2. shell中的引用

  

  1. 对文件进行归档和压缩处理
  1. zip

[root@localhost ~]# time zip f1.zip f1

 

[root@localhost ~]# time zip  -1  f1-1.zip f1

 

[root@localhost ~]# time zip  -9  f1-9.zip f1

 

[root@localhost ~]# time zip  -9  f1-9.zip f1

  Zip格式三种压缩对比:

  

  1. gzip:

[root@localhost ~]# time gzip -9  passwd

 

[root@localhost ~]# gzip -d passwd.gz

  1. bzip2:(压缩时间较长)

[root@localhost ~]# time bzip2 -9  passwd1

 

[root@localhost ~]# bzip2 -d passwd1.bz2

  1. xz:(压缩后文件大小较小)

[root@localhost ~]# time xz -9 passwd2

 

[root@localhost ~]# xz -d  passwd2.xz

  1. 归档:tar--------------只做归档操作,不对文件压缩

[root@localhost ~]# tar cvf passwd.tar  passwd

 

 

              10.9

作业

                            10.10

 文件权限

  1. 更改所属者、所属组:

[root@localhost ~]# chown l4  file1

 

[root@localhost ~]# chown :z3  file1

 

[root@localhost ~]# chown z3:l4 file1

注: -R :递归修改

  1. 更改文件可阅读权限:

[root@localhost ~]# chmod  o-r  /tmp/file1

  1. 更改文件可编辑权限

[root@localhost ~]# chmod o+w /tmp/file1.txt

  1. 更改可删除目录(改目录下面的文件)文件权限

[root@localhost ~]# chmod o+w  /tmp

 

权限练习:

  

 

  1. 修改用户进入目录的权限:

[root@localhost ~]# chmod o+x  /tmp

  1. 更改用户登录密码权限:

[root@localhost ~]# chmod u-s   /usr/bin/passwd

  1. 修改用户查看密码权限:

[root@localhost ~]# chmod u+s /usr/bin/cat

  1. 给其他用户创建的文件设置数组(继承所设置的数组操作):

[root@localhost ~]# chmod g+s /tmp/

  1. 该用户创建的文件只有自己和root用户才有删除的权限:

 

 

 

 

                 10.16

1.磁盘管理

1.

2.查看硬盘信息:

[root@localhost ~]#  fdisk  -l

3.格式化磁盘:

[root@localhost ~]# fdisk  /dev/sdb

 

  1. 查看磁盘分区:

[root@localhost ~]# cat /proc/partitions

  1. 创建文件系统:

[root@localhost ~]# mkfs.xfs /dev/sdb1

 

[root@localhost ~]# mkfs.ext4  /dev/sbv2

  1. 创建两个目录,并挂载:

[root@localhost ~]# mkdir /data1   /data2

 

[root@localhost ~]# mount /dev/sdb1 /data1

[root@localhost ~]# mount /dev/sdb2 /data2

8.查看挂载后的磁盘:

[root@localhost ~]# df  -h

9.永久挂载:

(1)

进入该文件下的vim中:

 [root@localhost ~]# vim  /etc/fstab

 

/dev/sdb1                                 data1                   xfs      defaults        0 0

(2)使用设备的UUID挂载:

查看设备的UUID:

  [root@localhost ~]# blkid  /dev/sdb2

 

UUID="eca301d3-d779-422d-aa4b-ca6a65e5af48"  /data2               ext4   defaults        0 0

对比:

 

 

 

  1. 大于2T的磁盘分区:

[root@localhost ~]# gdisk /dev/sdb

 

作业:

                                                                                              10.16

新增一块硬盘8G

  1. 创建一个1G大小的分区,挂载到/tools用来存放软件,文件系统类型xfs

[root@localhost ~]# fdisk /dev/sdb

[root@localhost ~]# mkfs.xfs  /dev/sdb1

[root@localhost ~]# mkdir /toos

 

[root@localhost ~]# mount /dev/sdb1 /toos

[root@localhost ~]# blkid  /dev/sdb1

UUID="0dd85f4e-c944-4004-bc77-0a281865507f"   data1               swap      defaults        0 0

 

2、创建一个2G的大小的交换分区,并永久挂载

  [root@localhost ~]# fdisk /dev/sdb

  Command (m for help): p

  Command (m for help): t

  Hex code (type L to list all codes): 82

  [root@localhost ~]# swapon /dev/sdb2(临时添加交换分区)

  [root@localhost ~]# blkid /dev/sdb2

  UUID="71af1770-2a59-49dc-a89c-bc8eacef432b"   swap                 swap      defaults        0 0

3.创建一个500M的逻辑分区,挂载到/data下,文件系统类型xfs

[root@localhost ~]# vim /etc/fstab

Select (default p): e

Last sector, +sectors or +size{K,M,G} (6293504-16777215, default 16777215): +500M

[root@localhost ~]# mkdir  data

[root@localhost ~]# blkid  /dev/sdb3

UUID="71af1770-2a59-49dc-a89c-bc8eacef432b"  data3                xfs           defaults        0 0

  1. 创建一个100M大小的逻辑分区

[root@localhost ~]# vim /etc/fstab

Select (default p): e

Last sector, +sectors or +size{K,M,G} (6293504-16777215, default 16777215): +100M

  1. 删除100M大小的逻辑分区

  [root@localhost ~]# vim /etc/fstab

Command (m for help): d

 

 

发布了22 篇原创文章 · 获赞 5 · 访问量 1451

猜你喜欢

转载自blog.csdn.net/XY0918ZWQ/article/details/103037411