目录
一、Linux目录结构
1、常见的子目录及其作用
一级目录 | 功能(作用) |
---|---|
/bin/ | 存放系统命令,普通用户和 root 都可以执行。 |
/boot/ | 系统启动目录,保存与系统启动相关的文件,如内核文件和启动引导程序(grub)文件等 |
/dev/ | 设备文件保存位置 |
/etc/ | 配置文件保存位置。 |
/home/ | 普通用户的主目录(也称为家目录)。 |
/lib/ | 系统调用的函数库保存位置 |
/media/ | 挂载目录。系统建议用来挂载媒体设备,如软盘和光盘 |
/mnt/ | 挂载目录。早期 Linux 中只有这一个挂载目录,并没有细分。系统建议这个目录用来挂载额外的设备,如 U 盘、移动硬盘和其他操作系统的分区 |
/misc/ | 挂载目录。系统建议用来挂载 NFS 服务的共享目录。 |
/opt/ | 第三方安装的软件保存位置。 |
/root/ | root 的主目录。普通用户主目录在 /home/ 下,root 主目录直接在“/”下 |
/sbin/ | 保存与系统环境设置相关的命令,只有 root 可以使用这些命令进行系统环境设置,但也有些命令可以允许普通用户查看 |
/srv/ | 服务数据目录。一些系统服务启动之后,可以在这个目录中保存所需要的数据 |
/tmp/ | 临时目录。系统存放临时文件的目录,在该目录下,所有用户都可以访问和写入。建议此目录中不能保存重要数据,最好每次开机都把该目录清空 |
二、查看及检索文件
在Linux系统中绝大部分配置文件是以普通文本格式保存的,这些配置文件决定着系统及相关服务、程序的运行特性。
1.七类常见的linux的文件
-
d 目录文件directory
-
b 块设备文件block 块设备文件,就是保存大块数据的设备,比如最常见的硬盘。
-
c 字符设备character 这些文件通常隐藏在 /dev/ 目录下,当进行设备读取或外设交互时才会被使用
-
l 符号链接文件link
-
p 管道文件pipe 主要用于进程间通信单向传输 一个发一个输管道文件
-
s 套接字文件socket 套接字文件一般隐藏在 /var/run/ 目录下,用于进程间的网络通信
-
-普通文件 普通文件,包括纯文本文件、二进制文件、各种压缩文件等
2.cat命令
显示并连接文件的内容,cat命令本来用于连接多个文件的内容,但在实际使用中更多的用于查看文件内容,cat命令是应用最广泛的文件内容查看命令。使用该命令时,只需要把要查看的文件路径作为参数即可,例如查看配置文件中的内容,并了解第一块以太网卡的配置信息。
使用格式
cat 选项 文件所在位置
选项
-n #显示行号包括空行
-b #跳过空白行编号
-s #将所有的连续的多个空行替换为一个空行(压缩成一个空行)
-A #显示隐藏字符
如果同时查看多个文件的内容,则添加多个文件路径作为查看对象,例如以下操作将依次显示/etc/redhat-release、/proc/version 文件的内容,前面是Centos系统的发行版本信息,后面是系统内核及开发环境、时间等信息。
3.more
使用格式
more [选项] 文件名
基本操作
- 空格下一行 到文末后自动退出
- b上一行
- enter一行一行滚动
- 自动退出
- q退出
4.less
使用格式
less [选项] 文件名
- 可以使用/ 查找 n向下 N向上查找
- Page Up 向上翻页,Page Down 向下翻页
- 其余参考more
命令是较晚出现的分页显示命令,提供了比早期 more 命令更多的一些扩展功能。两个命令的用法基本相同。
less 命令使用方法与 more 命令基本类似,但是比 more 更好的是,less 命令结合管道符号“|”分屏查看执行命令时输出的信息时,既可以向下翻页,也可以向上翻页。而 more 命令只能向下翻页,不能向上翻页。
5.head 和 tail 命令
head -n 具体数字 文件名 不加具体的数字,默认开头十行
tail -n 具体数字 文件名 不加具体的数字,默认结尾十行
tail -f 具体数字 文件名 实时跟踪最后十行
[root@localhost ~]# head -4 /etc/passwd #查看文件前四行的内容
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
[root@localhost ~] # tail -f /var/log/messages #实时跟踪后十行内容(按ctrl+c停止)
Oct 5 20:17:01 localhost rsyslogd: [origin software="rsyslogd" swVersion="8.24.0-34.el7" x-pid="7077" x-info="http://www.rsyslog.com"] rsyslogd was HUPed
Oct 5 20:20:01 localhost systemd: Started Session 6 of user root.
三、备份与恢复文档
在 Linux 操作系统中,最简单的文件和目录备份工具就是 cp(复制)命令。但当文件数量过多时,仅用cp就有点不太够用了,且备份的文件过多 ,对磁盘占用量也是变大许多,因此我们就有必要对文件进行压缩,归档(打包)。
而我们在Linux中最常用的压缩方式就是gzip,bzip2,这两个命令都可以压缩指定的文件,或者将已经压缩过的文件进行解压。两者使用的压缩算法各不相同,但命令使用格式基本类似,一般来说 bzip2 的压缩效率要好一些。
最常用的归档命令工具为tar。使用 tar 命令可以通过特定选项自动调用 gzip 或 bzip2 程序,以完成归档、压缩的整套流程,当然也可以完成解压、释放已归档文件的整套流程。
1.gzip和bzip2
使用 gzip 制作的压缩文件默认的扩展名为“.gz”。制作压缩文件时,使用“-9”选项可以提高压缩的比率,但文件较大时会需要更多的时间。
当需要解压缩经gzip 压缩的文件时,只需使用带“-d”选项的gzip 命令即可,或者直接使用gunzip 命令。
gzip 和bzip2压缩
gzip -[压缩比] 指定对象
bzip2 -[压缩比] 指定对象
gzip 和bzip2解压
gzip -d 压缩文件[.gz]
gunzip 压缩文件[.gz]
bzip2 -d 压缩文件[.bz2]
bunzip2 压缩文件[.bz2]
2.tar
使用格式
tar [选项] ... 归档文件名 源文件或目录
tar [选项] ... 归档文件名 [-C 目标目录]
#####使用时一般都要带上选项 f
选项
- -c:创建(Create).tar 格式的包文件
- -x:解开.tar 格式的包文件
- -C:解压时指定释放的目标文件夹
- -f:表示使用归档文件(一般都要带上表示使用tar)
- -p:打包时保留文件及目录的权限
- -P:打包时保留文件及目录的绝对径
- -t:列表查看包内的文件(要和f一起使用)
- -v:输出详细信息(Verbose)
- -j:调用 bzip2 程序进行压缩或解压
- -z:调用 gzip 程序进行压缩或解压
举例
[root@localhost data]# tar -zcvf vm.tar.gz vm1 vm2 zz
vm1
vm2
zz/
[root@localhost data]# tar -jcvf vm.tar.gz vm1 vm2 zz
[root@localhost data]# tar -zxvf vm.tar.gzip -C /opt
vm1
vm2
zz/
[root@localhost zz]# tar -tf vm1.tar.gzip
vm1
四、 vi 文本编辑器
Linux 系统中“一切皆文件”,因此当我们在命令行下更改文件内容时,不可避免地要用到文本编辑器。
linux中常见的 文本 还有 nano gedit
推荐使用 Vi 文本编辑器的原因有很多,比如说:
几乎所有的Linux 发行版都内嵌有 Vim 文本编辑器,而其他的编辑器则不一定存在;
Vim具有编辑程序的能力,会主动利用不同的字体颜色辨别语法的正确性,方便程序设计
###vi与vim之间的区别
vim是vi的升级版
vim [OPTION]... ...
命令 选项 文件
常用选项
+# 打开文件后,让光标处于第#行的行首,+默认行尾
! 打开上一次的文件
+/PATTERN 让光标处于第一个被PATTERN匹配到的行行首用不多
###如果系统没有安装vim
yum install vim -y #安装vim
1.三种常见模式:
命令模式:
启动 vi 编辑器后默认进入命令模式。该模式中主要完成如光标移动、字符串查找,以及删除、复制、粘贴文件内容等相关操作。
输入模式:
该模式中主要的操作就是录入文件内容,可以对文本文件正文进行修改或添加新的内容。处于输入模式时,vi 编辑器的最后一行会出现“-- INSERT --” 的状态提示信息。
末行模式:
该模式中可以设置 vi 编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作。处于末行模式时, vi 编辑器的最后一行会出现冒号“:”提示符。
2.模式切换
在命令模式中,按 a、i、o 等键可以快速切换至输入模式,同时确定插入点的方式和位置,以便录入文件内容。需要返回命令模式时,按 Esc 键即可。常见的几个模式切换键及其作用如下。
2.1命令模式
操作键 | 功能 |
---|---|
ctrl+f或者Pagedown | 向下翻页 |
ctrl+b或者Pageup | 向上翻页 |
Home;^;0 | 跳到本行的行首 |
按 End 键或$ | 跳转到本行的行尾 |
1G 或 gg | 跳转到文件的第一行包括空行 |
G | 跳转文件的末尾 |
#G | #代表行号数字,直接跳转到#行 |
M | 跳转到当前显示页面的中间行 |
x或delete | 删除当前光标的字符 |
dd | 删除一整行 |
#dd | 删除当前光标开始到第#行(包括当前行) |
d^ | 删除当前光标之前到行首 往前不包括当前光标处的字符 86 往后删除包括当前光标处的字符 |
d$ | 删除当前光标到行尾 |
dw | 删除当前光标处的单词 |
R 或shift+r | 替换当前光标处文字,会进入替换模式 |
yy | 复制当前光标处整行 |
#yy | 复制当前光标处向下的#行 |
p | 粘贴到光标处下一行 |
P | 粘贴到光标处上一行 |
u | 只消除上一次可多次使用 |
U | U 取消所有操作 |
/字符 | 向下查找 |
?字符 | 向上查找 |
n | 向同一方向重复上次的查找指令 |
N | 向相反方向重复上次的查找指定末行模式 |
2.2输入模式
输入模式: 使 Vim 进行输入模式的方式是在命令模式状态下输入 i、I、a、A、o、O 等插入命令(各指令的具体功能如表 3 所示),当编辑文件完成后按 Esc 键即可返回命令模式。
快捷键 | 功能描述 |
---|---|
i | 在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动 |
I | 行首插入命令 |
o | 在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本 |
O | 在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本 |
a | 在当前光标所在位置之后插入随后输入的文本 |
A | 行尾插入命令 |
2.3末行模式
快捷键 | 功能效果 |
---|---|
:q | 退出不保存 |
:q! | 强制退出不保存 |
:w | 保存 |
:w 新文件名 | 另存为新文件: |
:wq :zz :x | 保存并退出 |
:e 其他文件名(如果已修改需要加e!) | 打开新文件进行编辑 |
:r 其他文件名 | 在当前文件中读入其他文件内容 |
: [替换范围] s /旧的内容/新的内容[/g] | |
:s /old/new | 替换当前行中的第一个old改为new |
:s /old/new/g | 替换当前行中的所有old改为new |
:#,# s /old/new/g | #到#行所有old改为new |
:%s /old/new/g | %代表全文 全文替换所有old改为new |
# d | 删除 第#行 |
#,# d | 删除#到#行 |
#,# y | 复制三到6 行 |
:set nu 或:set nonu | 加行号 不显示行号 |
:set cul (:set nocul ) | 光标所在行有下划线(取消) |
:set ai xml k8s | 对齐 回车后和上一行对齐 |
:set all 可以看所有的一些帮助 | 可以看所有的一些帮助 |
set key=password | 加密码 |
set key=空白 | 取消密码 |
set tabstop=4 (set ts=4) | tab 一次为四个空格 |
.!命令 (who,date ) | 将date命令插入当前行注意会覆盖当前行 |
3.配置文件定制vim的工作特性
Vim 配置文件分为系统配置文件和用户配置文件:
系统配置文件位于 Vim 的安装目录(默认路径为 /etc/.vimrc);
用户配置文件位于主目录 ~/.vimrc,即通过执行 vim ~/.vimrc
命令即可对此配置文件进行合理修改。通常情况下,Vim 用户配置文件需要自己手动创建。
设置参数 | 功能描述 |
---|---|
set nu | 显示行号 |
set cul | 突出显示当前行。 |
set ai | 设置自动缩进,即每行的缩进同上一节相同。 |
set ts=4 | 设置 Tab 键宽度为 4 个空格。 |
5,总结
本次学习了如何在Linux中对文件进行管理,知道了Linux中文件夹的基本格式,以及常规使用,修改等一些常用命令