一、文件治理
目前服务器端的支流文件系统是:ext4与xfs;
df -T
查看磁盘的格式化的格局,支流个别是 xfs 和ext4,系统盘默认是xfs,后续增加数据盘尽量也是xfs格局这样对立比拟好,也不便写脚本批量挂盘。
1.文件操作
(1.1),查看文件列表:ls
# 1.查看文件的详细信息: $ ls -l# 2.查看文件的详细信息并以人性化的形式展示(k/M/G): $ ls -lh# 3.查看所有的文件(包含暗藏文件): $ ls -a# 4.查看所有文件的详细信息: $ ls -al# 5.查看所有文件的详细信息并以人性化的形式展示(k/M/G): $ ls -alh# 6.帮忙查问命令: $ ls --help# 7.分屏显示文件列表: $ more ls
图详解(1).第1个字母代表文件的类型:“d” 代表文件夹、“-” 代表一般文件、“c” 代表硬件字符设施、“b” 代表硬件块设施、“s”示意管道文件、“l” 代表软链接文件。 (2).后 9 个字母别离代表三组权限:文件所有者、用户组、其余用户领有的权限。(3).文件的硬链接数(4).文件的拥有者(5).文件的领有组(6).文件的大小(7).文件的批改工夫(8).文件名
(1.2).通配符
命令(含通配符) | 含意 |
---|
* | 文件代表文件名中所有字符 |
ls am* | 查找以am结尾的文件 |
ls *html | 查找结尾为html的文件 |
? | 代表文件名中任意一个字符 |
ls ?.c | 只找第一个字符任意,后缀为.c的文件 |
ls a.? | 只找只有3个字符,前2字符为a.,最初一个字符任意的文件 |
[] | [”和“]”将字符组括起来,示意能够匹配字符组中的任意一个。“-”用于示意字符范畴。 |
[abc] | 匹配a、b、c中的任意一个 |
[a-f] | 匹配从a到f范畴内的的任意一个字符 |
(2),输入重定向:
# 1.将查问进去的目录名输入到指定文件中(从新并笼罩之前的,如果不存在则创立):$ ls > xxx.txt# 2.将查问进去的目录名输入到指定文件中(在之前的根底上追加,如果不存在则创立):$ ls >> xxx.txt
(3),文件的创立、查看、删除
# 1.创立一个空文件: $ touch xxx.txt# 2.查看文件的内容: $ cat xxx.txt# 3.查看文件的内容并显示行号: $ cat -b xxx.txt# 4.合并文件内容到一个新的文件中(源文件不删除): $ cat xxx1.txt xxx2.txt > xxx.txt# 5.删除一个文件: $ rm xxx.txt
rm 参数 | 含意 |
---|
-i | 以进行交互式形式执行 |
-f | 强制删除,疏忽不存在的文件,无需提醒 |
-r | 递归地删除目录下的内容,删除文件夹时必须加此参数 |
(4),管道(一个命令的输入能够作为管道作为另一个命令的输出):
$ ls -alh | more
(5),为两个文件建设连贯(须要指明源文件名和连贯文件名):
# 1.软连贯: 当原始文件被删除,以后软连贯文件则不能被拜访$ ln -s xxx.txt soft_xxx.txt# 2.硬链接: 即便原始的文件被删除,以后硬链接文件依然能够拜访$ ln xxx.txt hard_xxx.txt
(6),文件的查找
# find命令性能十分弱小,通常用来在特定的目录下搜寻符合条件(应用正则表达式)的文件,也能够用来搜寻特定用户属主的文件。# 1.查找/etc目录下的所有文件中含有"root"的:$ find /etc -name "root"# 2.查找/etc目录下的所有文件中"root"结尾的:$ find /etc -name "^root"# 3.查找/etc目录下的所有文件中"root"结尾的:$ find /etc -name "root$"
命令 | 含意 |
---|
find ./ -name test.sh | 查找当前目录下所有名为test.sh的文件 |
find ./ -name '*.sh' | 查找当前目录下所有后缀为.sh的文件 |
find ./ -name "[A-Z]*" | 查找当前目录下所有以大写字母结尾的文件 |
find /tmp -size 2M | 查找在/tmp 目录下等于2M的文件 |
find /tmp -size +2M | 查找在/tmp 目录下大于2M的文件 |
find /tmp -size -2M | 查找在/tmp 目录下小于2M的文件 |
find ./ -size +4k -size -5M | 查找当前目录下大于4k,小于5M的文件 |
find ./ -perm 777 | 查找当前目录下权限为 777 的文件或目录 |
(7),文本文件的内容搜寻,也能够在通道之后搜寻:
grep选项 | 含意 |
---|
-v | 显示不蕴含匹配文本的所有行(相当于求反) |
-n | 显示匹配行及行号 |
-i | 疏忽大小写 |
# grep命令是文本搜寻工具,grep容许对文本文件进行模式(通过指定正则表达式)查找。如果找到匹配模式,grep打印蕴含模式的所有行。# grep [-选项] ‘搜寻内容串’文件名# 1.搜寻以a结尾的行: $ grep "^a" 1.txt# 2.搜寻以a结尾的行: $ grep "a$" 1.txt3.匹配[]里中一系列字符中的任意一个: $ grep "[a-g]kk" 1.txt
(8),文件的拷贝和挪动
# cp命令的性能是将给出的文件或目录复制到另一个文件或目录中1.拷贝文件到a门路下: 1)间接复制不提醒: $ cp 1.txt a 2)显示拷贝进度:cp 1.txt a -v 3)曾经存在的指标文件不提醒:cp 1.txt a -f2.拷贝文件夹a到文件夹b中(不存在则创立): cp a b -r# 用户能够应用mv命令来挪动文件或目录,也能够给文件或目录重命名。3.挪动文件到a门路下: mv 1.txt /a -v4.挪动文件夹a到文件夹b中(不存在则创立): mv a b -v5.批改文件名: mv 1.txt 2.txt
选 项 | 含意 |
---|
-a | 该选项通常在复制目录时应用,它保留链接、文件属性,并递归地复制目录,简略而言,放弃文件原有属性。 |
-f | 曾经存在的指标文件而不提醒 |
-i | 交互式复制,在笼罩指标文件之前将给出提醒要求用户确认 |
-r | 若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,指标文件必须为一个目录名。 |
-v | 显示拷贝进度 |
(9),文件的压缩与解压缩
# tar应用格局 tar [参数] 打包文件名 文件1.打包文件:tar -cvf xxx.tar *.txt解压文件:tar -xvf xxx.tar2.打包并压缩文件(.tar.gz):tar -zcvf xxx.tar.gz *.txt解压缩文件(.tar.gz):tar -zxvf xxx.tar.gz3.打包并压缩文件(.tar.bz2):tar -jcvf xxx.tar.bz2 *.txt解压缩文件(.tar.bz2):tar -jxvf xxx.tar.bz24.打包并压缩文件(.tar.zip):zip xxx.zip *.txt解压缩文件(.tar.zip):unzip xxx.zip5.解压到指定门路:tar -zxvf xxx.tar.gz -C /a
参数 | 含意 |
---|
-c | 生成档案文件,创立打包文件 |
-v | 列出归档解档的具体过程,显示进度 |
-f | 指定档案文件名称,f前面肯定是.tar文件,所以必须放选项最初 |
-t | 列出档案中蕴含的文件 |
-x | 解开档案文件 |
(10),文件的权限治理
1,批改文件的所有者: 应用办法:chown 用户名 文件或目录名 sudo chown demo xxx.txt2,批改文件的所在组: 应用办法:chgrp 用户组名 文件或者目录名 chgrp demo xxx.txt3,批改文件的权限: (1).字母法:chmod u/g/o/a +/-/= rwx 文件 u:user 示意该文件的所有者 g:group 示意与该文件的所有者属于同一组( group )者,即用户组 o:other 示意其余以外的人 a:all 示意这三者皆是 r:读取; w:写入; x:可执行 +:减少权限; -:撤销权限; =:设定权限 批改文件所有者的权限:chmod u+w XXX.txt 批改文件所有者的属于同一组的权限:chmod g+w XXX.txt 批改其他人的权限:chmod o+w XXX.txt 批改三者的权限:chmod a+w XXX.txt (2).数字法(读、写、执行<--->4、2、1;不具备任何权限是0): 例0:chmod u=rwx,g=rx,o=r filename <=======>chmod u=7,g=5,o=4 filename 例1: chmod 751 file 文件所有者:读、写、执行权限(7=4+2+1) 同组用户:读、执行的权限(5=4+1) 其它用户:执行的权限(1=1) 例2: chmod 777 file:所有用户领有读、写、执行权限 例3: 如果想递归所有目录加上雷同权限,须要加上参数"-R" chmod 777 test/ -R 递归 test 目录下所有文件加 777 权限
(11),解决INode资源耗尽的问题
1),办法一
通过找到以后零碎中文件最多的目录,而后查看文件的硬连接数(因为一个文件名和一个INode号是一一对应的关系,然而也能够多个雷同的文件名对应一个Inode号码),删除多余的文件,并管制文件生成的数量。
2.目录操作
(1),展现当前目录:
pwd
(2),切换目录:
1.切换到以后用户的主目录: cd2.切换到根目录: cd /3.切换到家目录: cd ~4.切换到上一层目录: cd ..5.当前目录: .6.切换到指定目录: cd /etc7.可进入上次所在的目录: cd -
(3).创立和删除目录:
1.创立一个一般的文件夹:mkdir a2.创立指定门路下的文件夹(指定-p的时候是确保目录名称存在,如果目录不存在的就新创建一个):mkdir a/b/c/d -p删除一个空目录: rmdir a删除一个有文件的目录: rm -r a
(4).革除以后屏幕中显示的内容
间接敲命令: clear应用快捷键: ctrl+L
3.Vi编辑器
1.命令模式
# (1),进入插入模式: i: 插入光标前一个字符 I: 插入行首 a: 插入光标后一个字符 A: 插入行未 o: 向下新开一行,插入行首 O: 向上新开一行,插入行首# (2),复制粘贴命令: yy:复制 光标所在的这一行 4yy:复制 光标所在的这一行开始向下的4行 p:粘贴# (3),删除命令(也就是剪切,在不粘贴的状况下就是删除): x:删除(剪切) 以后光标选中的那个,每次只删除一个 X:删除(剪切) 以后光标后面的那个,每次只删除一个 dd:剪切(删除) 光标所在的这一行 2dd:剪切(删除) 光标所在的这一行开始向下的2行 d0:从以后光标开始剪切(删除),始终到行首 dw:删除光标开始地位的字,蕴含光标所在字符 D:从以后的光标开始剪切(删除),始终到行末
# (4),挪动光标命令: h:左 j:下 k:上 l:右 H:以后屏幕的上方 M:以后屏幕的两头 L:以后屏幕的下方 {: 按段挪动,上移 }: 按段挪动,下移 ctrl+f------>向下翻一页代码 ctrl+b------>向上翻一页代码 ctrl+d------>向下翻半页代码 ctrl+u------>向上翻半页代码 20G:疾速定位到第20行代码 G:疾速回到 整个代码的最初一行 gg:疾速回到 整个代码的第1行 w:向后跳一个单词的长度,即跳到下一个单词的开始处 b:向前跳一个单词的长度,即跳到上一个单词的开始处
# (5),撤销命令: u:撤销刚刚的操作 ctrl+r:反撤销# (6),可视模式下选中文本: v:按字符挪动,选中文本 V:按行挪动,选中文本可视模式能够配合 d, y, >>, << 实现对文本块的删除,复制,左右挪动# (7),文本挪动 >>:向右挪动代码 <<:向左挪动代码# (8),反复命令: .:反复执行上一次的命令,能够配合左右挪动代码的时候应用
# (9),替换命令: r:替换一个字符:在命令模式下先输出r,而后能够输出新的字符替换以后字符 末行模式下,将光标所在行的abc替换成123 :%s/abc/123/g 末行模式下,将第一行至第10行之间的abc替换成123 :1, 10s/abc/123/g R:替换光标以及前面的字符:在命令默认下输出R,而后输出新的字符能够将以后光标之后的所有元素进行替换# (10),查看命令: /:str(字符串)查找 n:在查找之后,示意下一个 N:在查找之后,示意上一个 在搜寻之后始终高亮显示,咱们能够尝试搜寻一个不存在的字符便能够去除.
# 补充常见谬误阐明、以及解决办法:# (1).如果在vim中按ctrl+s后呈现键盘失灵,能够按ctrl+q复原!具体阐明:应用vim时,如果你不小心按了 Ctrl + s后,你会发现不能输出任何货色了,像死掉了个别,其实vim并没有死掉,这时vim只是进行向终端输入而已,要想退出这种状态,只需按Ctrl + q 即可恢复正常。
2.末行模式
(1),在vim中执行shell命令: 末行模式里输出!,前面跟命令 (2)退出: shift+zz:相当于末行模式下的wq(保留并退出) w:保留 q:退出 wq:保留并退出 q!:强制退出(3),设置行号(只是在以后vim关上的文档中失效): 显示行号(要在末行模式下输出): :set number <====> :set nu 勾销显示行号(同样也要在末行模式下输出):set nonumber <====> set nonu 永恒设置vim的一些属性:更改~/.vimrc文件即可 vim ~/.vimrc 设置行号:set number 设置搜寻出的内容高亮:set hlsearch(4),在末行模式下的替换 将光标所在行的abc全副替换成123(其中g的固定的): :%s/abc/123/g 将第一行至第10行之间的abc替换成123: :1, 10s/abc/123/g 替换文中每一行的第一个 str1 为 str2: :%s/str1/str2/