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、命令帮助
内部命令帮助:helpCOMMAND外部命令帮助:manCOMMAND命令手册:manual whatisCOMMAND:显示此命令在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:移动或重命名文件 mvSRC(源)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:指定要剪切显示的字段-f1表示显示第一个字段 cut-f1-f1,3表示显示第一个和第3个字段-f1-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 abAB把小写ab都换位大写AB-d:可以实现删除出现在字符集中的所有字符
18、aliase
aliase:定义shell命令的别名 aliasCMDALIAS=COMMANDunaliasCMDALIAS是撤销命令别名
===========================================================================================
19、权限
权限: r 、w 、x 文件: r:可读,可利用类似 cat等命令查看文件内容 w:可写,可以编辑或删除此文件 x:可执行,可以再命令提示符下当做命令提交给内核运行。 目录: r:可以对此目录执行LS以列出内部的所有文件 w:可以在此目录中创建文件 x:可以使用cd切换进此目录,也可以使用ls-l查看内部文件的的详细信息。
===========================================================================================
20、useradd
useraddNAME:增加用户-uUID:指定用户所属主ID-gGID:指定基本组ID或者组名(此组必须首先存在才能用)-GGID:定额外组(附加组),可以指定多个,彼此之间用逗号隔开即可(此附加 组必须首先存在才能用)-c"COMMENT"指定注释信息-d/path/to/somedirectory指定用户的家目录,不用的时候默认在home下面 建立一个和用户同名的目录。-s 指定shell,路径最后是etc/shells文件内规定的shell路径。-M不给用户创建家目录-r 创建一个系统用户,共系统调用,并不建立家目录 userdelUSERNAME:删除用户(不加参数时,默认不删除用户的家目录)-r :删除用户的同时也删除家目录
21、id
id命令:查看当前用户的id信息-gUSERNAME:查看用户的gid-uUSERNAME:查看用户的uid-GUSERNAME:查看用户的所有组-un:显示当前用户的用户名-gn:显示当前用户的组名
===========================================================================================
22、finger
finger命令:查看用户账户信息 fingerUSERNAME
===========================================================================================
24、用户账户属性管理
usermod:修改账户的属性 usermod[option]USERNAME-u:修改UID-g:修改GID-G:修改附加组-a-G:增加附加组,不覆盖之前的附加组-c:修改用户的注释信息-d:为用户知道新的家目录-d-m :指定信家目录并移动此前家目录的文件至新的家目录内-s:修改用户的默认shell-l:修改用户名-L:锁定用户账户-U:解锁账户
==========================================================================================
25、用户密码管理
passwdUSERNAME-l:锁定账户-U:解锁账户-d:删除用户密码-n:用户密码最短时间-x:用户密码最长使用时间
pwck:检查用户账户完整性
==========================================================================================
26、组管理
groupadd:新建组 groupadd[option]GROUPNAME-g :GID指定GID-r :添加为系统组 groupmod:组属性 groupmod[option]GROUPNAME-gGID:修改gid-nNAME:修改组名 gpasswd:修改组密码 gpasswdGROUPNAME
===========================================================================================
27、chage
chage:更改用户账户信息-d:最后一次修改时间-E:过期时间-I:非活动时间-m:最短期限-M:最长期限-W:警告时间
===========================================================================================
28、chown
chown:改变文件属主、属组,只有管理员是也此命令 chownUSERNAMEfile....(只改变目录本身)-R递归修改(修改目录及其内部文件的属主)--reference=/path/to/somefile file...把file的属主设定为与 somefile的属主一样(不需要指定属主) chownUSERNAME:GRPNAMEfiel...同时改变属主和属组 chownUSERNAME,GRPNAMEfiel...同时改变属主和属组 chown:GROUPNAMEfiel....修改属组
===========================================================================================
29、chgrp
chgrp:修改文件属组 chgrpGROUPNAMEfile....(只改变目录本身)-R递归修改(修改 目录及其内部文件的属组)--reference=/path/to/somefile file...把file的属主设定为与 somefile的属组一样(不需要指定属组)
===========================================================================================
30、chmod
chmod:修改文件的用户权限 chmodMODEfile...-R:递归修改--reference=/path/to/somefile file...chmod755file...修改某类用户的某些权限 u:属主 g:属组 o:其他 a:所有 chmod 用户类别=MODEfiel..chmod u=wr,g=w/fiel..chmod uo=wr/file..修改某类的用户某位或某些位权限 chmod 用户类别[-/+]MODEfiel..
31、echo
echo:输出信息 echo"abc"echo"字符串"|passwd--stdinUSERNAME:利用管道修改用户密码
32、输入、输出重定向
输出重定向:>覆盖输出(会覆盖原文件内的内容):>>追加输出(不覆盖原文件的内容)set-C :禁止对已经存在文件使用覆盖重定向set+c :关闭上述功能 2>:重定向错误输出,不能输出正确信息 2>>:追加方式实现错误输出&>:重定向标准输出或错误输出至同一个文件。 时覆盖方式 输入重定向:<<<:此处生成文档cat< =========================================================================================== 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_scriptfile:执行脚本文件-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###=s@@@ 在找/时就不用转意了。 &:后向引用,引用模式匹配的整个串 =========================================================================================== fg:sed练习:1、删除/etc/grub.conf文件中行首的空白符; sed-r's/^[[:space:]]+//g'/etc/grub.conf2、替换/etc/inittab文件中"id:3:initdefault:"一行中的数字为5; sed's/id:3:initdefault/id:5:initdefault/g'/etc/inittab sed's@\(id:\)[0-9]\(:initedefault)@\15\2@g'/etc/inittab3、删除/etc/inittab文件中的空白行; sed'/^$/d'/etc/inittab4、删除/etc/inittab文件中开头的#号; sed's/^#//g'/etc/inittab5、删除某文件中开头的#号及后面的空白字符,但要求#号后面必须有空白字符; sed's/^#[[:space:]]\{1,\}//g'/etc/inittab 或者 sed-r's/^#[[:space:]]+//g'/etc/inittab6、删除某文件中以空白字符后面跟#类的行中的开头的空白字符及# sed-r's/^[[:space:]]+#//'17、取出一个文件路径的父目录名称;echo"/etc/rc.d"|sed-r's@^(/.*/)[^/]+/?@\1@g'以/.*/开头,[^\]指非斜杠,\1引用左边第一个括号内的内容一次。 echo"/etc/rc.d"|sed-r's@^/.*/([^/]+)/?@\1@g'提取本文件 =========================================================================================== 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,ednADDd1,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,ADDR2s@PATTERN@string@gi g:全局 i:忽略大小写.,$-1:当前行到倒数第一行1,$表示全文 vim下shell交互:!COMMAND回车查看,查看完以后再回车,进入vim编辑模式。------------------------------------------------------------------------------------------- vim高级话题1、显示或取消显示行号:setnu:setnonu2、设定忽略或区分大小写:setignorecase:setic 忽略:setnoic3、设定自动缩进:setautoindent:setai 缩进:setnoai4、查找到的文本高亮显示或取消高亮显示:sethlsearch 高亮显示:setnohlserch 取消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':文件名匹配不区分大小写-regexPATTERN:基于正则表达式进行文件名匹配-userUSERNAME:基于文件所属主进行匹配查找-groupGROUPNAME:基于文件的属组进行查找-uidUID:基于文件的uid,用户被删了以后id号会保存下来-gidGID:文件组-nouser:查找没有属主的文件-nogroup:查找没有属组的文件-type :根据文件的类型来查找 f:普通文件 d:目录 p:管道 s:套接字 l:链接-size:指定文件的大小[+|-]#K:大于或者小于#k的文件 ------------------------------------------------------------------------------------------- 时间戳查找 单位为天-mtime:修改时间-atime:访问时间-ctime:改变时间 支持[+|-]#:5:五天那一天访问-5:五天之内+5:至少五 天之外 单位为分钟-amin:访问时间-cmin:修改时间-tmin:改变时间 文件的权限查找-permmode(755):精确查找 fg:find 路径-pern755-perm/mode:三位匹配一位就可以-perm-mode:文件权限能完全包含此mode才可以显示 执行动作:-print:默认的,显示-ls:类似ls-l的形式显示匹配到的每个文件的详细信息-okCOMMAND{}\;每个操作需要用户确认 执行命令,必须以\;结尾。{}代表匹配到的文件。-execCOMMAND{}\;不需要确认,执行命令,必须以\;结尾。{}代表 匹配到的文件。 ========================================================================================= 39、SUID suid:运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动者所属主 添加文件的SUID:chmod u+sFILEchmod u-sFILE如果FILE本来原来就有执行权限,则SUID显示为s,否则为大S。SGID:运行某程序时,相应进程的属组是程序文件自身的属组,而不是启动者所属 的基本组 chmod g+sFILEchmod g-sFILEfg:一个团队,三个用户:hadoop、hbase、hive,一个开发目录/tmp/project,要求这三个用户可以同时修改同一个文件。查看、编辑、等权限 三个用户同属一个基本组,并要求基本组具有查看、编辑权限。。 groupadd devdeop chown-R:develop/tmp/projest usermod-a-Gdevelop hadoop chmod g+s/tmp/project 然后就可以进行创建、修改、删除同一个文件了。 =========================================================================================== 40、sticky sticky:规定在一个公共目录,每个人都可以创建文件、删除自己的文件,但不 能删除别人的文件。 chmod o+tDIR:对目录增加sticky权限 chmod o-tDIR:去掉目录的sticky权限 chmod1755/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-uUSERNAME:显示指定用户最近一次的登录信息 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:生成随机数 51、ln ln:创建链接文件 lnSRCDEST:创建硬链接-s:创建软连接-i:显示文件的inode号-v:显示执行结果 硬件连接:1、只能对文件创建,不能应用于目录,文件的硬链接次数为22、不能夸文件系统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: 更新分区表,常用于5.x的RedHat|Centos系列6.x上常使用partx指令 56、mkfs mmkfs:创建文件系统 mkfs-tFSTYPE指定分区-t可以实现多种系统的格式化 如mkfs-t ext2/dev/sda5 57、mke2fs mke2fs:专门管理ext系列的文件的命令,不跟任何参数,指的是创建ext2-j:指的是创建ext3类型文件系统-bBLOCK_SIZE:指定块大小,默认为4096;可用取值为1024,2048或4096-LLABEL: 指定分区卷标;例如 mke2fs-LMYYY/etc/sda5-m #:明确指定预留给超级管理员用的快熟百分比 mke2fs-m3/dev/sda5-i #:指定为多少个字节的空间创建一个inode , 默认为8192;这里给出的 数值应该为块大小的2^n被 mke2fs-i4096表示4096个字节创建一个inode-F:强行创建文件系统;-E:用于指定额外的文件系统属性;-N#:指定inode个数; 58、blkid blikd:查询或查看块设备的属性,其中有包含文件系统的信息 59、e2lable e2lable:专门用于查看或定义卷标 查看卷标 e2label/dev/sda5 设定卷标 e2label 设备文件 卷标 :即实现设定卷标 e2label/dev/sad6YYY(这里的设备文件即/dev/sda5) 60、tune2fs tune2fs:调整文件系统的相关属性-j:不损坏原有数据,将ext2升级为ext3,但是不能降级-LLABLE:设定或修改卷标-m #:调整预留百分比-r #:预留块数-o:设置默认挂载选项,其中有一个是acl,acl是一个功能,但需要挂载才能 使用,否则是不能用的-c #:指定挂在次数达到#次之后进行自检,指定0或-1表示关闭此功能,不自 检;-i #:可以指定每挂载使用多少天后进行自检:0或-1表示关闭此功能;-l:显示超级块内容 ========================================================================== 61、dumpe2fs dumpe2fs:以显示文件系统中超级块信息或文件的属性信息, 同上面的tun2fs-l 选项类似,都是很重要的命令, 其中也显示超级块的信息,FREE是空闲的意思-h:表示只显示超级块中的信息 62、fsck fsck:检查并修复Linux文件系统-tTYPE:指定文件系统类型-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:转换和复制文件,复制的是最底层的数据流 格式:ddif=数据来源of=数据存储目标 bs=#多大为一个单位 count=# 复制 这样的数据几次 例如ddif=/dev/sdaof=/mnt/usb/mbr.backup bs=512count=1可以用来备份MBR创建回环文件 ddif=/dev/zeroof=/var/swapfile bs=1M count=1024这个命令就能 创造出一个大小为1G的镜像文件,而这个镜像文件能够直接mkswap并且启动起来都是 可以的/dev/zero是泡泡设备,能一直向外吐零 ========================================================================== 69、fuser fuser:验证进行正在使用的文件或套接字-v:查看某文件上正在使用的进程-k:把正在访问的进程给kill了-km:把挂载点上的进程都关闭掉 ========================================================================== 70、gzip gzip:压缩,压缩完成后会删除源文件-d:解压-#:1-9个压缩级别,默认为6gunzip:解压 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 ------------------------------------------------------------------------------------------- 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:停止RAIDmdadm-D--scan>/etc/mdadm.conf,将当前RAID信息保存至配置 文件,一便以后进行装配 77、watch 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#:指定大小-nNAME:指定名字 lvreduce:模拟损坏 lvremove:移除lv,后加路径 lvextend:扩展 lvdisplay:查看lv相关信息 lvs:查看lv信息 fg:lvcreate-L50M-n testlv myvg ----------------------------------------------------------------------- LVM扩展:先扩展物理卷边界,再扩展逻辑卷 lvextend-L[+]#/PATH/TO/LV:扩展物理边界 resize2fs:扩展逻辑边界 resize2fs/PATH/TO/LV5G:扩展逻辑边界到5G resize2fs-p/PATH/TO/LV:有多大扩展到多大 mount-a:挂载/etc/fstab文件内的所有设备LVM缩减:先缩减逻辑边界resize2fs/PV3G,再缩减物理卷边界、1、不能在线缩减,得先卸载2、确保缩减后的空间大小能储存原来所有文件3、在缩减之前应该强行检查文件,以确保文件系统处于一致性状态 e2fsck-f:强行检查文件 df-lh:检查利用率 umount e2fsck-f:强行检查文件 resize2fs/PATH/TO/lV5G:缩减逻辑卷到5G lvreduce-L[-]#G/PATH/TO/LV:缩减物理卷边界 ================================================================ 78、lvcreate lvcreate:创建快照卷-s :指定类型为块照-p r|w:表示指定权限-n:名字-L#:指定大小 79、ping pingIP-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-l2>/dev/null:把错误信息输入到null内不显示 ========================================================================== 81、ifconfig ifconfig:查看和配置系统的网络信息[ethX]:显示某个网卡信息-a:显示所有的网卡信息 ifconfig ethxIP/MASK:配置网卡地址(子网掩码必须指定) ifconfig ethx[up|down]:开启或者禁用网卡 配置Ip地址是立即生效,但重启网络服务或重启主机,都失效------------------------------------------------------------------------------------------ 82、route route:查看本机的路由信息-n:以数字的方式显示主机信息 route add:添加路由-host:主机路由-net:网络路由 格式:route add-net|hostDESTgwNEXTHOProute adddefaultgwNEXTHOProute del:删除路由-host-net route del-net10.0.0.0/8route del-net0.0.0.0route deldefault以上所做的改动重启网络服务或重启主机,都失效。 ------------------------------------------------------------------------------------------- 83、ip ip:功能比较强大的网络命令 ip link:配置网络接口属性 show:显示所有网络接口信息 ip-s link show:查看所有统计信息 ip linksetethx{up|down|arp{on|off}}:设定网络接口的工作属性 ip addr:协议地址 show:网络信息 ip addr addIPdev eth1 添加ip,在ifconfig下看不到的,利用 ip addr show ip addr add192.168.0.1/24dev eth1 ip addr addIPdev eth1 label ethx:x 添加ip以后增加别名, 在ifconfig下可以查看到 ip addr addIPdev eth1 ip addr show dev ethx to 前缀:查看ethx 上的以前缀开头的信息 ip addr flush eth1 to10/8:删除eth1上所有的以10开头的ip地址。 ip route:路由 ip route change|replace:修改路由信息 ip route add to 目的网段 dev ethx viaIP(下一跳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 lftpIP:进入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|erasePACKAGE_NAMEyum infoPACEAGE_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详细-oPROPERTY:指定属性显示-------------------------------------------------------------------------------------------- 92、pstree pstree:以树的形式显示ps信息。 93、pgrep: 以grep的风格查看符合某种特性的进程 94、top top:动态显示进程信息支持交互,交互命令M:根据驻留内存大小进行排序P:根据CPU使用百分比进行排序T:根据累计时间进行排序 l:是否显示平均负载和启动时间 t:是否显示进行和CPU状态相关信息 m:是否显示内存相关信息 c:是否显示完整的命令行信息 q:退出top k:终止某个进程常用选项:-d1:几秒刷新一次-b:批模式显示-n #:在批模式下,共显示多少批 95、前台和后台作业 前台作业:占据了命令提示符 后台作业:启动之后,释放了命令提示符,后续的操作在后台完成 前台-->后台: ctrl+z键:正在前台的作业送到后台 bg:让后台停止的作业继续运行 bg[%JOBID]:%可以省 fg:将前台的作业送到后台 fg[%JOBID]:%可以省 96、jobs jobs:查看后天的所有作业 97、chkconfig chkconfig:查看服务启动项--list:查看所有独立服务的启动设定--listSERVICE_NAME:某个服务的启动设定 chkconfig--addSERVICE_NAME(脚本名称):增加S链接和K链接 chkconfig--delSERVICE_NAME(脚本名称):删除S链接和K链接 chkconfig--level24服务名 off|on:指定在级别24内为on或off。 98、mktemp mktemp:创建临时文件 mktemp/tmp/file.XX(XX代表系统自动生成的文件)生成临时文件 mktemp-d/tmp/file.xx :生成临时目录 99、kill kill-SIGNALPID常用SIGNAL:1:hup2:INT9:KILL15:TERMctrl+c:是信号2,结束 100、trap命令:可以实现捕捉信号 trap ‘COMMAND’ 信号列表fg:trap'echo "you cannot kill me"'INT 101、at at:指定在未来的某个时间点执行一次某任务时间格式 绝对时间:HH:MMDD::MM:YYMM/DD/YY相对时间:now+#(minutes,hours,days,weeks)模糊时间:noon,midnight,teatimeat-l:显示自己的作业列表 at-d 作业号:删除作业 102、batch batch:和at用法相似,只是执行是在系统空闲的时候执行计划任务。 103、cron cron:不间断允许的服务系统cron定义格式:分钟 小时 天 月 周 用户 任务用户cron任务定义格式定义文件/var/spool/cron/USERNAME格式:分钟 小时 天 月 周 任务 104、ssh ssh:远程连接命令ssh172.....:直接以当前客户端上登陆的用户登陆远程主机sshUSERNAME@172....:以某个用户登陆ssh-lUSERNAME172....:以某个用户登陆sshUSERNAME@HOST`COMMAND`:以某个用户不登陆远程主机执行COMMAND命令 105、scp scp:远程复制文件的命令scpSRCDEST:复制文件(与cp命令用法相似)-r-a fg: scpUSERNAME@HOST:/PATH/TO/SOMEFILE/path/to/localscp/path/to/localUSERNAME@HOST:/PATH/TO/SOMEFILE 106、dig dig:测试域解析的命令-tNS.:获取DNS根域信息-tNSchris.com @IP:直接去某个IP查找DNS服务器。-tAchris.com:查看域的A记录-tCNAME:查看别名记录-XIP:根据IP查找主机名,反向解析信息 107、nslookup nslookup:交互式的查看主机域名信息,使用与linux和windows上。 108、screen screen:模拟多个窗口,窗口关闭后还可以调出来,常用于需要执行很长时间的时候,如内核编译screen-ls:显示已经建立的屏幕screen:打开一个新的屏幕exit:退出当前屏幕screen-rID:返回某个屏幕