Linux目录和文件管理

发布时间:2023年12月23日

目录

?一、Linux目录与文件

1、Linux的常见目录

2、文件系统的目录结构

3、七类常见的linux的文件类型

二、查看文件内容

1、标准输入和输出

2、显示命令

2.1 cat

2.2 tac

2.3 rev

3、分页显示

3.1 more

3.2?less

4、显示文件前后内容

4.1 head

4.2?tail

4.3 wc

4.4 grep

4.5 paste

4.6 split

?5、压缩和解压缩

5.1?gzip bzip2

5.1.1压缩文件

?5.1.2解压缩文件

?5.2 tar

三、vi编辑器

1、常见的三种模式

2、如何切换模式

3、命令模式

4、输入模式

5、末行模式


?一、Linux目录与文件

1、Linux的常见目录

2、文件系统的目录结构

  • 以 . 开头的文件均为隐藏文件

  • 路径用/分开? ?/不在第一位就是分隔符

  • 文件名最长255个字符

  • 区分大小写

?3、七类常见的linux的文件类型

file? 文件名:查看文件类型

字符说明
-普通文件文本文件,包括纯文本文件、二进制文件、各种压缩文件等
c字符设备文件,一次只能录入一个字符,比如键盘
b块设备文件,保存大块数据的设备,硬盘读写文件时是一整块一整块的读和写,比如最常见的硬盘
s套接字文件,根据ip和端口号传递信息,一般隐藏在 /var/run/ 目录下,用于进程间的网络通信
p管道文件,主要用于进程间通信单向传输 (|? 表示管道)
l符号软连接快捷方式
d目录文件

二、查看文件内容

1、标准输入和输出

  • 标准输入:默认从终端窗口的输入的命令
  • 标准输出:默认终端反馈的正确信息
  • 错误输出:终端反馈的报错信息

重定向(redirect):将默认的输入、输出或错误对应的设备改变,指向新的目标,重新定义标准的输出方向

2、显示命令

2.1 cat

正序查看普通文件内容

通式: cat? 选项? 文件名

选项说明
-n显示行号包括空行
-b跳过空白行编号
-s将所有的连续的多个空行替换为一个空行(压缩成一个空行)
-A显示隐藏字符($表示回车键,^I表示TAB键)

拓展:

重定向(redirect):将默认的输入、输出或错误对应的设备改变,指向新的目标,重新定义标准的输出方向

即cat a b > c? ? ? ? ? ? ? ? ? ? ? ?//将a与b文件内容竖向合并生成新的c文件

2.2 tac

逆向查看普通文件内容

2.3 rev

逆向查看同一行的内容

3、分页显示

3.1 more

分页查看文件内容,通常用于内容多的文件

通式:more? 选项? 文件名

基本操作:

  • 空格键:翻页查看文件内容

  • b键:光标一行一行移动查看文件内容

  • enter键:一行一行滚动

  • q键:退出查看文件内容模式

3.2?less

分页查看文件内容,通常用于内容多的文件

通式:less? ?选项? 文件名

基本操作:

  • n键:向下查找

  • N键:向上查找

  • PGUP键:向上翻页

  • PGDN键:向下翻页

  • /关键字:对关键字进行搜索,注意大小写

  • 其余参考:more

4、显示文件前后内容

4.1 head

查看文件内容或标准输入的前面行

格式:head? 选项 文件名

选项说明
-c #指定获取前#字节
-n #指定获取前#行,#如果为负数,表示从文件头取到倒数第#前

?如:

head -c 数字? ? ? ? ? ??? ? ? ? ? ? ? ? ? //取前数字个字符

head -n 具体数字 文件名 (不加具体的数字,默认开头前十行)

head -n 6 test.txt? ? ? ? ? ? ? ? ? ? ? ?//显示test.txt文档内容的前六行

4.2?tail

查看文件内容或标准输入的倒数行

格式:tail? 选项 文件名

如:

tail -f 文件名=tailf 文件名? ? ? ? ? ? ? //实时追踪查看该文件

tail -n 具体数字 文件名 (不加具体的数字,默认结尾后十行)

tail -n +数字?文件名? ? ? ? ? ? ? ? ? ?//从第数字行开始显示

tail -n -数字?文件名? ? ? ? ? ? ? ? ? ?//除去文件的后数字行,其他全显示

4.3 wc

统计列数,wc本身就是参数

通式:wc? 选项? 目标文件

选项说明
-l只统计行数
-w只统计单词个数
-c只统计字节数

4.4 grep

过滤文件内容中的目标

通式:grep? ?选项???查找条件? 目标文件

选项说明
-i查找时忽略字符大小写
-v反向查找,输出与查找条件不相符的行
-o仅显示匹配到的字符串
-f对比两个文件的相同行
-c统计匹配的行数
-n显示匹配的行号
-r递归目录,但不处理软链接
-R递归目录,但处理软链接

拓展:

  • 正则表达式:匹配文件中的字符串(支持grep、awk、sed等命令)
  • 通配符:匹配文件名(支持ls、find等命令)

4.5 paste

横向合并两个文件的内容,默认以空格隔开

通式:past??选项? 文档一 文档二

选项说明
-d指定分隔符

4.6 split

分割文件

通式:split? 选项? ?要切割的文件? 输出文件名前缀? 后缀长度(-a)

  • 输出文件名前缀:设置拆分后的文件的名称前缀,split 会自动在前缀后加上编号,默认从 aa 开始
  • 后缀长度(-a):默认的后缀长度是 2,也就是按 aa、ab、ac 这样的格式依次编号

5、压缩和解压缩

5.1?gzip bzip2
5.1.1压缩文件

通式:

gzip? [-9]? 文件名

bzip2? [-9]? 文件名

  • ?9代表压缩比率,压缩比率越大压缩效率越高,其中9最大1最小
  • 使用以上两种压缩方式,源文件就不存在了
?5.1.2解压缩文件

通式:

gzip? ?-d? ?文件名.gz

bzip2? ?-d? ?文件名.bz2

  • ?加上-d,就是解压
  • gzip的压缩率要高于bzip2
?5.2 tar

归档

通式:tar? 选项? 归档文件名? 源文件或目录

选项说明
-f表示使用归档文件(一般都要带上表示使用tar)
-c创建.tar 格式的包文件
-x解开.tar 格式的包文件
-j调用 bzip2 程序进行压缩或解压
-z调用 gzip 程序进行压缩或解压
-p打包时保留文件及目录的权限
-P打包时保留文件及目录的绝对径
-C解压时指定释放的目标文件夹
-t不解压,列表查看包内的文件(要和f一起使用)
-v输出详细信息

三、vi编辑器

1、常见的三种模式

命令或普通(Normal)模式默认模式,可以实现移动光标,剪切/粘贴文本
插入(Insert)或编辑模式用于修改文本
扩展命令(extended command )或末行模式辅助操作,保存、退出等搜索替代

2、如何切换模式

3、命令模式

此模式下,可使用方向键(上、下、左、右键)或 k、j、h、i 移动光标的位置,还可以对文件内容进行复制、粘贴、替换、删除等操作

光标移动:

操作键说明
h键或方向键←光标左移
i键或方向键→光标右移
j键或方向键↓光标下移
k键或方向键↑光标上移

行内跳转:

操作键说明
0或^跳转至行首
end键或$跳转至行尾
w单词与单词间跳转,下一个单词的词首

行间跳转:

操作键说明
G键跳转至末行
1G或gg?跳转至首行
#G跳转至第#行
:#跳转至第#行

翻屏跳转:

快捷键说明
Ctrl+f向文件尾部翻一屏,相当于Pagedown
Ctrl+b向文件首部翻一屏,相当于Pageup
Ctrl+d向文件尾部翻半屏
Ctrl+u向文件首部翻半屏

复制、删除等操作:

操作键说明
x剪切光标处的字符
d删除
dd删除一行
10dd删除10行
dw删除一个单词
u撤销最近更改的一次操作
U撤销全部光标落在这行后所有此行的更改
y复制
yy

复制一行

10yy复制10行
yw复制一个单词
P贴在光标下面
p贴在光标上面
~转换大小写
/字符向下查找该字符
?字符向上查找该字符
r只替换光标所在处的一个字符
ZZ保存并退出
ZQ不保存退出

?4、输入模式

使 Vim 进行输入模式的方式是在命令模式状态下输入 i、I、a、A、o、O 等插入命令,当编辑文件完成后按 Esc 键即可返回命令模式

快捷键功能描述
i在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动
I行首插入命令
o在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本
O在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本
a在当前光标所在位置之后插入随后输入的文本
A行尾插入命令

5、末行模式

?文件中的指定内容执行保存、查找或替换等操作。使 Vim 切换到编辑模式的方法是在命令模式状态下按“:”(英文冒号)键,此时 Vim 窗口的左下方出现一个“:”符号,这是就可以输入相关指令进行操作了?

辅助操作:

命令说明
set nuset nonu显示行号取消显示行号
set icset noic忽略字符的大小写取消忽略字符的大小写
set pasteset nopaste复制保留格式复制不保留格式
set listset nolist显示隐藏字符不显示隐藏字符
set culset nocul设置光标所在行的标识线取消光标所在行的标识线
set key=passwordset key=?加密取消加密
set aiset noai自动缩进取消自动缩进
set all建立帮助

查找替换:

通式:范围  s/文件中的旧内容/替换的内容/修饰符
范围说明
%全文
#第#行,#代表数字,如1d(删除第一行)、3y(复制第三行)
$最后一行
$-1倒数第二行
2,5第二到三行
2,+3从第二行开始往后三行

拓展:

如何给文件所有行的开头加上#

? ? ?% s/^/#/

如何将文件所有行的开头的#去除

? ? % s/^#//

修饰符说明
c全局替换,每次替换前询问
i忽略大小写
g全局替换,默认情况下,每一行只替换第一次出现

保存、退出等操作:

快捷键说明
q退出不保存
q!强制退出不保存
w保存
w 新文件名另存为新文件:
wq或zz或x保存并退出
e 其他文件名(如果已修改需要加e!)打开新文件进行编辑
r 其他文件名在当前文件中读入其他文件内容
!命令执行命令
文章来源:https://blog.csdn.net/m0_71815887/article/details/135151075
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。