unix常用指令.docx
《unix常用指令.docx》由会员分享,可在线阅读,更多相关《unix常用指令.docx(39页珍藏版)》请在冰豆网上搜索。
![unix常用指令.docx](https://file1.bdocx.com/fileroot1/2023-1/23/0908504e-bcfa-447f-b722-26648e648f20/0908504e-bcfa-447f-b722-26648e648f201.gif)
unix常用指令
find/home/kevin/test-namecc.txt-execrm-f{}\;
{}\;是什么意思?
{}代表前面的搜索结果
\;是固定语法格式,与-exec或者-ok参数必须成对使用,而且必须在结尾。
du/ztesoft/unit/polly|sort-nr|more
查看空间文件空间大小
df–g查看硬盘空间
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.4mkdir
[语法]:
mkdir[-m模式][-p]目录名
[说明]:
本命令用于建立目录,目录的存取模式由掩码(umask)决定,要求对其父目录具有写权限,目录的UID和GID为实际UID和GID
-m按指定存取模式建立目录
-p建立目录时建立其所有不存在的父目录
[例子]:
mkdirtmp在当前目录下建立子目录tmp
mkdir-m777/tmp/abc用所有用户可读可写可执行的存取模式
建立目录/tmp/aaa,存取模式参看命令chmod
mkdir-p/tmp/a/b/c建立目录/tmp/a/b/c,若不存在目录/tmp/a
及/tmp/a/b则建立之
1.5rmdir
[语法]:
rmdir[-p][-s]目录名
[说明]:
本命令用于删除目录
-p删除所有已经为空的父目录
-s当使用-p选项时,出现错误不提示
[例子]:
rmdir/tmp/abc删除目录/tmp/abc
rmdir-p/tmp/a/b/c删除目录/tmp/a/b/c,若目录/tmp/a/b
及/tmp/a空,则删除
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逐个显示文件file1file2file3
1.7head
[语法]:
head[-n][文件...]
[说明]:
将文件的头n行显示输出,缺省值为10行,显示多个文件时,在每个文件的前面加上==>文件名<==
[例子]:
head-9999file1file2显示文件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行
iCTRL+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行开始显示文件file
more-s-wfile1file2file3显示文件file1file2file3
1.9cp
[语法]:
cp[-p][-r]文件1[文件2...]目标
[说明]:
将文件1(文件2...)拷贝到目标上,目标不能与文件同名,若目标是文件名,则拷贝的文件只能有一个,若目标是目录,则拷贝的文件可以有多个,若目标文件不存在,则建立这个文件,若存在,则覆盖其以前的内容,若目标是目录,则将文件拷贝到这个目录下。
-i在覆盖已存在文件时作提示,若回答y则覆盖,其他则中止
-p不仅拷贝文件内容,还有修改时间,存取模式,存取控制表,但不拷贝
UID及GID
-r若文件名为目录,则拷贝目录下所有文件及子目录和它们的文件,此时
目标必须为目录
[例子]:
cpfile1file2将文件file1拷贝到文件file2
cpfile1file2/tmp将文件file1和文件file2拷贝到目录/tmp下
cp-r/tmp/mytmp将目录/tmp下所有文件及其子目录拷贝至目录/mytmp
1.10mv
[语法]:
mv[-f][-i]文件1[文件2...]目标
[说明]:
将文件移动至目标,若目标是文件名,则相当于文件改名
-i在覆盖已存在文件时作提示,若回答y则覆盖,其他则中止
-f覆盖前不作任何提示
[例子]:
mvfile1file2将文件file1改名为file2
mvfile1file2/tmp将文件file1和文件file2移动到目录/tmp下
1.11rm
[语法]:
rm[-f][-i]文件...
或rm-r[-f][-i]目录名...[文件]
[说明]:
用来删除文件或目录
-f删除文件时不作提示
-r递归地删除目录及其所有子目录
-i删除文件之前先作提示
[例子]:
rmfile1删除文件file1
rm-i/tmp/*删除目录/tmp下的所有文件
rm-r/mytmp递归地删除目录/mytmp
1.12chmod
[语法]:
chmod[-R]模式文件...
或chmod[ugoa]{+|-|=}[rwxst]文件...
[说明]:
改变文件的存取模式,存取模式可表示为数字或符号串,例如:
chmodnnnnfile,n为0-7的数字,意义如下:
4000运行时可改变UID
2000运行时可改变GID
1000置粘着位
0400文件主可读
0200文件主可写
0100文件主可执行
0040同组用户可读
0020同组用户可写
0010同组用户可执行
0004其他用户可读
0002其他用户可写
0001其他用户可执行
nnnn就是上列数字相加得到的,例如chmod0777file是指将文件file存取权限置为所有用户可读可写可执行。
-R递归地改变所有子目录下所有文件的存取模式
u文件主
g同组用户
o其他用户
a所有用户
+增加后列权限
-取消后列权限
=置成后列权限
r可读
w可写
x可执行
s运行时可置UID
t运行时可置GID
[例子]:
chmod0666file1file2将文件file1及file2置为所有用户可读可写
chmodu+xfile对文件file增加文件主可执行权限
chmodo-rwx对文件file取消其他用户的所有权限
1.13chown
[语法]:
chown[-R]文件主文件...
[说明]:
文件的UID表示文件的文件主,文件主可用数字表示,也可用一个有效的用户名表示,此命令改变一个文件的UID,仅当此文件的文件主或超级用户可使用。
-R递归地改变所有子目录下所有文件的存取模式
[例子]:
chownmaryfile将文件file的文件主改为mary
chown150file将文件file的UID改为150
1.14chgrp
[语法]:
chgrp[-R]文件组文件...
[说明]:
文件的GID表示文件的文件组,文件组可用数字表示,也可用一个有效的组名表示,此命令改变一个文件的GID,可参看chown。
-R递归地改变所有子目录下所有文件的存取模式
[例子]:
chgrpgroupfile将文件file的文件组改为group
1.15cmp
[语法]:
cmp[-l][-s]文件1文件2
[说明]:
比较两个文件,若文件1为-,则使用标准输入,两个文件相同则无提示,不同则显示出现第一个不同时的字符数和行号。
-l显示每个不同处的字节数(10进制)和不同的字节(8进制)
-s不作任何提示,只返回码
[例子]:
cmpfile1file2比较文件file1和file2
cmp-lfile1file2比较文件file1和file2的每处不同
1.16diff
[语法]:
diff[-be]文件1文件2
[说明]:
本命令比较两个文本文件,将不同的行列出来
-b将一串空格或TAB转换成一个空格或TAB
-e生成一个编辑角本,作为ex或ed的输入可将文件1转换成文件2
[例子]:
difffile1file2
diff-bfile1file2
diff-efile1file2>edscript
1.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行写入一个文件,第一个文件名为littleaa
1.19touch
[语法]:
touch[-amc][mmddhhmm[yy]]文件…
[说明]:
将指定文件的访问时间和修改时间改变,若指定文件不存在则创建之,若无指定时间,则使用当前时间,返回值是未成功改变时间的文件个数,包括不存在而又未能创建的文件。
-a只改变访问时间
-m只改变修改时间
-c若文件不存在,不创建它且不作提示
mmddhhmm[yy]两位表示月日时分[年]
[例子]:
touchfile
更新文件file的时间
touch0701000097HongKong
将文件HongKong的时间改为97年7月1日0时0分
1.20file
[语法]:
file[-f文件名文件]文件…
[说明]:
file对指定文件进行测试,尽量猜测出文件类型并显示出来
-f文件名文件文件名文件是一个包含了文件名的文本文件,-f选项测试
文件名文件中所列出的文件
[例子]:
file*显示当前目录下所有文件的类型
1.21pack
[语法]:
pack文件…
[说明]:
pack将指定文件转储为压缩格式,文件名后加.z,文件存取模式,访问时间,修改时间等均不变
[例子]:
packlargefile将largefile压缩后转储为largefile.z
1.22pcat显示压缩文件
[语法]:
pcat文件…
[说明]:
pcat显示输出压缩文件
[例子]:
pcatlargefile.z显示压缩前的largefile
pcatlargefile.z>oldfile显示压缩前的laregfile,并将其重定向到
文件oldfile中
1.23unpack
[语法]:
unpack文件…
[说明]:
将压缩后的文件解压后转储为压缩前的格式
[例子]:
unpacklargefile.z将压缩文件largefile.z解压后转储为largefile
1.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屏幕上滚一半,前面加数字时表示上滚