RHCSA

文章目录

  • 一、vi编辑器
    • 1、命令模式
      • (1)光标跳转按键
      • (2)复制,粘贴,删除
    • 2、编辑模式
    • 3、末行模式
      • (1)查找关键字并替换
      • (2)保存退出
      • (3)其他操作
  • 二、文件内容显示
    • 1、浏览普通文件内容
      • (1) cat:查看文本文件的内容
      • (2) head:默认查看文档前十行内容
      • (3) tail:默认查看文档后十行内容
      • (4) more:分页查看文件内容
      • (5) less:分页查看文件内容
    • 2、过滤文件内容显示——grep
    • 3、 切割显示——cut
    • 4、排序显示——sort
    • 5 去重显示——uniq
    • 6、 替换文件中的字符显示——tr
  • 三、文件的其他操作
    • 1、文本内容统计wc
    • 2、复制、移动文件
      • (1)复制文件或目录
      • (2)移动文件或目录
    • 3、查找文件的路径
    • 4、压缩和解压缩
    • 5、tar归档
    • 6、文件上传下载

一、vi编辑器

在Linux系统中一切都是文件,而配置一个服务就是在修改其配置文件的参数。在vim编辑器中内置了三种编辑模式:末行模式、命令模式和编辑模式。

1、命令模式

(1)光标跳转按键

功能 按键
光标按单个字符移动 上、下、左、右
光标按照单词向后跳转 w
光标按照单词向前跳转 b
光标跳转到行首 ^
光标跳转到行尾 $
文档首行第一个字符 gg
文档最后一行第一个字符 G
跳转到指定行 行号gg或者行号G

(2)复制,粘贴,删除

功能 按键
删除光标所在行 dd
删除从光标处的第n行 ndd
删除光标前至行首字符 d^
删除光标之后的所有字符 d$
复制光标所在行 yy
复制从光标处开始的第n行 nyy
将缓冲区的内容粘贴到光标所在行的下一行 p(小写)
将缓冲区的内容粘贴到光标所在行的上一行 P(大写)

2、编辑模式

可通过下表中的任意一种功能键从命令模式切换到编辑模式,按ESC键可从编辑模式切换到命令模式。

功能 按键
在光标前插入 i
在光标所在行行首第一个非空字符前插入 I(大写字母i)
在光标后插入 a
在光标所在行末尾插入 A
在光标所在行上一行插入 O(大写字母o)
在光标所在行下一行插入 o(小写字母o)
删除光标所在字符并进入编辑模式 s
删除当前行并进入编辑模式 S

3、末行模式

按:或者/可从命令模式切换到末行模式,按ESC、可从末行模式切换到命令模式

(1)查找关键字并替换

功能 按键
从上而下在文件中查找字符串“word"(按n键定位到下一个) /word
将当前行中查找到的第一个字符“old”替换为“new” : s /old/new
将当前行查找到的所有字符“old”替换为“new” : s /old/new/g
在行号n1,n2范围内替换所有的“old”为“new” :n1,n2 s/old/new/g
将整个文件内的字符串“old”替换为“new” :%s /old/new/g

(2)保存退出

功能 按键
退出vim编辑器,未对文件进行任何编辑操作才可退出 :q
不保存文档内容,强制退出vim编辑器 :q!
保存文件 :w
将文件另存为/dir/file :w /dir/file
保存文件内容并退出vim编辑器 :wq
强制保存并退出 :wq!

(3)其他操作

功能 按键
在当前文件中读入其他文件内容 :r /dir/test
查找含有"word"的行并删除 :g/word/d
显示行号 :set nu
关闭显示行号 :set nonu
删除n1-n2行内容 :n1,n2 d
复制n1-n2行到第n行的后面 :n1,n2 co n

二、文件内容显示

1、浏览普通文件内容

(1) cat:查看文本文件的内容

-n:对输出内容中的所有行标注行号:cat -n /test
-b:对输出内容中的非空行标注行号:cat -b /test

(2) head:默认查看文档前十行内容

-num:指定显示文件的num行内容:head -2 /test

(3) tail:默认查看文档后十行内容

-num 指定需要显示文件num行的内容:tail -2 /test
-f 使tail不停地去读取和显示文件最新的内容, 这样有实时监视的效果。

(4) more:分页查看文件内容

按Enter键向下逐行滚动,按空格键向下翻一屏、按b键向上翻一屏,文件末尾时more会自动退出
-c 从顶部清屏然后显示文件内容

(5) less:分页查看文件内容

按Enter键向下逐行滚动,按空格键向下翻一屏、按b键向上翻一屏,按q键退出
-c 从顶部清屏然后显示文件内容。
-N 其作用是在每行前添加输出行号。

2、过滤文件内容显示——grep

功能:在指定的普通文件中查找并显示含有指定字符串的行,也可配合管道符使用
格式:grep 选项 关键字符串 文件名

选项 说明
-c 仅显示找到的行数
-i 忽略大小写
-n 显示行号
-v 列出不包含关键字的行
-A -A 2 显示匹配到的那一行以及下两行
-B -B 2显示匹配到的那一行以及上两行
-C -C 2 显示匹配到的那一行以及上下两行

使用特殊符号进行字符串的匹配

匹配模式 说明
grep h 文件名 查找文件里有字符h的行
grep ^ [q] 文件名 匹配以q开始的行
grep ^ [qf] 文件名 匹配以q或者f开头的行
grep ^ [ ^qf ] 文件名 匹配不以q或者f开头的行
grep ^ [0-9] 文件名 匹配以数字开头的行
grep q$ 文件名 匹配以q结束的行
grep ^$ 过滤空白行

3、 切割显示——cut

cut命令用于按列提取文本内容,格式:cut [选项] 文件名称
示例:1、提取/etc/passwd的第一列

[root@bogon ~]# cut -d : -f1 /etc/passwd
root
bin
daemon
adm
lp
sync

2、提取/etc/passwd前三行的每一行的第三个字符

[root@bogon ~]# cut -c 3  /etc/passwd|head -3
o
n
e

4、排序显示——sort

sort命令用于对文本内容进行排序显示,语法为:sort [选项] 文件名称

选项 说明
-f 忽略大小写
-b 忽略缩进与空格
-n 以数值型排序
-r 反向排序
-u 去除重复行
-t 指定间隔符
-k 设置字段范围

5 去重显示——uniq

uniq命令用于去除文本中连续的重复行,语法为: uniq [选项] 文件名称
示例:

[root@bogon test]# cat txt
Linux
windows
Linux
mac
mac
[root@bogon test]# uniq txt 
Linux
windows
Linux
mac

通过以上观察到并不能完全去重,所以为了能够完全去重,需要先对文件进行排序,在进行去重操作:

[root@bogon test]# sort  -r txt |uniq
windows
mac
Linux

示例:通过去重命令完成文件去重,并且显示重复的次数

[root@bogon test]# sort  -r txt |uniq -c
      1 windows
      2 mac
      2 Linux

6、 替换文件中的字符显示——tr

从标准标准输入中读取数据,将结果输出到标准输出,语法:tr [OPTION]…SET1 [SET2]
参数说明:
1、-c:反选设定字符。符合SET1的部分不做处理,不符合的剩余部分进行转换
2、-d:删除指定字符
3、-s:缩减连续重复的字符指定的单个字符
示例1:将文件text中的小写字母全部转换成大写字母

[root@bogon test]# cat /test/text |tr a-z A-Z
ROOT:X:0:0:ROOT:/ROOT:/BIN/BASH
BIN:X:1:1:BIN:/BIN:/SBIN/NOLOGIN
DAEMON:X:2:2:DAEMON:/SBIN:/SBIN/NOLOGIN
ADM:X:3:4:ADM:/VAR/ADM:/SBIN/NOLOGIN
LP:X:4:7:LP:/VAR/SPOOL/LPD:/SBIN/NOLOGIN

示例2:将text文件中的:替换为|

[root@bogon test]# cat /test/text |tr -s ':' '|'
root|x|0|0|root|/root|/bin/bash
bin|x|1|1|bin|/bin|/sbin/nologin
daemon|x|2|2|daemon|/sbin|/sbin/nologin
adm|x|3|4|adm|/var/adm|/sbin/nologin
lp|x|4|7|lp|/var/spool/lpd|/sbin/nologin

三、文件的其他操作

1、文本内容统计wc

wc命令用于统计指定文本文件的行数、字数或字节数,语法为:wc [选项] 文件名称

选项 说明
-l(小写L) 只显示行数
-w 只显示单词数
-c 只显示字节数

2、复制、移动文件

(1)复制文件或目录

语法:cp [选项] 原文件 目标文件

选项 说明
-a 在拷贝目录时使用,它保留链接、文件属性、并递归的拷贝目录
-d 拷贝是保留链接
-f 覆盖已存在的目标文件是不提醒
-i 在覆盖已存在的目标文件时给出提示
-p 在复制原文件内容时,将其修改时间和访问权限也复制到新文件中
-r 若给出的原文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名

(2)移动文件或目录

mv命令用于剪切或重命名文件,剪切操作不同于复制操作,因为它会把源文件删除掉,只保留剪切后的文件。如果在同一个目录中将某个文件剪切后还粘贴到当前目录下,其实本质就是对文件进行了重命名操作。语法为:mv [选项] 原文件名称 目标文件名称

3、查找文件的路径

命令 说明 示例
whereis 可以搜索系统命令的可执行文件路径和说明文档 # whereis ls
which which 是搜索系统命令的可执行文件 which ls
locate 按照数据库搜索,搜索速度快,消耗资源小。数据库位置/var/lib/mlocate/mlocate.db, 可以使用updatedb 命令强制更新数据库。 locate ls
find 可按照文件名、大小、时间、权限、类型、所属者、所属组来搜索文件 find [path…] [expression]
find:
参数 作用
-name 匹配名称
-size 匹配文件大小
-mtime -n +n 匹配修改内容的时间
-atime -n +n 匹配访问文件的时间
-ctime -n +n 匹配修改文件权限的时间
-newer f1 !f2 匹配比文件f1新但比f2旧的文件
-perm 匹配权限
-user 匹配所有者
-group 匹配所有组
-nouser 匹配无所有者的文件
-nogroup 匹配无所属组的文件
-type 匹配文件类型
-prune 忽略某个目录
-exec ……{}; 后面可跟用于进一步处理搜索结果的命令

1、按照文件名搜索:find 路径 [选项] 搜索内容
选项:
-name:按照文件名搜索
-iname:按照文件名搜索,文件名不区分大小写
-inum:按照inode号搜索
示例:搜索文件名为passwd的文件

[root@bogon /]# find . -name passwd
./sys/fs/selinux/class/passwd
./sys/fs/selinux/class/passwd/perms/passwd
./etc/pam.d/passwd
./etc/passwd
./var/lib/sss/mc/passwd
./usr/bin/passwd
./usr/share/licenses/passwd
./usr/share/doc/passwd
./usr/share/bash-completion/completions/passwd

2、按照文件大小搜索:find 搜索路径 [选项] 搜索内容
选项:
-size (+/-)大小:按照指定大小搜索文件,“+”的意思是搜索比指定大小还要大的文件,“-”的意思是搜索比指定文件小的文件
示例:搜索/test文件下比1k大的文件

[root@bogon test]# ls
passwd  text  txt
[root@bogon test]# find /test/ -size +1k
/test/passwd

3、按照修改时间搜索
Linux 中的文件有访问时间(atime)、数据修改时间(mtime)、状态修改时间(ctime)这三个时间,我们可以按照时间来搜索文件find 搜索路径 [选项] 搜索内容
选项:
-atime (+/-)时间:按照文件访问时间搜索
-mtime (+/-)时间:按照文件数据修改时间搜索
-ctime (+/-)时间:按照文件状态修改时间搜索
-newer file:
RHCSA_第1张图片
4、按照权限搜索: find 搜索路径 [选项] 搜索内容
选项:
-perm 权限模式:文件权限刚刚好为“权限模式”的文件
-perm -权限模式:文件权限全部包含“权限模式”的文件
-perm +权限模式:文件权限包含“权限模式”的任意一个权限的文件
5、按照所有者和所属组搜索:find 搜索路径 [选项] 搜索内容
选项:
-uid 用户id:按照用户id查找所有者是指定id的文件
-gid 组id:按照组zuid查找所属组是指定id的文件
-user 用户组:按照用户名查找所有者是指定用户的文件
-group 组名:按照组名查找所属组是指定用户组的文件
-nouser:查找没有所有者的文件
6、按照文件类型搜索:find 搜索路径 [选项] 搜索内容
选项:
-type d:查找目录
-type f:查找普通文件
-type l:查找软链接文件
7、逻辑运算符find 搜索路径 [选项] 搜索内容
选项:
-a: and 逻辑与
-o:or 逻辑或
-not :not逻辑非
8、其他选项

指令 说明
-print 默认动作,将搜索结果写入到标准输出
-fprint file 与-print相同,但是将搜索结果写入到文件file
-ls 以长格式显示搜索结果
-fls file 同-ls,但是将搜索结果写入到文件file
-delete 将搜索到的文件删除
-exec command {} \ ; 查找并执行命令,{}表示搜索到的文件名
-ok command {} \ ; 查找并执行命令,但是需要用户确认

-exec:这个参数用于把find命令搜索到的结果交给后面的命令进行进一步处理,类似于“|”
示例:在整个文件系统下找出文件名为test1的文件并进行查看

[root@bogon test]# find / -name test1 -exec cat {} \;
linux
mac
windows

4、压缩和解压缩

1、zip和unzip
语法:zip file.zip file unzip file
示例1:使用zip压缩文件test1文件

[root@bogon test]# zip test1.zip test1

RHCSA_第2张图片
示例2:解压缩test1.zip

[root@bogon test]# unzip test1.zip 

RHCSA_第3张图片
示例3:查看压缩文件目录,但不解压

[root@bogon test]# unzip -v test1.zip

RHCSA_第4张图片
示例4:将当前目录test连同目录下文件一起压缩

[root@bogon /]# zip -r test.zip test/

RHCSA_第5张图片
2、gzip和gunzip
语法:gzip file gunzip file
示例1:使用gzip压缩文件test1,再使用gunzip解压缩

[root@bogon test]# gzip test1 
[root@bogon test]# gunzip test1.gz 

RHCSA_第6张图片
示例2:使用gzip压缩目录下文件,再使用gunzip解压

[root@bogon test]# gzip -r /test/
[root@bogon test]# gunzip  -r /test/

RHCSA_第7张图片

以上方法压缩之后原始文件就没有了

示例3: 压缩但保留原始文件

[root@bogon test]# gzip -c test1 >test1.gz

在这里插入图片描述

3、bzip2和bunzip2命令
bzip2、bunzip2是更新的Linux压缩工具,比gzip有着更高的压缩率。(使用-k保留原文件进行压缩)
示例1:使用bzip2将文件test1进行压缩,再使用bunzip2进行解压缩

[root@bogon test]# bzip2 test1 
[root@bogon test]# bunzip2 test1.bz2 

RHCSA_第8张图片
4、xz,unxz命令
示例:使用xz命令将文件test进行压缩,再使用unxz文件对压缩后的文件进行解压缩

[root@bogon test]# xz test1 
[root@bogon test]# unxz test1.xz 

RHCSA_第9张图片

5、tar归档

tar是一个归档程序,tar可以将许多文件打包成一个归档文件或者将他们写入备份设备

参数 功能
-f (必选) 用于指定打包文件名
-v 显示指令执行过程
-p 打包时保留文件及目录的权限
-c 创建新的备份
-z 通过gzip指令处理备份文件
-j 通过bzip2指令处理备份文件
-C 切换到指定的目录

示例1:创建(非压缩的)打包文件,将指定的一个或多个文件或目录备份生成为一个指定的包文件

[root@bogon test]# tar -cvf test1.tar test1 

RHCSA_第10张图片
示例2:列出包文件中的文件列表

[root@bogon test]# tar tvf test1.tar

RHCSA_第11张图片

6、文件上传下载

1、sftp是一个交互式文件传输命令
它类似于ftp传输协议,属于ssh, 但它进行加密传输,相对FTP来讲有更高的安全性。
如果有服务器的端口不是默认的22,请在sftp后面加-P 端口号。

下载:sftp> get /var/www/renwole.txt /home/
上传:sftp> put /home/renwole.txt /mnt/

你可能感兴趣的:(RHCSA,vim,编辑器,linux)