Linux目录与文件管理

Linux目录与文件管理

一.Linux目录结构

■树形目录结构

■根目录:所有分区,目录,文件等位置起点

​ 整个树形目录结构中,使用独立的一个"”表示

■常见的子目录

●/root /bin /boot /dev /etc

●/home /var /usr /sbin

二.查看及检索文件

2.1常见子目录的作用

■/root:系统管理员root的宿主目录

■/home:普通用户的宿主目录

■/boot:系统内核、启动文件

■/dev:设备文件

■/etc:配置文件

■/bin: 所有用户可执行的命令

■/sbin: 管理员可执行的管理命令

■/usr:应用程序

■/var:日志文件等

2.2 查看文件内容more命令

■全屏方式分页显示文件内容

more [选项] 文件名

■交互操作方法

​ 按Enter键向下逐行滚动

​ 按空格键向下翻一屏

​ 按b键向_上翻一-屏

​ 按q键退出

2.3 查看文件内容less命令

■与more 命令相同,但扩展功能更多

less [选项]文件名…

■交互操作方法

●Page Up向上翻页,Page Down向下翻页

●按 "I”键查找内容,"n”下一个内容,"N”. 上一个内容

●其他功能与more命令基本类似

2.4 查看文件内容head、tail命令

■head命令

●用途:查看文件开头的一部分内容(默认为10行)

​ head -n 文件名…
head -5 文件名
■tail命令

●用途:查看文件结尾的少部分内容(默认为10行)

​ tail -n 文件名 #查看末尾十行

​ tail -f 文件名 #动态查看末尾

2.6统计文件内容wc命令

■统计文件中的单词数量(Word Count)等信息
WC [选项] [目标文件]

■常用命令选项
●-|:统计行数
●-W:统计单词个数
●-C:统计字节数

2.7检索和过滤文件内容grep命令

■在文件中查找并显示包含指定字符串的行
grep [选项]… 查找条件 目标文件
■常用命令选项
●-i: 查找时忽略大小写
●-v:反转查找,输出与查找条件不相符的行
■查找条件设置
●要查找的字符串以双引|号括起来
●"^…" 表示…开头,
●"…$" 表示.以… .结尾
●" ^ $ " 表示空行

三.备份恢复文档

3.1 压缩解压缩 zip命令,gzip、bzip2命令

■制作压缩文件、解开压缩文件

● zip命令

zip -r opt.zip /opt #将/opt目录压缩成opt.zip 并放在/opt目录下

unzip -n opt.zip -d /tmp #将压缩文件opt.zip在指定目录/tmp 下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件。

● gzip命令

gzip -9 11.txt.gz #对压缩包进行压缩 -9表示高压缩比
gzip -d 11.txt.gz #对压缩包进行解压缩

● bzip2命令

bzip2 -9 12.txt #对12.txt 进行压缩 变为12.txt.bz2 -9表示高压缩比

bzip2 -d 12.txt.bz2 #12.txt.bz2进行解压缩

■常用命令选项
●-9、 -d

-9 压缩 -d解压缩 # 这个要牢记 上面所的都是Linux的下压缩和解压缩

3.2 tar命令

tar 命令主要用于对目录和文件进行归档。在实际的备份工作中,通常在归档的同时也会将包文件
进行压缩(需要调用gzip和bzip2命令)以方便节省空间。使用tar命令的同时。选项如下

-c: 创建 tar格式的包文件 ###常用
-C: 解压时指定释放的目标文件夹 ###常用
-j: 调用bzip2程序进行压缩或解压 ##常用
-p: 打包时保留文件及目录权限
-P: 打包是保留文件及目录的绝对路径
-t: 列表查看包内的文件
-v: 输出详细信息 ##常用
-x: 解开.tar格式的包文件 ##常用
-z: 调用gzip程序进行压缩或解压 ##常用
-f: 文件名,指定的文件名存档 ##常用

#案例 现在需要将/opt 进行打包压缩 格式为123.tar.bz2,打包文件放到/mnt
tar jcvf /mnt/123.tar.bz2 /opt/

#案例 现在需要将123.tar.bz2 解压到/mnt/123目录下
tar jxvf /mnt/123.tar.bz2 -C /mnt/123

#案例 现在需要将/opt 进行打包压缩 格式为123.tar.gz,打包文件放到/mnt
tar zcvf /mnt/123.tar.gz /opt/

#案例 现在需要将123.tar.gz 解压到/mnt/123目录下
tar zxvf /mnt/123.tar.gz -C /mnt/123

三.VI文本编辑器

3.1文本编辑器vi命令

■文本编辑器的作用
●创建或修改文本文件
●维护Linux系统中的各种配置文件
■Linux中最常用的文本编辑器
●vi:类UNIX操作系统的默认文本编辑器
●vim: vim是vi文本编辑器 (- -般简称为vi编辑器)的增强版本

3.2 vi编辑器的工作模式

■三种工作模式

命令模式、输入模式、末行模式

■不同模式之间的切换

Linux目录与文件管理

3.3 vi的3种模式:

​ ■命令模式 (vi 文件名,就进入了命令模式。退出命令模式,可以在未行模式中输入q)

操作键 功能
dd 删除一行
u 撤回
yy 复制一行
p 小写的p,将复制的行粘贴在光标所在行的下一行
P 大写的p,将复制的行粘贴在光标所在行的上一行
x 小写的x 删除光标所在处字符(按着不动,先删光标后面,在删前面)
r 替换光标所在处字符
ZZ 保存退出(shift + z+z)

■编辑模式 (i、I、a、A,就进入了编辑模式。退出编辑模式,按ESC退到命令模式)

操作键 功能
a 将在光标所在位置之后插入文本(append附加)
A 将在光标所在行末插入文本
i 将在光标所在位置之前插入文本(insert)
I 将在光标所在行的第一个非空字符前插入文本
o 将在光标所在行的下一行开始插入文本(open)
O 将在光标所在行的上一行开始插入文本
g 按2次,光标移动到文本首行
G 按1次,光标移动到文本末行

■ 末行模式 (在命令模式中输入:就进入了末行模式。退出编辑模式,按ESC退到命令模式)

操作键 功能
:q 退出命令模式
:w保存 保存修改内容
:wq 保存退出
:q! 不保存退出
:set nu 显示行号
:/abc 查找abc这个字符,按n查找下一个,按N查找上一个
3.4 末行模式的基本操作

■文件内容替换

操作键 功能
: s/old/new 将当前行中查找到的第一个字符"old" 串替换为 “new”
: s/old/new/g 将当前行中查找到的所有字符串"old" 替换为"new"
: % s/old/new/g 在整个文件范围内替换所有的字符串"old" 为"new"
: #,# s/old/new/g 在行号"#,#" 范围内替换所有的字符串"old" 为"new"
: s /old/new/c 在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认
3.5命令模式的基本操作(1)

■文件内容查找

操作键 功能
/word 从上而下在文件中查找字符串"word"
?word 从下而上在文件中查找字符串"word"
n 定位下一个匹配的被查找字符串
N 定位上一个匹配的被查找字符串

■撤销编辑及保存退出

操作键 功能
u 按一次取消最近的一次操作;重复u键,恢复多步操作
U 用于取消对当前行所做的所有编辑
ZZ 保存当前的文件内容并退出vi编辑器
3.6 命令模式下的基本操作(2)

命令模式的基本操作
■复制、粘贴、删除

操作键 功能
x或Del 删除光标处的单个字符
dd 删除当前光标所在行
#dd 删除从光标所在行开始的#行内容
d^ 删除当前光标之前到行首的所有字符
d$ 删除当前光标处到行尾的所有字符
yy 复制当前行整行的内容到剪贴板
#yy 复制从光标所在行开始的#行内容
p(小写) 将缓冲区中的内容粘贴到光标位置处之后
P(大写) 粘贴到光标位置处之前
d +$ 删除当前行光标之后的全部内容
3.7 命令模式下的基本操作(3)

■光标移动

操作类型 操作键 功能
方向移动 ↑ ,↓,←,→ 上,下,左,右
翻页 Page Down 或Ctrl + F 向下翻动一整夜内容
翻页 Page Up 或 Ctrl + B 向上翻动一整夜内容
行内快速跳转 Home 键 或 “^“. 数字”0” 跳转时行首
行内快速跳转 End键 或 “$“ 跳转到行尾
行间快速跳转 1G 或 gg 跳转到文件的首行
行间快速跳转 G 跳转到文件的末尾行
行间快速跳转 #G 跳转到文件中的第#行
行号显示 :set nu 在编辑器中显示行号
行号显示 :set nonu或setno! 取消编辑器中的行号显示

四.总结

gzip -9 压缩成.gz格式 ,解压 gzip -d 也只能解压.gz格式的压缩包

bzip2 -9 压缩成 .bz2格式 ,bzip -d 解压也只能解压.bz2格式的压缩包

tar jcvf ls.txt.bz2 ls.txt 压缩ls.txt 成bz2格式存放当前目录命名成ls.txt.bz2

tar jxvf ls.txt.bz2 -C /tmp 解压缩ls.txt.bz2文件,存放到/tmp (-C表示指定解压缩文件存放路径)

tar zcvf ls.txt.gz ls.txt 压缩ls.txt 成gz格式存放当前目录命名成ls.txt.gz

tar zxvf ls.txt.gz -C /tmp 解压缩ls.txt.gz文件,存放到/tmp (-C表示指定解压缩文件存放路径)

tar xvf 不能解压*.zip格式文件