linux目录结构:
FHS(filesystem hierachy standard 目标层次标准)定义了两层规范:
第一层是“/”目录下的各个目录应该放什么数据文件。
第二层是针对/usr和/var这两个目录的子目录来定义。
根目录:
所有分区,目录,文件等的位置起点
整个树形目录结构中,使用独立的一个''/"表示
常见子目录及作用:
/root:系统管理员root的宿主目录 (默认情况下只有root用户的宿主目录在根目录下而不是在“/home”目录下)
/bin:所有用户可执行的命令 (绝对不可以单独划分一个分区挂载到它下面去)
/boot:系统内核,启动文件 (存放的是和系统启动相关的文件,可以划分单独的一个分区,也可以不单独划分。/boot不能出现在lvm逻辑卷分区里)
/dev:设备文件 (不可单独划分一个分区)
/etc:配置文件 (绝对不可以单独划分一个分区)
/home:普通用户的宿主目录 (用来存储家目录的目录,不是家目录)
/var:日志文件等 (存放数据库和日志文件,以及一些缓存文件,存放都是经常变化型的文件)
/usr:应用程序 (可以单独划分一个分区)
/sbin:管理员可执行的管理命令 (不可以单独划分一个分区)
查看文件内容cat命令
拓展:> 为覆盖写入 >>为追加写入 皆为重定向符号
cat命令用途:显示文件内容
more命令用途:全屏方式分页显示文件内容
more 【选项】 文件名..
less命令用途:与more命令相同,但是扩展功能更多
less 【选项】 文件名...
head命令用途:查看文件开头的一部分内容(前10行)
tail命令用途:查看文件末尾的一部分内容(后10行)
cat 一次性显示所以的内容 -n文件名 显示文件行数
more 分页显示
less 分页显示,但是有查找功能
head 只显示前几行内容 默认是前10行
tail 只显示文件末尾的内容 默认是末尾10行 -f 跟踪文件尾部内容的动态更新
wc命令用途:统计文件中的单词数量等信息
wc [选项]... 目标文件... -l 统计行数 -c 统计字节数 -w统计单词个数
grep命令用途:在文件中查找并显示包含指定字符串的行
grep [选项]... 查找条件 目标文件 -i 查找时忽略大小写 -v反转查找,输出与查找条件不相符的行
“^...”开头 “...$”结尾 ^$表示空行
gzip命令 bzip2命令用途:制作压缩文件,解开压缩文件
常用命令:-9 最大级别 -d解压缩
gzip -9 文件名...
bzip2 -9 文件名...
gzip -d 目录.gz
bzip2 -d 目录 .bzip2
example:
find / -uid 101 -exec rm -rf {} \;
查看系统里面uid为1001的文件,并执行下面操作:全部删除
-exec:执行下面操作;
{}:前面命令的结果值;
"\;" :结尾固定命令格式
example2:
find / uid 1001 -exec mv {} /opt \;
将查找到的内容全部全部移到opt
tar命令用途:制作归档文件,释放归档文件 / 制作压缩包文件,解压压缩包文件
tar 【选项】... 归档文件名 源文件或目录(制作压缩包文件的命令)
tar【选项】...归档文件名 【-C目录目标】(解压压缩包文件的命令)
选项:
c:创建.tar格式的包文件 (压缩)
x:解开.tar.格式的包文件(解压缩)
t:列表查看包内的文件(查看压缩后)
z:调用gzip程序进行压缩或解压
j:调用bzip2程序进行压缩或解压
v:输出详细信息
f:表示使用归档文件
P:打包时保留原始文件及目录的权限
C:解包时指定释放的目标文件夹
注:固定参数是vf
czvf为归档gzip文件
cjvf为归档bzip2文件
tjvf查看bzip2格式文件
tzvf查看gzip格式文件
xf 文件名.bz2 -C /目录 解压bzip2文件
xf 文件名.gz -C /目录 解压gzip文件
文本编辑器vi命令的作用:
创建或修改文本文件
维护linux系统中的各种配置文件
vi:类unix操作系统的默认文本表机器
vim:vim是vi文本编辑器(一般简称为vi编辑器)的增强版本
vi编辑器的三种工作模式:
命令模式,输入模式,末行模式
不同模式的切换:
vi 文件名:命令模式
i,a,o Esc:输入模式
:和Esc:末行模式
命令模式进入到输入模式:
a:在光标后输入内容
A:在当前行的末尾输入内容
o:在当前行的下面输入内容
O:在当前行的上面输入内容
i:在光标处输入内容
I(大写i):在当前行的行首输入内容
命令模式下的跳转命令:
G(shift+g):跳到文件的最后一行
gg/1G:回到文件的第一行行首;example:10gg(调到文件的第10行)
H:跳到当前屏幕的第一行
M:跳到当前屏幕的中间
L:跳到当前屏幕的最后一行
w:一个单词一个单词的向右跳
b:一个单词一个单词的向左跳
命令模式下的复制和粘贴命令:
yy:复制当前行 example:10yy:从当前行开始向下复制十行
p:将缓冲区中的内容粘贴到光标位置处之后
P:粘贴到光标位置之前
命令模式下删除\撤销\替换命令:
dd:删除当前行 example:10dd:从当前开始向下删除10行
x/del:删除光标处的一个字符
u:撤销上一步
U:用于取消对当前所做的所有编辑
ZZ:保存当前的文件内容并退出vi编辑器
ctrl+r:反撤消
r b:把光标所在处的字符替换成b;r n:把光标处的字符替换成n
R:从光标处连续向右替换直到按esc键停止 (光标处开始替换模式)
命令模式下文件内容查找:
/word:从上而下在文件中查找字符串“word”
?word:从下而上在文件中查找字符串“word”
n:定位下一个匹配的被查找的字符串
N:定位上一个匹配的被查找的字符串
输入模式
就是写入文本内容
末行模式保存和退出:
w:保存
w aa.log:把当前文件另存为aa.log 放到当前目录
w /tmp/ab.log:把当前文件另存为ab.log放到/tmp目录
q:退出
wq:保存后退出 和x一样
q!:不保存退出
1090,1096 w 1090.log :把当前文件的1090行到1096行,另存到当前目录的1090.log中
1085,1088s /^/#/g:在1085行到1088行的行首输入#
%s /^/#/g:所有行的行首输入#
1085,1088s /^#//g:在1085行到1088行的行首去掉#
:set nu:显示行号 (临时显示)
:set nonu:不显示行号
打开新文件或读入其他文件内容
e /home/a.txt:在当前文件下,打开新的文件进行编辑;
q!:两个文件都退出来了
:r aa.log:把当前目录下的aa.log文件读取到当前文件中,起到文件合并的效果
:w 目录:保存
cat /目录 /目录 >> / 目录 保存
文件内容替换
s /old/new:将当前行中查找到的第一个字符串“old”替换为“new”
s /old/new/g:将当前行中查找到的所有字符串“old”替换为“new”
#,# s/old/new/g:在行号"#,#"范围内替换所有的字符串“old”为“new”
% s/old/new/g:在整个文件范围内替换所有的字符串“old”为“new”
%s /^c/C/g:把当前文档中所有以c开头的内容替换成C
s /old/new/c:在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认