UNIX主机常用指令.docx
- 文档编号:11384925
- 上传时间:2023-02-28
- 格式:DOCX
- 页数:34
- 大小:34.38KB
UNIX主机常用指令.docx
《UNIX主机常用指令.docx》由会员分享,可在线阅读,更多相关《UNIX主机常用指令.docx(34页珍藏版)》请在冰豆网上搜索。
UNIX主机常用指令
Vi编辑后的操作
:
w/*savenotexit*/
:
wnewfilename/*saveasusename"newfilename"*/
:
q/*exit,onlythefilenotchanged*/
:
q!
/*exitnotsavefile,allchangewillbeengiveup*/
10.45.4.204bsntest/1x2q3e
/ztesoft/bsntest/study/chenjiehe
首先,我们一起看看UNIX的目录,因为清楚了目录,才能对UNIX的框架有个大概的印象!
当然这里讲的是系统正常运转所必须的,并且一定不能删除或者修改。
/是系统的根目录;
/bin目录中包括最常用的UNIX命令;
/dev目录包括控制访问外部设备的特殊设备文件;
/etc目录中包括各种各样的系统程序和数据文件;
/lib目录里包括C语言以及其他语言程序的运行库文件;
/mnt目录是一个空目录,是为安装可移动的文件系统保留的;
/opt目录中包括在所谓的“软件存储目标”;
/shlib目录中包括系统使用的共享库;
/usr目录中有几个子目录,(/usr/include目录包括编译C语言程序的头文件;/usr/lib目录包括各种UNIX命令使用的更多的库和数据文件;/usr/spool目录包括各种各样的目录,用于存储那些将被打印、邮寄、或通过网络传递的文件;/usr/tmp目录包括更多的临时文件;/usr/adm目录包括与系统管理或记帐相联系的数据文件;特别地,/usr/adm/messages和/usr/adm/syslog文件包括系统错误消息的记录。
)
/stand目录是引导文件系统的安装点,引导文件系统包括安装程序(boot),核心(unix),以及相关的boot文件;
/tcb目录包括所有作为TCB一部分的文件;
/tmp目录UNIX系统程序产生的临时文件;
/var目录包括指定某一单独客户或服务器的非共享SSO文件。
一、目录管理
1、创建目录:
mkdirdirectory_name
比如:
在/usr/目录下新建子目录apple
#mkdir/usr/apple或者
#cd/usr
#mkdirapple
注:
mkdir是makedirectory的缩写
2、列目录内容:
ls纵向显示
lc横向显示
ls–l(或简化为l)显示每个文件的详细信息,包括存取模式、链接数、属主、文件大小、上次修改时间等)
ls–a列出所有文件包括隐含文件(在unix要想使某个文件隐藏起来,只要在文件名前加个“.”就可以了。
)
ls–F(或lf)标出文件类型,在目录文件名标记“/”,在可执行文件后标记“*”号,在符号链接后标记“@”。
比如:
列出/apple下的文件
#ls/apple
或者:
#cd/apple
#ls
ls–L或是l命令将显示:
total20
-rwxrw-r--1applefruit1181Mar142002dir1
式的内容。
其中,第一行total指明的是总块数。
-rwxrw-r--applefruit1181Mar142002dir1这一行中,第一个-,代表是一个普通文件,如果是d(directory)表示是目录文件,如果是l表示是符号链接(link),b表示是块(block)设备文件,c表示是字符(character)设备文件。
rwxrw-r--中每三个字母为一组,英文名叫triplet,分别指明文件主(user)、同组用户(group)和其他用户(other)的访问权限。
r表示可读(read)、w表示可写(weite)、x表示可执行(excute)
如果一屏显示不下,可能用管道加more或pg分屏阅读:
#ls|more
#ls|pg
注:
ls是list的缩写。
3、目录的重命名:
mvoldnamenewname(可以是目录名或路径名)比如:
将目录/usr/apple改为/usr/pear
#mv/usr/apple/usr/pear
或者:
#cd/usr
#mvapplepear
注:
mv是move的缩写
4、删除目录:
rmdirdirectory(directory为空),dirctory里有内容时:
rm–rdirectory
比如:
删除目录/apple(内容为空)
#rmdir/apple
注:
rmdir是removedirectory的缩写
5、比较目录:
dircmpdirectory1directory2
二、漫游文件系统
1、要想知道你在文件系统中的位置可用pwd命令。
比如,#pwd
屏幕上将显示:
/usr
表明你现在正在/usr目录下工作。
注:
pwd是printworddirectory的缩写,在unix中,print一般是在在屏幕上显示的意思,而不是打印。
2、改变目录:
cddirectory比如:
你的当前目录为:
/apple要切换的/usr/pear(当然这个目录要存在),
#cd/usr/pear
然后再用pwd命令查看当前工作目录
pwd
/usr/pear
注:
cd是changedirectory的缩写
三、管理文件
1、查看文件内容:
catfilename比如:
目录/apple下有一个文件love,内容为“Iloveyouallmyheart!
”
#cat/apple/love
或者:
#cd/apple
#catlove
注:
也可cat–vfilename(不知道文件属于何类型),
catfilename|pg(分屏阅读)。
由于cat命令原本是用于文件联结的,因此,它只适用于查看不足一屏(一般为24行)的文件。
如果文件超过了一屏,就需要用more命令。
比如:
morefile1
按空格键显示下一屏,按回车键显示下一行。
注:
cat是concatenate的缩写
more据台湾一位教授的解释,就是“再看一页再看一页”的意思。
在Linux里有一个less命令,也是分屏显示的,但是能前后翻页。
cat主要作用是文件的联接,比如,把file1file2连接起来,成为file3
catfile1file2>file3
其中的>称为改向输出符,如果是把file1连接到file2有末尾,则:
catfile1>>file2
cat命令除了显示和连接文件以外,还有一个常用的功能,就是建立非常小的文本文件,语法格式为:
cat>filename
例如:
编辑一个小的shell小程序dl,用来打印一个文件agent008,
cat>dl
lpagent008
然后按
查看文件的头部:
headfilename
查看文件的尾部:
tailfilename
2、复制文件:
cpfilenamecopyname(filename前面可以加路径)或者:
cpfilename…pathname
比如:
将目录/apple下的文件love复制到目录/pear下
#cp/apple/love/pear假如多个文件:
#cp/apple/love1love2love3/pear
注:
cp由copy缩写而成。
3、文件的移动和重命名:
文件的移动:
mvsourse_filetarget_directory
比如,将/apple目录下的文件love移动到目录/pear下,
#mv/apple/love/pear
文件的重命名:
在unix里,文件的重命名就是把文件从原文件名(old_filename)下移动到新文件名(new_filename)下:
#mvold_filenamenew_filename
比如:
将目录/apple下的文件love改名为happy,
#mv/apple/love/apple/happy
或者:
#cd/apple
#mvlovehappy
注:
mv由move缩写而来
4、删除文件:
rmfilename(一定要小心使用呀,unix由于早期只是专业人员使用,提倡严谨的工作作风,所以在执行命令时往往不要求确认,如果执行成功,就给出结果,执行不成功,才给出出错信息,所以,对你不熟悉的命令千万不要像windows一样去试,因为指令一旦发出,unix就会不折不扣地执行,没有像windows那样“悔棋”的机会。
)
为了防止误删除文件,良好的习惯是加上-i选取项。
比如,rm-ifile1
系统会要求你确认是不是真的要删除,待你确认后再删除。
注:
rm由remove缩写而来
5、在文件中查找指定的字符串:
grepoptionstextfilenames
这个命令好比用word打开一篇文件后,查找某一字符串。
不同的是,在unix中,用grep命令,不用打开文件。
比如,
#greproot/etc/passwd
就可以显示出root用户的有关信息。
再比如,加上管道,可以一次查出某一终端的所有进程号。
#ps–e|greptty03?
?
?
?
?
?
?
就可以查出终端tty03的所有进程号。
当然,查出进程号的目的一般是为了kill它们。
那么怎么一次实现呢?
这就需要用到awk命令了。
比如,要killtty03的所有进程,可以用命令
#kill–9‵ps–e|greptty03|awk‘{print$1}’‵
注意,ps前面和最后的的那个符号,是倒引号,在数字“1”的左边。
查找文件:
findpath_listexpression
其中,path_list是查找的目录列表,可以是一个目录,也可以是多个目录。
如果是多个目录之间,要以空格符分开。
如果从当前目录开始查找,可以用“.”号表示,如果是从根目录开始查找,就要使用“/”来表示。
expression项(表达式)是查找条件,用户利用它可以设定是按文件的名字、日期或是其他条件来查找。
我经常用的是名字。
比如:
在/usr下,查找一个名为ttytab的文件
#find/usr–namettytab–print
其中的-name指明是用名字查找,-print是告诉系统,找到ttytab文件后在屏幕上显示它在什么位置。
不过在scoopenserver中可以省略-print。
在windows98中,我们可以用“查找”一次性删除所有临时文件。
在unix里,我们也可以用find一次删除符合某些条件的文件,比如,在/usr目录及其子目录中,删除所有以txt为扩展名的文件。
find/usr–name*.txt–execrm{}\;
-execcommand_name{}\;找出与条件匹配的文件后,执行command_name所指定的命令。
注意,这条命令的结尾必须有{}\;
四、文件和目录的存取控制
1、改变文件的权限:
chmodwho[+-=]operator_permissionfilename
who包括ugo,分别代表用户(user)、同组用户(group)和其他用户(other)
+增加权限
-减少权限
=增加等号后面的权限,同时减去原来的权限
operator_permission包括r(read)、w(weite)、x(excute)。
比如:
chmodu+xfilename
给文件主以执行权
这有一种方式:
chmodmodefilename
其中mode为nnn模式,n是0-7之间的数,4表示可读,2表示可写,1表示可执行。
nnn中第一个n是用户的权限,第二个n是同组用户的权限,第三个n是其他用户的权限。
如果如赋予可读可写两个权限,则用6(4+2而来),而如果要赋予可读可写可执行全部权限就用7表示。
例如:
chmod777file1
就是把file1让所有用户可读可写可执行。
而chmod740file1则是的权限设置为文件的主人自己可读可写可执行,同组用户只读,其他用户连看都不行了。
0表示没有任何权限。
chmod由changemode缩写而来
2、改变文件属主:
chownnew_owner[:
group_name]filename
例如:
改变文件file1主人为apple
$chownapplefile1
要注意的是,除非你是root,否则,给了别人的文件你自己可就要不回来了。
假如你是pear,在你运行了chownapplefile1后,你就把文件给了apple。
如果你再运行chownpearfile1。
系统就会告诉你没有这个权限。
要想把给人家的文件再要回来,只有求助于root用户。
如果还要改变文件的所属组,apple用户要把文件file1送给fruit组的apple用户,可以使用命令:
chownapple:
fruitfile1
注:
chown由changeowner缩写而来
改变文件的属组也可以用chgrp命令
3、查看你所在的组:
id
4、改变当前用户组:
sg
5、改变文件所在的用户组:
chgrpnew_groupfilename
比如:
chgrpfruitfile1
注:
chgrp:
由changegroup缩写而来
6、在命令行中获得帮助man[section]keywork比如:
manCkill?
?
?
?
注:
man由manual(手册)缩写而来
五、磁盘的使用
1、软盘的格式化:
format[设备名]
比如:
格式化1.44M软盘:
#format/dev/rfd0135ds18
r表示是原始(raw)设备,fd表示是软驱,0表示第一个软驱,135表示135个磁道,ds表示双面磁盘,18表示18个扇区。
unix中,format命令只能格式化软盘,不能格式化硬盘。
另外,如果在/etc/default/format文件中,DEVICE定义的是缺省的设备名,一般都是DEVICE=/dev/rfd0135ds18,所以你可以只键入format就可完成对软盘的格式化。
2、软盘的复制:
diskcp[optition][-135ds18]
optition有多个选项,但现在的PC一般只有一个软驱,所以常用的就剩下一个-f(format)了,-135ds18代表我们常用的1.44M软盘。
比如:
$diskcp–f–135ds18
复制时先对目标盘格式化,然后再复制。
3、用软盘备份文件:
比如将硬盘目录下/apple的文件love存储到空软盘上,你可以:
#cd/apple
#tarcv6love
c表示在创建(create)一个新文件,并且覆盖已有的同名文件。
如果不想覆盖。
命令为:
#taruv6love
v显示每个被处理的文件名。
6表示是软驱。
数字和设备的对应关系,在/etc/default/tar文件中定义,可用more/etc/default/tar命令或是不带任何参数的tar命令查看,也可用vi修改。
4、列出软盘中文件的名字:
#tartv6
5、将软盘中文件恢复到硬盘:
#tarxv6
x表示抽取(extract)
六、增加用户和切换用户
1、增加用户:
#scoadminaccount
里面可有好多东东哟!
你可以添加用户,添加组,删除用户和组,当然也可以修改,呵呵,可以打开看一下的!
比如:
添加一个用户apple,你可以:
#scoadminaccount→user→AddNewUser
出现增加用户的界面:
Login:
apple
UserID:
200
Comment:
Password:
<*>Setpasswordnow<>Setpasswordlater
Loginshell:
sh[ChangeLoginShell…]
Networkedvia:
[ChangeDistribution…]
HomeDirectory:
/usr/apple
LoginGroup:
group[ChangeGroupMembership…]
[OK][Cancel][Help]
输入有关信息后,将光标移动到OK处,按回车键。
注释:
Login:
处输入用户名
UserID:
用户ID,一般用系统推荐值即可。
小于200的为系统用户,0超级用户使用。
Comment:
对用户的注释说明,可以不输。
Password:
Setpasswordnow,现在就设置口令。
Setpasswordlater以后再设置口令
Loginshell:
sh用户的注册shell,系统缺省的是sh,即标准shell,如果要更改,把光标移到ChangeLoginShell…]处回车,选择别的shell,如cshksh……。
Networkedvia:
一般不用设置。
HomeDirectory:
用户的家目录(一般都是译成主目录,不过我觉得译成家更形象些。
一般系统会自动在/usr目录下,为新用户建立一个“/usr/用户名”的家目录,比如本例是/usr/apple
LoginGroup:
添入用户所属的组名,系统缺省的是group。
2、切换用户:
su
windowsXP一大卖点就是新增加了切换用户(switchuser)功能。
其实,unix早就有了这项功能,而且比windowsXP要方便得多。
比如:
你是用户pear,现在要切换成用户apple
$suapple
当然你得知道apple的口令。
但是root用户运行su变成其他用户,是不需要口令的。
如果没有指定用户名,缺省是切换到root用户,如
$su
password:
在你输入root口令后,系统提示符就会变#,而不是$了。
但是你会发现,你的工作目录和环境并没有改变,也就是su的结果和直接用apple或是root用户的帐号注册还是不一样的。
那么怎样如同注册一样呢,只要在su后面加上一个短横就可了。
比如:
$su–apple
就和在login:
后面键入apple一样获得了apple用户的环境。
注意,“-”前后各有一个空格。
七、设置或者改变用户口令:
passwd
直接键入passwd可修改自己的口令,一般用户只能修改自己的口令,而root用户不仅可以修改自己的口令,还可以修改其他用户的口令。
#passwdusername
比如,root用户要修改apple用户的口令,可运行:
#passwdapple
Settingpasswordforuser:
apple
lastsuccessfulpasswordchangeforapple:
TueDec3008:
342001
Choosepasseord
Youcanchoosewhetheryoupickapassword
orhavethesystemcreateoneforyou.
1.pickapassword
2.Pronounceablepasswordwillbegenerateforyou
注:
第一种方式是自己创建新口令,第二种方式是由系统为你创建一个可以发音的口令,我们一般选第一种方式。
Enterchoose(defaultis1):
1
Pleaseenternewpassword(atleast3characters):
newpassword:
Re-enterpassword:
输入口令时,屏幕上并不显示。
这是出于安全和保密的考虑。
八、系统的关闭与重启:
在UNIX里非法关机,是非常非常不好的事情,切记切记!
#shutdown–y–g0
这是最安全的关机方式。
-y选项是告诉系统,凡是询问都回答y,-g0则指定等待时间为0分钟。
如果不指定,缺省的是1分钟。
当然你要有关机的权限,才能执行这个命令的。
#haltsys
这是紧急关机方式,只能在系统维护模式下由超级用户root才能执行。
#reboot
重启系统,假如你添加了新的硬件或者修改了一些配置文件,记得一定要运行这个命令,不然不会生效的。
也是只能在系统维护模式下由超级用户root才能执行。
login:
halt
用关机用户关机
我们每天的关机都是在login:
后面直接输入一个用户名比如halt或是haltsysy就能关机。
那么这种关机方式是如何实现的呢?
有多种方法:
这里只介绍一种:
第一步:
建立一个用户,名字呢我们就用halt吧
第二步:
在/usr/halt目录下建立一个shellscript,起名为halt.sh,内容为“shutdown-y–g0”,名字
第三步:
chmodu+xhalt.sh
第四步:
vi/etc/passwd,把halt用户的uid改成0,注册shell改成halt.sh.
九、系统管理:
系统管理的命令,一般都是由root用户执行的,一般用户可能执行不了,除非你得到了root用户的授权。
1、查询系统时间:
data
2、修改系统时间:
asktime[YYMMDD]
YY:
年
MM:
月
DD:
日
hh:
时
mm:
分
都用两位数表示。
比如把系统时间改为2002年6月17日16时45分。
#asktime
3、查询谁在系统中:
who
也可以简化为w
4、谁在做什么:
whodo显示用户正在进行的工作。
5、终端名的获取:
tty[-l][-s]显示当前正在使用的终端的设备文件及其路径名。
6、进程状态的了解:
ps[options]你可以知道进程活动的信息哟!
什么是进程,还记得吗?
UNIX里,可是很重要的东东哟!
常用的选项有:
-e显示每个进程的信息(everything)
-f显示进程的完整信息。
(full)
-tttynum显示ttynum指定的终端的进程
-uusername显示usename指定的用名的进程信息
-l以长格(long)形式显示进程信息,总共14列,其中每列标题的含义如下:
F:
(flag):
用八进制表示的进程的有关标记,00表示进程已结束,01表示是系统进程,20表示进程被装主内存中。
S:
(state)表示进程的状态,B和W表示正处于等待状态,I表示空闲,O表示正在运行,K表示已装入队列可运行进程,S(sleep)表示处于睡眠状态,R(ready)表示处于就绪状态,T表示被跟踪,X表示等待更多的内存。
UID:
(userID)进程属主的用户标识
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UNIX 主机 常用 指令