UNIX系统常用命令.docx
《UNIX系统常用命令.docx》由会员分享,可在线阅读,更多相关《UNIX系统常用命令.docx(22页珍藏版)》请在冰点文库上搜索。
UNIX系统常用命令
UNIX系统常用命令
UNIX系统常用命令
UNIX系统常用命令
UNIX系统常用命令格式:
command[flags][argument1][argument2]...
其中flags以-开始,多个flags可用一个-连起来,如ls-l-a与ls-la相同。
根据命令的不同,参数分为可选的或必须的;所有的命令从标准输入接受输入,输出
结果显示在标准输出,而错误信息则显示在标准错误输出设备。
可使用重定向功能对
这些设备进行重定向。
命令在正常执行结果后返回一个0值,如果命令出错可未完全完成,则返回一个非零值(在shell中可用变量$?
查看).在shellscript中可用此返回值作为控制逻辑
的一部分。
注:
不同的UNIX版本的flags可能有所不同。
1、与用户相关的命令
1.1login
(在LINUXRedhat下此命令功能与Solaris/BSD不同,执行login会退出当前任务).
login:
Password:
相关文件:
在下面的这些文件中设定shell运行时必要的路径,终端类型,其他变量或特殊程序.
$HOME/.profile(Bourneshell,sh,bash)
$HOME/.cshrc(csh,tcsh)
$HOME/.tcshrc(tcsh)
/etc/passed文件中列出每个用户的shell
/etc/csh.cshrc
/etc/csh.login
/etc/profile(Bourneshell,bash)
/etc/login(Bourneshell,bash)
csh:
/etc/csh.cshrc和$HOME/.cshrc每次执行都会读取,
而/etc/csh.login和$HOME/.login只有注册shell才执行
修改相应文件后使用source.cshrc使能相关修改,如果修改了path则
UNIX系统常用命令
还需使用rehash刷新可执行文件hash表。
tcsh:
$HOME/.tcshrc,没有些文件读取.cshrc
sh:
/etc/profile和$HOME/.profile注册shell
bash:
/etc/profile和$HOME/.bash_profile注册shell读取
.bashrc交互式非注册shell才读取。
在sh/bash下手工执行相关文件:
./etc/profile
相关文件执行顺序
sh:
/etc/profile-$HOME/.profile
csh/tcsh:
/etc/csh.cshrc-/etc/csh.login-$HOME/.cshrc
-$HOME/.login
变量的设置:
sh/bash:
TERM=vt100;exportTERM
OR:
exportTERM=vt100(bash)
csh:
setenvTERMvt100
常用变量:
(1)Backspace$HOME/.profile$HOME/.cshrc
sttyerase^H
(2)umask新建文件或目录的保护属性
(3)TERM
(4)切忌PATH中加入.
1.2.rlogin
与telnet类似,连接到远程主机.
rloginremotehost[-lloginname]
Or:
rsh[-lloginname]remotehost[command]
相关文件:
远程主机的/etc/hosts.equiv和$HOME/.rhosts
相关网络配置文件:
/etc/inetd.conf文件中的r系统服务.Redhat下为shell,login,exec,对应的网络守护进程(daemon)为in.rshd,in.rlogind,in.rexecd.
UNIX系统常用命令
建议:
从安全角度出发,关闭r系列服务.
1.3.telnet
telnetremotehost[port]
相关文件:
/etc/inetd.conf文件中的telnet服务.
/etc/
TIPS:
strings/usr/sbin/in.telnetd|egrepissue
1.4.passwd更改口令
1.5exit退出当前shell
2.命令或文件的查找
相关shell变量:
csh/tcsh:
$path
.cshrcsetpath=(/usr/bin/usr/local/bin$path)
sh/bash:
$PATH
.profile.bash_profile
PATH=/usr/local/bin:
$PATH;exportPATH
2.1which
Syntax:
whichcommand
which为bash/tcsh内带命令
[hbwork@toshiba]$whichwhich
which:
shellbuilt-incommand.
2.2where(tcsh)
Syntax:
wherecommand
2.3locate(LINUX)
Syntax:
locatefilename
相关命令:
updatedb更改locate文件名数据库
3.查看命令的用法
man
相关文件:
/etc/man.config
UNIX系统常用命令
4.管理员常用命令
4.1install
用于安装一个新的命令或daemon等.一般情况下可以不用,但很多软件在其安装
shellscript中使用install将目标文件复制到相应的目录并设置正确的属性等.
NAME
install-copyfilesandsettheirattributes
*****S
install[options][-s][--strip]sourcedest
install[options][-s][--strip]source...directory
install[options][-d,--directory]directory...
Options:
[-c][-ggroup][-mmode][-oowner][--group=group]
[--mode=mode][--owner=owner][--help][--version]
4.2shutdown
不同的unix参数不尽相同,在linux下常用如下方式关机:
shutdown-hnow
shutdown-rnow(等同于reboot)
4.3halt
poweroff
关机,在多用户方式下(Runlevel3)不建议使用,
4.4ulimit
kornshell和bourneshell中可用此命令,在csh系列中相应的命令为limit.用于限制每个进程可使用的系统资源,通常分两种限制:
.Hardlimits系统所定义的资源,只有root能更改
.软限制对新建进程所使用的限制,可增加到系统的HardLimit.
Flags:
-a列出软限制
-Ha列出HardLimit
-csize设置coredumpsize的块大小
-tsizecputime
-fsizefilesize
4.5umask系统管理员用于设置用户默认的umask值.
UNIX系统常用命令
5.与进程相关的命令
进程基本概念:
进程与命令的执行相关,但并不是一一对应;一条命令可能对应若干
个进程(如shellscript,pipe等).但最简单的命令与umask只有一个进程.
进程分类:
.交互式进程:
可以前台或后台执行,前后台可切换
.批处理进程:
不通过终端提交,一般将它们放在任务队列中顺序执行.如通过at和crontab提交的任务.
.deamon:
永不终止的进程,等待响应来自其他进程的服务请求.如sendmail,named(DNS),POP3及apache等.
进程的相关属性:
PID
RealUID
EffectiveUID(SUID)
RealGID
EffectiveGID(SGID)
Priority(NiceNumber)执行的优先级
5.1ps
ProcessStatus,列出当前运行的进程状态,根据选项不同,可列出所有的或部分进程
.无选项时只列出从当前终端上启动的进程(SYSV)或当前用户($USER)的进程(BSD),
不同的UNIX版本之间有差别.linux使用BSD版本的ps
.BSD版本ps命令使用方法:
ps
psaux列出系统中所有的进程的详细情况
psaux|egrepinetd
输出信息内容:
PID
Terminal如无相应终端则为-
cputime
UserIDorUsername
进程启动时间或日期
进程状态(Stat:
S(leep)R(unnable)D(uninterruptsleep)Z(ombie)
W进程没有驻留页面,N:
进程的nice值为负值
UNIX系统常用命令
5.2kill
kill[-signal]PID
kill-l列出可用信号量
常用信息量:
-HUP
(1)重启进程
psax|egrepinetd
kill-HUPpid_of_inetd
-KILL(9)强制中止
PID取值含义:
0指特定进程(实际进程)
=0同组用户的所有process(PGID)
=-1EffectiveUID=执行命令用户之uid
0!
=1取绝对值之进程
5.3nice
用于改变一个或多个进程的优先级;但只有root或提高进程的优先级,普通用户只能
降低进程的优先级.
nice用负数表示提高优先级,而正数表明降低优先级,通常此值范围是-20~20.
如未指定提高优先级,nice会降低或不改变进程的优先级.当然如果没有权限的话
进程的优先级不会有任何改变.
一般情况下我们用nice来降低后台进程的优先级(默认优先级为10).
nicefind.-name“*.c"-print
nice16find.-name"*.c"-print
5.4wait
waitPID
等待作业结束,参数为pid,在shellscript中有时用到.
5.5nohup
nohupcommand
5.6sleep
UNIX系统常用命令
sleepseconds
进程前后台切换:
Ctrl-Z,fg,bg
6.通讯
6.1ftp
6.2mailx
6.3minicom(串口终端,MODEM)
7.文件比较
cmp
comm
diff(用于比较文本文件)
diff3(比较3个文件)
sdiff
8.文件操作
touch创建文件,修改文件日期等
chmod
chwon
chgrp
rm慎用rm-rf
mv移动文件或改名
cpcp-r复制目录
cat
rcp远程复制
ln默认情况下为硬连接,每个文件具有相同的inode
ln-ssourcefiletargetfile
9.目录操作
mkdir[-p][-mmode]directory
rmdir[-p]directory
10.文件信息命令
ls
find
最基本的功能是查找一个文件名或目录,常用格式如下:
find.-print(类似于ls-lR)
find可使用如下属性进行查找:
UNIX系统常用命令
-name查找文件名,含通配符*?
的文件名用引号括起来
-perm00x000八进制文件属性
-atimenn天之前访问过的文件
-mtimenn天之间修改过的文件
-ctimen文件的状态在n前之间修改过
-execcommand如命令的返回代码为零(找到相应的文件)则真,command必须以
\;结果,此外在命令的执行中{}为查找到的文件路径名
-okcommand与exec相类似,但在执行每个命令之间要求用户确认-print打印当前路径名
-newerfilename如文件的最后修改日期较filename新则为真
-typecc=[b,c,d,l,p,f]文件类型
-userusername如文件的属主为username则为真
-nouser文件属主在/etc/passwd文件中不存在
-groupgrouname文件组
逻辑运算符:
-a-o!
示列:
find$HOME\(-namea.out-o-name"*.o"\)-atime+7-execrm{}\;find.-atime0-print
find/.name.profile-print
find.-perm777-a-mtime7-execchmod755{}\;
file
more
less
tail(tail-ffilename)
head
wc
read用于shell编程
col
pg(SYSV)
11.编辑器
vi
ed
joe
12.文件内容查找
grep
UNIX系统常用命令
正规表达式:
.*^$+?
[]
strings
13.任务调度
at
atq列出队列中的任务
crontab
14.存储,归纳及压缩
compress.Z
uncompress.Z
cpio
ddddif=inputfileof=outputfile
ddif=boot.imgof=/dev/fd0H1440
pack.z30%-50%文本文件
pcatpactfile.z
gzip.gz
gunzip
tartar-[txc]vftargetfile[sourcefile]
tar-cvftarget.tarsourcefilelist
tar-tvftarget.tar[filename]
tar-xvftarget.tar[filename]
GNUTAR:
tar-zcvftarget.tar.gzsourcefilelist
tar-zxvftarget.tar.gz[filelist]
tar-ztvftarget.tar.gz[filelist]
zcat.Z
uuencode
uudecode
15.其他命令
date
env
unix2dos(linux没有)
dos2unix
uname
uptime
UNIX系统常用命令
time
top
16.文本处理
cut
fmt每行格式转化为72列,用于邮件格式化
fold折行处理,一行到多行,一般为80列
join
paste
sort
tr
tr'\"'''file1
#!
/bin/sh
foriin*
do
mv$i`echo$i|tr/[a-z]/[A-Z]/`
done
uniq报告/删除文件中相同的复制行
sed流编辑器
sed's/96/tt/'student.txt
awk
awk'{print$1""$2}'sourcefile
awk-fclass.awkstudent.txtlinux-student.txt
文件class.awk内容如下:
#
#class.awk
#
BEGIN{printf"%-12s%s\n","班级","学号姓名";
printf"-------------------------------------------\n\n"}
/[1-9]+\B*$/{class=$0}
/^9[5-8]+/{printf"%-12s%s\n",class,$0|"sort"}
#Enfofclass.awk
awk-ftraffic.awktraffic.txt
文件traffic.awk内容如下:
#
#traffic.awk
UNIX系统常用命令
{if($2*****)t_0+=$2;
if($2*****$2*****)t_10+=$2;
if($2*****$2*****)t_50+=$2;
if($2*****)t_100+=$2;
total+=$2}
END{printf"t_0=%dKB%5.2f\%\n",t_0,t0*100/total;
printf"t_10=%dKB%5.2f\%\n",t_10,t10*100/total;
printf"t_50=%dKB%5.2f\%\n",t_50,t_50*100/total;
printf"t_100=%dKB%5.2f\%\n",t_100,t_100*100/total;
printf"Total=%dKB\n",total}
#Endoftraffic.awk
17.网络配置命令及故障排除命令
17.1ifconfig
InterfaceConfig,网卡配置命令,相关文件:
/proc/net/dev
详细使用说明:
manifconfig
示例:
#ifconfig
loLinkencap:
LocalLoopback
网卡标识封装类型:
本地回环
inetaddr:
127.0.0.1Bcast:
127.255.255.255Mask:
255.0.0.0
IP地址:
127.0.0.1广播地址:
127.255.255.255子网掩码:
255.0.0.0
UP*****ST*****K*****MTU:
3584Metric:
1
已启动接受广播本地回环正在运行最大传输单元:
3584路由距离向量:
1
RXpackets:
718errors:
0dropped:
0overruns:
0frame:
0
已接受数据包:
718
TXpackets:
718errors:
0dropped:
0overruns:
0carrier:
0
已发送数据包:
718
collisions:
0
碰撞:
0
eth0Linkencap:
EthernetHWaddr00:
80:
C8:
4C:
6A:
D0
网卡标识封装类型:
Ethernet硬件(MAC)地址:
00:
80:
C8:
4C:
6A:
D0
UNIX系统常用命令
inetaddr:
202.118.66.81Bcast:
202.118.66.255Mask:
255.255.255.0
IP地址:
202.118.66.81广播地址:
202.118.66.255子网掩码:
255.255.255.0
UP*****ST**********STMTU:
1500Metric:
1
已启动接受广播正在运行多点广播最大传输单元:
1500路由距离向量:
1
RXpackets:
*****errors:
0dropped:
0overruns:
0frame:
0
已接受数据包:
*****
TXpackets:
5859errors:
0dropped:
0overruns:
0carrier:
0
已发送数据包:
5859
collisions:
0
碰撞:
0
Interrupt:
10Baseaddress:
0xe400
中断(IRQ):
10端口地址:
0xe400
#ifconfigeth0显示eth0的相关信息
#ifconfig-a显示所有网络设备的配置信息
#ifconfigeth0downDown掉eth0
#ifconfigeth0202.118.66.81broadcast202.118.66.255[up]
#ifconfigeth0202.118.66.81broadcast202.118.66.255netmask
255.255.255.0
#ifconfigeth0up
17.2route
路由表维护命令,相关文件:
/proc/net/route
$/sbin/route
KernelIProutingtable
DestinationGatewayGenmaskFlagsMetricRefUseIface
localnet*255.255.255.0U0049eth0
192.168.1.0*255.255.255.0U00655eth1
192.168.2.0*255.255.255.0U00498eth2
192.168.3.0*255.255.255.0U00825eth3
127.0.0.0*255.0.0.0U0013lo
defaultolive.dlut.edu.0.0.0.0UG104834eth0
#routeadddefaultgw202.118.66.1
#routeadddefaultgw202.118.66.1eth0
UNIX系统常用命令
#/sbin/routeadd-net202.118.68.0netmask255.255.252.0gw202.118.66.16#/sbin/rouetdeldefault202.118.66.1
#/sbin/routedel-net202.118.68.0netmask255.255.252.0gw202.118.66.16
17.3netstat
显示主机当前路由表,相关文件:
/proc/net/route
netstat-rn
/home/hbworknetstat-rn
RoutingTable:
DestinationGatewayFlagsRefUseInterface
--