目录
一.Linux目录基本结构
Linux目录为树形结构,根目录“/”是所有分区、目录、文件的位置起点。
1.常见目录及其作用
一级目录 | 功能(作用) |
---|---|
/bin/ | 存放系统命令,普通用户和 root 都可以执行。放在 /bin 下的命令在单用户模式下也可以执行 |
/boot/ | 系统启动目录,保存与系统启动相关的文件,如内核文件和启动引导程序(grub)文件等 |
/dev/ | 设备文件保存位置 |
/etc/ | 配置文件保存位置。系统内所有采用默认安装方式(rpm 安装)的服务配置文件全部保存在此目录中,如用户信息、服务的启动脚本、常用服务的配置文件等 |
/home/ | 普通用户的主目录(也称为家目录)。在创建用户时,每个用户要有一个默认登录和保存自己数据的位置,就是用户的主目录,所有普通用户的主目录是在 /home/ 下建立一个和用户名相同的目录。如用户 liming 的主目录就是 /home/liming |
/lib/ | 系统调用的函数库保存位置(c语言 写的一些固定格式的代码,方便调用) |
/media/ | 挂载目录。系统建议用来挂载媒体设备,如软盘和光盘 |
/mnt/ | 挂载目录。早期 Linux 中只有这一个挂载目录,并没有细分。系统建议这个目录用来挂载额外的设备,如 U 盘、移动硬盘和其他操作系统的分区 |
/misc/ | 挂载目录。系统建议用来挂载 NFS 服务的共享目录。虽然系统准备了三个默认挂载目录 /media/、/mnt/、/misc/,但是到底在哪个目录中挂载什么设备可以由管理员自己决定。例如,笔者在接触 Linux 的时候,默认挂载目录只有 /mnt/,所以养成了在 /mnt/ 下建立不同目录挂载不同设备的习惯,如 /mnt/cdrom/ 挂载光盘、/mnt/usb/ 挂载 U 盘,都是可以的 |
/opt/ | 第三方安装的软件保存位置。这个目录是放置和安装其他软件的位置,手工安装的源码包软件都可以安装到这个目录中。不过笔者还是习惯把软件放到 /usr/local/ 目录中,也就是说,/usr/local/ 目录也可以用来安装软件 |
/root/ | root 的主目录。普通用户主目录在 /home/ 下,root 主目录直接在“/”下 |
/sbin/ | 保存与系统环境设置相关的命令,只有 root 可以使用这些命令进行系统环境设置,但也有些命令可以允许普通用户查看 |
/srv/ | 服务数据目录。一些系统服务启动之后,可以在这个目录中保存所需要的数据 |
/tmp/ | 临时目录。系统存放临时文件的目录,在该目录下,所有用户都可以访问和写入。建议此目录中不能保存重要数据,最好每次开机都把该目录清空 |
二.常用文件处理命令
1.七类常见的linux的文件
d 目录文件directory
b 块设备文件block 块设备文件,就是保存大块数据的设备,比如最常见的硬盘。
c 字符设备character 这些文件通常隐藏在 /dev/ 目录下,当进行设备读取或外设交互时才会被使用
l 符号链接文件link软链接
p 管道文件pipe 主要用于进程间通信单向传输 一个发一个输管道文件
s 套接字文件socket 套接字文件一般隐藏在 /var/run/ 目录下,用于进程间的网络通信
-普通文件 普通文件,包括纯文本文件、二进制文件、各种压缩文件等
2.cat(查看文件内容)
选项 | 效果 |
---|---|
-n | 显示行号包括空行 |
-b | 跳过空白行编号 |
-s | 将所有的连续的多个空行替换为一个空行(压缩成一个空行) |
-A | 显示隐藏字符 |
3.more(分页查看文件内容)
more [选项] 文件名
基本操作:
空格下一行 到文末后自动退出
b上一行
enter一行一行滚动
自动退出
q退出
4.less(分页查看文件内容)
less [选项] 文件名
基本操作:
可以使用/ 查找 n向下 N向上查找
Page Up 向上翻页,Page Down 向下翻页
其余参考more
5.head(从头部查看文件内容)
-c # 指定获取前#字节
-n # 指定获取前#行,#如果为负数,表示从文件头取到倒数第#行(不加具体的数字,默认前十行)
6.tail(从尾部查看文件内容)
-n 具体数字 文件名 显示倒数数字行(不加具体的数字,默认结尾十行)
-f 具体数字 文件名 实时跟踪最后十行
tail -n +数字 从数字行开始显示
7.wc(统计文件内容)
wc [选项]... 目标文件..
-l:统计行数
-w:统计单词个数
-c:统计字节数
8.grep(过滤文件)
grep [选项]… 查找条件 目标文件
-i:查找时忽略大小写
-v:反向查找,输出与查找条件不相符的行
-o 只显示匹配项
-f 对比两个文件的相同行
-c 匹配的行数([root@localhost ky15]# grep -c root passwd 2)
基本格式
要查找的字符串以双引号括起来单引号也可以
“^……”表示以……开头,“……$”表示以……结尾
“^$”表示空行
9.gzip bzip2(压缩及解压缩文件)
1.压缩:gzip [-9] 文件名… 提高压缩比例,但是文件较大时效率会低
bzip2 [-9] 文件名...
2.解压缩:gzip -d .gz格式的压缩文件
bzip2 -d .bz2格式的压缩文件
注:9代表压缩比率,9最大1最小,使用以上两种压缩源文件不存在了,gzip的压缩率要高于bzip2
10.tar(归档)
tar [选项] ... 归档文件名 源文件或目录
tar [选项] ... 归档文件名 [-C 目标目录]
此处选项有先后要求
-c:创建(Create).tar 格式的包文件
-x:解开.tar 格式的包文件
-C:解压时指定释放的目标文件夹
-f:表示使用归档文件(一般都要带上表示使用tar)
-p:打包时保留文件及目录的权限
-P:打包时保留文件及目录的绝对路径
-t:列表查看包内的文件(要和f一起使用)
-v:输出详细信息
-j:调用 bzip2 程序进行压缩或解压
-z:调用 gzip 程序进行压缩或解压
三.vi文本编辑器
1.文本编辑器作用
- 创建或修改文本文件
- 维护Linux系统中的各种配置文件
2.vi和vim介绍
- vi:类unix操作系统的默认文本编辑器
- vim:vim是vi文本编辑器(一般简称为vi编辑器)的增强版本
3.vim工作模式及切换方式
3.1三种常见模式
- 命令模式(默认模式):可以实现移动光标,剪切/粘贴文本
- 插入模式(编辑模式):用于修改文本
- 末行模式:保存,退出,搜索替代,还有很多查看习惯设置等
3.2切换方式
命令模式→输入模式
a:在当前光标位置之后插入内容
i:在当前光标位置之前插入内容
o:在光标所在行之下插入一个新行内容
O:在光标所在行之上插入一个新行内容
A:在所在行的行尾插入内容
I:在所在行的行首插入内容
命令模式→末行模式
输入“:“键(冒号)
:set nu 显示行号
:set nonu 不显示行号
注:末行和输入模式返回命令模式按esc即可
3.3.命令模式常用操作
操作键 | 功能 |
---|---|
ctrl+f或者Pagedown | 向下翻页 |
ctrl+b或者Pageup | 向上翻页 |
Home;^;0 | 跳到本行的行首 |
按 End 键或$ | 跳转到本行的行尾 |
1G 或 gg | 跳转到文件的第一行包括空行 |
G | 跳转文件的末尾 |
#G | #代表行号数字,直接跳转到#行 |
M | 跳转到当前显示页面的中间行 |
x或delete | 删除当前光标的字符 |
dd | 删除一整行 |
#dd | 删除当前光标开始到第#行(包括当前行) |
d^ | 删除当前光标之前到行首 往前不包括当前光标处的字符 86 往后删除包括当前光标处的字符 |
d$ | 删除当前光标到行尾 |
3.4.末行模式常用操作
快捷键 | 功能效果 |
---|---|
:q | 退出不保存 |
:q! | 强制退出不保存 |
:w | 保存 |
:w 新文件名 | 另存为新文件: |
:wq :zz :x | 保存并退出 |
:e 其他文件名(如果已修改需要加e!) | 打开新文件进行编辑 |
:r 其他文件名 | 在当前文件中读入其他文件内容 |
!命令 | 执行命令 |
: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 | 删除 第#行 |