一、目录层次
1、常见目录
一级目录 | 功能(作用) |
/bin/ | 存放系统命令,普通用户和root都可以执行。放在/bin下的命令在单用户模式下也可以执行 |
/boot/ | 系统启动目录,保存与系统启动相关的文件,如内核文件和启动引导程序(grub)文件等 |
/dev/ | 设备文件保存的位置 |
/etc/ | 配置文件保存位置。系统内所有采用默认安装方式(rpm安装)的服务配置文件全部保存在此目录中,如用户信息、服务的启动脚本、常用服务的配置文件等 |
/home/ | 普通用户的主目录(也称为家目录)。在创建用户时,每个用户要有一个默认登录和保存自己数据的位置,就是用户的主目录,所有普通用户的主目录是在/home/下建立一个和用户名相同的目录。如用户liming的主目录就是在/home/liming |
/lib/ | 系统调用的函数库保存位置 |
/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/ | 临时目录。系统存放临时文件的目录,在该目录下,所有用户都可以访问和写入。建议此目录中不保存重要数据,最好每次开机都把该目录清空 |
2、根目录
根目录(/):是Linux文件系统的组织者,也是最上级的领导者;Linux的文件系统的入口就是根目录“/”,所有的目录、文件、设备也都置于根目录“/”之下。linux的目录都是从根开始,整个目录结构是一棵倒立的树结构,“/”是树根,其中的子文件夹就是树干和树叶。
根目录(/)下有如下目录文件:
bin 存放二进制文件,可执行文件,也可能存在别处,默认使用较多所有用户软连接文件——命令
sbin 管理员可以使用的二进制文件——命令ls、cd、useradd等
boot 系统内核、启动文件
dev 硬件文件(黄色)
etc 系统默认配置文件,等同于Windows的注册表,一般都是文本文件
run 运行的内存中文件,运行中的文件
tmp 临时文件 -t 特殊权限
usr 应用程序和操作系统相关的文件
var/log 日志文件,数据变化的
home 普通用户的家目录的上级目录,如用户liming,在/home/目录下/home/liming
root 系统管理员的家目录
lib 动态库文件,类似于Windows的dll文件
proc 主要保存系统的内核、进程、外部设备状态和网络状态等
media 可移动设别
mnt 默认挂载点
opt 第三方应用程序安装所在目录
二、文件压缩及归档
1、文件压缩
gzip和bzip命令用于文件压缩,但是缺陷是压缩完成后源文件消失所以一般不用。
命令格式是:gzip或者bzip + 0-9的压缩等级(数字越大压缩级别越大) +要压缩的文件
gzip -d 是解压缩
2、归档
归档使用tar命令,使用格式:tar [选项] 自定义名 需要归档的文件。
tar命令本身没有压缩功能要配合gzip和bzip才能实现压缩功能,有对应选项且压缩完成后源文件存在。
[选项]
-c:创建(Create).tar 格式的包文件
-x:解开.tar 格式的包文件
-C:解压时指定释放的目标文件夹
-f:表示使用归档文件(一般都要带上表示使用tar)
-p:打包时保留文件及目录的权限
-P:打包时保留文件及目录的绝对径
-t:列表查看包内的文件(要和f一起使用)
-v:输出详细信息(Verbose)
-j:调用 bzip2 程序进行压缩或解压
-z:调用 gzip 程序进行压缩或解压
一般压缩时,联合使用以上的多个选项如 zcvf 表示将文件以gzip格式压缩,jcvf 表示将文件以bzip2格式压缩,但是解压时,可以直接使用 xf 两个选项联合,可解压以上两种格式的压缩文件。
解压缩使用 xf 两个选项的联合
三、vi编辑器
1、vi介绍
作用:创建或修改文本文件,如果有这个文件使用 vi +文件名代表打开这个文件,如果没有这个文件代表创建此文件。
安装:linxu常用的文本编辑器,类unix操作系统的默认文本编辑器。操作系统默认安装
vim编辑器:是vi的加强版,最大的区别是vim可以显示颜色,但是最小化安装时不会自动安装
vi命令格式: vi [选项] 文件名
[选项] +number 代表加数字,如vi +10 代表打开文件光标直接在第10行,默认第一行
+/^内容h或者内容$ 代表打开以什么开头或以什么结尾,例如打开以root开头,
vi +/^root
2、vi的三种模式
命令模式:默认模式,可以移动光标定位光标复制粘贴等
插入模式:命令模式按i(当前位置插入) o(在下一行插入) 会切入到输入模式,输入文字
末行模式:执行待定命令
三种模式的互相切换,如下图
命令模式-------->插入模式
有以下几种方式:
i insert, 在光标所在处输入
I 在当前光标所在行的行首输入
a append, 在光标所在处后面输入
A 在当前光标所在行的行尾输入
o 在当前光标所在行的下方打开一个新行
O 在当前光标所在行的上方打开一个新行
命令模式
命令模式:此模式下,可使用方向键(上、下、左、右键)或 k、j、h、i 移动光标的位置,还可以对文件内容进行复制、粘贴、替换、删除等操作。
命令模式中的一些常用命令:
退出VIM的命令
ZZ 保存退出
ZQ 不保存退出
光标跳转
h:向左; l:向右; j:向下; k:向上
单词间跳转
w:下一个单词的词首
e:当前或下一单词的词尾
b:当前或前一个单词的词首
当前页跳转:
H:页首
M:页中间行
L:页底
zt:将光标所在当前行移到屏幕顶端
zz:将光标所在当前行移到屏幕中间
zb:将光标所在当前行移到屏幕底端
行首行尾跳转:
^ 跳转至行首的第一个非空白字符
0 跳转至行首
$ 跳转至行尾
行间移动:
G 跳转至页末行
gg 跳转至页首行
字符编辑:
x 剪切光标处的字符
#x 从光标处开始剪切,向后剪切#个(#是数字)
~ 转换大小写
J 删除当前行后的换行符
替换命令(replace)
r 只替换光标所在处的一个字符
R 切换成REPLACE模式(在末行出现-- REPLACE -- 提示),按ESC回到命令模式
删除命令(delete)
d 删除命令,可结合光标跳转字符,实现范围删除
d$ 删除到行尾
d^ 删除到非空行首
d0 删除到行首
dw 下一个单词的词首
de 当前或下一个单词的词尾
db 当前或上一个单词的词首
dd 剪切光标所在的行
D 从当前光标位置一直删除到行尾,等同于d$
复制命令(yank)
y 复制,行为相似于d命令
y$ 复制到行尾
y0 复制到行首
y^ 复制到非空行首
ye 当前或下一个单词的词尾
yw 下一个单词的词首
yb 当前或上一个单词的词首
yy 复制一整行
Y 复制多个整行
粘贴命令(paste)
p(小p) 缓冲区存的如果为整行,则粘贴当前光标所在行的下方;否则,则粘贴至当前光标所在处的后面
P(大P) 缓冲区存的如果为整行,则粘贴当前光标所在行的上方;否则,则粘贴至当前光标所在处的前面
撤消更改
u 撤销最近的更改,相当于windows中ctrl+z
#u 撤销之前多次更改
U 撤消光标落在这行后所有此行的更改
Ctrl-r 重做最后的“撤消”更改,相当于windows中crtl+y
. 重复前一个操作
#. 重复前一个操作#次
输入模式
输入模式: 使 Vim 进行输入模式的方式是在命令模式状态下输入 i、I、a、A、o、O 等插入命令(各指令的具体功能如表 3 所示),当编辑文件完成后按 Esc 键即可返回命令模式。
切入到输入模式:
i 在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动
I 在当前光标所在行的行首输入
a 在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本
A 在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入
o 在当前光标所在行的下方打开一个新行
O 在当前光标所在行的上方打开一个新行
末行模式
末行模式:文件中的指定内容执行保存、查找或替换等操作。使 Vim 切换到编辑模式的方法是在命令模式状态下按“:”(英文冒号)键,此时 Vim 窗口的左下方出现一个“:”符号,这是就可以输入相关指令进行操作了。
基础命令:
# #具体第#行,例如2表示第2行
#,# #从左侧#表示起始行,到右侧#表示结尾行
#,+# #从左侧#表示的起始行,加上右侧#表示的行数,范例:2,+3 表示2到5行
. #当前行
$ #最后一行
.,$-1 #当前行到倒数第二行
% #全文, 相当于1,$
/pattern/ #从当前行向下查找,直到匹配pattern的第一行,即:正则表达式
/pat1/,/pat2/ #从第一次被pat1模式匹配到的行开始,一直到第一次被pat2匹配到的行结束
#,/pat/ #从指定行开始,一直找到第一个匹配pattern的行结束
/pat/,$ #向下找到第一个匹配patttern的行到整个文件的结尾的所有
查找并替换
格式:范围 s/要查找的内容/替换的内容/g
说明:
要查找的内容:可使用基本正则表达式模式
替换为的内容:不能使用模式,但可以使用\1, \2, ...等后向引用符号;
还可以使用“&”引用前面查找时查找到的整个内容
修饰符:
i #忽略大小写
g #全局替换,默认情况下,每一行只替换第一次出现
c #全局替换,每次替换前询问
显示行号 set nu 取消显示 set nonu
加密 set key=密码 取消加密 set key=空