Unix常用命令资料.docx
《Unix常用命令资料.docx》由会员分享,可在线阅读,更多相关《Unix常用命令资料.docx(30页珍藏版)》请在冰豆网上搜索。
Unix常用命令资料
Unix常用命令
(一)基本命令
命令格式:
命令参数
1.ls显示文件名,等同于dos下dir命令
命令格式:
ls[option]file
option:
-l显示详细列表
域1:
文件类型和文件权限
域2:
文件连接数
域3:
文件所有者名字
域4:
文件用户组名字
域5:
文件长度
域6-8:
最近修改日期
域9:
文件名
-a显示所有文件,包含隐藏文件(以.起头的文件名)
-R显示文件及所有子目录
-F显示文件(后跟*)和目录(后跟/)
-d与l选项合用,显示目录名而非其内容
2.cd目录转换,等同于dos下cd命令
注意目录分隔符为“/”,与dos相反
命令格式:
cddirname
3.pwd显示当前路径
4.cat显示文件内容,等同于dos下type命令
命令格式:
catfilename
5.more以分页方式查看文件内容.
命令格式:
morefilename
6.rm删除文件
命令格式:
rm[-r]filename(filename可为档名,或档名缩写符号.)
例子:
rmfile1删除档名为file1之文档.
rmfile?
删除档名中有五个字元,前四个字元为file之所有文档.
rmf*删除档名中,以f为字首之所有文档.
rm-rdir1删除目录dir1,及其下所有文档及子目录.
7.mkdir创建目录
命令格式:
mkdir[-p]directory-name
Exmaple:
mkdirdir1建立一新目录dir1.
mkdir-pdir/subdir直接创建多级目录
8.rmdir删除目录
目录必须首先为空
命令格式:
rmdirdirectory
9.cp文档复制
命令格式:
cp[-r]sourcedestination
例子:
cpfile1file2将文档file1复制成file2
cpfile1dir1将文档file1复制到目录dir1下,文件名仍为file1.
cp/tmp/file1.将目录/tmp下的文档file1复制到现行目录下,
档名仍为file1.
cp/tmp/file1file2将目录/tmp下的文档file1现行目录下,档名
为file2
cp-rdir1dir2(recursivecopy)复制整个目录.
若目录dir2存在,则将目录dir1,及其所有文档和子目录,
复制到目录dir2下,新目录名称为dir1.若目录dir2不存在,
则将dir1,及其所有文档和子目录,复制为目录dir2.
10.mv文件移动
命令格式:
mvsourcedestination
例子:
mvfile1file2将文档file1,更改档名为file2.
mvfile1dir1将文档file1,移到目录dir1下,档名仍为file1.
mvdir1dir2若目录dir2不存在,则将目录dir1,及其所有档
案和子目录,移到目录dir2下,新目录名称为dir1.
若目录dir2不存在,则将dir1,及其所有文档和子
目录,更改为目录dir2.
11.du查看目录所占磁碟容量
命令格式:
du[-sk]directory
例子:
dudir1显示目录dir1的总容量及其次目录的容量
du-skdir1显示目录dir1的总容量,以kbytes为计量
12.find文件查找
命令格式:
finddir-namefilenamecommand
例子:
find.-namehello-print寻找目前目录及所有的子目录内叫
hello的文档.
find.-ctime+7-print找出七天内未被更动的文档
find.-size+2000m-print找出大小超过2000bytes的文档
find/tmp-userb1234567-print在/tmp下属於b1234567的文档
find.-name'*.c'-execrm{}删除所有的.c档
find.-nametest\*-print显示当前目录及其子目录文件名前4
位为test的文件名
13.vi编辑器
命令状态:
j,k,h,l:
上下左右
0:
行首
$:
行尾
i,I:
插入命令,i在当前光标处插入I行首插入
a,A:
追加命令,a在当前光标后追加,A在行末追加
o,O:
打开命令,o在当前行下打开一行,O在当前行上插入一行
r,R:
替换命令,r替换当前光标处字符,R从光标处开始替换
数字s:
替换指定数量字符
x:
删除光标处字符
dd:
删除当前行
d0:
删除光标前半行
d$:
删除光标后半行
ctrl+f:
后翻页
ctrl+b:
前翻页
G:
文件尾
数字G:
数字所指定行
/string查找字符串
n继续查找
N反向继续查找
%查找对应括号
u取消上次操作
ex命令状态
:
setnumber显示行号
:
setsmd显示显示状态
:
0文件首
:
1,5copy7块拷贝
:
1,5del块删除
:
1,5move7块移动
:
1,$s/string1/string2/g全文件查找string1并替换为string2
:
wq!
存盘退出
(二)增强命令
1.ln文档连结
命令格式:
ln-soldnamenewname(Hardlink)
同一文档,可拥有一个以上之名称,可将文档做数个连结.
例子:
ln-sfile1file2 将名称file2,连结至文档file1.
2.grep搜索字符串
命令格式:
grepstringfilename
寻找字串的方法很多,比如说我想找所有以M开头的行.此时必须引进pattern的观
念.以下是一些简单的□例,以及说明:
^M以M开头的行,^表示开始的意思
M$以M结尾的行,$表示结束的意思
^[0-9]以数字开始的行,[]内可列举字母
^[124ab]以1,2,4,a,或b开头的行
^b.503句点表示任一字母
*星号表示0个以上的字母(可以没有)
+加号表示1个以上的字母
\.斜线可以去掉特殊意义
catpasswd|grep^b列出大学部有申请帐号者名单
catpasswd|grep^s列出交换学生申请帐号者名单
catpasswd|grep'^b.503'列出电机系各年级...
grep'^\.'myfile.txt列出所有以句点开头的行
3.fgrep搜索字符串
命令格式:
fgrepstringfile
4.file显示文件类型
命令格式:
filefileall
文件类型为shellscript,ELF32bit,ASCIItext,dataortarfile
5.diff比较文档或目录之不同内容
命令格式:
diff[-r]name1name2(name1name2可同时为档名,或目录名称.)
例子:
%difffile1file2
比较文档file1与file2内,各行之不同处.
%diff-rdir1dir2
比较目录dir1与dir2内,各文档之不同处.
6.cmp比较文档相同部分
命令格式:
cmpfile1file2
7.ftp远程文件传输
命令格式:
ftp[hostname|IPaddress]
在进入ftp之後,如果与remotehost连接上了,它将会询问你username
与密码,如果输入对了就可以开始进行文档传输.
注意:
如用户无密码,无法注册
(1)ftp命令
ascii将传输模式设为ascii模式.通常用於传送文字档.
binary将传输模式设为binary模式,通常用於传送执行档,压缩档与影像
档等.
cdremote-directory将远程主机上的工作目录改变.
lcd[directory]更改本地主机的工作目录.
ls[remote-directory][local-file]列出远程主机上的文档.
getremote-file[local-file]取得远方的文档.
mgetremote-files可使用通用字元一次取得多个文档.
putlocal-file[remote-file]将本地主机的文档送到远程主机.
mputlocal-files可使用通用字元一次将多个文档放到远程主机上.
help[command]线上辅助指令.
mkdirdirectory-name在远程主机创建一个目录.
prompt更改交谈模式,若为on则在mput与mget时每作一个文档之传
输时均会询问.
quit/bye离开ftp.
(2)后台执行ftp
1.首先,将过程所用到的指令依顺序放入文档中,如下:
%catftp_command
!
mkdirtest
lcdtest
cdtest
prompt
binary
mget*.*
bye
2.其次,建一个.netrc档,属性为400,让ftp自动到此读取Username
与Password,方可顺利login到的主机,如下:
%cat.netrc
machineremoteloginanonymouspasswordguest
3.最後再执行下面指令即可.
%nohupftpremotemessage&
8.telnet远程终端访问
命令格式:
telnet[hostname|IPaddress]
9.IO重新导向
UNIX所有的程式执行时,均需要资料的输入以及输出资料.一般而言,资料是
从键盘输入,并将资料输出到萤幕上,这就叫做标准输入及标准输出,而我们
可以更改标准出输出入.
A.更改标准输入——在命令後方加"<",即可从这
个文档输入资料.
B.更改标准输出——在命令後方加">",即可将萤幕输出的资
料导向到这个文档上.
C.更改标准输出——在命令後方加">>",功能与B.相似,只不
过这会将资料加在文档後方.
D.管道——在两个命令中间加上'|',即可将前方指令的输出当成後方指令
D.管道——在两个命令中间加上'|',即可将前方指令的输出当成後方指令
的输入.
例:
cd/tmp
ls-l>/tmp/ls.out
cat/tmp/ls.out
more/tmp/ls.out
rm/tmp/ls.out
ls|more
ls|wc-l(wordcount,countlinenumber,算出文档数目)
Aix系统培训
一、Aix简介
Aix是Unix操作系统的版本之一,主要应用在IBMRISC6000系列小型机上。
其他的Unix,如SUN的Solaris,HPUnix以及Linux等等。
目前Aix系统的版本有Aix4.xAix5.x等。
它们之间只是版本不同,但内核都是一样的,操作命令机本上也相同。
版本高的会新增一些命令,都是向下兼容的。
二、Aix使用入门
对于大多数用户来说,对于Aix的访问都是通过telnet的方法来登录到RS6000上,当然是以不同的身份了。
把本地机器作为RS6000的一个终端,来完成对RS6000的操作。
这实际上是Unix的一大特点,Unix本身就是设计成一个多任务、多用户的并发系统。
2.1登录(login)
2.1.1RS6000的登录
许多用户可以同时使用Unix系统,为了让系统知道用户是谁以及可以使用什么资源,用户在使用之前必须向系统表明自己的身份。
另外,Unix认为用户是通过终端或在PC上运行方针软件与其通讯。
Unix系统和用户终端之间必须建立传输信息的连接。
通常把建立通讯连接和表明用户身份的过程称为登录(login).
2.1.1.1RS6000的开机
直接按Power键。
RS6000启动、自检。
包括对硬件的自检,系统的初始化。
2.1.1.2登录
默认的情况下,系统会进入Xwindows环境下,也就是所谓的CDE环境(CommonDesktopEnvironment)即公共桌面环境。
这样Aix启动后将直接显示CDE注册界面,输入用户名和口令后即进入CDE操作环境。
通常在RISC6000端都是以root身份(管理员身份)登录的。
2.1.2客户端的登录
客户端主要是通过执行telnet命令,并且输入合法的用户名和密码,登录到服务器端。
比如:
在客户端执行telnet192.168.0.161(假设为RS6000的IP),会出现如下的登录提示:
AIXVersion4
(C)CopyrightsbyIBMandbyothers1982,1996.
login:
然后输入用户名,如:
long,回车后,会出现输入密码的提示:
long'sPassword:
2.1.3成功登录之后
成功登录之后,系统将显示一些消息,如上一次用户登录的时间、有关系统信息的消息(称为当日消息),以及一些通知用户是否有mail的消息。
其中,当热消息十分重要,它是系统管理员与用户通讯的方法之一,比如系统管理员通过当日消息通知用户下一次系统关闭的时间。
如图:
AIXVersion4
(C)CopyrightsbyIBMandbyothers1982,1996.
login:
long
long'sPassword:
**********************************************************************
*
*WelcometoAIXVersion4.3!
*
*
*PleaseseetheREADMEfilein/usr/lpp/bosforinformationpertinentto
*thisreleaseoftheAIXOperatingSystem.
*
*
*********************************************************************
Lastunsuccessfullogin:
FriDec2814:
59:
34BEIST2001on/dev/pts/0from192.3
Lastlogin:
SatDec2910:
13:
50BEIST2001on/dev/pts/6from192.168.0.133
[YOUHAVENEWMAIL]
$
显示以上消息后,系统将显示一个命令提示符。
这表明系统将等待用户的输入,非root用户登录后提示符一般为$,root用户登录后,提示符为#.出现不同命令提示符与shell有关,Bshell和Kshell的提示符使用$,Aix中为Kshell.
2.1.4用户的权限
如果Unix系统只有用户自己使用的话,除了系统提供的系统管理员帐号以外,用户还要给自己建立一个帐号。
因为使用系统管理员的帐号(root)要十分小心,该帐号具有特殊的权限。
Unix有内嵌的安全机制,一般的用户没有权限创建新的帐户或进行其他系统管理的操作。
root用户使用系统管理员帐号,又称为超级用户,具有系统管理员的权限。
但root拥护不小心的错误可能会导致系统故障。
因此用户在作一般的工作时,应进入自己的帐号,由于没有权限,故不会给系统带来故障。
在多用户环境中,超级用户的工作应更加小心。
因为他的错误不但会影响他本人,还会影响他人以及整个系统。
Unix还保证在多用户环境中,不同用户之间不相互干扰,每个用户有自己的工作权限,并且可以选择组内或其他用户对自己工作的访问权限。
如果把访问权限制为owner,那么自己的数据别人是无法访问的。
如果用户参加一个组,共同进行一项任务,那么该用户可以把访问权限定为owner和组内的其他成员。
如果用户的数据允许其他任何用户看的话,可以把权限定义为任何人。
有关定义权限的部分,我们将在介绍chomd命令时讨论。
2.2logout
工作结束后,用户需要退出系统,这就防止别人有意无意的通过该用户的帐号访问他的文件或者使用系统。
不论在什么shell中,退出系统的方法是使用exit命令,该命令使shell退出。
当用户从login的shell退出时,就会自动退出系统。
也可敲入logout命令。
$logout,或按ctrl+d.如果是图形界面的话,退出系统方法请参见在线帮助。
2.3使用基本命令
telnet命令
telnet命令用于使客户端登录到RS6000上的Aix系统。
语法为:
telnet+ip(服务器的ip地址)。
例如:
登录到ip地址为192.168.0.161的服务器,在Windows的命令提示符下敲入telnet192.168.0.161,当然,如果使用其它的telnet软件,只需设好ip,然后执行登录就可以了。
ls命令
ls命令用于显示指定路径下的文件。
具体格式为:
ls+路径。
比如,要显示/home下的文件,用$ls/home.这种方式只显示文件名,而不包含其他的信息。
$ls–l+路径,除了显示文件名之外,还显示文件的属性、创建时间,以及所属的组。
$ls–a+路径,显示隐含文件。
man命令
是Aix的帮助命令,可以显示某个命令的详细使用说明。
这个命令比较有用处,具体语法为:
$man+命令,比如,要查看tar命令的使用方法,可用:
$mantar
cd命令
改变当前的工作目录,类似于Dos方式下的cd命令。
具体语法为:
$cd+路径比如,进入/home/user目录中,用$cd/home/user命令。
cd..是退回到上一级目录。
cd是回到上一步所在的目录。
who命令
who命令用于显示当前在线的用户,使用非常简单,直接在shell提示符下输入who就可以了。
$who
cp命令
用于拷贝文件,类似于Dos下的copy命令。
具体语法为:
cp+文件名+路径如果要复制目录,需要加参数-r或-R
例如:
$cp/home/a.tar/home/demo
$cp–r/home/aaa/home/bbb其中aaa、bbb均为目录。
mv命令
用于移动文件或文件夹。
具体语法为:
mv+文件名+路径
例如,将/home/long/a移动到/home/long/b目录中,用下面命令:
$mv/home/long/a/home/long/b
rm命令
用于删除文件或文件夹。
具体语法为:
rm+路径+文件名。
例如,要删除/home/long/manual.tar文件,用下面命令:
$rm/home/long/manual.tar
如果要删除目录,用rm–r+路径+目录名。
例如:
要删除/home/manual目录,用$rm–r/home/manual
注意:
要删除一个文件或文件夹,首先要具有对这个文件夹的写权限。
mkdir命令
用于建目录具体语法为mkdir+目录名。
例如,要在/home/long目录下建立一个名为test的目录,用下面的命令:
$mkdir/home/long/test
rmdir命令
与mkdir的用途相反,用于删除一个目录。
(注意,这里指的是空目录,里面没有文件)具体语法为:
rmdir+目录名例如,将刚才建的目录删掉,就可以用下面的命令:
$rmdir/home/long/test
vi命令
vi命令是unix下常用而重要命令,可在全屏幕方式下编辑一个或多个文件。
若在vi执行时没有指定一个文件,那么vi命令会自动产生一个无名的空的工作文件。
若指定的文件不存在,那么就按指定的文件名创建一个新的文件。
若对文件的修改不保存的话,vi命令并不改变原来文件的内容。
注意:
vi命令并不锁住所编辑的文件,因此多个用户可能在同时编辑一个文件,那么最后保存的文件版本将被保留。
下面是vi命令使用的一些选项及含义:
-csub-command在对指定的文件编辑前,先执行指定的命令sub-command.
-rfilename恢复指定的文件filename.
-R将指定的文件以只读的方式放入编辑器中,这样不会保存对文件的任何修改。
-ynumber将编辑窗口的大小设为number行。
下面是vi编辑所处的三种模式:
.命令模式进入vi时所处的模式。
在此模式下用户可输入各种子命令对进行操作,如删除行、粘贴行、移向下一个字、移向不同行等。
.文本输入模式在此模式下可以修改一行的内容并增添新行。
在命令模式下键入a、i或c键可进入文本输入模式,按Escape键可返回命令模式。
.命令项模式在此模式下,可以通过子命令输入更多的参数。
如:
w子命令要求输入一文件名,“/”子命令要求输入一个查找项。
用户使用Escape键返回命令模式。
下面是自命令模式下执行的,在同一行上移动的自命令:
h将光标左移一格。
l将光标右移一格。
j将光标下移一格。
k将光标上移一格。
w将光标移到下一个小字的前面。
W将光标移到下一个大字的前面。
b将光标移到前一个小字的前面。
B将光标移到前一个大字的前面。
e将光标移到下一个小字的后面。
E将光标移到前一个大字的后面。
fc把光标移到同一行的下一个c字符处。
Fc把光标移到同一行的前一个c字符处。
tc把光标移到同一行的下一个字符c的前一格。
Tc把光标移到同一行的前一个字符c的后一格。
number|把光标移到递number列上。
下面是命令模式下在行间移动的子命令:
+或Enter把光标移至下一行第一个非空白字符。
-把光标移至上一行第一个非空白字符。
0把光标移到当前行的第一个字符处。
$把光标移到当前行的最后一个字符处。
H把光标移到屏幕最顶端一行。
L把光标移到屏幕最底端一行。
M把光标移到屏幕中间。
下面是命令模式下改变屏幕显示的子命令:
z-把当前行作为屏幕的最后一行,并重新显示屏幕。
z.把当前行作为屏幕的中间一行,并重新显示屏幕。
Ctrl+l重新显示屏幕当前内容。
/pattern/z-寻找pattern的下一个位置,并把所在行设为屏幕的最后一行。
下面是在命令模式下用来显示页面的子命令:
Ctrl+f向后滚一页。
Ctrl+d向后滚半页。
Ctrl+b向前滚一页。
Ctrl+u向前滚半页。
Ctrl+e屏幕向下滚一行。
Ctrl+y屏幕项上滚一