UNIX常用命令.docx
《UNIX常用命令.docx》由会员分享,可在线阅读,更多相关《UNIX常用命令.docx(68页珍藏版)》请在冰豆网上搜索。
![UNIX常用命令.docx](https://file1.bdocx.com/fileroot1/2023-2/26/adcb627d-376c-4a06-951d-c26d478316ef/adcb627d-376c-4a06-951d-c26d478316ef1.gif)
UNIX常用命令
UNIX常用命令
UNIX常用命令
1.1ls[语法]:
ls[-RadCxmlnogrtucpFbqisf1][目录或文件......][说明]:
ls命令列出指定目录
下的文件,缺省目录为当前目录./,缺省输出顺序为纵向按字符顺序排列。
-R递归地列出每个子目录
的内容-a列出所有文件,包括第一个字符为“.”的隐藏文件-d若后面参数是目录,则只列出目录名
而不列出目录内容,常与-l选项连用以显示目录状态。
-C输出时多列显示-x横向按字符顺序排列-m
输出按流式格式横向排列,文件名之间用逗号(,)分隔-l长列表输出,显示文件详细信息,每行一个文
件,从左至右依次是:
文件存取模式链接数文件主文件组文件字节数上次修改时间其中文件存取
模式用10个字母表示,从左至右的意义如下:
第一个字母表示文件种类,可以是以下几种情况:
d为目
录文件l为链接b为块文件c为字符型文件p为命名管道(FIFO)-为普通文件后面9个字母分别表
示文件主、同组用户、其他用户对文件的权力,用r表示可读,w表示可写,x表示可执行。
如果是设备
文件,则在文件字节数处显示:
主设备从设备。
-n与-l选项相同,只是文件主用数字(即UID)显示,文
件组用数字(即GID)表示-o与-l选项相同,只是不显示文件组-g与-l选项相同,只是不显示文件主
-r逆序排列-t按时间顺序排列而非按名字-u显示时间时使用上次访问时间而非上次修改时间-c显
示时间时使用上次修改i节点时间而非上次修改时间-p若所列文件是目录文件,则在其后显示斜杠(/)
-F在目录文件后加’/’,在可执行文件后加’*’-b文件名中若有非打印字符,则用八进制显示该字
符-q文件名中的打印字符用’?
’表示-i显示节点号-s显示文件长度时使用块长度而非字节长度-f
将后面的参数解释为目录并列出其中的每一项-1每行仅列一项[例子]:
ls列出当前目录下的文件ls
-al/bin以长列表的形式列出目录/bin下的所有文件,包括隐藏文件
1.2pwd[语法]:
pwd[说明]:
本命令用于显示当前的工作目录[例子]:
pwd显示出当前的工作目录
1.3cd[语法]:
cd[目录][说明
]:
本命令用于改变当前的工作目录,无参数时使用环境变量$HOME作为其参数,$HOME一般为注册时进
入的路径。
[例子]:
cd回到注册进入时的目录cd/tmp进入/tmp目录cd../进入上级目录
1.4
mkdir[语法]:
mkdir[-m模式][-p]目录名[说明]:
本命令用于建立目录,目录的存取模式由掩码(
umask)决定,要求对其父目录具有写权限,目录的UID和GID为实际UID和GID-m按指定存取模式建立目录
-p建立目录时建立其所有不存在的父目录[例子]:
mkdirtmp在当前目录下建立子目录tmpmkdir-m
777/tmp/abc用所有用户可读可写可执行的存取模式建立目录/tmp/aaa,存取模式参看命令chmod
mkdir-p/tmp/a/b/c建立目录/tmp/a/b/c,若不存在目录/tmp/a及/tmp/a/b则建立之
1.5
rmdir[语法]:
rmdir[-p][-s]目录名[说明]:
本命令用于删除目录-p删除所有已经为空的父目录-s当
使用-p选项时,出现错误不提示[例子]:
rmdir/tmp/abc删除目录/tmp/abcrmdir-p/tmp/a/b/c
删除目录/tmp/a/b/c,若目录/tmp/a/b及/tmp/a空,则删除QV
©达内科技论坛--达内科技论坛 )B
1.6cat[语法]:
cat[-u][-s][-v[-t][-e]]文件...[说明]:
显示和连接一个或多个文件至标准输
出-u无缓冲的输出(缺省为有缓冲输出)-s对不存在的文件不作提示-v显示出文件中的非打印字符,
控制字符显示成^n,n为八进制数字,其他非打印字符显示成M-x,x为该字符低7位的8进制数值-t
在使用-v选项时,将制表符(tab)显示成^I,将换页符(formfeed)显示成^L-e在使用-v选项
时,在每一行的行尾显示$[例子]:
catfile显示文件cat-s-v-efile1file2file3逐个显示文
件file1file2file31.7head[语法]:
head[-n][文件...][说明]:
将文件的头n行显示输出,缺
省值为10行,显示多个文件时,在每个文件的前面加上==>文件名<==[例子]:
head-9999file1
file2显示文件file1和file2的头9999行1.8more[语法]:
more[-cdflrsuw][-行数][+行
数][+/模式][文件...][说明]:
将文件显示在终端上,每次一屏,在左下部显示--more--
,若是从文件读出而非从管道,则在后面显示百分比,表示已显示的部分,按回车键则上滚一行,按空格
键则上滚一屏,未显示完时可以使用more命令中的子命令。
-c显示文件之前先清屏-d当输错命令时
显示错误信息而不是响铃(bell)-f不折叠显示长的行-l不将分页控制符(CTRLD)当作页结束-r一般
情况下,more不显示控制符,本选项使more显示控制符,例如,将(CTRLC)显示成^C-s将多个
空行转换成一个空行显示-u禁止产生下划线序列-w一般情况下more显示完后立即推出,本选项在显
示完后作提示,敲任意键后推出-n行数指定每屏显示的行数+行号从指定行号开始显示+/模式在
文件中搜索指定模式,从模式出现行的上两行开始显示文件未显示完时,可以使用more命令中的子命令
,命令中除了!
和/以外均不回显,也不用敲回车,当命令破坏more提示行时,可用退格键恢复提示
行。
在以下子命令操作中,i表示数字,缺省值为1。
i空格上滚一屏多i行i回车上滚i行i
CTRL+Di缺省时上滚11行,否则上滚i行idi缺省时上滚11行,否则上滚i行izi缺省时上
滚一屏,否则定义每屏为i行is跳过i行后显示一屏if跳过i屏后显示一屏iCTRL+B跳回i屏
后显示一屏b跳回一屏后显示一屏q或Q推出more=显示当前行号v从当前行开始编辑当前文件
编辑器由环境变量$EDITOR定义h显示帮助信息i/模式向前搜索,直至模式的第i次出现,从该
行的上两行开始显示一屏in向前搜索,直至上一模式的第i次出现,从该行的上两行开始显示一
屏单引号回到上次搜索的出发点,若无搜索则回到开始位置!
命令激活一个sh去执行指定的命令i
:
n跳到后面第i个文件,若不存在则跳到最后一个文件:
f显示当前文件名和行号:
q或:
Q推
出more.(点)重复上次命令[例子]:
more-c+50file清屏后,从第50行开始显示文件filemore
-s-wfile1file2file3显示文件file1file2file31.9cp[语法]:
cp[-p][-r]文件1[
文件2...]目标[说明]:
将文件1(文件2...)拷贝到目标上,目标不能与文件同名,若目标是文件名
,则拷贝的文件只能有一个,若目标是目录,则拷贝的文件可以有多个,若目标文件不存在,则建立这
个文件,若存在,则覆盖其以前的内容,若目标是目录,则将文件拷贝到这个目录下。
-i在覆盖已存
在文件时作提示,若回答y则覆盖,其他则中止-p不仅拷贝文件内容,还有修改时间,存取模式,存
取控制表,但不拷贝UID及GID-r若文件名为目录,则拷贝目录下所有文件及子目录和它们的文件
,此时目标必须为目录[例子]:
cpfile1file2将文件file1拷贝到文件file2cpfile1file2
/tmp将文件file1和文件file2拷贝到目录/tmp下cp-r/tmp/mytmp将目录/tmp下所有文件及
其子目录拷贝至目录/mytmp1.10mv[语法]:
mv[-f][-i]文件1[文件2...]目标[说明]:
将文件移
动至目标,若目标是文件名,则相当于文件改名-i在覆盖已存在文件时作提示,若回答y则覆盖,其
他则中止-f覆盖前不作任何提示[例子]:
mvfile1file2将文件file1改名为file2mvfile1
file2/tmp将文件file1和文件file2移动到目录/tmp下1.11rm[语法]:
rm[-f][-i]文件...
或rm-r[-f][-i]目录名...[文件][说明]:
用来删除文件或目录-f删除文件时不作提示-r递
归地删除目录及其所有子目录-i删除文件之前先作提示[例子]:
rmfile1删除文件file1rm-i
/tmp/*删除目录/tmp下的所有文件rm-r/mytmp递归地删除目录/mytmp1.12chmod[语法]:
chmod[-R]模式文件...或chmod[ugoa]{+|-|=}[rwxst]文件...[说明]:
改变文件的存取模式,
存取模式可表示为数字或符号串,例如:
chmodnnnnfile,n为0-7的数字,意义如下:
4000运行时
可改变UID2000运行时可改变GID1000置粘着位0400文件主可读0200文件主可写0100文件主可执
行0040同组用户可读0020同组用户可写0010同组用户可执行0004其他用户可读0002其他用户可
写0001其他用户可执行nnnn就是上列数字相加得到的,例如chmod0777file是指将文件file存
取权限置为所有用户可读可写可执行。
-R递归地改变所有子目录下所有文件的存取模式u文件主g同
组用户o其他用户a所有用户+增加后列权限-取消后列权限=置成后列权限r可读w可写x可
执行s运行时可置UIDt运行时可置GID[例子]:
chmod0666file1file2将文件file1及file2置
为所有用户可读可写chmodu+xfile对文件file增加文件主可执行权限chmodo-rwx对文件file取
消其他用户的所有权限1.13chown[语法]:
chown[-R]文件主文件...[说明]:
文件的UID表示文件
的文件主,文件主可用数字表示,也可用一个有效的用户名表示,此命令改变一个文件的UID,仅当此文
件的文件主或超级用户可使用。
-R递归地改变所有子目录下所有文件的存取模式[例子]:
chownmary
file将文件file的文件主改为marychown150file将文件file的UID改为1501.14chgrp[语
法]:
chgrp[-R]文件组文件...[说明]:
文件的GID表示文件的文件组,文件组可用数字表示,也可
用一个有效的组名表示,此命令改变一个文件的GID,可参看chown。
-R递归地改变所有子目录下所有文
件的存取模式[例子]:
chgrpgroupfile将文件file的文件组改为group1.15cmp[语法]:
cmp
[-l][-s]文件1文件2[说明]:
比较两个文件,若文件1为"-",则使用标准输入,两个文件相同则
无提示,不同则显示出现第一个不同时的字符数和行号。
-l显示每个不同处的字节数(10进制)和不同的
字节(8进制)-s不作任何提示,只返回码[例子]:
cmpfile1file2比较文件file1和file2cmp-l
file1file2比较文件file1和file2的每处不同1.16diff[语法]:
diff[-be]文件1文件2[说明
]:
本命令比较两个文本文件,将不同的行列出来-b将一串空格或TAB转换成一个空格或TAB-e生成一
个编辑角本,作为ex或ed的输入可将文件1转换成文件2[例子]:
difffile1file2diff-bfile1
file2diff-efile1file2>edscript1.17wc[语法]:
wc[-lwc]文件...[说明]:
统计文件的行、
字、字符数,若无指定文件,则统计标准输入-l只统计行数-w只统计字数-c只统计字符数[例子]:
wc-lfile1file2统计文件file1和file2的行数1.18split[语法]:
split[-n][文件[名字]][
说明]:
split将指定大文件分解为若干个小文件,每个文件长度为n行(n,缺省时为1000),第一个小文
件名为指定的名字后跟aa,直至zz,名字缺省值为x,若未指定大文件名,则使用标准输入[例子]:
split-500largefilelittle将文件largefile每500行写入一个文件,第一个文件名为littleaa1.19
touch[语法]:
touch[-amc][mmddhhmm[yy]]文件...[说明]:
将指定文件的访问时间和修改时间改变
,若指定文件不存在则创建之,若无指定时间,则使用当前时间,返回值是未成功改变时间的文件个数,
包括不存在而又未能创建的文件。
-a只改变访问时间-m只改变修改时间-c若文件不存在,不创建它
且不作提示mmddhhmm[yy]两位表示月日时分[年][例子]:
touchfile更新文件file的时间touch
0701000097HongKong将文件HongKong的时间改为97年7月1日0时0分1.20file[语法]:
file[-f文件
名文件]文件...[说明]:
file对指定文件进行测试,尽量猜测出文件类型并显示出来-f文件名文件
文件名文件是一个包含了文件名的文本文件,-f选项测试文件名文件中所列出的文件[例子]:
file*
显示当前目录下所有文件的类型1.21pack[语法]:
pack文件...[说明]:
pack将指定文件转储为压
缩格式,文件名后加".z",文件存取模式,访问时间,修改时间等均不变[例子]:
packlargefile
将largefile压缩后转储为largefile.z1.22pcat显示压缩文件[语法]:
pcat文件...[说明]:
pcat
显示输出压缩文件[例子]:
pcatlargefile.z显示压缩前的largefilepcatlargefile.z>oldfile
显示压缩前的laregfile,并将其重定向到文件oldfile中1.23unpack[语法]:
unpack文件...[说明
]:
将压缩后的文件解压后转储为压缩前的格式[例子]:
unpacklargefile.z将压缩文件largefile.z解
压后转储为largefile1.24find[语法]:
find路径名...表达式[说明]:
find命令递归地遍历指定
路径下的每个文件和子目录,看该文件是否能使表达式值为真,以下n代表一个十进制整数,+n代表打
印n,-n代表小于n,下面是合法表达式说明:
-name模式文件名与模式匹配则为真,(\为转意
符)-perm[-]八进制数文件存取模式与八进制数相同则为真若有-选项,则文件存取模式含有八进制
数规定模式即为真-sizen[c]文件块长度为n则真(一块为512字节),若有c选项,则文件字节长度
为n则真-atimen若文件的最近访问时间为n天前则为真,find命令将改变其访问的目录的访问时
间-mtimen若文件的最近修改时间为n天前则为真-ctimen若文件状态为n天前改变则为真-exec
命令{}\;若命令返回值为0则真,{}内为命令参数,此命令必须以\;为结束-ok命令{}\;与
exec相同,只是在命令执行前先提示,若回答y则执行命令-print显示输出使表达式为真的文件名
-newer文件若文件的访问时间比newer指定的文件新则真-depth先下降到搜索目录的子目录,然后才
至其自身-mount仅查找包含指定目录的文件系统-local文件在当前文件系统时为真-typec文件类
型为c则真,c取值可为b(块文件)c(字符文件)d(目录)l(符号链接)p(命名管道)f(普通文件
)\(表达式\)表达式为真则真-linksn文件链接数为n时为真-user用户当文件属于用户时为真
,用户可用数字表示UID-nouser当文件不属于/etc/passwd中的一个用户时为真-group文件组当文
件属于文件组时为真,文件组可用数字表示GID-nogroup当文件不属于/etc/group中的一个组时为真
-fstype类型当文件所属文件系统类型为指定类型时真-inumn当文件i节点号为n时为真-prune
当目录名与模式匹配时,不再搜索其子目录可以用逻辑操作符将简单表达式连接成复杂表达式逻辑操作
符有!
表示非操作,-o表示或操作,两个表达式并列则表示与操作[例子]:
find/-namefind*-
print从根目录开始搜索文件名如find*的文件并显示之find./-execsleep{1}\;-print每秒显示
一个当前目录下的文件find$HOME\(-namea.out-o-name'*.o'\)-atime+7-execrm{}\;从
$HOME目录开始搜索,删除所有文件名为a.out或*.o且访问时间在7天前的文件1.25grep[语法]:
grep[选项]模式[文件...][说明]:
在指定的文件中搜索模式,并显示所有包含模式的行,模式是一
个正规表达式,在使用正规表达式时,最好将其引在单引号(')中,若指定文件为缺省,则使用标准输入
,正规表达式可以是:
.匹配任意一个字符*匹配0个或多个*前的字符^匹配行开头$匹配行结尾
[]匹配[]中的任意一个字符,[]中可用-表示范围,例如[a-z]表示字母a至z中的任意一个\转意
字符命令中的选项为:
-b显示块号-c仅显示各指定文件中包含模式的总行数-i模式中字母不区分
大小写-h不将包含模式的文件名显示在该行上-l仅显示包含模式的文件名-n显示模式所在行的行号
-s指定文件若不存在或不可读,不提示错误信息-v显示所有不包含模式的行[例子]:
grep'good'*
在所有文件中搜索含有字符串good的行grep'^myline'mytext在文件mytext中搜索行首出现myline
字符串的行1.26vi[语法]:
vi[-wn][-R]文件...[说明]:
vi是一个基于行编辑器ex上的全屏幕
编辑器,可以在vi中使用ex,ed的全部命令,vi选项中-wn指将编辑窗口大小置为n行,-R为将编辑
的文件置为只读模式,vi工作模式分为命令模式和输入模式,一般情况下在命令模式下,可敲入vi命令
,进入输入模式下时可以编辑要编辑的文本,命令aAiIoOcCsSR可进入输入模式,在输入模
式下按ESC键可推出输入模式,回到命令模式,在命令模式中敲入:
命令,则可进入ex方式,在屏幕底
部出现提示符:
,此时可使用任意ex命令,屏幕底行也用来作/?
!
命令的提示行,大多数命令可以在
其前面加数字,表示命令执行的重复次数,下面简单介绍一下vi的命令集,^表示(CTRL)键^B退回前
一页,前面加数字表示重复次数,每次换页时保留上一页的两行^D在命令模式下,表示下滚屏幕的一
半,在输入模式下,表示回退至左边的自动缩进处^E显示屏幕底线之下的一行^F前进一页,前面加
数字表示重复次数,每次换页时保留上一页的两行^G显示当前文件名,当前行号和文件总行数,并用
百分号当前行在整个文件中的位置^H(退格)在命令模式下,光标左移一格;在输入模式下,删去前面
的字符^I(TAB)在输入模式下,产生一串空格^J(LF)光标下移一行^L刷新屏幕,即将屏幕重新显示
^M(回车)在命令模式下,光标移动至下行开头在输入模式下,开辟一新行^N光标下移一行^P光标上
移一行^Q在输入模式下,将其后的非打印字符作为正文插入^R刷新屏幕^U屏幕上滚一半,前面加数
字时表示上滚的行数,此数字对以后的^D^U命令有效^V在输入模式下,将其后的非打印字符作为正
文插入^W在输入模式下,使光标回退一个字^Y显示屏幕底线之上的一行^Z暂停编辑,退回上层
Shell^[(ESC)退出输入模式,回到命令模式!
暂时退出编辑,执行Shell命令"(双引号)用于标志有
名缓冲区,编号缓冲区1-9用于保存被删去的正文,字母名缓冲区a-z供用户存放自定义的正文$将光标
移动到当前行尾,前加数字则表示前移行数,如2$表示移动到下一行行尾%将光标移动到配对的小括号
()或大括号{}上去(退回句子开头)前移到句子开头-退到上一行第一个非空格字符.重复上一次改
变缓冲区内容的命令/模式向前搜索模式,将光标移动到模式出现处,模式是一个正规表达式,(参看
grep):
在屏幕底部提示:
,其后可使用ex命令?
功能同/,但方向是向前查找[[光标回退至前一
节分界处\转意符]]光标前移至节分界处^(不是CTRL)光标移至当前行第一个非空字符上'连续两
个''表示将光标移至其移动前的位置,'后跟字母表示光标字母标记的行首(参看m命令)A在行尾插入
正文,进入输入模式B光标