1、ls
文件属性:?
-:普通文件?
d:目录文件?
b:块设备?
c:字符设备文件?
l:符号连接文件?
p:命令管道?
s:套接字文件?
?
文件权限:?
9位数字,每3位一组?
文件硬链接次数?
文件所属主(owner)?
文件的属组(group)?
文件大小(size),单位默认是字节?
?
ls常用选项:?
-l:显示文件属性,ls?-l=ll?
-h:做相应的单位转换显示?
-a:显示所有文件?
-A:显示.和..以为的所有文件?
-d:显示目录自身属性?
-i:显示文件的缩影接点号码(index?node?,inode)?
-r:逆序显示文件列表?
-R:递归显示文件?
2、cd
cd:change?directory?
cd:回到用户的家目录?
cd?~username:进入指定用户的家目录?
cd?-?:在当前目录和前一次所在的目录来回切换?
cd?..:切换至其父目录?
3、printenv:显示当前环境变量信息
4、时间管理
date:显示系统时间?
clock:显示硬件时间?
hwclock?-W:把系统时间同步到硬件时间?
hwclock?-s:把硬件时间同步到系统时间?
cal:显示日历?
5、命令帮助
内部命令帮助:help?COMMAND?
外部命令帮助:man??COMMAND?
命令手册:manual?
whatis?COMMAND:显示此命令在man帮助的哪个章节内。?
============================================================
man的操作命令:?
空格:向后翻一屏?
b:向前翻一屏?
ENTER:向后翻一行?
k:向前翻一行?
============================================================
关键字查找?
/KEYWORD:向后查找关键字?
?KEYWORK:向前查找关键字?
n:下一个关键字位置?
N:前一个关键字?
q:退出man帮助?
?
6、file
file:用于查看普通文件和系统文件的类型
7、mkdir
mkdir:创建目录?
rmdir:删除目录?
???-p:递归创建?
???-V:显示创建信息?
?
8、rm
rm:删除文件?
-i:交互式删除?
-f:暴力删除?
-r:递归删除?
命令可以组合利用?
9、touch
touch:创建文件?
-c:文件存在的时候不在创建?
-a:只改变文件的访问时间?
-m:只改变文件的修改时间?
-t:自己设定文件的时间戳(年月日时分.秒),与a、m配合使用?
10、cp
cp:文件复制,规则:只有最后一个为目标。复制一个文件到一个文件??或者?多个文件
到一个目录!?
??cp?/etc/passwd?/tmp/???复制到目录下并保存原文件名?
??cp?/etc/passwd?/tmp/test?看test是文件还是目录,目录:负责到目录内,
文件则替换!
==============================================================?
??-r:递归复制目录?
??-i:交互式显示复制?
??-f:强制复制,覆盖?
??-p:保留源文件的属性,时间戳?
??-a:保留源文件的所有属性?
??-P:复制链接文件时保存为链接(默认是复制链接所指向的文件)?
??-d:复制时保持链接?
??-a:归档复制,常用与备份?
11、mv
mv:移动或重命名文件?
mv?SRC(源)?DEST(目标)?
在统一目录下可以利用mv进行重命名:?mv?abc?bcd?或者?mv?-t?目标?源?
12、cat
?
cat:连接并显示文件的信息,是全部显示文件内的信息?
??-n:在显示的时候可以显示行号,这个行号只是显示出来,跟文件内容没有??关系?
??-E:显示每一行的行结束符,所以linux中文本文件的行结束符是$符?
??-T:可以显示制表符?
??-v:显示其他的非打印字符?
??-A:显示所有的符号?
13、more
?
more:more的作用同cat是相同的,只不过这时我们可以通过手动来翻屏,更加方便
,more:只支持向后翻,翻到最后
就直接退出了?
less:显示文件信息,默认不退出显示,q即可退出?
??空格:向后翻一屏?
??b:向前翻一屏?
??ENTER:向后翻一行?
??k:向前翻一行?
关键字查找?
??/KEYWORD:查找关键字?
14、head、tail
?
head:显示文件的前几行,默认是10行?
??-NUM:显示前多少行?
tail?
tail:显示文件的后几行,默认是10行?
??-NUM:显示后多少行?
??-f:查看文件尾部,而且不退出,等待显示后续追加的新内容;?
15、cut
?
cut:用于剪切数据的内容?
??-d:指定字段分隔符,默认的是空格??cut?-d:?-f7?空格符?cut?-d‘‘?
??-f:指定要剪切显示的字段?
??-f?1??表示显示第一个字段??cut??-f1?
??-f?1,3表示显示第一个和第3个字段?
??-f?1-3表示显示从1到3的字段?
16、sort?、uniq、wc
?
sort:文本排序,仅仅是对显示文件的排序,而不影响源文件的顺序,是根据ASSII码
的字符升序来排列的。?
??-n:安装数值大小从小到大排列?
??-r:降序排列?
??-t:指定字段分隔符?
??-k:从哪个字符开始,就是指定关键字排列?
??-u:相同的行只显示一次?
??-f:忽略字符大小写?
================================================================
uniq:报告或者忽悠重复行?
??-d:只显示重复行?
??-c:显示某一行的重复次数?
================================================================
wc:文本统计,可以统计文件中一共有多少行数,多少个单词数,多少个字节数 -l:只显示行数 -w:只显示单词数 -c:只显示字节数 -L:显示最长的一行包含多少个字符
17、tr
tr:转换或删除字符?
?tr?[OPTION]...SET1?[SET2]?
??例如#?tr?ab?AB???把小写ab都换位大写AB?
??-d:可以实现删除出现在字符集中的所有字符?
?
18、aliase?
??aliase:定义shell命令的别名?
??alias?CMDALIAS=COMMAND?
??unalias?CMDALIAS是撤销命令别名?
===========================================================================================
19、权限?
??权限:?r?、w?、x?
??文件:?
??r:可读,可利用类似?cat等命令查看文件内容?
??w:可写,可以编辑或删除此文件?
??x:可执行,可以再命令提示符下当做命令提交给内核运行。?
??目录:?
??r:可以对此目录执行LS以列出内部的所有文件?
??w:可以在此目录中创建文件?
??x:可以使用cd切换进此目录,也可以使用ls?-l查看内部文件的的详细信息。
===========================================================================================
20、useradd?
??useradd?NAME:增加用户?
????-u?UID:指定用户所属主ID?
????-g?GID:指定基本组ID或者组名(此组必须首先存在才能用)?
????-G?GID:定额外组(附加组),可以指定多个,彼此之间用逗号隔开即可(此附加
组必须首先存在才能用)?
????-c?"COMMENT"指定注释信息?
????-d?/path/to/somedirectory指定用户的家目录,不用的时候默认在home下面
建立一个和用户同名的目录。?
????-s?指定shell,路径最后是etc/shells文件内规定的shell路径。?
????-M?不给用户创建家目录?
????-r?创建一个系统用户,共系统调用,并不建立家目录?
userdel?USERNAME:删除用户?
????????????(不加参数时,默认不删除用户的家目录)?
????-r?:删除用户的同时也删除家目录?
===========================================================================================
21、id?
??id命令:查看当前用户的id信息?
????-g?USERNAME:查看用户的gid?
????-u?USERNAME:查看用户的uid?
????-G?USERNAME:查看用户的所有组?
????-un:显示当前用户的用户名?
???-gn:显示当前用户的组名?
===========================================================================================
22、finger?
??finger命令:查看用户账户信息?
????finger?USERNAME?
===========================================================================================
?
24、用户账户属性管理?
??usermod:修改账户的属性?
??usermod?[option]?USERNAME?
????-u:修改UID?
????-g:修改GID?
????-G:修改附加组?
????-a?-G:增加附加组,不覆盖之前的附加组?
????-c:修改用户的注释信息?
????-d:为用户知道新的家目录?
????-d?-m?:指定信家目录并移动此前家目录的文件至新的家目录内?
????-s:修改用户的默认shell?
????-l:修改用户名?
????-L:锁定用户账户?
????-U:解锁账户
==========================================================================================
?
25、用户密码管理?
???passwd?USERNAME?
?????-l:锁定账户?
?????-U:解锁账户?
?????-d:删除用户密码?
?????-n:用户密码最短时间?
?????-x:用户密码最长使用时间?
???pwck:检查用户账户完整性?
==========================================================================================
?
26、组管理?
?groupadd:新建组?
?groupadd?[option]?GROUPNAME?
????-g?:GID指定GID?
????-r?:添加为系统组?
?groupmod:组属性?
?groupmod?[option]?GROUPNAME?
???-g?GID:修改gid?
???-n?NAME:修改组名?
?gpasswd:修改组密码?
?gpasswd?GROUPNAME?
===========================================================================================
27、chage?
?chage:更改用户账户信息?
???-d:最后一次修改时间?
???-E:过期时间?
???-I:非活动时间?
???-m:最短期限?
???-M:最长期限?
???-W:警告时间?
===========================================================================================
28、chown?
?chown:改变文件属主、属组,只有管理员是也此命令?
?chown?USERNAME?file....(只改变目录本身)?
????-R?递归修改(修改目录及其内部文件的属主)?
????--reference=/path/to/somefile?file...?把file的属主设定为与
somefile的属主一样(不需要指定属主)?
???chown?USERNAME:GRPNAME?fiel...?同时改变属主和属组?
???chown?USERNAME,GRPNAME?fiel...?同时改变属主和属组?
???chown?:GROUPNAME?fiel....???修改属组?
===========================================================================================
29、chgrp?
?chgrp:修改文件属组?
?chgrp?GROUPNAME?file....(只改变目录本身)?
????-R?递归修改(修改?目录及其内部文件的属组)?
?????--reference=/path/to/somefile?file...?把file的属主设定为与
somefile的属组一样(不需要指定属组)????
===========================================================================================
30、chmod?
?chmod:修改文件的用户权限?
?chmod?MODE?file...?
????-R:递归修改?
????--reference=/path/to/somefile?file...?
????chmod?755?file...?
?修改某类用户的某些权限?
??u:属主?
??g:属组?
??o:其他?
??a:所有?
????chmod?用户类别=MODE?fiel..?
????chmod?u=wr,g=w?/fiel..?
????chmod?uo=wr?/file..?
?修改某类的用户某位或某些位权限?
????chmod?用户类别[-/+]MODE?fiel..?
?
31、echo?
??echo:输出信息?
??echo?"abc"?
??echo?"字符串"?|?passwd?--stdin?USERNAME:利用管道修改用户密码?
?
32、输入、输出重定向?
?
???输出重定向:>?覆盖输出(会覆盖原文件内的内容)?
????:?>>?追加输出(不覆盖原文件的内容)?
????set?-C?:禁止对已经存在文件使用覆盖重定向?
????set?+c?:关闭上述功能?
????2>:重定向错误输出,不能输出正确信息?
????2>>:追加方式实现错误输出?
????&>:重定向标准输出或错误输出至同一个文件。?时覆盖方式?
????输入重定向:<??
????<<:此处生成文档?
????cat?<<?END?:输入信息,直至输入END时结束。(EOF或者END代表文档输入结束)?
????cat?>>?/tmp/myfile.txt?<<?END?
===========================================================================================
33、grep?
?
???grep:根据模式,搜索文本,并将符合模式的文本行显示出来?
???-i?忽略大小写?
???--colour(color)颜色显示?
???-v?反向查找,显示没有被模式匹配的行?
???-O?只显示被模式匹配的字符串?
===========================================================================================
34、sed?
???sed:流编辑器,把文本中的某一行读取到内存中进行处理,此内存空间称为模式空间。
默认不编辑原文件,只对模式空间内的数据进行处理,处理结束后,将没模式空间打印至
屏幕?
?? sed?‘AddressCommand‘??file...?
????-n?:静默模式,不在显示模式空间中的内容?
????-i?:直接修改原文件?
????-e?:(-e?SCRIPT?-e?SCRIPT)?可以同时执行多个脚本?
????-f?/PATH/TO/SED_SCRIPT:?sed?-f?/path/to/sed_script?file?
:执行脚本文件?
????-r?:使用扩展的正则表达式?
????d:删除符合条件的行?
?????fg:/etc/inittab????删除1-2行?
?????sed?‘/root/d‘?/etc/fastab?删除包含root的行?
????p:显示符合条件的行。?
?????fg:sed?‘/^//d‘?/etc/fastb?删除以/开头的行?
?????sed?‘/^//p‘?/etc/fastb?显示以/开通的行?
????a?string:在指定的行后追加新的行,内容为string?
????i?string:在指定的行前面添加新行,内容为string?
????r?FILE?:将指定的文件的内容添加至符合条件的行处?
????w?FILE?:将地址指定范围内的内容另存至指定的文件中?
????s/pattern/string/?:查找并替换(默认只替换每行中第一次被pattern匹配
到的字符串)??把pattern匹配的字符换为string?
????修饰符:g?全局替换???s/pattern/string/g?
????i?忽略字符大小写?s/pattern/string/i?
????s///=s###[email?protected]@@?在找/时就不用转意了。?
????&:后向引用,引用模式匹配的整个串?
===========================================================================================
????fg:sed练习:?
????1、删除/etc/grub.conf文件中行首的空白符;?
??????sed?-r?‘s/^[[:space:]]+//g‘?/etc/grub.conf?
????2、替换/etc/inittab文件中"id:3:initdefault:"一行中的数字为5;?
?????sed?‘s/id:3:initdefault/id:5:initdefault/g‘?/etc/inittab?
?????sed?‘[email?protected](id:)[0-9](:initedefault)@15[email?protected]‘?/etc/inittab?
????3、删除/etc/inittab文件中的空白行;?
?????sed?‘/^$/d‘?/etc/inittab?
????4、删除/etc/inittab文件中开头的#号;??
?????sed?‘s/^#//g‘?/etc/inittab?
????5、删除某文件中开头的#号及后面的空白字符,但要求#号后面必须有空白字符;?
????sed?‘s/^#[[:space:]]{1,}//g‘?/etc/inittab?或者
sed??-r?‘s/^#[[:space:]]+//g‘?/etc/inittab?
????6、删除某文件中以空白字符后面跟#类的行中的开头的空白字符及#?
??????sed?-r?‘s/^[[:space:]]+#//‘?1?
?????7、取出一个文件路径的父目录名称;?
???????echo?"/etc/rc.d"?|?sed?-r?‘[email?protected]^(/.*/)[^/]+/[email?protected][email?protected]‘??
以/.*/开头,[^]指非斜杠,1引用左边第一个括号内的内容一次。?
????? echo?"/etc/rc.d"?|?sed?-r?‘[email?protected]^/.*/([^/]+)/[email?protected][email?protected]‘?
?提取本文件?
===========================================================================================
35、vim?
????vim:文本编辑器,全屏、模式化的编辑器?
???vim模式:?
????????编辑模式(命令模式):默认?
????????输入模式?
????????末行模式
------------------------------------------------------------------------------------------
????vim模式转换:?
????1、从编辑模式-->输入模式?
??????i:在当前光标所在字符的前面,转为输入模式?
??????a:在当前光标所在字符的后面,转为输入模式?
??????o:在当前光标所在行的下方新建一行,并转为输入模式?
??????I:在当前光标所在行的行首,转为输入模式?
??????A:在当前光标所在行的行尾,转为输入模式?
??????O:在当前光标所在行的上方新建一行,并转为输入模式?
---------------------------------------------------------------------------------------
?????2、从输入模式-->编辑模式?
???????键入esc键。?
?????3、末行模式:必须从编辑模式进入末行模式?
???????键入:即可。?
?????4、末行模式-->编辑模式?
???????敲esc键,一次或者多次。
-------------------------------------------------------------
?vim退出文件:?
????1、末行模式下关闭文件?
???????w:保存文件?
???????q:退出?
???????wq:保存并退出?
???????q!:不保存并退出?
???????w!:强制保存?
???????wq=x?保存退出?
????2、编辑模式下退出?
??????大写ZZ:保存退出?
------------------------------------------------------------------------------------------
?vim下移动光标(编辑模式):??
?1、逐字符移动:?
?????h:向左?
?????l:向右?
?????j:向下?
?????K:向上?
?????#h:移动#(数字)个字符?
???2、以单词为单位移动?
?????w:移动下一个单词的词首?
?????e:移动到当前单词的词尾或者下一个单词的词尾?
?????b:移动到当前单词的词首或者上一个单词的词首?
?????#w:一次跳#个单词。?
???3、行内跳转?
?????0:跳到行首(绝对行首)?
?????^:跳到第一个非空白字符的行首?
?????$:绝对行尾?
????4、行间跳转?
?????#G:直接跳转至第#行上。?
?????G:直接跳转至最后一行?
?末行模式下跳转:直接给出行号,回车即可。?
-------------------------------------------------------------------------------------------
???vim翻屏:?
?????ctrl+f:向下翻一屏?
?????ctrl+b:向上翻一屏?
?????ctrl+d:向下翻半屏?
?????ctrl+u:向上翻半屏?
-------------------------------------------------------------------------------------------
???vim删除字符:?
?????x:删除光标所在处的单个字符?
?????#x:删除光标所在处及向后的共#个字符?
???vim删除命令:d?
?????d命令与跳转命令结合使用?
?????d$:删除到行尾。?
?????#d跳转符:删除跳转符指定的#个字符?
?????dd:删除当前光标所在行?
?????#dd:删除包括光标所在行之内的#行?
???末行模式下可以使用:?
??????startADD,ednADDd?
??????1,10d:删除第一行到第十行?
??????.,100:删除当前行到100行。?
??????.表示当前行?
???????$:最后一行?
???????+#:向下的#行?
???????$-10:倒数第10行?
???????vim删除的内容为保存在缓冲中,最后一次删除的内容可以粘贴。?
-------------------------------------------------------------------------------------------
???vim粘贴命令:p?
?????p(小写):如果删除的或复制的为正行内容,则粘贴至光标所在含行的下方,如果
复制或删除的内容为非整行,则粘贴至光标所在字符的后面?????
?????P(大写):如果删除的或复制的为正行内容,则粘贴至光标所在含行的上方,如果
复制或删除的内容为非整行,则粘贴至光标所在字符的前面?
?????vim复制命令:y?
??????y的用法同d?
??????yy:复制一行?
??????vim先删除内容,再转换为输入模式:c?
????c的用法同d命令?
??????cc:删除一行,并进入输入模式。?
??????c$:删除到行尾,并进入输入模式?
-------------------------------------------------------------------------------------------
????vim下撤销编辑操作命令:u?
????????u:撤销上一次操作,连续u命令可以撤销此前的n次操作?
????????#u:直接撤销最近#次编辑操作?
-------------------------------------------------------------------------------------------
????vim超找替换?
??????/PATTERN:从行首向下查找PATTERN匹配的选项?
???????PATTERN:从行尾向上查找PATTERN匹配的选项?
????vim查找并替换:s?
?????在末行模式下使用s命令?
?????用法与sed一样?
?????ADDR1,[email?protected]@[email?protected]?
?????g:全局?i:忽略大小写?
?????.,$-1?:当前行到倒数第一行?
?????1,$表示全文?
????vim下shell交互?
?????:!COMMAND?回车查看,查看完以后再回车,进入vim编辑模式。?
-------------------------------------------------------------------------------------------
?vim高级话题?
?????1、显示或取消显示行号?
????????:set?nu?
????????:set?nonu?
?????2、设定忽略或区分大小写?
???????:set?ignorecase??
???????:set?ic?忽略?
???????:set?noic?
?????3、设定自动缩进?
???????:set?autoindent?
???????:set?ai?缩进?
???????:set?noai?
?????4、查找到的文本高亮显示或取消高亮显示?
???????:set?hlsearch?高亮显示?
???????:set?nohlserch?取消?
????5、语法高亮?
???????:syntax?on?开启?
???????:syntax?off?关闭?
?
36、let?
????
let:相当于一个小的计算器?
?????let?SUM+=$I?;sum等于sum+I?
?????let?I+=1:让I等于I加1?
?????let?I++:让I等于I加1?
?????let?I-=相当于let?I--:I等于I减1?
?
37、locate?
????
?locate:查找文件,非实时的、模糊匹配,全系统文件数据库的查找命令?
?????updatedb:手动生成文件数据库,新安装的系统没有数据库的,速度快?
?
38、find?
???
?find:实时查找、精确、遍历指定目录中的所有文件完成查找,速度慢、支持众多
查找标准?
????格式:find?查找路径?查找标准?查找到以后的处理运作?
????查找路径:默认为当前目录?
????查找标准:默认为指定路径下的所有文件?
????处理运作:默认为显示到屏幕?
-------------------------------------------------------------------------------------------
匹配标准?
????-name?‘FILENAME‘:对文件名进行精确匹配?
??????????还支持文件名通配符:*:任意长度的任意字符?
????-iname?‘FILENAME‘:文件名匹配不区分大小写?
????-regex?PATTERN:基于正则表达式进行文件名匹配?
????-user?USERNAME:基于文件所属主进行匹配查找?
????-group?GROUPNAME:基于文件的属组进行查找?
????-uid?UID:基于文件的uid,用户被删了以后id号会保存下来?
????-gid?GID:文件组?
????-nouser:查找没有属主的文件?
????-nogroup:查找没有属组的文件?
????-type?:根据文件的类型来查找?
???????f:普通文件?
???????d:目录?
???????p:管道?
???????s:套接字?
???????l:链接?
???????-size:指定文件的大小?
??????[+|-]#K:大于或者小于#k的文件?
-------------------------------------------------------------------------------------------
时间戳查找?
???????单位为天?
???????-mtime?:修改时间?
???????-atime?:访问时间?
???????-ctime:改变时间?
???????支持[+|-]#:?
??????????5:五天那一天访问?
?????? -5:五天之内?
?????? +5:至少五??天之外?
??????单位为分钟?
????? -amin:访问时间?
????? -cmin:修改时间?
????? -tmin:改变时间?
???????文件的权限查找?
?????????-perm?mode(755):精确查找?
??????????????fg:find?路径?-pern?755?
?????????-perm?/mode?:?三位匹配一位就可以??????????????
????? -perm?-mode:文件权限能完全包含此mode才可以显示?
????? ?执行动作:?
???? -print:默认的,显示?
???? -ls:类似ls?-l的形式显示匹配到的每个文件的详细信息?
???? -ok?COMMAND?{}?;每个操作需要用户确认?执行命令,必须以;结尾。
{}代表匹配到的文件。??????????
????????-exec?COMMAND?{}?;不需要确认,执行命令,必须以;结尾。{}代表
匹配到的文件。?
=========================================================================================
39、SUID?
????
suid:运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动者所属主?
???????添加文件的SUID:chmod?u+s?FILE?
???????????????????chmod?u-s?FILE?
?????如果FILE本来原来就有执行权限,则SUID显示为s,否则为大S。?
????SGID:运行某程序时,相应进程的属组是程序文件自身的属组,而不是启动者所属
的基本组?
????chmod?g+s??FILE?
????chmod?g-s??FILE?
????fg:一个团队,三个用户:hadoop、hbase、hive,一个开发目录
/tmp/project,要求这三个用户可以同时修改同一个文件。查看、编辑、等权限?
?????三个用户同属一个基本组,并要求基本组具有查看、编辑权限。。?
??????groupadd?devdeop?
??????chown?-R?:develop?/tmp/projest?
??????usermod?-a?-G?develop?hadoop?
??????chmod?g+s?/tmp/project?
??????然后就可以进行创建、修改、删除同一个文件了。?
===========================================================================================
40、sticky?
????sticky:规定在一个公共目录,每个人都可以创建文件、删除自己的文件,但不
能删除别人的文件。?
?????chmod?o+t?DIR:对目录增加sticky权限?
?????chmod?o-t?DIR:去掉目录的sticky权限?
?????chmod?1755?/backup/test?表示文件具有sticky权限?
?
41、facl?
????facl:利用文件扩展保持额外的访问权限?
????setfacl:设置某文件的控制权限?
?????????-m:增加facl?
?????????u:设定用户的时候,后面加上u:UID:perm??
?????????fg:setfact?-m?u:UID:rw?file?
?????????g:设置组?
????????-x:取消facl?
????getfacl:查看文件的facl权限?
?
42、whoami?
????whoami:显示当前用户是谁,su半切换的时候显示的是切换之前的那个用户?
?
43、who?
????
who:查看当前登录系统的用户以及他所登录的终端?
??????-r:显示当前运行级别?
??????-H:第一回列表显示各列名称?
????w:显示比who更详细的信息?
?
44、last?
????last:显示当前系统上的登录日志(/var/log/wtmp文件),包括系统用户和
重启信息?
???last?-n?数字:只显示最近几次的登录信息?
45、lastb?
????
lastb:显示用户错误的登录常识?
????lastb?-n?数字:只显示最近几次错误的登录信息。?
?
46、lastlog?
????lastlog:显示每个用户最近一次成功登录的信息?
????lastlog?-u?USERNAME:显示指定用户最近一次的登录信息?
47、basename?
???
?basename:显示一个目录的基名?
??????basename?/etc/abc/me?直接显示me?
??????$0:命令名称或者脚本本身的路径。?
??????basename?$0:直接调用脚本本身路径?
==========================================================================================
48、mail?
????mail:邮件查看,可以查看邮件,查看以后就会放到用户的家目录内mbox文件夹内。?
?????-s主题?
?????mail?-s?"How?are?you?"?root???
?????cat?/etc/fast?|?mail???-s?"How?are?you?"???root?
?
49、hostname?
????hostname:显示当前主机的名称?
????hostname?主机名:更改主机名?
???????fg:如当前主机的名字为空,或者(none)或者为(localhost),就将其
改为www?
??????[?-z`?hostname`?-o?`hostname`?==?"(null)"?-o?`hostname`?
==?"localhost"?]?&&?host?www.?
???????-z:表示是否为空
?
50、RANDOM?
????
RANDOM:0-32768直接的随机数?
????echo?$RANDOM:生成随机数?
??ln:创建链接文件?
??ln?SRC?DEST:创建硬链接?
????-s:创建软连接?
????-i:显示文件的inode号?
????-v:显示执行结果?
???硬件连接:?
???1、只能对文件创建,不能应用于目录,文件的硬链接次数为2?
???2、不能夸文件系统?
???3、创建硬链接会增加文件被连接的次数?
???符号连接:?
???1、可应用于目录?
???2、可以跨文件系统?
???3、不会增加被连接文件的连接次数?
???4、其大小为指定的路径所包含的字符个数?
===========================================================================================
52、du?
????
du:显示目录下的所有文件的大小?
???????-s:显示目录大小?
???????-sh:单位换算后显示
================================================================?
53、df?
????
df:显示整个磁盘分区的使用情况?
????????-h:显示空间大小?
===========================================================================================
54、fdisk?
????fdisk:磁盘分区?
????fdisk?/dev/sda?
????p:显示当前磁盘上的分区?
????n:创建一个新的分区?
????????e:扩展分区?
????????p:主分区?
????d:删除一个分区?
????w:保存退出?
????q:不保存退出?
????t:修改分区类型?
????l:显示所有支出的分区类型?
===========================================================================================
55、partprobe:把新的分区同步到内核上去。
?
56、mkfs?
????mmkfs:创建文件系统?
????mkfs?-t?FSTYPE?指定分区?
????-t可以实现多种系统的格式化????如mkfs?-t?ext2?/dev/sda5??
?
57、mke2fs??
????mke2fs:专门管理ext系列的文件的命令,不跟任何参数,指的是创建ext2?
???????-j:指的是创建ext3类型文件系统?
???????-b?BLOCK_SIZE:指定块大小,默认为4096;可用取值为1024,2048或
4096?
???????-L?LABEL:?指定分区卷标;例如?mke2fs?-L?MYYY?/etc/sda5?
???????-m?#:明确指定预留给超级管理员用的快熟百分比?mke2fs?-m?3?
/dev/sda5
?
???????-i?#:指定为多少个字节的空间创建一个inode?,?默认为8192;这里给出的
数值应该为块大小的2^n被??mke2fs?-i?4096??表示4096个字节创建一个inode?
??????-F:强行创建文件系统;?
??????-E:用于指定额外的文件系统属性;?
??????-N#:指定inode个数;?
58、blkid?
????blikd:查询或查看块设备的属性,其中有包含文件系统的信息?
?
59、e2lable?
???
?e2lable:专门用于查看或定义卷标?
????查看卷标??e2label?/dev/sda5??
????设定卷标??e2label?设备文件?卷标???:即实现设定卷标???e2label?
/dev/sad6?YYY?
???????????(这里的设备文件即/dev/sda5)?
60、tune2fs???
????tune2fs:调整文件系统的相关属性??
????????-j:不损坏原有数据,将ext2升级为ext3,但是不能降级??
????????-L?LABLE:设定或修改卷标??
??? ?-m?#:调整预留百分比??
????????-r?#:预留块数??
????????-o:设置默认挂载选项,其中有一个是acl,acl是一个功能,但需要挂载才能?
使用,否则是不能用的???
?-c?#:指定挂在次数达到#次之后进行自检,指定0或-1表示关闭此功能,不自?
检;??
???????-i?#:可以指定每挂载使用多少天后进行自检:0或-1表示关闭此功能;??
???????-l:显示超级块内容??
===========================================================================================?
61、dumpe2fs??
????dumpe2fs:以显示文件系统中超级块信息或文件的属性信息,同上面的tun2fs?-l?
选项类似,都是很重要的命令,其中也显示超级块的信息,FREE是空闲的意思??
????-h:表示只显示超级块中的信息??
62、fsck??
????fsck:检查并修复Linux文件系统??
???????-t?TYPE:指定文件系统类型??
???????-a:自动修复??
63、e2fsck??
????e2fsck:专门用来检查修复ext2或ext3的命令??
?????????-a或-p:自动修复;??
?????????-f?:强行修复;??
64、mount???
????mount:挂载文件系统??
????mount?设备?挂载点??
????设备??
设备文件:/dev/**??
卷标:LABLE=""?
UUID:UUID=""??
????挂载点:挂载点就是个目录??
???????1,此目录没有被其他进程使用;??
???????2,目录的首先存在;??
???????3,目录中原有的文件将会暂时隐藏;?
----------------------------------------------------------------??
????mount相关参数??
????????-a:表示挂载/etc/fstab文件中指定的所有的文件系统??
????????-n:默认情况下,mount每挂载一个设备,都会把挂载的设备信息保存至?
/etc/mtab文件;使用-n选项意味着挂载设备时,不把信息写入此文件;??
????????-t?FSTYPE:指定正在挂载设备上的文件系统的类型;不使用此选项时,?
mount会调用blkid命令获取对应文件系统的类型;??
????????-r:只读挂载,挂载光盘时常用此选项??
????????-w:读写挂载??
????????-o:指定而外的文件系统挂载选项,即指定文件系统启用的属性??
????????????async:表示异步写入??
????????????atime:表示更新时间戳??
????????noatime:关闭更新时间??
????????auto:表示这个磁盘设备能被使用-a选项自动挂载??
????????remount:重新挂载当前系统??
????????dev:允许其他磁盘设备??
????????????ro:挂载为只读????????????
????????rw:读写挂载??
????????ower:允许普通用户挂载??
????????sync:同步启用??
????????loop:挂载本地回环设备??
?==========================================================================================?
65、umount??
????umount:卸载??
????umount?设备??
????umount?挂载点??
????????上面两个都可以,卸载时只要指定一个就可以了??
66、free??
????free:查看系统上的物理内存和交换内存的使用情况,默认字节??
????????-m:以M为单位显示??
????????buffers是缓冲?cached是缓存:的目的是重复使用,避免过慢的设备遭?
67、mkswap??
????mkswap:创建交换分区??
????swapon?/dev/sd*:启用交换分区??
????????-a:表示启用/etc/fstab内的所有交换设备??
????swapoff?/edv/**?:关闭交换分区??
===========================================================================================?
68、dd??
????dd:转换和复制文件,复制的是最底层的数据流??
????格式:dd?if=数据来源?of=数据存储目标?bs=#多大为一个单位?count=#?复制?
这样的数据几次??
????例如dd?if=/dev/sda?of=/mnt/usb/mbr.backup?bs=512?count=1?
可以用来备份MBR????
????创建回环文件??
????dd?if=/dev/zero?of=/var/swapfile?bs=1M?count=1024这个命令就能?
创造出一个大小为1G的镜像文件,而这个镜像文件能够直接mkswap并且启动起来都是?
可以的??
????/dev/zero是泡泡设备,能一直向外吐零??
===========================================================================================?
69、fuser???
????fuser:验证进行正在使用的文件或套接字??
????????-v:查看某文件上正在使用的进程??
????????-k:把正在访问的进程给kill了??
????????-km:把挂载点上的进程都关闭掉??
===========================================================================================?
70、gzip?????
?gzip:压缩,压缩完成后会删除源文件??
????????-d:解压??
????????-#:1-9个压缩级别,默认为6??
????gunzip:解压??
????zcat:不解压的情况,查看文本GZ文件的内容???
71、bzip2??
????bzip2?/path/to/somefile??
????????-d:解压??
????????-K:压缩后不删除原文件??
????bzcat:不解压的情况,查看文本bz2文件的内容???
72、zip??
????zip:压缩目录,即归档又压缩的工具??
????压缩后不删除原文件??
????unzip:解压??
73、tar???
????tar:能够实现归档的工具,只归档,不压缩。??
????????-c:创建归档文件??
????????-f?file.tar:操作的归档文件,所以-f后面必须跟参数,后跟.tar??
????????-x:展开归档文件,原归档文件不删除??
????????--xattrs:表示在归档的同时,保留文件的扩展属性信息??
????????-t:不展开归档,查看归档了哪些文件??
????????-zcf:归档并调用gzip压缩??
????????-zxf:调用gzip解压缩并展开归档,-z选项可以省略??
????????-jcf:调用bzip2并归档??
????????-jxf:调用bzip2并展开归档??
????????-Jcf:调用xz??
????????-JXF:调用xz?
???????? tar zxvf libmcrypt-2.5.8.tar.gz
tar xvf libvpx-v1.3.0.tar.bz2?
-------------------------------------------------------------------------------------------?
74、cpio:制作归档或展开归档文件?
75、read?
read:shell脚本内可以实现交互式的操作?
read?-p?“提示”??
-t:时间限制
76、mdadm
mdadm:制作RAID卷的命令
-C:创建RAID
-l:级别
-n:设备数?
-a:自动为其创建设备文件,后跟yes|no?
-c:指定chunk大小,默认64k?
-x:指定空闲盘格式,提供冗余?
-F:监控RAID?
-G:增加RAID?
-A:装配RAID?
-D:显示RAID信息?
-S:停止RAID?
mdadm -D --scan > /etc/mdadm.conf,将当前RAID信息保存至配置
文件,一便以后进行装配?
77、wathc?
? ? ??watch:周期性的执行指定命令,并以全屏方式显示结果
? ? ??格式:?watch?-n?#?‘COMMAND‘?
? ? ??-n?#:指定周期,单位为妙,默认2秒
78、逻辑卷?LV
pvcreate:创建
pvmove:挪动数据
pvremove:擦除pv卷?
pvdisplay:显示物理卷?
pvscan:扫描系统上有几个pv
pvs:查看pv信息
------------------------------------------------------------------
卷组
vgcreate:创建
? ???-s?#:指定pe大小,默认为4m?
vgreduce:删除vg?
vgmove:移除
vgextend:把一个物理卷加入此卷组
vgs:查看系统上的组卷信息
------------------------------------------------------------------
逻辑卷:?
lvcreate:创建
? ? ??-L?#:指定大小?
? ? ??-n?NAME:指定名字
lvreduce:模拟损坏
lvremove:移除lv,后加路径?
lvextend:扩展
lvdisplay:查看lv相关信息
lvs:查看lv信息
fg:lvcreate?-L?50M?-n?testlv?myvg?
-----------------------------------------------------------------------
LVM扩展:先扩展物理卷边界,再扩展逻辑卷?
lvextend?-L?[+]#?/PATH/TO/LV?:扩展物理边界
resize2fs:扩展逻辑边界
resize2fs?/PATH/TO/LV?5G:扩展逻辑边界到5G
resize2fs?-p?/PATH/TO/LV:有多大扩展到多大
mount?-a:挂载/etc/fstab文件内的所有设备?
?
-------------------------------------------------------------------------
LVM缩减:先缩减逻辑边界resize2fs /PV 3G,再缩减物理卷边界、 ?
1、不能在线缩减,得先卸载?
2、确保缩减后的空间大小能储存原来所有文件?
3、在缩减之前应该强行检查文件,以确保文件系统处于一致性状态?
e2fsck -f:强行检查文件?
df -lh:检查利用率?
umount?
e2fsck -f:强行检查文件?
resize2fs /PATH/TO/lV ?5G:缩减逻辑卷到5G?
lvreduce -L [-]#G /PATH/TO/LV:缩减物理卷边界?
================================================================
78、lvcreate
lvcreate:创建快照卷?
-s :指定类型为块照?
-p r|w:表示指定权限?
-n:名字?
-L #:指定大小?
79、ping
ping IP?
-c:次数?
-w:超时时长,单位为秒?
80、awk?
awk:从文件中筛选符合条件的内容?
格式:awk ‘PATTERN{ACTION}‘ file?
-F:指定分隔符?
print $1:显示第一段?
print $0:显示一行中的所有字段?
print $NF:显示最后一行?
awk ‘空格{print $1,$3}‘ 第一和第三字段?
awk -F: ‘{print $1,$2}‘?
fdisk -l 2>/dev/null :把错误信息输入到null内不显示?
===========================================================================================
81、ifconfig?
ifconfig:查看和配置系统的网络信息?
[ethX]:显示某个网卡信息?
-a:显示所有的网卡信息?
ifconfig ethx IP/MASK :配置网卡地址(子网掩码必须指定)?
ifconfig ethx [up|down]:开启或者禁用网卡?
配置Ip地址是立即生效,但重启网络服务或重启主机,都失效?
------------------------------------------------------------------------------------------
82、route?
route:查看本机的路由信息?
-n:以数字的方式显示主机信息?
route add:添加路由?
-host:主机路由?
-net:网络路由?
格式:route add -net|host DEST gw NEXTHOP?
route add ?default gw NEXTHOP?
route del:删除路由?
-host?
-net?
route del -net 10.0.0.0/8?
route del -net 0.0.0.0?
route del default?
以上所做的改动重启网络服务或重启主机,都失效。?
-------------------------------------------------------------------------------------------
83、ip?
ip:功能比较强大的网络命令?
ip link:配置网络接口属性?
show:显示所有网络接口信息?
ip -s link show:查看所有统计信息?
ip link set ethx {up|down|arp {on|off}}:设定网络接口的工作属性?
ip addr:协议地址?
show:网络信息?
ip addr add IP ?dev eth1 添加ip,在ifconfig下看不到的,利用
ip addr show?
ip addr add 192.168.0.1/24 dev eth1?
ip addr add IP ?dev eth1 label ethx:x 添加ip以后增加别名,
在ifconfig下可以查看到?
ip addr add IP ?dev eth1 ?
ip addr show dev ethx to 前缀:查看ethx 上的以前缀开头的信息?
ip addr flush eth1 to 10/8 :删除eth1上所有的以10开头的ip地址。?
ip route:路由?
ip route change|replace :修改路由信息?
ip route add to 目的网段 dev ethx via IP(下一跳IP)
=========================================================================================
84、shutdown?
shutdown [-akrhHPfnc] [-t secs] time [warning message]?
shutdown:关机的命令?
?-r now:立即重启?
?-t sec:几秒之后?
?-h now:立即关机?
85、uname?
?uname -r:查看系统内核版本?
?uname -a:系统版本信息?
86、lftp?
?lftp IP:进入ftp服务器?
?get 下载单个文件到本地?
?mget 下载多个文件到本地?
bye 退出ftp?
===========================================================================================
87、rpm?
rpm:安装rpm包的工具?
rpm安装命令?
-i rpm:安装软件?
-h:以#显示安装进度?
-v:显示安装信息?
-vv:显示更详细的安装信息?
-ivh:组合使用,常用命令安装软件?
--nodeps:忽略依赖关系?
--replacepkgs:重新安装、替换原来安装。?
-ivh --oldpackage:降级安装?
-ivh --force:强制安装,可以实现重装或降级?
--test:测试有没有依赖关系?
-------------------------------------------------------------------------------------------
rpm查询命令?
-q rpm:查询指定包是否安装?
-qa:经安装的所有包?
-qi:查询指定包的说明信息?
-ql:查询指定包安装后生成的目录列表?
-qc:查询指定包的配置文件?
-qd:查询指定包的帮助文件?
-q --scripts:查询指定包内包含的脚本?
-qf:查询指定的文件是有哪个rpm包安装?
-------------------------------------------------------------------------------------------
rpm软件升级命令?
-Uvh:如果装有老版本的,则升级;否则,则安装?
-Fvh:如果装有老版本的,则升级;否则,则退出?
-Uvh --oldpackage:降级?
-------------------------------------------------------------------------------------------
rpm卸载命令?
-e:卸载?
-e --nodeps:忽略依赖关系卸载
-----------------------------------------------------------------------------------------
rpm校验命令:?
-V:无输出信息就是正常?
rpm数据库重建?
rpm --rebuilddb:重建数据库,一定会重新建立。?
rpm --initdb:初始化数据库,没有才建立,有就不用建立。
==========================================================================================
88、yum?
yum:安装软件命令,可以自动解决软件包直接的依赖关系。?
list:显示yum仓库内的软件?
list available:仓库中有但尚未安装的包?
list installed:显示已经安装的?
list updates :可以的升级?
------------------------------------------------------------------------------------------
yum clean:清楚缓存?
yum clean {packages | headers | metadata | dbcache | all}?
yum repolist:显示repo列表及简要信息?
yum repolist {all|enabled|disabled}
---------------------------------------------------------------?
yum安装软件命令?
install:安装软件包?
-y install:自动安装?
install --nogpgcheck:不做校验?
------------------------------------------------------------------------------------------
yum升级软件命令?
yum update :升级?
yum ? update_to:升级到指定版本、?
-----------------------------------------------------------------------------------------
yum卸载软件命令?
yum remove|erase PACKAGE_NAME
yum info PACEAGE_NAME:查看软件包信息?
------------------------------------------------------------------------------------------
yum 开发组安装命令?
groupinstall 组名:安装组中包含的包 ?
groupinfo 组名:显示组包含包信息(如果组名中间有空格,使用”“?
grouplist 列出组 ? ??
groupupdate?
-------------------------------------------------------------------------------------------
yum 安装本地RPM包命令?
yum localinstall rpmfile1 :安装本地包并从yum库内解决依赖关系?
yum --nogpgcheck localinstall rpmfile1:不校验安装?
===================================================
89、源码程序安装命令
tar xf ....:解压源码包?
./configure;配置?
make:编译?
make install:安装
90、netstat?
netstat:查看系统信息?
? -r:显示路由信息?
? -rn:以数字的方式显示?
? -t:显示tcp链接?
? -u:显示udp链接?
? -l:显示端口监听状态?
? -p:显示监听指定套接字的进行的进程号及进程名?
? -tunlp:常用组合,数字显示tcp、udp的链接情况
91、ps?
ps:查看进程信息?
?BSD风格常用选项:?
? a:显示所有与终端有关的进程 ?:表示与终端无关?
? x:显示所有与终端无关的进程?
? u:显示进行信息?
? aux:组合使用?
SysV风格常用选项:?
? -elF:查看所有进行信息(e:所有进程)?
? -elf:没F详细?
? -o PROPERTY:指定属性显示
ps -aux | grep bmgctl
ps aux | grep bmgctl
ps -ef | grep bmgctl??? (推荐使用)
--------------------------------------------------------------------------------------------
92、pstree?
pstree:以树的形式显示ps信息。
93、pgrep:以grep的风格查看符合某种特性的进程?
94、top?
top:动态显示进程信息?
支持交互,交互命令?
? M:根据驻留内存大小进行排序?
? P:根据CPU使用百分比进行排序?
? T:根据累计时间进行排序?
? l:是否显示平均负载和启动时间?
? t:是否显示进行和CPU状态相关信息?
? m:是否显示内存相关信息?
? c:是否显示完整的命令行信息?
? q:退出top?
? k:终止某个进程?
常用选项:?
? -d 1 :几秒刷新一次?
? -b:批模式显示 ??
? -n #:在批模式下,共显示多少批?
95、前台和后台作业?
前台作业:占据了命令提示符?
?后台作业:启动之后,释放了命令提示符,后续的操作在后台完成?
?前台-->后台:?
?ctrl+z键:正在前台的作业送到后台?
?bg:让后台停止的作业继续运行?
?bg [%JOBID]:%可以省?
?fg:将前台的作业送到后台?
?fg [%JOBID]:%可以省?
96、jobs?
jobs:查看后天的所有作业
97、chkconfig?
?chkconfig:查看服务启动项?
?--list:查看所有独立服务的启动设定?
?--list SERVICE_NAME:某个服务的启动设定?
?chkconfig --add SERVICE_NAME(脚本名称):增加S链接和K链接?
?chkconfig --del SERVICE_NAME(脚本名称):删除S链接和K链接?
?chkconfig --level 24 服务名 off|on:指定在级别24内为on或off。?
98、mktemp
mktemp:创建临时文件?
?mktemp /tmp/file.XX(XX代表系统自动生成的文件)生成临时文件?
?mktemp -d /tmp/file.xx :生成临时目录?
99、kill?
kill -SIGNAL PID?
常用SIGNAL:1:hup 2:INT 9:KILL 15:TERM ctrl+c:是信号2,结束?
100、trap命令:可以实现捕捉信号
trap ‘COMMAND’ 信号列表?
fg:trap ‘echo "you cannot kill me"‘ INT?
101、at?
at:指定在未来的某个时间点执行一次某任务?
时间格式 ? ??
绝对时间:HH:MM DD::MM:YY MM/DD/YY?
相对时间:now+#(minutes,hours,days,weeks)?
模糊时间:noon,midnight,teatime?
at -l:显示自己的作业列表?
?at -d 作业号:删除作业?
102、batch?
batch:和at用法相似,只是执行是在系统空闲的时候执行计划任务。?
103、cron?
cron:不间断允许的服务?
系统cron定义格式:?
分钟 小时 天 月 周 用户 任务?
用户cron任务定义格式?
定义文件/var/spool/cron/USERNAME?
格式:分钟 小时 天 月 周 ?任务?
104、ssh?
ssh:远程连接命令?
ssh 172.....:直接以当前客户端上登陆的用户登陆远程主机?
ssh [email?protected]:以某个用户登陆?
ssh -l USERNAME 172....:以某个用户登陆?
ssh [email?protected]`COMMAND`:以某个用户不登陆远程主机执行COMMAND命令
105、scp?
scp:远程复制文件的命令?
scp SRC DEST:复制文件(与cp命令用法相似)?
?-r?
?-a ? ? ? ? ? ? ? ? ? ? ?
fg: scp [email?protected]:/PATH/TO/SOMEFILE /path/to/local?
scp /path/to/local [email?protected]:/PATH/TO/SOMEFILE?106、dig?dig:测试域解析的命令?-t NS . :获取DNS根域信息?-t NS chris.com @IP:直接去某个IP查找DNS服务器。?-t A ?chris.com:查看域的A记录?-t CNAME:查看别名记录?-X IP:根据IP查找主机名,反向解析信息?107、nslookup?nslookup:交互式的查看主机域名信息,使用与linux和windows上。108、screen?screen:模拟多个窗口,窗口关闭后还可以调出来,常用于需要执行很长时间的时候,如内核编译?screen -ls:显示已经建立的屏幕?screen:打开一个新的屏幕?exit:退出当前屏幕?screen -r ID:返回某个屏幕