把之前写的笔记搬过来吧,防丢。
1、cat命令 cat -n 文件名:显示文件内容并对行数编号 cat -b 文件名:显示行号但不对空白行编号 cat -s 文件名:遇到有连续两行以上的空白行,就合并成一行 cat -E 文件名:在每行结束的时候显示$ cat -T 文件名:将TAB字符显示为^l cat -n 文件1 >文件2:将文件1的内容加上行号输入到文件2中 cat -b textfile1 textfile2 >> textfile3:把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里。 cat /dev/null > 文件名:清空文件内容 2、chattr命令 lsattr:用于显示文件属性 chattr -RV 递归处理并显示过程 |-- +开启文件或者目录属性 |-- -关闭文件或者目录属性 |-- =指定文件或目录的属性 |--a:让文件或目录仅供附加用途 |--b:不让更新文件或者目录的最后存取时间 |--c:将文件或目录压缩后存放 |--i:不得随意更动文件或目录 |--s:保密性删除文件或目录 |--S:即时更新文件或目录 |--u:预防意外删除 chattr +a 文件夹:某个文件或目录只能追加数据,但不能删除,适用于各种日志文件。 3、chgrp: u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。 + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。 r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。 --help : 显示辅助说明 chmod ugo+r 文件名/chmod a+r 文件名:将文件设为所有人都可以读取 chmod ug+w,o-w file1.txt file2.txt:将文件 file1.txt 与 file2.txt 设为该文件拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 : chmod u+x ex1.py:将 ex1.py 设定为只有该文件拥有者可以执行 : chmod -R a+r *:将目前目录下的所有文件与子目录皆设为任何人可读取 : chmod 4755 filename可使此程序具有root的权限 4、chown改变文件拥有者: 这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的文件拥有者,也没有权限可以自己的文件拥有者改设为别人。只有系统管理者(root)才有这样的权限。 5、cmp cmp 文件1 文件2:比较两个文件是否相同 cmp -l 文件1 文件2:比较两个文件是否相同,并列出所有的不同 6、diff diff 文件1 文件2:比较两个文件的不同(竖排显示) diff 文件1 文件2 -y -W 50:比较两个文件的不同(横排显示) diff 文件1 文件2 -B:不检查空白行 diff 文件1 文件2 -i:不检查大小写 diff 文件1 文件2 -H:比较大文件的时候能加快速度 diff 文件1 文件2 -q:仅显示有无差异,不显示详细信息 diff 文件1 文件2 -w:忽略全部的空格字符 7、file file 文件名:显示文件信息 file -b 文件名:列出辨识结果,不显示文件名 file -i 文件名:显示mine类别 file -z 文件名:尝试去解读压缩文件内容 8、find find -name/-iname "*.txt":查找以.txt结尾的文件(iname会忽略大小写) find -ipath/path p:查找路径符合路径的文件,ipath会忽略大小写 find -type f:将当前目录和目录下的所有文件都列出来 find -ctime -n:将当前目录下近n天更新过的文件列出 find -cmin -n:将当前目录下过去n分钟内修改过的文件列出来 find -atime -n:将当前目录下近n天读取过的文件列出来 find -amin -n:将过去n分钟内读取过的文件列出来 find /var/logs -type f -mtime +7 -ok rm { } :查找/var/logs目录中更改时间在7日以前的普通文件,并在删除之前询问它们。 find . -type f -perm 644 -exec ls -l { } :查找前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件 find / -type f -size 0 -exec ls -l { }:查找系统中所有文件长度为0的普通文件,并列出它们的完整路径 find /var/logs -type f -mtime +7 -ok rm { }:查找/var/logs目录中更改时间在7日以前的普通文件,并在删除之前询问它们: 9、cut cut -b n 文件名:以字节为单位进行分割剪切每一行的第n个字节 cut -c n 文件名:以字符为单位进行分割剪切每一行的第n个字符 10、ln ln -s log2013.log link2013 :给文件创建软链接,为log2013.log文件创建软链接link2013,如果log2013.log丢失,link2013将失效 ln log2013.log ln2013:给文件创建硬链接,为log2013.log创建硬链接ln2013,log2013.log与ln2013的各项属性相同 11、less less 参数 文件名 -b <缓冲区大小> 设置缓冲区的大小 -e 当文件显示结束后,自动离开 -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件 -g 只标志最后搜索的关键词 -i 忽略搜索时的大小写 -m 显示类似more命令的百分比 -N 显示每行的行号 -o <文件名> 将less 输出的内容在指定文件中保存起来 -Q 不使用警告音 -s 显示连续空行为一行 -S 行过长时间将超出部分舍弃 -x <数字> 将"tab"键显示为规定的数字空格 /字符串:向下搜索"字符串"的功能 ?字符串:向上搜索"字符串"的功能 n:重复前一个搜索(与 / 或 ? 有关) N:反向重复前一个搜索(与 / 或 ? 有关) b 向后翻一页 d 向后翻半页 h 显示帮助界面 Q 退出less 命令 u 向前滚动半页 y 向前滚动一行 空格键 滚动一页 回车键 滚动一行 [pagedown]: 向下翻动一页 [pageup]: 向上翻动一页 12、locate locate命令用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。 locate与find 不同: find 是去硬盘找,locate 只在/var/lib/slocate资料库中找。 locate的速度比find快,它并不是真的查找,而是查数据库,一般文件数据库在/var/lib/slocate/slocate.db中,所以locate的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库。 13、more more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示 14、mmove mmove 文件1 文件夹:将文件放到文件夹下 15、mv mv 文件名 目录名:将源文件名改为目标文件名 mv 文件名 目录名:将文件移动到目标目录下 mv 目录名 目录名:目标目录名存在,就将源目录名移动到目标目录名下,如果源目标目录不存爱, 就改名 16、paste命令 paste 文件1 文件2:将文件1和文件2一列列de加以合并。 paste -s 文件1:合并指定文件的多行数据 17、rm命令 rm 文件:删除一般文件 rm -r 文件夹:递归删除文件夹及文件夹中文件 rm -r *:删除当前目录下的所有文件及目录 rm -i 文件夹:删除前意义询问确认 rm -f 文件夹:删除前无需确认即逐一删除 18、split命令 split -n 文件:将文件每n行分割成一个文件。 19、tee命令 tee 文件1 文件2:将用户输入的内容保存到文件1和文件2中 tee -a 文件:将用户输入内容追加到文件末尾 20、tmpwatch命令 tmpwatch 24 /tmp/:删除/tmp目录中超过一天未使用的文件 21、touch命令 touch 文件:修改文件时间属性为当前系统时间 touch 文件名:如果指定的文件不存在,则将创建一个新的空白文件。 22、which命令 which bash:查看指定命令bash的绝对路径 23、cp命令 cp 源文件 目标路径:将源文件复制到目标路径下 cp -r 源路径 目标路径:将源文件夹下的所有文件递归复制到目标路径下 24、whereis whereis -b 命令:只查找二进制文件 whereis -m 命令:只查找说明文件 25、rhmask命令 rhmask 文件1 文件2:将文件1进行加密后保存为文件2 26、awk命令 awk '{print $1,$4}' log.txt:每行按空格或TAB分割,输出文本中的1、4项 awk '{printf "%-8s %-10s ",$1,$4}' log.txt:格式化输出 awk -F, '{print $1,$2}' log.txt:使用","分割 awk 'BEGIN{FS=","} {print $1,$2}' log.txt:或者使用内建变量 awk -F '[ ,]' '{print $1,$2,$5}' log.txt: 使用多个分隔符.先使用空格分割,然后对分割结果再使用","分割 awk -va=1 '{print $1,$1+a}' log.txt:设置变量:a=1 awk '$1>2' log.txt:过滤第一列大于2的行 awk '$1==2 {print $1,$3}' log.txt:过滤第一列等于2的行 awk '$1>2 && $2=="Are" {print $1,$2,$3}' log.txt :过滤第一列大于2并且第二列等于'Are'的行 awk 'BEGIN{printf "%4s %4s %4s %4s %4s %4s %4s %4s %4s ","FILENAME","ARGC","FNR","FS","NF","NR","OFS","ORS","RS"; printf "--------------------------------------------- "} {printf "%4s %4s %4s %4s %4s %4s %4s %4s %4s ",FILENAME,ARGC,FNR,FS,NF,NR,OFS,ORS,RS}' log.txt: 格式化输出:FILENAM(当前文件名)FNR(各文件分别计数的行号)FS(字段分隔符(默认是任何空格)) NF(输入字段分割符)NR(已经读出的记录数,就是行号,从1开始)OFS(输出记录分隔符(输出换行符),输出时用指定的符号代替换行符) ORS (输出记录分隔符(默认值是一个换行符))RS(记录分隔符(默认是一个换行符)) awk '/re/ ' log.txt:输出包含"re" 的行 awk '$2 ~ /th/ {print $2,$4}' log.txt:输出第二列包含 "th",并打印第二列与第四列 awk 'BEGIN{IGNORECASE=1} /this/' log.txt:忽略大小写 awk '$2 !~ /th/ {print $2,$4}' log.txt:模式取反 awk 'BEGIN{print "HELLO WORLD"}':输出hello world ls -l *.txt | awk '{sum+=$6} END {print sum}':计算文件大小 awk 'length>80' log.txt:从文件中找出长度大于80的行 seq 9 | sed 'H;g' | awk -v RS='' '{for(i=1;i<=NF;i++)printf("%dx%d=%d%s", i, NR, i*NR, i==NR?" ":" ")}': 九九乘法表 27、colrm命令 从输入设备中读取内容输出到输出设备 colrm n :删除n列之后的内容 colrm n l:删除n列到l列之间的内容 28、comm命令 comm 文件1 文件2 第一列是仅在文件1出现的行,第二列是仅在文件2中出现的行,第三列包含在文件1和文件2相同的行,各列是以制表符为界定符。 29、ed命令 ed是Linux中功能最简单的文本编辑程序,一次仅能编辑一行而非全屏幕方式的操作。 ed <- 激活 ed 命令 a <- 告诉 ed 我要编辑新文件 My name is Titan. <- 输入第一行内容 And I love Perl very much. <- 输入第二行内容 . <- 返回 ed 的命令行状态 i <- 告诉 ed 我要在最后一行之前插入内容 I am 24. <- 将“I am 24.”插入“My name is Titan.”和“And I love Perl very much.”之间 . <- 返回 ed 的命令行状态 c <- 告诉 ed 我要替换最后一行输入内容 I am 24 years old. <- 将“I am 24.”替换成“I am 24 years old.”(注意:这里替换的是最后输的内容) . <- 返回 ed 的命令行状态 w readme.text <- 将文件命名为“readme.text”并保存(注意:如果是编辑已经存在的文件,只需要敲入 w 即可) q <- 完全退出 ed 编辑器 30、egrep命令 egrep aaa *:查找当前目录下包含aaa字符的行。 31、ex命令 ex 文件名:进入ex编辑模式,"visual"后按回车键,将进入到vi 指令全屏界面;如果输入"q",则退出编辑器。 32、join命令 join 文件1 文件2:将文件1和文件2按照行号链接起来 33、look命令 look L 文件名:在文件中查找以L开头的所有行 34、rgrep命令 rgrep Hello *:在当前目录下查找包含“Hello字符串的文件” 35、sed命令 sed -e nanewLine testfile:在testfile文件的第n行后添加一行,并减将结果输出到标准输出 nl 文件名 | sed '2,5d':将文件内容列出并且印行号,同时将2-5行删除 nl 文件名 | sed '2d':删除第2行数据 nl 文件名 | sed '3,$d':删除第三行到最后一行 nl 文件名 | sed '2a hhhh':在第二行后面加上‘hhhh’ nl 文件名 | sed '2i hhhh':在第二行前面加上‘hhhh’ nl 文件名 | sed '2,5c hhh':将第2-5行内容取代为‘hhh’ nl 文件名 | sed -n '5,7p':仅显示5-7行数据 nl 文件名 | sed -n '/hhh/p':查找文件中包含hhh的行 nl 文件名 | sed '/hhh/d':删除文件中包含hhh的行 nl 文件名 | sed -n '/hhh/{s/hhh/kkk/;p;q}':找到文件中包含hhh的行并把hhh用kkk替代 sed 's/要被取代的字符串、新的字符串/g':查找文件中的字符串并替代 sed -i 's/.$/!/g':直接修改文件内容,将文件中以.结尾的修改为! sed -i '$a hhhhh' 文件名:在文件最后一行加上hhhh 36、sort命令 sort 文件名:将文件第一列以ASCII码次序排列 37、tr命令 cat testfile |tr a-z A-Z:将文件中的小写字母转换成大写字母 38、expr命令 expr length 'this is a test':计算字符串长度 expr substr 'this is a test':抓取字符串 expr index 'adsafadasfa' a :抓取滴哟个字符数字出现的位置 expr 14 % 9:整数运算 39、uniq命令 uniq 文件名:删除文件中的重复行 uniq-c 文件名:检查文件并删除文件中重复出现的行,并在行首显示该行重复出现的次数 40、wc命令 wc 文件名:统计文件信息 3 92 598 文件名:三个数字分别代表文件的行数、单词数、以及文件的字节数 wc 文件1 文件2 文件3:统计三个文件信息 41、let命令 let 命令是 BASH 中用于计算的工具,用于执行一个或多个表达式。 let使用字符间不需要用字符隔开,expr需要使用空格隔开 42、bye命令 用于中断FTP连线并结束程序 43、uuto命令 uuto./testfile localhost/tmp #将文件传送到远程UUCP 主机localhost的tmp目录 44、ftp命令 ftp ftp.kernel.org #发起链接请求 45、df命令 df 统计磁盘使用情况 46、dir命令 dir -l 文件夹:列出文件夹中所有内容的详细信息 47、du命令 du 显示文件或文件夹所占空间 du 文件/文件夹:显示指定文件或文件夹所占用空间 du -h 文件夹:显示目录所占空间情况 48、mkdir命令 mkdir AAA:创建名为AAA的目录 mkdir -p BBB/Test:递归创建BBB目录以及Test目录 49、pwd命令 pwd:显示工作目录 50、rmdir命令 rmdir AAA:删除名为AAA的目录 rmdir -p BBB/Test:递归删除BBB目录以及Test目录 51、tree命令 tree :以树状结构列出当前目录结构 52、stat命令 stat 文件:查看文件的inode内容 53、ls命令 ls 显示当前工作目录下内容 ls 文件夹:显示指定工作目录下的内容 ls -ltr s*:列出当前目录下所有以s开头的文件 ls -lR /bin:将bin目录下所有文件详细资料列出 54、telent命令 telent ip地址:登陆远程主机 55、nc命令 nc -v -z -w2 192.168.0.3 1-100 :TCP端口扫描 nc -u -z -w2 192.168.0.1 1-1000:扫描UDP端口 nc -nvv 192.168.0.1 80 //扫描 80端口(扫描指定端口) 56、httpd命令 httpd命令是Apache HTTP服务器程序。 httpd -t:检查配置文件语法错误 httpd:启动httpd httpd -l:显示编译模块 httpd -L>1.log|tail -n 20 1.log:显示配置文件 57、ifconfig命令 ifconfig:显示网络设备信息 ifconfig eth0 down:关闭指定网卡 ifconfig eth0 up:启动指定网卡 ifconfig eth0 add 33ffe:3240:800:1005::2/ 64 :为网卡配置IPv6地址 ifconfig eth0 del 33ffe:3240:800:1005::2/ 64 :为网卡删除IPv6地址 ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE :修改MAC地址 ifconfig eth1 hw ether 00:1D:1C:1D:1E :关闭网卡并修改MAC地址 ifconfig eth0 192.168.1.56 :给eth0网卡配置IP地址 ifconfig eth0 192.168.1.56 netmask 255.255.255.0 :给eth0网卡配置IP地址,并加上子掩码 ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255: 给eth0网卡配置IP地址,加上子掩码,加上个广播地址 ifconfig eth0 arp:开启ARP协议 ifconfig eth0 -arp:关闭ARP协议 ifconfig eth0 mtu 1500:设置传输最大单元 58、netstat命令 netstat -a:显示详细的网络状况 netstat -nu:显示当前户籍UDP连接状况 netstat -apu:显示UDP端口号的使用情况 netstat -i:显示网卡列表 netstat -g:显示组播组的关系 netstat -s:显示网络统计信息 netstat -l:显示监听的套接口 59、ping命令 ping www.baidu.com:检测是否与主机连通 ping -c 2 www.baidu.com:指定接收包的次数(收到两次包后自动退出) ping -i 3 -s 1024 -t 255 g.cn:ping主机 60、ytalk命令 who:显示当前用户 ytalk hhhh:发送消息 61、useradd命令 useradd kk:添加用户kk useradd ?g root kk:添加用户kk,并制定用户所在的组为root用户组 useradd ?r kk:创建一个系统用户kk useradd -d /home/myf kk :添加新用户kk,其home目录为/home/myf 62、chfn命令 chfn:改变finger信息 chfn -f hnunix:改变账号真实姓名 63、date命令 date:显示当前时间 date '+%c':显示完整时间(2018年02月06日 星期二 10时18分12秒) date '+%D':显示数字日期,年份两位数表示 date '+%x':显示日期,年份用四位数表示 date '+%T':显示24小时的格式 date '+%X':显示24小时格式 date '+usr_time: $1:%M %P -hey':按照自己格式输出 date '+%T%n%D':显示时间后换行显示日期 date '+%B %d':显示月份与日 date --date '12:34:56':显示日期与设定时间 64、exit命令 exit:退出终端 65、finger命令 finger -l:显示用户信息 finger -m root:显示指定用户信息 finger root:查询本机管理员资料 66、sleep命令 sleep 5m:休眠5分钟 date;sleep 1m;date:显示目前时间,1分钟后再次显示时间。 67、halt命令 halt:关闭系统 halt -p:关闭系统并关闭电源 halt -d:关闭系统,但不留下记录 68、kill命令 kill 123456:杀死进程 kill -KILL 123456:强制杀死进程 kill -HUP pid:发送SIGHUP信号 kill -9 123456:彻底杀死进程 kill -l:显示信号 kill -9 $(ps -ef | grep yarn):杀死指定用户的所有进程 kill -u yarn:杀死指定用户的所有进程 69、last命令 last命令用于显示系统开机以来获是从每月初登入者的讯息。 last -R -n:省略hostname栏位,仅显示前n个 last -n n -R:简略显示,并制定显示个数 last -n 5 -a -i:显示最后一列显示主机IP地址 70、lastb命令 lastb:显示登陆失败的用户 71、login命令 login:用新的身份登陆系统 72、logname命令 logname:显示登陆账号信息 73、logout命令 logout:退出系统 74、ps命令 ps -A:显示进程信息 ps -u root:显示root进程用户信息 ps -ef:显示所有mine令,连带命令行
常见的用法:
以下这条命令是检查java 进程是否存在:ps -ef |grep java字段含义如下:
UID PID PPID C STIME TTY TIME CMD
root 14124 13991 0 00:38 pts/0 00:00:00 grep --color=auto dae
中间的|是管道命令 是指ps命令与grep同时执行
grep命令是查找,是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
75、top命令 top:显示进程信息 top -c:显示完整命令 top -b:以批处理模式显示程序信息 top -S:以累积模式显示程序信息 top -n 2:更新两次之后种植更新显示 top -d 3:更新周期为3秒 top -p 139:显示进程号为139的进程信息,CPU、内存占用率等 top -n 2 -b <top.log:将更新显示二次的结果输入到名称为top.log的档案里 76、pstree命令 pstree:显示进程关系 pstree -apnh:显示进程间关系,特别表明在运行过程中的进程 pstree -u:同时显示用户名 77、reboot命令 reboot :重新启动系统 78、shutdown命令 shutdown -h now:立即关机 shutdown +5 "System will shutdown after 5minutes":5分钟之后关机,并向向前台发送信息 79、rwho命令 rwho:显示本地局域网内的所有用户 80、sudo命令 sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。 sudo -V:显示sudo版本信息 sudo -l:显示当前用户的权限 81、swatch命令 swatch:开启系统监视 82、uname命令 uname -a:显示系统信息 uname -m:显示计算机类型 uname -n:显示计算机名 uname -r:显示操作系统发行编号 uname -s:显示操作系统名称 uname -v:显示系统时间 83、userconf命令 userconf --adduser 666 hh lord /bin/bash:新增用户 84、userdel命令 userdel hh:删除用户账户 85、usermod命令 usermod -d /home/hh root:更改登录目录 usermod -u 777 root:改变用户的uid 86、vlock命令 vlock:锁定虚拟终端 87、who命令 who:显示当前登录系统的用户 who -H:显示标题栏 who -l -H:显示用户登录来源 who -T -H:显示终端属性 who -m -H:只显示当前用户 who -q:精简显示模式 88、whoami命令 whoami:显示用户名 89、whois命令 whois root:查找root用户信息 whois .Lx138.Com:查询域名描述信息 whois -H Lx138.COm:查询域名信息省略法律声明 whois -p 80 Lx138.COm:指定端口查询 90、su命令 su -c ls root:变更帐号为 root 并在执行 ls 指令后退出变回原使用者 su root -f:变更帐号为 root 并传入 -f 参数给新执行的 shell su -hh:变更账号为hh并改变工作目录至hh下 91、w命令 w:显示当前用户,不显示登陆位置 w -f:不显示登陆位置 w -s:以精简模式显示。 w -h:不显示标题 92、id命令 id:显示当前用户id id -g:显示用户群组id id hh:显示指定用户信息 93、free命令 free:显示内存使用信息 free -t:以总和的形式查询内存使用信息 free -s 10:每10s执行一次命令 94、clear命令 clear:清屏 95、alias命令 alias lx=ls:给命令设置别名 96、bind命令 bind -l:显示按键组合的内容 bind -q abort:列出指定功能的按键和按键组合 97、chroot命令 chroot /mnt/ls:改变根目录 98、clock命令 clock:获取当前的时间 clock -utc:显示UTC时间 99、crontab命令 crontab -e:进入编辑模式 minute hour day month week command 0 7 * * * /bin/l:每月每天的7点执行一次命令 * * * * * command:每分钟执行一次命令 3,15 * * * * command:每天的第3分钟和第15分钟执行一次命令 3,15 8-11 * * * command:在上午8点到11点的第3和第15分钟执行 3,15 8-11 */2 * * command:每隔两天的上午8点到11点的第3和第15分钟执行 100、declare命令 declare -i ab :声明整数型变量 declare -r ab :设置变量为只读 101、dmesg命令 dmesg |less/demesg:显示开机信息 102、enable命令 enable:显示shell命令 103、eval命令 eval可读取一连串的参数,然后再依参数本身的特性来执行。 参数不限数目,彼此之间用分号分开。 eval enable;ls:连接多个命令 104、export命令 export -p :列出当前的环境变量值 export MYENV=7 :定义环境变量并赋值 105、rpm命令 -a 查询所有套件。 -b<完成阶段><套件档>+或-t <完成阶段><套件档>+ 设置包装套件的完成阶段,并指定套件档的文件名称。 -c 只列出组态配置文件,本参数需配合"-l"参数使用。 -d 只列出文本文件,本参数需配合"-l"参数使用。 -e<套件档>或--erase<套件档> 删除指定的套件。 -f<文件>+ 查询拥有指定文件的套件。 -h或--hash 套件安装时列出标记。 -i 显示套件的相关信息。 -i<套件档>或--install<套件档> 安装指定的套件档。 -l 显示套件的文件列表。 -p<套件档>+ 查询指定的RPM套件档。 -q 使用询问模式,当遇到任何问题时,rpm指令会先询问用户。 -R 显示套件的关联性信息。 -s 显示文件状态,本参数需配合"-l"参数使用。 -U<套件档>或--upgrade<套件档> 升级指定的套件档。 -v 显示指令执行过程。 -vv 详细显示指令执行过程,便于排错。 -addsign<套件档>+ 在指定的套件里加上新的签名认证。 --allfiles 安装所有文件。 --allmatches 删除符合指定的套件所包含的文件。 --badreloc 发生错误时,重新配置文件。 --buildroot<根目录> 设置产生套件时,欲当作根目录的目录。 --changelog 显示套件的更改记录。 --checksig<套件档>+ 检验该套件的签名认证。 --clean 完成套件的包装后,删除包装过程中所建立的目录。 --dbpath<数据库目录> 设置欲存放RPM数据库的目录。 --dump 显示每个文件的验证信息。本参数需配合"-l"参数使用。 --excludedocs 安装套件时,不要安装文件。 --excludepath<排除目录> 忽略在指定目录里的所有文件。 --force 强行置换套件或文件。 --ftpproxy<主机名称或IP地址> 指定FTP代理服务器。 --ftpport<通信端口> 设置FTP服务器或代理服务器使用的通信端口。 --help 在线帮助。 --httpproxy<主机名称或IP地址> 指定HTTP代理服务器。 --httpport<通信端口> 设置HTTP服务器或代理服务器使用的通信端口。 --ignorearch 不验证套件档的结构正确性。 --ignoreos 不验证套件档的结构正确性。 --ignoresize 安装前不检查磁盘空间是否足够。 --includedocs 安装套件时,一并安装文件。 --initdb 确认有正确的数据库可以使用。 --justdb 更新数据库,当不变动任何文件。 --nobulid 不执行任何完成阶段。 --nodeps 不验证套件档的相互关联性。 --nofiles 不验证文件的属性。 --nogpg 略过所有GPG的签名认证。 --nomd5 不使用MD5编码演算确认文件的大小与正确性。 --nopgp 略过所有PGP的签名认证。 --noorder 不重新编排套件的安装顺序,以便满足其彼此间的关联性。 --noscripts 不执行任何安装Script文件。 --notriggers 不执行该套件包装内的任何Script文件。 --oldpackage 升级成旧版本的套件。 --percent 安装套件时显示完成度百分比。 --pipe<执行指令> 建立管道,把输出结果转为该执行指令的输入数据。 --prefix<目的目录> 若重新配置文件,就把文件放到指定的目录下。 --provides 查询该套件所提供的兼容度。 --queryformat<档头格式> 设置档头的表示方式。 --querytags 列出可用于档头格式的标签。 --rcfile<配置文件> 使用指定的配置文件。 --rebulid<套件档> 安装原始代码套件,重新产生二进制文件的套件。 --rebuliddb 以现有的数据库为主,重建一份数据库。 --recompile<套件档> 此参数的效果和指定"--rebulid"参数类似,当不产生套件档。 --relocate<原目录>=<新目录> 把本来会放到原目录下的文件改放到新目录。 --replacefiles 强行置换文件。 --replacepkgs 强行置换套件。 --requires 查询该套件所需要的兼容度。 --resing<套件档>+ 删除现有认证,重新产生签名认证。 --rmsource 完成套件的包装后,删除原始代码。 --rmsource<文件> 删除原始代码和指定的文件。 --root<根目录> 设置欲当作根目录的目录。 --scripts 列出安装套件的Script的变量。 --setperms 设置文件的权限。 --setugids 设置文件的拥有者和所属群组。 --short-circuit 直接略过指定完成阶段的步骤。 --sign 产生PGP或GPG的签名认证。 --target=<安装平台>+ 设置产生的套件的安装平台。 --test 仅作测试,并不真的安装套件。 --timecheck<检查秒数> 设置检查时间的计时秒数。 --triggeredby<套件档> 查询该套件的包装者。 --triggers 展示套件档内的包装Script。 --verify 此参数的效果和指定"-q"参数相同。 --version 显示版本信息。 --whatprovides<功能特性> 查询该套件对指定的功能特性所提供的兼容度。 --whatrequires<功能特性> 查询该套件对指定的功能特性所需要的兼容度。 rpm -hvi dejagnu-1.4.2-10.noarch.rpm :安装软件 rpm -qi dejagnu-1.4.2-10.noarch.rpm:显示软件安装信息 106、set命令 set命令用于设置shell。 set:显示环境变量 107、passwd命令 passwd hh:设置hh用户的密码 passwd -S hh:显示账号密码信息 passwd -d lx138:删除用户密码 108、rmmod命令 lsmod:显示已安装的模块 rmmod -v 模块名:卸载模块 insmod -v 模块名 >1.log:安装模块 109、modinfo命令 modinfo sg:显示sg模块信息 110、time命令 用于计算某指令执行消耗的系统时间 time date:date命令执行消耗系统时间 111、ulimit命令 ulimit -a:显示系统资源的设置 ulimit -u 500:设置单一用户程序上限 112、unset命令 lx="ls -lh":设定环境变量 $lx:使用环境变量 unset lx:删除当前环境变量 113、ar命令 ar rv hh.bak *.txt:打包以.txt结尾的文件,命名为hh.bak ar t hh.bak:显示打包文件的内容 ar d hh.bak aaa.txt bbb.txt:删除打包文件中的文件成员 114、bunzip2命令 bunzip2 -v aaa.bz2:解压.bz2的压缩文件 115、bzip2命令 bzip2 -v temp.bz2 :解压文件显示详细处理信息 bzip2 -c a.c b.c c.c:压缩文件 bzip2 -t temp.bz2:检查文件完整性 116、gunzip命令 gunzip ab.gz:解压后缀为.gz的文件 117、compress命令 compress abc.h:压缩文件 compress -d aaa.h.Z:解压文件 compress -b 7 abc.h:按指定比例压缩文件 compress -rf /home/abc/:强制压缩文件夹 118、dump命令 用于备份文件系统 dump -0 -u /dev/tape /home/:备份文件到磁带 119、gzexe命令 gzexe abc:压缩可执行文件 120、gzip命令 gzip *:压缩目录下的所有文件夹 gzip -dv *:解压文件,并列出详细信息 121、tar命令 tar -cvzf test.tar.gz a.c:压缩a.c文件为test.tar.gz tar -zvfx test.tar.gz:解压文件 tar -tzvf test.tar.gz:列出压缩文件内容 122、zip命令 zip -q -r hh.zip /home/hh:将/home/hh这个目录下所有文件和文件夹打包为当前目录下的hh.zip zip -q -r hh.zip *:把当前目录下的所有文件和文件夹打包为hh.zip zip -dv hh.zip a.c:从压缩文件hh.zip中删除a.c文件 123、zipinfo命令 zipinfo cp.zip:显示压缩文件信息 zipinfo -v aa.zip:显示压缩文件中每个文件信息 124、vi编辑器 Ctrl+u:向文件首翻半屏;桌面 Ctrl+d:向文件尾翻半屏; Ctrl+f:向文件尾翻一屏; Ctrl+b:向文件首翻一屏; Esc:从编辑模式切换到命令模式; h 或 向左箭头键(←) 光标向左移动一个字符 j 或 向下箭头键(↓) 光标向下移动一个字符 k 或 向上箭头键(↑) 光标向上移动一个字符 l 或 向右箭头键(→) 光标向右移动一个字符 数字+h,j,k,l:可以选择想某个方向移动数字行或列 [Ctrl] + [f] 屏幕『向下』移动一页,相当于 [Page Down]按键 (常用) [Ctrl] + [b] 屏幕『向上』移动一页,相当于 [Page Up] 按键 (常用) [Ctrl] + [d] 屏幕『向下』移动半页 [Ctrl] + [u] 屏幕『向上』移动半页 + 光标移动到非空格符的下一行 - 光标移动到非空格符的上一行 n<space> 那个 n 表示『数字』,例如 20 。按下数字后再按空格键,光标会向右移动这一行的 n 个字符。例如 20<space> 则光标会向后面移动 20 个字符距离。 0 或功能键[Home] 这是数字『 0 』:移动到这一行的最前面字符处 (常用) $ 或功能键[End] 移动到这一行的最后面字符处(常用) H 光标移动到这个屏幕的最上方那一行的第一个字符 M 光标移动到这个屏幕的中央那一行的第一个字符 L 光标移动到这个屏幕的最下方那一行的第一个字符 G 移动到这个档案的最后一行(常用) nG n 为数字。移动到这个档案的第 n 行。例如 20G 则会移动到这个档案的第 20 行(可配合 :set nu) gg 移动到这个档案的第一行,相当于 1G 啊! (常用) n<Enter> n 为数字。光标向下移动 n 行(常用) 搜索替换 /word 向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可! (常用) ?word 向光标之上寻找一个字符串名称为 word 的字符串。 n 这个 n 是英文按键。代表重复前一个搜寻的动作。举例来说, 如果刚刚我们执行 /vbird 去向下搜寻 vbird 这个字符串,则按下 n 后,会向下继续搜寻下一个名称为 vbird 的字符串。如果是执行 ?vbird 的话,那么按下 n 则会向上继续搜寻名称为 vbird 的字符串! N 这个 N 是英文按键。与 n 刚好相反,为『反向』进行前一个搜寻动作。 例如 /vbird 后,按下 N 则表示『向上』搜寻 vbird 。 使用 /word 配合 n 及 N 是非常有帮助的!可以让你重复的找到一些你搜寻的关键词! :n1,n2s/word1/word2/g n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 !举例来说,在 100 到 200 行之间搜寻 vbird 并取代为 VBIRD 则: 『:100,200s/vbird/VBIRD/g』。(常用) :1,$s/word1/word2/g 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !(常用) :1,$s/word1/word2/gc 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给用户确认 (confirm) 是否需要取代!(常用) 删除、复制与贴上 x, X 在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键) (常用) nx n 为数字,连续向后删除 n 个字符。举例来说,我要连续删除 10 个字符, 『10x』。 dd 删除游标所在的那一整行(常用) ndd n 为数字。删除光标所在的向下 n 行,例如 20dd 则是删除 20 行 (常用) d1G 删除光标所在到第一行的所有数据 dG 删除光标所在到最后一行的所有数据 d$ 删除游标所在处,到该行的最后一个字符 d0 那个是数字的 0 ,删除游标所在处,到该行的最前面一个字符 yy 复制游标所在的那一行(常用) nyy n 为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20 行(常用) y1G 复制游标所在行到第一行的所有数据 yG 复制游标所在行到最后一行的所有数据 y0 复制光标所在的那个字符到该行行首的所有数据 y$ 复制光标所在的那个字符到该行行尾的所有数据 p, P p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行! 举例来说,我目前光标在第 20 行,且已经复制了 10 行数据。则按下 p 后, 那 10 行数据会贴在原本的 20 行之后,亦即由 21 行开始贴。但如果是按下 P 呢? 那么原本的第 20 行会被推到变成 30 行。 (常用) J 将光标所在行与下一行的数据结合成同一行 c 重复删除多个数据,例如向下删除 10 行,[ 10cj ] u 复原前一个动作。(常用) [Ctrl]+r 重做上一个动作。(常用) . 重复前一个动作(常用) 第二部份:一般模式切换到编辑模式的可用的按钮说明 进入输入或取代的编辑模式 i, I 进入输入模式(Insert mode): i 为『从目前光标所在处输入』, I 为『在目前所在行的第一个非空格符处开始输入』。 (常用) a, A 进入输入模式(Insert mode): a 为『从目前光标所在的下一个字符处开始输入』, A 为『从光标所在行的最后一个字符处开始输入』。(常用) o, O 进入输入模式(Insert mode): r, R 进入取代模式(Replace mode): r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止;(常用) [Esc] 退出编辑模式,回到一般模式中(常用) 第三部份:一般模式切换到指令行模式的可用的按钮说明 指令行的储存、离开等指令 :w 将编辑的数据写入硬盘档案中(常用) :w! 若文件属性为『只读』时,强制写入该档案。不过,到底能不能写入, 还是跟你对该档案的档案权限有关啊! :q 离开 vi (常用) :q! 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。 :wq 储存后离开,若为 :wq! 则为强制储存后离开 (常用) ZZ 若档案没有更动,则不储存离开,若档案已经被更动过,则储存后离开! :w [filename] 将编辑的数据储存成另一个档案(类似另存新档) :r [filename] 在编辑的数据中,读入另一个档案的数据。亦即将 『filename』 这个档案内容加到游标所在行后面 :n1,n2 w [filename] 将 n1 到 n2 的内容储存成 filename 这个档案。 :! command 暂时离开 vi 到指令行模式下执行 command 的显示结果!例如 『:! ls /home』即可在 vi 当中察看 /home 底下以 ls 输出的档案信息! vim 环境的变更 :set nu 显示行号,设定之后,会在每一行的前缀显示该行的行号 :set nonu 与 set nu 相反,为取消行号! u 撤销上一步的操作 Ctrl+r 恢复上一步被撤销的操作