当前位置: 代码迷 >> 综合 >> RHCSA---第三天
  详细解决方案

RHCSA---第三天

热度:2   发布时间:2023-11-22 04:57:42.0

查看目录文件: ls

查看文本文件内容

cat 将文件内容输出到终端,查看文件内容(正序)

-n 查看文件内容显示标号

tac 将文件内容输出到终端,查看文件内容(逆序显示)

more 一般对于大文件查看通过终端窗口可以分页显示,最后所有内容输出到终端查看显示

less 打开阅读,分页显示,退出需要通过q

?关键字 或者 /关键字

n 向上匹配关键字

N 向下匹配关键字

head 查看文件的前十行信息

-n 指定显示的行数

-n 3

tail 查看文件的后十行信息

-n 3

-f follow 追加显示文件内容 ctrl+c

tail -f /var/log/messages

文本编辑

1.nano

2.vi / vim *** 文本编辑器

终端最后一行

显示新文件或者文件名几行几个字符或者没有任何信息 (执行便捷命令)

--insert--- (编辑文件内容)

:末行模式

 

命令模式:

dd 删除光标所在行

d+enter 删除光标所在行和光标的下一行

dG 删除光标所在行以及文档尾的所有行

dgg 删除光标所在行以及文档首的所有行

d^ 删除光标到行首的内容,不包含光标字符

d$ 删除光标到行尾,包含的光标所在字符

x 删除光标所在字符

G 跳转到文档尾

gg 跳转到文档首

4G 跳转到第四行

^ 行首

$ 行尾

yy 复制

4yy 复制从光标开始一共四行内容

cc 剪切

4cc 剪切从光标开始一共四行内容

p 粘贴(粘贴在光标所在的下一行)

u 向左撤销(返回上一次的编辑状态)

ctrl+r 重做(向右撤销,返回到近期编辑的状态)

插入模式:

a 在光标后插入内容

A 光标所在行的行尾

i 在光标前插入内容

I 光标所在行的行首

o 进入插入模式,在光标的下一行添加内容

O 进入插入模式,在光标的上一行添加内容

s 删除光标所在字符,进入插入模式

S 删除光标所在行,进入插入模式

末行模式:

:q 退出

:q! 强制退出

:w 保存

:wq 保存退出 == ZZ 命令模式

:wq! 强制保存退出

:10 跳转到第十行

:r FILENMAE 将指定文件的内容读取到光标所在下一行

:%s %匹配符,表示匹配所有行 s 替换命令 /要替换的字符/替换后的字符/ 替换的是每一行第一次匹配到的关键字 g 替换匹配到的所有关键字 %s /0/1/g

:set nu 显示行号

:set nonu 取消行号

/关键字 快速匹配关键字所在行的内容

:noh 取消高亮标记

vim -o /etc/passwd /etc/shadow 多个文件水平分割显示内容

-O /etc/passwd /etc/shadow 左右分屏显示文件内容

ctrl+w+w

vim + /etc/passwd 打开该文件进入文档尾

3.">"或“>>”实现文件编辑

echo 打印命令

#echo  this is test    (标准输入输出命令)
this is test   

$引用变量

#name=zhangsan
#echo $name
zhangsan
${}
#echo  ${name}
zhangsan

$?显示上一条命令的退出码 0成功 1-255错误状态

[root@localhost ~]# echo ${name}
zhangsan
[root@localhost ~]# echo $?
0
[root@localhost ~]# haha
bash: haha: command not found...
Failed to search for file: Cannot update read-only repo
[root@localhost ~]# echo $?
127

| 管道符(将前面命令的标准输出作为后面命令的标准输入)---无名管道

显示一个文件的第十行
#head /etc/passwd | tail -1   
eg:显示/etc/passwd文件20-25行的内容
?

**p 标识的管道文件(命名管道)

开启两个终端
1终端:
#mkfifo /p1
#echo 123 > /p1
2终端:
#cat /p1
123

三种引号区别

' 单引号' 强引用,不识别引号中特殊字符的特殊含义 echo '$PS1'

" 双引号" 弱引用,识别特殊含义的字符, echo “$PS1” ---如果是变量单引和双引有区别

`反引号` 命令替换符 == $()

[root@localhost /]# echo "根目录下所有的文件\`ls`"

">" 输出重定向符 (将前面命令的输出结果写入指定文件)

echo   helloworld > FILE      将helloworld输出结果通过输出重定向符写入指定文件,当文件不存在会创建该文件

“>>” 追加重定向符

echo this is test >> FILENAME 

< 输入重定向符

cat   <  /etc/passwd
head  < /etc/passwd

4.文件编辑<< 终止结束符

[root@localhost /]# cat << EOF       查看内容,匹配终止结束符结束输入
> this is test                       --标准输入
> EOF                                --匹配到终止结束符,结束标准输入
this is test                         --将前面标准输入的内容标准输出
?
---------------------------
[root@localhost /]# cat << EOF >  file2
> this is 1
> this is 2
> this is 3
> EOF
[root@localhost /]# cat file2
this is 1
this is 2
this is 3

文件描述符:0 文件标准输入符1标准(正确)输出描述符 2错误输出描述符

cat 0< /etc/passwd
cat fff  1> file      ==  cat fff > file
cat fff   2> file
cat fff &> file == cat fff  1> file 2> file  == cat fff 1> file 2>&1
cat fff 1> file 2> /dev/null

文件内容处理相关命令---(行)

grep 文本过滤显示命令

命令格式: grep [-options...] 关键字 文件名...

#grep root /etc/passwd 将/etc/passwd 文件中有root关键字的行打印显示

-v 反过滤,把没有关键字的行打印显示

-o 只显示匹配到的关键字

-c 显示匹配关键字的行数

-i 忽略大小写

-n 过滤显示行号

-w 按照单词过滤

-A 2 显示关键字以及下两行信息

-B 2 显示关键字以及上两行信息

-C 3 显示关键字以及上下三行信息

过滤指定文件/etc/passwd将文件中有nologin关键字的行写入login文件,并按照原文件的顺序写入。           
[root@localhost /]# grep nologin /etc/passwd  > login
只显示一个配合文件的关键信息
[root@localhost /]# grep -v ^# /etc/login.defs  | grep -v ^$
判断/usr/bin是否存在passwd可执行文件
[root@localhost /]# ll /usr/bin | grep -w passwd
-rwsr-xr-x. 1 root root       34512 Aug 12  2018 passwd

^ 以什么开头 ^q ^#

$ 以什么结尾 a$

^$ 空白行

[] 定义取值范围,该范围内的任意单个字符 [1-9] grep ^[0-9] FILENAME 开头是0-9任意一个数字的行显示

[^] ^取反 ^[^0-9] ^[!0-9]

cut 文本内容剪切命令

-d 指定文件内容的分割符

-f 指定截取的字段

#cut -d : -f 1  /etc/passwd
[root@localhost /]# date |cut -d " " -f 6
2022

-c 指定字符截取 cut -c 1-3 /etc/passwd

wc 文本统计命令 行 单词书 字节数 文件名

-l 只统计行数

-w 只统计单词数

-c 统计字节数

-m 统计字符数

当前系统共有多少用户

[root@localhost /]# echo 当前系统共有用户`wc -l /etc/passwd | cut -d " " -f 1`个 > file 当前系统共有用户44个

sort 文本排序 默认按照字符排序

-n 按照数值大小升序显示

-r逆序显示

-t 指定分隔符

-k 指定字段

-u unique 去重 ==sort a.txt | uniq

[root@localhost /]# sort -t : -k 3  -n /etc/passwd
将/etc/passwd 文件内容通过:分割将第三个字段进行排序升序显示每一行内容

uniq 去重命令(重复行相邻)

-c 显示每一行重复的次数

-d 只显示重复出现的行

-D 显示重复出现的所有行

tr 字符替换

echo abcde | tr  -t   a   1
-c  反选定
echo abcde | tr -c abc  0   把处理abc之外的字符替换为0字符abc00
-s    将连续重复的字符替换为单个字符
echo   aaaaabcd | tr -s a 1   将连续的多个a字符替换为一个1字符
-d  删除选定字符
echo abcdef | tr -d abc