You are on page 1of 90

HP-UX 安全手册[1]

通过例子学习 sed 的用法


HP-UNIX 命令大全

UNIX 系统 2008-06-17 11:28 阅读 662 评论 0 字号: 大大 中中 小小 # ioscan –fnkC


disk

# swinstall –s /cdrom/(filename) <安装软件补丁从 cdrom 下>

# swremove <卸除应用程序>

# shutdown 0 <进入单用户模式>
# init 3 <进入多用户>

# umount /opt <卸除 opt>


<umount /opt 时报错,不能 umount opt,可以用 ps –ef |grep opt 命令查看 opt 进程然后用 kill
–9 5988 > -9 强行关掉命令,5988 进程名

# swlist –l fileset –a state|grep PHKL_18543 <查找 PHKL_18543 这个补丁是否安装>

# lvextend –L 30 /dev/vg00/lvol5 <扩大逻辑卷为 30 兆>


# extendfs /dev/vg00/rlvol5 <r 一定要加这个字母>
# mount /opt
# mount –a <全部设备 mount>
# bdf <查看容量是否扩大>

# lvextend –L 200 /dev/vg00/lvol6 <在线将 tmp 文件系统扩展到 800Mb>


# fsadm –b 819200 /tmp
# bdf

# tsm <启动多进程,用 ctrl_t 切换窗口或按 F1、F2 来切换>

# make_tape_recovery –Av <备份系统到磁带上、备份到磁带上的系统文件看不到。


用这个命令之前必须安装 Ignite-ux 这个软件>
# chmod 777 或 444 <该文件执行属性,777 改为可执行文件同时放开权限,444 收
回权限同时改为不可执行文件>

# mstm <查看机器信息>

# armdsp –i <查看 VA 信息>

# cvui <设置 VA 命令>


< /opt/sanmgr/hostagent/sbin (先进入这个目录)
/HA_trigger 先 stop 后 start
/dial_trigger stop
start
磁盘柜进程全部 先 stop 后 starl,否则找不到 VA>

# armmgr –s shut / start 别名 <VA 关机和重起>

VA 控制器
第一步:
# cd /opt/sanmgr/commandview/server/data
# mv DeviceDBfile DeviceDBfile.old
第二步:
# cd /opt/sanmgr/hostagent/sbin
# ./HA_trigger stop
# ./dial_trigger stop
# ./HA_trigger start
# ./dial_trigger start
# armdiscover

# armdiscover <查找阵列柜>

# amdsp -a fc <查看 FC60 状态,disk 状态要显示 Optimal,显示 Replaced 要注意>


# amdsp -d fc|grep "Disk State" <查看 FC60 硬盘状态>

# pa pri 1/0/0/2/0.6.0 <改动启动路径(主)>


# pa alt 1/0/0/2/0.6.0 <改动启动路径(副)>
# lvlnboot –v <查看启动路径>

# setboot –s on/off <设置机器是否自动启动>


# setboot –b on/off

# mediainit /dev/rdsk/cxtydz <对一个磁盘进行格式化和校验其完整性>

# swapinfo <查看机器的一些信息>
# dmesg <查看 MEMORY>
# top <查看 CPU>
# swlist <查看安装了那些软件>
# vgdisplay –v <查看 FreePE(硬盘剩余大小)>
# grep –i error syslog.log <快速查看 syslong.log 内的错误>
# egrep –i “war|err|fail|scsi|lan” /dev/adm/syslog/syslog.log
# ioscan –kfnCtape <查看磁带机>
# lanscan <查看网卡>
# ioscan –kfnCfc <查看光纤卡>
# ioscan –fnH0/0/1/0 <查看 0/0/1/0 地址信息>
# netstat –in
# ifconfig lan*
# info_col.11 <收集机器信息,做安装报告用>
# info_col.1026 <收集 10.26 版本信息>

# dd if=/dev/rdsk/cxtydo of=/dev/rdsk/cxtydo bs=1024k <整盘 copy,if 后面是旧盘,of 后面


是新盘>
# dd if=/dev/dsk/cxtydo of=/dev/dsk/cxtydo bs=1024k

# sar –d <查看硬盘使用频率>
# sar - v 1 100 <查看内核最大打开文件数、最大进程数限制
与当前打开文件数,与当前进程数>

添加磁带机:
第一种方法:
# tsm
# sam
# peripheral devices ? Tape drives <在 Actions 项选择 Add>
第二种方法:
在 kernel 内修改 stape 改成 In <在 Actions ? Add drives to kernel>

加机械臂驱动(可以在 kernel 改):


schgr -? in
spt --? in
spt0 -? in

Setup 网卡 IP:
# cd /etc/rc.config.d
# vi netconf
shift:1,$ s/old/new/g <把所有 Old replace New>

# tar rv 文件名 <copy 文件到磁带上>


# tar xv 文件名 <从磁带 copy 到本机上>
# tar cv <删除磁带上的所有内容>
# tar tv <查看磁带上的内容>
# tar tvf /dev/rmt/1m <指定 1m 磁带机文件名>
# tar rvf /dev/rmt/1m tmp <copy tmp 目录到 1m 磁带机上>
# mt offl <磁带退出>

3. find
find 命令是功能最强的命令之一,但同时也是命令行结构最难以掌握的命令之一。
# find / -print | wc -l 显示系统中所有文件和目录的数目。
# find / -user $LOGNAME -print 显示系统中该用户所有文件和目录。
# find / -size 100 -print 显示文件大小为 100 blocks。
# find / -size -100 -print 显示文件大小小于 100 blocks 。
# find / -size +100 -print 显示文件大小大于 100 blocks 。
# find / -name core -exec rm {} \;查找并删除 core 文件。
# find . -exec chown $LOGNAME {} \; 修改一个目录下的所有文件的用户所属。
# find .-type d -exec chmod 770 {} \;修改一个目录下的所有目录的权限。
4. stty
该命令用于检查和修改用户当前注册终端的通信参数。
# stty -a;查看当前注册终端的通信参数。
# stty -ixon;设置 ixon 为 off。
#stty ixon;设置 ixon 为 on。
# stty sane;当终端发生混乱时,通常可以产生有益的效果。
5. tset
用于设置终端类型。
tset -s -Q -m ‘hp’
6. cron
cron(chronography,计时),每分钟苏醒一次,查看控制文件以确定当时是否存在应运行的
作业,存在则运行之。
# crontab filename ; 创建一个 cron
# crontab -r ; 把 cron 从 crontab 去掉
crontab 位于目录/var/spool/cron/crontabs 下,每个用户的 cron 文件名是其用户名。
7. /etc/hosts
8. /etc/passwd
口令文件,内容为:
登录用户名:加密口令:用户 ID:组 ID:保留:初始工作目录:shell 路径
9. /etc/group
内容为:
组名:加密密码:组 ID:所有属于该组的用户。
10. /etc/profile
如果该文件存在,则每个用户登录时被执行。该文件一般用于设置一些通用环境变量,如
果用户的 home 目录中存在.profile 文件,则在执行/etc/profile 之后,再执行用户的.profile 文
件。
11. /etc/inittab
内部初始化之后,系统将启动/etc/init 这个 deamon 进程,使/etc/init 进程取得引导序列的控
制权。而 init 进程从文件 /etc/inittab(inittable,初始化表)取得指示,该文件 的内容控制所有
init 状态,同时也控制那些已消亡进程的再生。
12. /etc/fstab
系统中可以 mount 的文件系统的信息。
13. /etc/lvmtab
使用命令:
# strings /etc/lvmtab;查看系统 VG 和磁盘信息。
14. /etc/rc.config.d/netconf
包含系统名称和网络配置信息,如 IP 地址、子网掩码和路由信息等。
15. /stand/system
包含系统的驱动程序和子系统信息,内核设备信息和一些系统可调参数信息。
安装系统时需要安装的软件及补丁
1. VA 管理软件 /cdrom/hpux/ <安装时需要进入这个目录、指定所需要安
装的软件名>
2. MC B3935DA <第 3 张碟>
3. Ignite B5725AA <第 2 张碟>
4. Megpatch <随时更新的碟>
5. MirrorDisk B2491BA

# bdf –v <查看逻辑卷的使用情况、空间大小>

# fuser –ck /cdrom <清除 cdrom 中所有进程,否则光驱不会开门>

# ioscan
# insf –e <生成设备文件名、加载设备驱动文件名>
# insf –evCdisk <查看设备是否有变化,恢复设备驱动号>

# vgscan –a <如果/etc/lvmtab 的文件不正常、或丢失,可用这个命令来重新生成


lvmtab,但是做之前一定要备份 lvmtab>
配置 MODEM
# ctrl_b <进入 GSP 状态、配置 MODEM >
# ca <配置 MODEM>
# er <激活 MODEM>

# GSP >XD
>R <Reset GSP>

# ctrl_b
# GSP>lc <修改 LAN console IP>

安装 Ignite (B5725AA):Make_recovery 不能备份,可以修改设置:


# vi /opt/ignite/bin/make_medialif 到 502 行(shift_Enter)修改:
lifinit $ipl_options –v72000000 –d24 为
lifinit $ipl_options –v102000000 –d24
设置或调整 VA:
先用 Console 连接 VA 进行调整&Setup,或用 15 针窜口线连接电脑。
# vfpdsp -? <查看参数>
# vfpdsp –f
# vfpdsp –L

# vfprecover <恢复 VA 数据>


# vfprecover –s
做 Mirror 的步骤:
pvcreate –f –B /dev/rdsk/c2t2d0
mkboot /dev/rdsk/c2t2d0
mkboot –a “hpux –lq(;0) /stand/vmunix” /dev/rdsk/c1t2d0
mkboot –a “hpux –lq(;0) /stand/vmunix” /dev/rdsk/c2t2d0
vgextend /dev/vg00 /dev/dsk/c2t2d0
lvextend –m 1 /dev/vg00/lvol1 /dev/dsk/c2t2d0
lvextend –m 1 /dev/vg00/lvol2 /dev/dsk/c2t2d0
lvextend –m 1 /dev/vg00/lvol3 /dev/dsk/c2t2d0
lvextend –m 1 /dev/vg00/lvol4 /dev/dsk/c2t2d0
lvextend –m 1 /dev/vg00/lvol5 /dev/dsk/c2t2d0
lvextend –m 1 /dev/vg00/lvol6 /dev/dsk/c2t2d0
lvextend –m 1 /dev/vg00/lvol7 /dev/dsk/c2t2d0
lvextend –m 1 /dev/vg00/lvol8 /dev/dsk/c2t2d0
lvlnboot –r /dev/vg00/lvol3
lvlnboot –s /dev/vg00/lvol2
lvlnboot –d /dev/vg00/lvol2
lvlnboot –b /dev/vg00/lvol1
lvlnboot –R
setboot –a 0/0/2/0.2.0
进入单用户维护模式:
在 10 秒中断时按任意健,然后键入 bo (enter),然后提示是否进入 IPL 模式、选择 yes,然后
键入 hpux –is 进入单用户维护模式,然后# vgchange –a y /dev/vg00 进行初始化 HP-UX 系统。
# lvchange –M n –c n /dev/vg00/lvol2 <给 mirror 作优化>

# strings /etc/lvmtab <查看 Mirror 情况>


# lvlnboot –v <查看 Mirror 是否做成功>
# lvdisplay –v /dev/vg00/lvol1
解除镜像:
lvreduce –m 0 /dev/vg00/lvol1 /dev/dsk/c1t2d0
lvreduce vg00 /dev/dsk/c1t2d0

如果 mirror 无法作,stringe /etc/lvmtab 有多余的 PV,要删除掉。 <慎用此命令,一定要备份


vgdisplay –v vg0x 信息>
# vgreduce /dev/vg0x /dev/dsk/cxtydz
# lvremove /dev/vg01/lvol1 <删除 vg01 内 lvol1 卷>
更换有镜像根盘的方法、步骤:
# make_tape_recovery –Av
# shutdown –ry 0
Replace the bad disk
Bo?y?ISL?hpux –ls
# vgchange –a y /dev/vg00
# mv /etc/lvmtab /etc/lvmtab.bak
# pvcreate –f /dev/rdsk/cxtydz
# mv /etc/lvmtab.bak /etc/lvmtab
# mkboot /dev/rdsk/cxytdz
# mkboot –a “hpux –lq(;0) /stand/vmunix” /dev/rdsk/cxtydz
# vgcfgrestore –n /dev/vg00 /dev/rdsk/cxtydz
# vgsync /dev/vg00
# lvlnboot –r /dev/vg00/lvol1
# lvlnboot –s /dev/vg00/lvol2
# lvlnboot –v
# shutdown –ry 0
更换有镜像硬盘的方法、步骤:
# lvreduce –k –m 0
# lvremove
# vgreduce –f vg00

# vgcfgbackup /dev/vgxx <备份 vgxx 信息,默认存放在/etc/lvmconf 下>

如果 vg0x 丢失用:
# vgcfgrestore –n /dev/vg0x /dev/rdsk/cxtydz
# vgchange –a y /dev/vg0x

AUTO RAID (磁盘阵列)


#arraydsp –i <用来找到 AutoRAID 序列号>
#arraydsp –a <列出所有序列号>
FC60 的盘不能够随意互换,可以用一下命令试一下:
# amutil –d 2:1 fc <修复相应硬盘>
# amutil –D 4:0 fc
# amutil –syswipe fc <格式化>
FC60 的灯提示不正常的情况下用这些命令试一下。
# amdsp –i
# ammgr –D 别名 主机名 <设置别名>
# ammgr –c AA 主机名 <设置模式,当 FC60 的灯全亮的时候用这个命令>
配置双机的时候必须做的步骤:
scsi init 0/10/0/0 6
scsi rate 0/10/0/0 ultra

# vi .rhosts <建立两机之间信任关系,这样可以 copy file>


hostname1 root
hostname2 root
改 Host 名字
先修改:# vi /etc/hosts 内的 host 名字
127.0.0.1 hostname
127.0.0.1 localhost loopback
后修改:# set_parms hostname

# sh PHCO_15220 <解开补丁包,会生成一个有*.depot 结尾的补丁程序>

ftp>mget <得到多个文件>
ftp>put <给一个文件>

QX Modem Initialize strings


AT
AT&F
AT&D3&R0&S1%C0
ATS0=1S23=58
AT&W0&Y0

设置终端类型(在安装的时候当 Console 显示乱码时)


Ctrl_scrlk look <用 Ctrl_Enter 来修改类型>
在安装系统的时候要修改的一些东西,否则会报错
# vi /etc/hosts 内的 host 名字后面空格加一个 . (点)

# vi .profile 内设置 TERM=hp

# vi .profile 在倒数第二行加入 export PS1=’hostname’:’$PWD #’

安装 11.11i 系统时候一定要 copy /usr/newconfig/etc/inittab 文件到/etc/ 下,否则系统会出错。


#cd /usr
#cd /newconfig
#cd /etc
#cp inittab /etc/

从磁带(make_recovery)恢复 /opt
# mt –t /dev/rmt/0mn fsf 1
# tar –xvf /dev/rmt/0m opt

创建 lvg01: <假如 lvg01 是 vg01 的卷名、要 mount 到 app1 上>


# lvcreate –L 200 –n lvg01 /dev/vg01
# newfs /dev/vg01/rlvg01 <# newfs –F vxfs /dev/vg01/rlvg01(-F vxfs 是创建 vxfs
格式系统文件)>
# mkdir /app1
# mount /dev/vg01/lvg01 /app1
# vi /etc/fctab <修改 lvg01 项,机器自动启动加载的选项>

# vi /etc/mnttab <查看是否和 fstab 一样,如果用 bdf 命令查看 lvol*不正常,就 mv 走


mnttab,然后 ioscan –fn ,insf –e 看一下,如果还不行,reboot 看一下>

# vgexport vg0x <删除 vg0x,要慎用>


# vgexport –s –p –m vg0x..map /dev/vg0x <备份 vg0x map 信息>
# vgimport –s –m
# strings /etc/lvmtab
# vgreduce /dev/vg00 /dev/dsk/cxtydz
# chmod 777 tmp

扩展卷组(vg) <加入另外一个磁盘进入这个 vg>


# pvcreate /dev/rdsk/cxtydz
# vgextend vg0x /dev/dsk/cxtydz
# vgdisplay –v vg0x <检查卷组是否被扩展进去>

假如有两个 DS2300 盘柜做镜像:首先把上面一个 DS2300 做成 PVG0 下面 DS2300 做成


PVG1,然后 PVG0 与 PVG1 做镜像,具体步骤:
# pvcreate –f /dev/rdsk/cxdytz <先创建 PV>
# vgcreate –g PVG0 /dev/vg01 /dev/dsk/c1t1d0 /dev/dsk/c1t2d0 /dev/dsk/c1t3d0……. < 创 建
PVG0>
# vgextend –g PVG1 /dev/vg01 /dev/dsk/c2t1d0 /dev/dsk/c2t2d0 /dev/dsk/c2t3d0……. < 激 活
PVG0>
# lvcreate –s g –m 1 –L 512 –n lvroot /dev/vg01 < 创建逻辑卷 lvroot,大小 512M,PVG0 与
PVG1 做镜像>
# strings /etc/lvmpvg
# strings /etc/lvmtab
软件故障诊断
1. # ioscan -fn
列出各 I/O 卡及设备的所有相关信息:如逻辑单元号,硬件地址及设备文件名等。
2. # ps -ef
列出正在运行的所有进程的各种信息:如进程号及进程名等。
3. # netstat -rn
列出网卡状态及路由信息等。
4. # lanscan
列出网卡状态及网络配置信息。
5.# bdf –v <查看逻辑卷的使用情况、空间大小>

# fuser –ck /cdrom <清除 cdrom 中所有进程,否则光驱不会开门>

# ioscan
# insf –e <生成设备文件名、加载设备驱动文件名>
# insf –evCdisk <查看设备是否有变化,恢复设备驱动号>

# vgscan –a <如果/etc/lvmtab 的文件不正常、或丢失,可用这个命令来重新生成


lvmtab,但是做之前一定要备份 lvmtab>
配置 MODEM
# ctrl_b <进入 GSP 状态、配置 MODEM >
# ca <配置 MODEM>
# er <激活 MODEM>
# GSP >XD
>R <Reset GSP>

# ctrl_b
# GSP>lc <修改 LAN console IP>

安装 Ignite (B5725AA):Make_recovery 不能备份,可以修改设置:


# vi /opt/ignite/bin/make_medialif 到 502 行(shift_Enter)修改:
lifinit $ipl_options –v72000000 –d24 为
lifinit $ipl_options –v102000000 –d24
设置或调整 VA:
先用 Console 连接 VA 进行调整&Setup,或用 15 针窜口线连接电脑。
# vfpdsp -? <查看参数>
# vfpdsp –f
# vfpdsp –L

# vfprecover <恢复 VA 数据>


# vfprecover –s
做 Mirror 的步骤:
pvcreate –f –B /dev/rdsk/c2t2d0
mkboot /dev/rdsk/c2t2d0
mkboot –a “hpux –lq(;0) /stand/vmunix” /dev/rdsk/c1t2d0
mkboot –a “hpux –lq(;0) /stand/vmunix” /dev/rdsk/c2t2d0
vgextend /dev/vg00 /dev/dsk/c2t2d0
lvextend –m 1 /dev/vg00/lvol1 /dev/dsk/c2t2d0
lvextend –m 1 /dev/vg00/lvol2 /dev/dsk/c2t2d0
lvextend –m 1 /dev/vg00/lvol3 /dev/dsk/c2t2d0
lvextend –m 1 /dev/vg00/lvol4 /dev/dsk/c2t2d0
lvextend –m 1 /dev/vg00/lvol5 /dev/dsk/c2t2d0
lvextend –m 1 /dev/vg00/lvol6 /dev/dsk/c2t2d0
lvextend –m 1 /dev/vg00/lvol7 /dev/dsk/c2t2d0
lvextend –m 1 /dev/vg00/lvol8 /dev/dsk/c2t2d0
lvlnboot –r /dev/vg00/lvol3
lvlnboot –s /dev/vg00/lvol2
lvlnboot –d /dev/vg00/lvol2
lvlnboot –b /dev/vg00/lvol1
lvlnboot –R
setboot –a 0/0/2/0.2.0
进入单用户维护模式:
在 10 秒中断时按任意健,然后键入 bo (enter),然后提示是否进入 IPL 模式、选择 yes,然后
键入 hpux –is 进入单用户维护模式,然后# vgchange –a y /dev/vg00 进行初始化 HP-UX 系统。
# lvchange –M n –c n /dev/vg00/lvol2 <给 mirror 作优化>
# strings /etc/lvmtab <查看 Mirror 情况>
# lvlnboot –v <查看 Mirror 是否做成功>
# lvdisplay –v /dev/vg00/lvol1
解除镜像:
lvreduce –m 0 /dev/vg00/lvol1 /dev/dsk/c1t2d0
lvreduce vg00 /dev/dsk/c1t2d0

如果 mirror 无法作,stringe /etc/lvmtab 有多余的 PV,要删除掉。 <慎用此命令,一定要备份


vgdisplay –v vg0x 信息>
# vgreduce /dev/vg0x /dev/dsk/cxtydz
# lvremove /dev/vg01/lvol1 <删除 vg01 内 lvol1 卷>
更换有镜像根盘的方法、步骤:
# make_tape_recovery –Av
# shutdown –ry 0
Replace the bad disk
Bo?y?ISL?hpux –ls
# vgchange –a y /dev/vg00
# mv /etc/lvmtab /etc/lvmtab.bak
# pvcreate –f /dev/rdsk/cxtydz
# mv /etc/lvmtab.bak /etc/lvmtab
# mkboot /dev/rdsk/cxytdz
# mkboot –a “hpux –lq(;0) /stand/vmunix” /dev/rdsk/cxtydz
# vgcfgrestore –n /dev/vg00 /dev/rdsk/cxtydz
# vgsync /dev/vg00
# lvlnboot –r /dev/vg00/lvol1
# lvlnboot –s /dev/vg00/lvol2
# lvlnboot –v
# shutdown –ry 0
更换有镜像硬盘的方法、步骤:
# lvreduce –k –m 0
# lvremove
# vgreduce –f vg00

# vgcfgbackup /dev/vgxx <备份 vgxx 信息,默认存放在/etc/lvmconf 下>

如果 vg0x 丢失用:
# vgcfgrestore –n /dev/vg0x /dev/rdsk/cxtydz
# vgchange –a y /dev/vg0x

AUTO RAID (磁盘阵列)


#arraydsp –i <用来找到 AutoRAID 序列号>
#arraydsp –a <列出所有序列号>
FC60 的盘不能够随意互换,可以用一下命令试一下:
# amutil –d 2:1 fc <修复相应硬盘>
# amutil –D 4:0 fc
# amutil –syswipe fc <格式化>
FC60 的灯提示不正常的情况下用这些命令试一下。
# amdsp –i
# ammgr –D 别名 主机名 <设置别名>
# ammgr –c AA 主机名 <设置模式,当 FC60 的灯全亮的时候用这个命令>
配置双机的时候必须做的步骤:
scsi init 0/10/0/0 6
scsi rate 0/10/0/0 ultra

# vi .rhosts <建立两机之间信任关系,这样可以 copy file>


hostname1 root
hostname2 root
改 Host 名字
先修改:# vi /etc/hosts 内的 host 名字
127.0.0.1 hostname
127.0.0.1 localhost loopback
后修改:# set_parms hostname

# sh PHCO_15220 <解开补丁包,会生成一个有*.depot 结尾的补丁程序>

ftp>mget <得到多个文件>
ftp>put <给一个文件>

QX Modem Initialize strings


AT
AT&F
AT&D3&R0&S1%C0
ATS0=1S23=58
AT&W0&Y0

设置终端类型(在安装的时候当 Console 显示乱码时)


Ctrl_scrlk look <用 Ctrl_Enter 来修改类型>
在安装系统的时候要修改的一些东西,否则会报错
# vi /etc/hosts 内的 host 名字后面空格加一个 . (点)

# vi .profile 内设置 TERM=hp

# vi .profile 在倒数第二行加入 export PS1=’hostname’:’$PWD #’

安装 11.11i 系统时候一定要 copy /usr/newconfig/etc/inittab 文件到/etc/ 下,否则系统会出错。


#cd /usr
#cd /newconfig
#cd /etc
#cp inittab /etc/

从磁带(make_recovery)恢复 /opt
# mt –t /dev/rmt/0mn fsf 1
# tar –xvf /dev/rmt/0m opt

创建 lvg01: <假如 lvg01 是 vg01 的卷名、要 mount 到 app1 上>


# lvcreate –L 200 –n lvg01 /dev/vg01
# newfs /dev/vg01/rlvg01 <# newfs –F vxfs /dev/vg01/rlvg01(-F vxfs 是创建 vxfs
格式系统文件)>
# mkdir /app1
# mount /dev/vg01/lvg01 /app1
# vi /etc/fctab <修改 lvg01 项,机器自动启动加载的选项>

# vi /etc/mnttab <查看是否和 fstab 一样,如果用 bdf 命令查看 lvol*不正常,就 mv 走


mnttab,然后 ioscan –fn ,insf –e 看一下,如果还不行,reboot 看一下>

# vgexport vg0x <删除 vg0x,要慎用>


# vgexport –s –p –m vg0x..map /dev/vg0x <备份 vg0x map 信息>
# vgimport –s –m

# strings /etc/lvmtab
# vgreduce /dev/vg00 /dev/dsk/cxtydz
# chmod 777 tmp

扩展卷组(vg) <加入另外一个磁盘进入这个 vg>


# pvcreate /dev/rdsk/cxtydz
# vgextend vg0x /dev/dsk/cxtydz
# vgdisplay –v vg0x <检查卷组是否被扩展进去>

假如有两个 DS2300 盘柜做镜像:首先把上面一个 DS2300 做成 PVG0 下面 DS2300 做成


PVG1,然后 PVG0 与 PVG1 做镜像,具体步骤:
# pvcreate –f /dev/rdsk/cxdytz <先创建 PV>
# vgcreate –g PVG0 /dev/vg01 /dev/dsk/c1t1d0 /dev/dsk/c1t2d0 /dev/dsk/c1t3d0……. < 创 建
PVG0>
# vgextend –g PVG1 /dev/vg01 /dev/dsk/c2t1d0 /dev/dsk/c2t2d0 /dev/dsk/c2t3d0……. < 激 活
PVG0>
# lvcreate –s g –m 1 –L 512 –n lvroot /dev/vg01 < 创建逻辑卷 lvroot,大小 512M,PVG0 与
PVG1 做镜像>
# strings /etc/lvmpvg
# strings /etc/lvmtab
软件故障诊断
1. # ioscan -fn
列出各 I/O 卡及设备的所有相关信息:如逻辑单元号,硬件地址及设备文件名等。
2. # ps -ef
列出正在运行的所有进程的各种信息:如进程号及进程名等。
3. # netstat -rn
列出网卡状态及路由信息等。
4. # lanscan
列出网卡状态及网络配置信息。

操作命令 ynFLinux 联盟
1-1.处理目录 ynFLinux 联盟
pwd: 显示当前工作目录&& ynFLinux 联盟
cd directory_path: 更改目录&& ynFLinux 联盟
cd: 更改为主目录&& ynFLinux 联盟
mkdir directory_name: 创建目录&& ynFLinux 联盟
rmdir directory_name: 删除空目录&&  ynFLinux 联盟
ynFLinux 联盟
1-2.处理文件 ynFLinux 联盟
elm: 阅读邮件&& ynFLinux 联盟
ls: 列举当前目录下的文件和目录&& ynFLinux 联盟
ls -a: 列举所有文件或目录包括隐藏点文件& ynFLinux 联盟
lsf: 列举文件并用/ 标记目录名& ynFLinux 联盟
compress filename: 压缩文件 ynFLinux 联盟
uncompress filename: 解压缩文件 ynFLinux 联盟
vi file_name: 创建或编辑文件 ynFLinux 联盟
more file_name: 显示文件内容 (按 q 退出) ynFLinux 联盟
head file_name: 显示文件的前 10 行 ynFLinux 联盟
tail file_name: 显示文件的后 10 行 ynFLinux 联盟
cp file_name file_copy: 复制文件 ynFLinux 联盟
mv old_file new_file: 将文件重命名为新文件名 ynFLinux 联盟
cat file1 >;>; file2: 将 file1 附加到 file2 的结尾处 ynFLinux 联盟
rm file: 删除 file& ynFLinux 联盟
rm -rf dir_name: 删除目录 dir_name 及其所有文件 ynFLinux 联盟
spell file_name: 在文件中检查拼写 ynFLinux 联盟
ynFLinux 联盟
1-3.打印 ynFLinux 联盟
lp file_name: 打印文件 ynFLinux 联盟
lpstat -t: 确定打印机的状态 ynFLinux 联盟
cancel request_id: 取消打印请求 ynFLinux 联盟
ynFLinux 联盟
1-4.查找和组织 ynFLinux 联盟
find .-name 'x*': 在当前目录和子目录中查找以 x 开头的文件 ynFLinux 联盟
grep word *: 在当前目录下的所有文件中查找 word 一词的所有匹配 ynFLinux 联盟
sort listfile: 按字母顺序对 listfile 进行排序 ynFLinux 联盟
date: 显示日期和时间 ynFLinux 联盟
alias: 列举所有命令的别名 ynFLinux 联盟
man command_name: 查找 HP-UX 命令信息 ynFLinux 联盟
echo $PATH: 确定 PATH 设置 ynFLinux 联盟
echo $SHELL: 确定所用的 shell  ynFLinux 联盟
ynFLinux 联盟
1-5.安全操作 ynFLinux 联盟
passwd: 创建或更改口令 ynFLinux 联盟
ll file_name: 显示文件的权限 ynFLinux 联盟
ll -d directory_name: 显示目录的权限 ynFLinux 联盟
chmod class=permissions name: 更改文件或目录权限 ynFLinux 联盟
chown user name: 更改文件或目录的所有权 ynFLinux 联盟
ynFLinux 联盟
1-6.系统操作 ynFLinux 联盟
clear: 清除屏幕 ynFLinux 联盟
set -o editor_name: 设置命令行编辑器 ynFLinux 联盟
TERM=term_type: 设置终端类型(从/usr/lib/terminfo 中选择 term_type)& ynFLinux 联盟
ps -ef: 列举当前进程状态和 PID& ynFLinux 联盟
kill PID: 终止进程 ynFLinux 联盟
passwd: 创建或更改口令 ynFLinux 联盟
command < infile: 将输入从文件重定向到命令 ynFLinux 联盟
command1 | command2: 使用管道连接两个进程 引用(0) 推荐(0) 评论(0)阅读(662) 上一篇:
通过例子学习 sed 的用法

hp-unix 命令大集合
#su - informix
informix>;onstat -
这样可以看到 informix 的版本。

15、双机维护命令
在一台运行以下命令先将两个节点的 cluster 守护进程都拉起来,
然后还会自动的将应用也拉起来。
cmruncl;
或者先在主机上运行双机的守护进程,再将备机节点加入,
然后再来将应用制定在某个节点上运行,那么指定的节点就应该是主机。
cmruncl -n scp1;
cmrunnode scp2;
cmrunpkg -n scp1 -v scp_service;

查看双机的状态
cmviewcl -v;
cmviewcl ;
cmquerycl;
cmviewconf;

双机切换
方法一:可以停止主机
cmhaltnode scp1
方法二:可以手工切换应用
cmhaltpkg -n scp1 -v scp_service(将应用 scp_service 从 scp1 机器上停止运行)
或者
su - tellin
stellin>;kill_scp.sh
或者
su - informix
informix>;onmode -kuy

主机切换后的节点要重新变为可以切换的节点,必需要运行如下命令
cmmodepkg e -n scp1 -v scp_service (应用 scp_service 可以下次再切回
scp1 节点)

有时候为了诊断备机,特将备机设置为不可以运行应用的节点,如
cmmodepkg d -n scp1 -v scp_service (节点 scp1 上是不可以运行应用 scp_
service)

16、双机的配置文件的位置
#cd /etc/cmcluster/ (双机守护进程的配置文件 cmcluster.asc)
#cd /etc/cmcluster/scppkg/ (双机的应用配置文件 scppkg.asc,control.sh,
scppkg.sh,这三个文件中有一个文件是用来制定双机的浮动 IP 的)

17、双机维护命令的位置
#cd /usr/sbin/ (用 ls cm*可以看到所有关于双机的执行命令)

18、双机的配置
》》》配置 cmcluster.asc;
检查 cmcluster.asc 配置文件的有效性
#cmcheckconf -v -C cmcluster.asc
如果配置不对,则会有错误提示,根据错误提示再来更正,
直到正确后才来应用该配置文件
#cmapplyconf -f -v -C cmcluster.asc
如果觉得应用后配置要重新更改,可以将配置文件删除
#cmdeleteconf -v -c scp1
#cmdeleteconf -v -c scp2

》》》配置应用文件 scppkg.asc,control.sh,scppkg.sh
检查三个文件的有效性
#cmcheckconf -v -P scppkg.asc
如果配置不对,则会有错误提示,根据错误提示再来更正,
直到正确后才来应用该配置文件
#cmapplyconf -f -v -C scppkg.asc
如果觉得应用后配置要重新更改,可以将配置文件删除
#cmdeleteconf -v -c scp1
#cmdeleteconf -v -c scp2
备注:这里所指的删除是在需要单机诊断双机的时候才会用到,
否则不需要这么负责,只需要重新应用一下就可以了,原来的
删不删除无所谓。

18、网络的配置
》》》首先网线一定要连接正确
在给小型机配置网卡的时候一定要先确保网卡的驱动程序已经
安装了,用以下的命令查看.
#lanscan
如果看到的主用网卡和附加的网卡的状态都是 up 状态,则表示
网卡都可用了。而且此时一定要知道那块卡用来做数据网卡,
这块网卡应该是在安装 HP-UX 操作系统的时候就已经确定了,比如
选择 lan0 来做主用数据网卡,并且该块网卡的地址一般在安装
HP-UX 的时候也已经显示了它的设备路径如:0/1/10/0 等,
或者用 lanscan 命令也可以看到它的路径,指导后就应该将直连网线
从该网扣连接到主用 HUB 上去。

然后另外两块是备用网卡,也可以根据设备的路径来确定他们两个的位置,
确定以后就可以将其中一块卡用交叉网线与另外一台机器的同样的网口
相连,用来做心跳线。

那么另外的一个附加网卡就不要配置地址了,我们是用它来作为备用网卡
使用的,要用直连网线从该口连接到备用 HUB 上,它既可以作为心跳网卡
的备用网卡,也可以作为数据网卡的备用网卡。

在 HPL2000 系列的机器上我们还可以看到在数据网卡的上面有一个网扣,该
口是作为 console 口使用的,用一根 console 线可以与它相连接进行配置机器。

》》》再来配置 IP 地址
#vi /etc/rc.config.d/netconf
该文件下面有所有的网卡的名字、网卡的 iP 地址、网关、子网掩码的配置
这样配置以后可以长期生效,下次机器重新启动的时候就会根据该配置文
件来自动配置网络了。

或者
#ifconfig lan0 133.64.48.91 255.255.255.192
#ifconfig lan1 129.9.168.120 255.255.255.192

》》》查看网卡的地址
#lanscan lan0
#lanscan lan1
lan2 不配置地址。

》》》网卡的常用诊断工具
ping;
lanscan;看看网卡地状态是否为“up”
linkloop;(用此命令的时候,一定要先用 lanscan 来查处网卡的物理地址,
因为该命令的后面接的参数是网卡物理地址,这可以简单地断定网线、集线器
是否有问题)

》》》在同一网中, subnetmask 应一致。

19、在配置双机的 cmcluster.asc 的时候要制定该网卡的 IP 地址所在的子网


,则可以通过以下来查看
#netstat -in (可以看到网卡的地址、IP 地址对应的子网、网关、缺省路由、
是否有浮动网卡、是否主机)

20、配置路由信息
方法一:可以通过修改/etc/rc.confg.d/netconf 文件来增加,下次启动的时候
就会生效。
方法二:可以用命令行来设置:
/usr/sbin/route add default 20.08.28.98 1

21、查看路由信息
#netstat -an

22、配置远程维护

如何确定是否已经配置了远程维护,远程维护是通过硬件来配置的,
只要远程维护的串口没有损坏,哪怕你是重新安装,在小型机前面板上的
remote 灯会亮为黄色,黄色的灯一直都是两着的表示可以远程维护串口正常。
但是我们还是需要通过 GSP 来配置远程维护。

》》》小型机的 remote 口的配置


ctrl + b
enter
enter
GSP>; ca
这样就出现了对话框,如果你要修改某个参数的话,可以通过该对话框来修改。
通常的值是:
bitrate :9600
flow control :software
terminal type:vt100
modem protocol:CCITT
modem bit rate:9600
flow control :hardware
mode transmit configuration:disable
mode presence:always connected

》》》modem 上的配置
AT&F
ATS0=1
AT&WO&Y0
保存退出。

备注:HP 公司一般提供了专门的全向 modem,名字叫“天幕驰舟”,


modem 一定要接在 line 口上。

23.一个超级命令
#set_parms
它后面带的参数可以是如下
date_time:设者时间;
ip_address:设置网卡地址;
hostname:设置主机名;
addl_netwrk:设置主机的网关。

24、用户和用户组的添加
方法一:用 useradd 和 groupadd 命令来添加;
方法二:修改文件/etc/passwd 和 /etc/group 文件来实现。

25、一个有用的工具是 sam
通过 sam 可以进行各种操作,比如:用户、用户组的管理;逻辑卷组、逻辑卷的管理;内核
参数的管理;

26、一个有用的诊断工具 mstm
用它可以收集到所有的硬件信息,比如一共有哪些内存插口,
每块现有的内存条有多大,还可以查几个内存条等等信息。
使用举例:
#mstm
选择 system(),并且在菜单上选中 Tools/information/information log
便可以看到很多关于硬件的消息,如:

System Information for (scp1)


HPUX Model Number......: L2000 //机器型号是 HP L2000
HPUX Model String......: 9000/800/L2000-44
Original Product Number: A5191A
Current Product Number.:
System Serial Number...: (Unknown)
Hversion...............: 0x5c40
Sversion...............: 0x491
Software Capabilities..: 0x100000f0

PD CPU Information:
Number of CPUs in the current Protection Domain = 2 //两个 cpu

Cabinet 0; Cell 0; CPU Map


cpu -------------------------------------------------
slot |00|01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|
-------------------------------------------------
state| a| | | | | | | | | | | | | | | |
-------------------------------------------------
c - Configured (CPU powered on)
d - De-configured (CPU powered off)
a - Active (configured and processes running)

选择 memory,并且在菜单上选中 Tools/information/information log


便可以看到关于内存的信息,如:
-- Information Tool Log for MEMORY on path 8 --

Log creation time: Wed Jul 3 17:05:47 2002

Hardware path: 8

Basic Memory Description

Module Type: MEMORY


Total Configured Memory : 1024 MB //可以看到总的内存有多少,是 1G
Page Size: 4096 Bytes
Memory interleaving is supported on this machine and is ON.

Memory Board Inventory


DIMM Slot Size (MB)
--------- ---------
0a 256 //可以看到每个内存槽里面是不是已经插了内存条,还有
该内存条是多少的内存,比如这里 0a 槽上插的是 256M
1a 256
0b 256
1b 256
--------- --------- //可以看出该台小型机的 4 个内存槽都已经插满了
System Total (MB): 1024

Memory Error Log Summary

The memory error log is empty.

Page Deallocation Table (PDT)

PDT Entries Used: 0


PDT Entries Free: 50
PDT Total Size: 50

在使用 mstm 的时候可以打开另外一个终端窗口,执行命令#/usr/sbin/ioscan -fn ,这样可以


知道每个设备
的硬件地址信息。

这样可以得到如下结果:
lan 2 0/7/0/0 btlan6 CLAIMED INTERFACE HP A3738A PCI 10/100Base-TX Ultimate
Combo
/dev/diag/lan2 /dev/ether2 /dev/lan2
memory 08 memory CLAIMED MEMORY Memory
processor 0 160 processor CLAIMED PROCESSOR Processor
processor 1 166 processor CLAIMED PROCESSOR Processor
这样可以知道 0/7/0/0 地址对应的是一个 100M 的网卡,然后再到 mstm 窗口中去查看它的
information log
信息,这样可以很清楚硬件信息了。

该收集结果文件中还可以找到磁盘的使用信息,如:
I H/W Path Driver S/W State Description
====================================================================
0 0/0/1/1.2.0 sdisk CLAIMED SEAGATE ST39204LC 1 0/0/2/1.2.0 sdisk CLAIMED
HP DVD-ROM 304 2 0/3/0/0.0.0 sdisk CLAIMED HP C5447A 4 0/3/0/0.0.1 sdisk
CLAIMED HP C5447A 6 0/3/0/0.0.2 sdisk CLAIMED HP C5447A 8 0/3/0/0.0.3
sdisk CLAIMED HP C5447A 10 0/3/0/0.0.4 sdisk CLAIMED HP C5447A 12
0/3/0/0.0.5 sdisk CLAIMED HP C5447A 3 0/6/0/0.1.0 sdisk CLAIMED HP
C5447A 5 0/6/0/0.1.1 sdisk CLAIMED HP C5447A 7 0/6/0/0.1.2 sdisk CLAIMED
HP C5447A 9 0/6/0/0.1.3 sdisk CLAIMED HP C5447A 11 0/6/0/0.1.4 sdisk
CLAIMED HP C5447A 13 0/6/0/0.1.5 sdisk CLAIMED HP C5447A Device H/W
Path Product id Size Physical Alternate (Mbytes) Volume
Link
====================================================================
c1t2d0 0/0/1/1.2.0 ST39204LC 8683 yes bootable no c3t2d0 0/0/2/1.2.0 DVD-ROM
0 no n/a c4t0d0 0/3/0/0.0.0 C5447A 1024 yes no c4t0d1 0/3/0/0.0.1
C5447A 2052 yes no c4t0d2 0/3/0/0.0.2 C5447A 10252 yes no
c4t0d3 0/3/0/0.0.3 C5447A 1024 no n/a c4t0d4 0/3/0/0.0.4 C5447A 2052
no n/a c4t0d5 0/3/0/0.0.5 C5447A 10252 no n/a c5t1d0 0/6/0/0.1.0
C5447A 1024 yes yes c5t1d1 0/6/0/0.1.1 C5447A 2052 yes yes
c5t1d2 0/6/0/0.1.2 C5447A 10252 yes yes c5t1d3 0/6/0/0.1.3 C5447A 1024
no n/a c5t1d4 0/6/0/0.1.4 C5447A 2052 no n/a c5t1d5 0/6/0/0.1.5
C5447A 10252 no n/a Note: All disk devices are listed here, not only hard
disks.LVM mirroring software********************** LVM mirroring software
MirrorDisk/UX (B2491A) is NOT
installed................................................................................**********************Part 2:
VOLUME GROUPS**********************Volume Group: /dev/vg00*************
Physical Volumes: /dev/dsk/c1t2d0 Volume group disk space usage: Total : 8676 Mbytes
2169 PE Allocated: 8404 Mbytes 2101 PE Free : 272 Mbytes 68 PE PE size : 4
MbytesVolume Group: /dev/vg10************* Physical Volumes: /dev/dsk/c4t0d0
/dev/dsk/c5t1d0 Alternate Link Volume group disk space usage: Total : 1020 Mbytes
255 PE Allocated: 0 Mbytes 0 PE Free : 1020 Mbytes 255 PE PE size : 4
MbytesVolume Group: /dev/vg12************* Physical Volumes: /dev/dsk/c4t0d2
/dev/dsk/c5t1d2 Alternate Link Volume group disk space usage: Total : 10248 Mbytes
2562 PE Allocated: 10076 Mbytes 2519 PE Free : 172 Mbytes 43 PE PE size : 4
Mbytes
备注:其实用该收集工具就是在 shell 中执行不通的程序得到,如执行:
ioscan -fn;
mstm;
cstm;
sam;
等等。
27、重新启动机器
#reboot
#shutdown

28、关闭机器
#shutdown -hy 0
#init 0

28、unix 的集中运行的模式
多用户模式,但用户模式等等 6 种。
用如下命令可以看看它的运行模式:
#who -r

29、普通的对话
#wall "hello!" (广播 hello 这个消息)
#banner "hello!"(放大 hello 这个消息)
#banner "hello!"|more (放大 hello 消息后再来广播它)

30、看当前的登录名
#logname

31、看所有登录用户
#whoiam

32、看登录用户在干什么
#whodo

33、看看进程
ps -ef|grep root (看 root 用户的进程,有时候 console 上执行的进程不能
够停止的话,那么就将 console 进程进程杀死,因为该进程是其它进程的
父进程。)

34、webconsole 的设置
HP Secure Web Console 的配置与维护
HP 的 Secure Web Console 为系统管理员提供了一个基于 Web 的、更为 方便的接入 Console
的手段。系统管理员只需在任意一台能够 ping 通 Web Console 的 PC 上,启动网络浏览器,
输入 Web Console 的 IP,即可得到服务器 Console 的界面。
配置 Web Console,应按以下步骤:
1)初始化 Web Console:
1/将 Web Console 接入局网。其预设置的 IP 地址为 192.0.0.192。
2/在您的 PC 上,运行以下命令:
route add 192.0.0.192 Local_IP_address
3/确保能够 ping 192.0.0.192。
4/在 PC 上运行网络浏览器,输入 URL:http://192.0.0.192,得到 Web Console 配置菜单。按
菜单提示输入 Admin Account 用户名和密码,将其 IP 改为本局网 IP 地址(确保 IP 不要重
复)和子网掩码。
2)使用 Web Console
1/用普通 Console 的串口线,一端接服务器 Local Console 口,另一端接 Web Console 的串行
口。
2/在 PC 的浏览器上,输入 Web Console 当前的 IP 地址。即进入其 LOGIN 窗口,按要 求输
入在配置时创立的 Admin Account 用户名和密码;则进入服务器 Console 界面, 用鼠标点
击 Access Console,黑色的 Console 窗口出现在屏幕右方;点击 In/Out 可放 大 Console 窗口。

35、demo 进程的位置
/etc/rc3.d/中的文件在系统启动的时候便可以将进程拉起来。

36、磁带的使用
写:
tar cvf /dev/rmt/0m /temp/t.sql //将 temp 目录下面的 t.sql 文件备份到磁带 0m 中;

读:
tar tvf /dev/rmt/0m //读出磁带 0m 中的内容;

从磁带上解开 tar 文件:


tar xvf /dev/rmt/0m/aa.tar ./ //将磁带上的 aa.tar 文件解开到当前目录下;

当用磁带来启动机器的时候,我们在启动的时候敲击任意键,就可以进入启动的路径,
再输入 SEA(search)来搜寻启动的路径,然后就可以找到磁带的路径,如磁带路径为
5 号路径,则输入 po 5,便可以从磁带启动了。

37、HP-UX 的安装
======================================================================
==
HP-UX 双机系统的安装

1)在两台主机上分别安装好 HP-UX 操作系统,注意:在两台上的关于/,


/stand,/var,/home,/usr,/opt,/swap,/dev 等等文件系统的大小必须保持一致;

2)安装 patch(以下的操作在两台主机上是一样的操作)

#mkdir cdrom //创建一个 DVD 要挂接的目录

#ioscan -kfnCdisk //查看 DVD 的硬件描述文件,以便下面安装前的挂接


_____________________使用标识为 support plus 的光盘____________________

a)选择软件包中的标识为 support plus 的光盘插入 DVD 光驱中

#mount /dev/dsk/c3t2d0 /cdrom //将 DVD 文件系统挂接到/cdrom 目录下

#cd /cdrom

#ls //浏览光盘,发现有 XSWHWCR1100 和


XSWGR1100 两个 patch 目录

#swinstall -s /cdrom/XSWHWCR1100 //这样就进入了 sam 中进行安装,选择光盘


上的 XSWHWCR1100,并且用 sam 中的菜
单项 Action 下的子菜单 Install 来进行安装

备注:安装完 XSWHWCR1100 这个 patch 之后,机器会自动 reboot 来重新创建新的内核

b)待机器再次启动之后,我们就可以安装同样的 support plus 这张光盘中的另外一个名


叫 XSWGR1100 的 patch 了。

#mount /dev/dsk/c3t2d0 /cdrom

#swinstall -s /cdrom/XSWGR1100

备注:安装完该 patch 之后同样系统自动重新启动

__________________使用标识为 3 of 4 Application Software 光盘_______________

c)选择软件包中的标识为 3 of 4 Application Software 的光盘插入 DVD 光驱中


#mount /dev/dsk/c3t2d0 /cdrom

#swinstall -s /cdrom //进入 sam 后选择“Ignite -UX-11-00 B.2.5.136


HP-UX Installation Utilities for Installing
11.00 System
97186 HP-UX-B.11.00-32/4”这个 patch 来安装

备注:安装完该 patch 之后同样系统自动重新启动

___________________使用标识为 4 of 4 Application Software 光盘____________


d) 选择软件包中的标识为 4 of 4 Application Software 的光盘插入 DVD 光驱中

#mount /dev/dsk/c3t2d0 /cdrom

#swinstall -s /cdrom //进入 sam 后选择 揂.11.09 MC/ServiceGuard 斦飧鰌 atch 来


安装 MC/ServiceGuard

备注:安装完该 patch 之后同样系统也会自动重新启动

___________________使用标识为 1 of 4 Application Software 光盘____________

e)选择软件包中的标识为 1 of 4 Application Software 的光盘插入 DVD 光驱中

#mount /dev/dsk/c3t2d0 /cdrom

#swinstall -s /cdrom //进入 sam 后选择 ?3230A B.11.00 100Base-T PCI? 和


揃.11.00 HP-UX Unlimited-User License 斄礁鰌 atch 来安装。

//其中前一个 patch 用于安装附加网卡的驱动程序,只有安装


了它,备用网卡和心跳网卡才在系统中可用,因为这两块
网卡是系统附加的,必须要安装配套的驱动程序,其中
53230A 表示的是附加网卡的型号,这个可以从纸箱中的配
件单上获取,系统本身自带的那块主用网卡是在安装操作
系统的时候就已经自动被配置了,不用我们手工再配置了。
在未安装该 patch 之前,你用命令:#lanscan 则只能
看到一块
主用网卡;
在安装完该 patch 之后,你再用命令: #lanscan 则可以看到三
块网卡。

//其中后一个 patch 用于安装无限制的 license。

======================================================================
==
38、忘记了口令该怎么办
重新启动机器;
在启动的过程中按任意键,就会进入一个主菜单;
用 SEArch 来搜索启动的路径;
用 bo + 路径的序列号来重起机器;
当出现 Interactive with IPL (Y or N)?>;时选择 Y;
然后要求输入启动的内核的路径,hp_ux 0 (表示是启动到系统维护模式下面)
然后启动完成以后就可以进行 passwd root 来修改口令了。
39、如何做一个 root 的文件系统的全备份
#make_recovery -Av

HP Unix 常用命令 2007-01-30 17:08sam

本人根据自己的工作经验,总结了比较常用的有关 HPUX 的使用技巧,希望能给初学者一些


帮助.我希望各位朋友对我的文档提出宝贵意见,并能把自己经验也贡献出来.
1、 cd 命令的使用
返回上一次的目录(cd -)
2、 Esc 键的使用
在命令行中可通过击两次 Esc 键来匹配当前目录中唯一的文件名,这样可节约击入长文件
名的时间
3、 col 命令的使用
man cp | col –b >;cp.txt
该命令可将 cp 命令的联机帮助手册输出为名为 cp.txt 的文本文件
4、启动机器时执行的工作脚本(/etc/rc.config.d/)
5、which 命令的使用(查看某命令的绝对路径)
which 命令名
6、显示当前系统补丁安装情况(swlist -l product | grep "PH")
7、中文环境的配置
a、 查看系统中安装的语言集(locale –a)
b、 显示当前语言环境变量(echo $LANG)
c、 如不为中文则修改(export LANG=zh_CN.hp15CN)
d、 sty –istrip
8、查看系统信息和运行情况
a、 glance
b、 top
c、 performance view
d、 /opt/ignite/bin/print_manifest
/var/opt/ignite/local/manifest/manifest
e、 /var/adm/syslog/syslog(系统运行日志)
f、 /var/adm/shutdownlog
g、 /var/adm/crash/
h、 /var/opt/sna/sna.err
i、 /var/adm/nettl.LOG000
/usr/sbin/netfmt /var/adm/nettl.LOG000 >;net.log
j、/usr/contrib./bin/info_col.11
k、/var/adm/btmp(历史登录信息,可用 last 命令查看)
l、/var/adm/wtmp(比 btmp 更详细的信息)
m、/etc/rc.log(机器启动时的信息)
n、/var/adm/sw/(有关软件包安装、删除的信息)
9、查看系统当前 init 级别(who –r)
10、显示系统不成功登录的历史纪录(lastb –R)
11、ftp 问题(如无法用某一用户进行 ftp)
a、 将/etc/passwd 中该用户的 sh 路径改为/usr/bin/ksh
b、 在/etc/shells 文件中将 ksh 的路径加入
12、在 HP11i 环境下两台主机 rlogin、rcp 和 ftp 速率小于 10mbps
a、 安装补丁(PHKL_25233、25389,PHNE_26728、27063)
13、在 HP11i 环境下主机与路由器之间无法用大包进行 ping 命令
a、 在主机的/etc/rc.config.d/nddconf 文件中增加 ip_send_source_quench 参数的配置
b、 ndd –c
14、网络配置(含网卡地址、激活状态、路由地址)可通过修改/etc/rc.config.d/netconf 文件来
实现。
15、swapinfo 命令的使用
swapinfo –mt
16、what 命令的使用(假如要查看某一 core 文件的诱因)
what core
17、控制某一特定地址通过 telnet、ftp 和 login 协议访问主机的方法
/var/adm/inetd.sec
18、tsm 的使用
在 tsm 状态下可通过 ctrl+w 来切换屏幕。
19、finger 命令的使用
finger –R(查看当前登录到主机的客户机信息)
20、parstaus 命令的使用
parstatus –p <cell num>;查看某一特定分区的信息。

UNIX 常用命令 2009-09-11 17:07UNIX 常用命令简介


目录
第 0 章 建立自己的环境 4
1、CSH 4
2、BSH/SH 4
3、KSH 4
第一章 目录及文件操作 4
1、ls 4
2、pwd 5
3、cd 5
4、mkdir 5
5、more 5
6、cp 5
7、mv 6
8、rm 6
9、chmod 6
10、chown 7
11、diff 7
12、wc 7
13、touch 7
14、find 8
15、grep 8
16、vi 9
第二章 设备管理 15
1、mount 15
2、umount 15
3、tar 15
4、du 16
5、ioscan 16
6、cpio 16
第三章 进程管理 16
1、ps 16
2、kill 16
第四章 系统管理和用户管理 17
1、who 17
2、passwd 17
3、su 17
4、date 17
5、shutdown 17
6、echo 18
7、env 18
8、uname 18
9、netstat 18

第 0 章 建立自己的环境
1、CSH
在使用 C-SHELL 时,有两个环境文件需要配置:.cshrc 和.login(以“.”开头的文件通常的情
况下是隐藏的,可以采用命令“ls -a”查看)。
.cshrc 设置说明
umask 027 # 设置创建文件时的缺省权限
set history = 32 # 设置需要记忆的历史命令数目
setenv WORK_DIR $HOME # setenv 用于 csh 设置环境变量
setenv TERM vt100 # 设置终端类型
setenv PATH /opt/softbench/bin:/usr/bin/X11:/usr/c++/bin:/usr/contrib/bin: \
/usr/local/bin:/usr/contrib/bin/X11:/usr/local/bin/X11: \
/opt/ansic/bin:/opt/nettladm/bin:/opt/graphics/common/bin: \
/opt/upgrade/bin:/opt/CC/bin:/opt/langtools/bin:/opt/imake/bin: \
${PATH}:.:${INFORMIXDIR}/bin:${INFORMIXDIR}/lib/esql
# 设置执行搜索路径
.login 设置说明
stty erase "^H" kill "^U" intr "^C" eof "^D" susp "^Z" \
hupcl ixon ixoff tostop tabs eval `tset -s -Q -m ':?hp' `
# stty 用于设置终端的特殊键位。backspace 是删除,delete 是 kill,ctrl + C 是中断,等。
# 很多人回退键没法使用,ctrl+C 也没发用等,就是因为没有设置这些属性。
另,在 HPUX 下经常出现需要自己选择终端类型的提示“TERM = (hp)”,这是因为在.login
文件中含有怎么一行“eval `tset -s -Q -m ':?hp' `”,你只需将它注释掉即可,然后直接使用命
令“setenv TERM ***”设置终端类型即可。
2、BSH/SH
待写。
3、KSH
待写。
第一章 目录及文件操作
1、ls
语法:ls [选项] 路径名称
说明:文件、目录列表命令
常用选项说明:
-a 列出所有文件,包括第一个字符为“.”的隐藏文件
-F 目录加/,执行文件加*,符号连接后加@
-l 长列表输出,显示文件详细信息,每行一个文件,从左至右依次是:
文件存取模式 链接数 文件主 文件组 文件字节数 上次修改时间
其中文件存取模式用 10 个字母表示,从左至右的意义如下:
第一个字母表示文件种类,可以是以下几种情况:
d 为目录文件
l 为链接
b 为块文件
c 为字符型文件
p 为命名管道(FIFO)
- 为普通文件
后面 9 个字母分别表示文件主、同组用户、其他用户对文件的权力,用 r 表示可读,w 表示
可写,x 表示可执行。如果是设备文件,则在文件字节数处显示:主设备 从设备。
举例:
ls 查看当前目录下的文件
ls -l 详细查看当前目录下的文件
ls -al /bin 以长列表的形式列出目录 /bin 下的所有文件,包括隐藏文件
2、pwd
语法:pwd
说明:本命令用于显示当前的工作目录
举例:
pwd 显示出当前的工作目录
3、cd
使用:cd 路径名称
说明:本命令用于改变当前的工作目录,无参数时使用环境变量 $HOME 作为其参数
($HOME 一般为注册时进入的路径)。
举例: cd 回到注册进入时的目录
cd /tmp 进入 /tmp 目录
cd .. 进入上级目录(“..”代表上一级目录,“.”代码当前目录)
4、mkdir
使用:mkdir 目录名称
说明:新建目录
举例:mkdir log 在当前目录下建立 log 目录
mkdir log/record 在 log 目录下建立 record 目录
5、more
使用:more [选项] 文件名
说明: 将文件显示在终端上,每次一屏,在左下部显示 --more--,若是从文件读出
而非从管道,则在后面显示百分比,表示已显示的部分,按回车键则上滚一行,按空格键
则上滚一屏,未显示完时可以使用 more 命令中的子命令。
6、cp
使用:cp 文件 目标
说明:将文件拷贝到目标上,目标不能与文件同名, 若目标是文件名,则拷贝的文件只能
有一个,若目标是目录, 则拷贝的文件可以有多个,若目标文件不存在,则建立这个文件,
若存在,则覆盖其以前的内容,若目标是目录,则将文件拷贝到这个目录下。
举例: cp file1 file2 将文件 file1 拷贝到文件 file2
cp file1 file2 /tmp 将文件 file1 和文件 file2 拷贝到目录 /tmp 下
7、mv
使用:mv 文件 目标
说明:将文件移动至目标,若目标是文件名,则相当于文件改名
举例: mv file1 file2 将文件 file1 改名为 file2
mv file1 file2 /tmp 将文件 file1 和文件 file2 移动到目录 /tmp 下
8、rm
使用:rm 文件 / rm -r 目录
说明:删除文件或目录
举例: rm file1 删除文件 file1
rm -r /mytmp 递归地删除目录 /mytmp,及其子目录
9、chmod
使用:chmod [-R] 模式 文件...
或 chmod [ugoa] {+|-|=} [rwxst] 文件...
说明:改变文件的存取模式,存取模式可表示为数字或符号串,例如:
chmod nnnn file , n 为 0-7 的数字,意义如下:
4000 运行时可改变 UID
2000 运行时可改变 GID
1000 置粘着位
0400 文件主可读
0200 文件主可写
0100 文件主可执行
0040 同组用户可读
0020 同组用户可写
0010 同组用户可执行
0004 其他用户可读
0002 其他用户可写
0001 其他用户可执行
nnnn 就是上列数字相加得到的,例如 chmod 0777 file 是指将文件 file 存取权限置为所
有用户可读可写可执行。
-R 递归地改变所有子目录下所有文件的存取模式
u 文件主
g 同组用户
o 其他用户
a 所有用户
+ 增加后列权限
- 取消后列权限
= 置成后列权限
r 可读
w 可写
x 可执行
s 运行时可置 UID
t 运行时可置 GID
举例:
chmod 0666 file1 file2 将文件 file1 及 file2 置为所有用户可读可写
chmod u+x file 对文件 file 增加文件主可执行权限
chmod o-rwx 对文件 file 取消其他用户的所有权限
10、chown
使用:chown [-R] owner:[group] 文件...
说明:修改文件的文件主,文件的 UID 表示文件的文件主,文件主可用数字表示, 也可用
一个有效的用户名表示,此命令改变一个文件的 UID,仅当此文件的文件主或超级用户可
使用。
-R 递归地改变所有子目录下所有文件的存取模式
owner 用户(使用用户名或 ID 均可)
group 用户组(使用用户组名或 ID 均可)
举例:
chown mary file 将文件 file 的文件主改为 mary
chown 150 file 将文件 file 的 UID 改为 150 ls [选项] 路径名称
chown dualbase:informix tdfs 将 tdfs 文件修改为 dualbase 用户,informix 用户组
11、diff
使用:diff 文件 1 文件 2
说明:比较两个文本文件,将不同的行列出来
举例:
diff scf0.log scf1.log 比较 scf0.log 和 scf1.log 的不同
12、wc
使用:wc 文件 ...
说明:统计文件的行、字、字符数
举例:
wc scf0.log scf1.log 统计 scf0.log 和 scf1.log 两个文件的行、字和字符数
13、touch
使用:touch [-amc] [mmddhhmm[yy]] 文件...
说明:将指定文件的访问时间和修改时间改变,若指定文件不存在则创建之,若无指定时
间,则使用当前时间,返回值是未成功改变时间的文件个数,包括不存在而又未能创建的
文件。
-a 只改变访问时间
-m 只改变修改时间
-c 若文件不存在,不创建它且不作提示
mmddhhmm[yy] 两位表示 月日时分[年]
举例:
touch file 更新文件 file 的时间为当前时间
touch 0701000097 HongKong 将文件 HongKong 的时间改为 97 年 7 月 1 日 0 时 0 分
14、find
使用:find 路径名... 表达式
说明:find 命令递归地遍历指定路径下的每个文件和子目录,看该文件是否能使表达式值
为真,以下 n 代表一个十进制整数,+n 代表打印 n , -n 代表小于 n ,下面是合法表达式
说明:
-name 模式 文件名与模式匹配则为真,(\ 为转意符)
-size n[c] 文件块长度为 n 则真(一块为 512 字节),若
有 c 选项,则文件字节长度为 n 则真
-atime n 若文件的最近访问时间为 n 天前则为真,
find 命令将改变其访问的目录的访问时间
-mtime n 若文件的最近修改时间为 n 天前则为真
-ctime n 若文件状态为 n 天前改变则为真
-exec 命令 { }\; 若命令返回值为 0 则真,{ }内为命令参数,
此命令必须以 \; 为结束
-ok 命令 { }\; 与 exec 相同,只是在命令执行前先提示,若
回答 y 则执行命令
-print 显示输出使表达式为真的文件名
-newer 文件 若文件的访问时间比 newer 指定的文件新则真
举例:
find / -name find* -print
从根目录开始搜索文件名如 find* 的文件并显示之
find ./ -exec sleep{1}\; -print
每秒显示一个当前目录下的文件
find $HOME \(-name a.out -o -name '*.o' \) -atime +7 -exec rm {} \;
从$HOME 目录开始搜索,删除所有文件名为 a.out 或 *.o 且访问时间在 7 天前的文件 ls
[选项] 路径名称
15、grep
使用:grep [选项] 模式 [文件...]
说明:在指定的文件中搜索模式,并显示所有包含模式的行,模式是一个正规表达式,在
使用正规表达式时,最好将其引在单引号(') 中,若指定文件为缺省,则使用标准输入,正
规表达式可以是:
. 匹配任意一个字符
* 匹配 0 个或多个*前的字符
^ 匹配行开头
$ 匹配行结尾
[] 匹配[ ]中的任意一个字符,[]中可用 - 表示范围,
例如[a-z]表示字母 a 至 z 中的任意一个
\ 转意字符
命令中的选项为:
-i 模式中字母不区分大小写
-n 显示模式所在行的行号
-v 显示所有不包含模式的行
举例:
grep 'good' * 在所有文件中搜索含有字符串 good 的行
grep '^myline' mytext 在文件 mytext 中搜索行首出现 myline 字符串的行
16、vi
使用:vi 文件名...
说明:vi 是一个全屏幕编辑器,在命令后跟多个文件时,在第一个文件关闭后,会自动打
开第二个文件,依次类推。使用 UNIX 开发,vi 是必须掌握的。
vi 工作模式分为命令模式和输入模式。在输入模式下,输入的一切作为文本插入到当前编
辑的缓冲区。在命令模式下,输入的字符都将被翻译成命令。
在输入模式下按“ESC”键进入命令模式。
在命令模式下,进入输入方式的命令:
a 在当前光标的后面插入文本
A 在当前光标的所在的行末插入文本
C 修改当前行光标后面的文本
cw 修改当前词光标后面的字符
i 在当前光标处添加新文本
I 在当前行开头插入新文本
o 在当前行后插入一行
O 在当前行前插入一行
s 用一串字符替换当前字符
光标移动命令:
h, 左行键, backspace 光标左移
j, 下行键 光标下移
k, 上行键 光标上移
l, 右行键, space 光标右移
0(数字 0) 移光标到当前行首
$ 移光标到当前行末
b, B 光标前移一个词,光标落在第一个字符(B 忽略标点)
w, W 光标下移一个词,光标落在第一个字符(C 忽略标点)
( 移光标到上一句开头
) 移光标到下一句开头
{ 移光标到上一段(段一般以空行为依据)开头
} 移光标到下一段(段一般以空行为依据)开头
[[ 移光标到上一节(节一般以{为依据)开头
]] 移光标到下一节(节一般以{为依据)开头
H 移动光标到当前缓冲区的第一行
L 移动光标到当缓冲区的最后一行
M 移动光标到当缓冲区的中间行
编辑区移动命令(^表示 Ctrl 键):
^B 上移(回退)一屏
^U 上移(回退)半屏
^F 下移(前移)一屏
^D 下移(前移)半屏
到一个行号:
: n 到第 n 行
nG 到第 n 行
1G 到文件第 1 行
G 到文件尾
vi 编辑命令(包括上面提到的进入输入方式的所以命令)还有下面一些常用的:
修改命令:
r 替换一个字符但不进入输入模式
~ 大小写替换
取消和重复改变:
. 重复上次命令来修改缓冲区
u 取消上次最后一条命令
删除文本:
dd 删除当前行
d n d 删除当前下面的 n 行
dG 删除到文件尾
D 删除到行末
x 删除当前的字符
:line1, line2d 删除 line1 到 line2 之间的行
:line1, $ d 删除 line1 到文件末的所有行($代表文件末)
复制和移动(拷贝时,一般是存储到缺省缓冲区,可以采用“"缓冲区名”的方式指定存储的
缓冲区名称,缓冲区名可以是“a~z”的字符,如“"a”指定 a 缓冲取,“"g”指定 g 缓冲区;缺
省缓冲区不能在文件间使用,但命名缓冲区可以在不同的文件间切换使用,此处的切换是
指的不退出 vi,而调入新文件的切换;当在不同的文件间进行拷贝时,就可以采用这种命
名缓冲区,命名缓冲区的引用采用“"缓冲区名”的方式;可以使用命令“m 标记名”方式定义
某字符标记当前行,标记名可以是“a~z”的字符,如 mj,使用 j 标记当前行,标记的引用采
用“'字符”的方式):
yy 复制当前行(到缺省缓冲区)
"ayy 复制当前行(到 a 缓冲区)
yny 复制当前 n 行(到缺省缓冲区)
"ayny 复制当前 n 行(到 a 缓冲区)
y'j 复制当前行到字符 j 所标记行之间的行到缺省缓冲区
"ay'j 复制当前行到字符 j 所标记行之间的行到 a 缓冲区
p 粘贴当前缓冲区内容到光标位置之后
P 粘贴当前缓冲区内容到光标位置之前
"ap 粘贴 a 缓冲区内容到光标位置之后
"aP 粘贴 a 缓冲区内容到光标位置之后
查找字符串:
/ 模式 向前搜索模式,将光标移动到模式出现处,模式是一个正规表达式
? 模式 向后搜索模式,将光标移动到模式出现处,模式是一个正规表达式
n 重复上次搜索

下面是 vi 的命令集列表:
^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 光标回退一个字
C 替换光标后的内容
D 删除光标后的内容
E 光标前移到字尾
F 字符 在当前行向左查找指定字符
G 光标移动到其前面数字指定的行,若未指定则移动到最后一行
H 光标移动到屏幕顶行,若前面有数字,则移动到屏幕上该数字
指定的行
I 在行开头插入正文
J 连接两行,若前面有数字则连接数字指定的行
L 光标移动到屏幕底行,若前面有数字,则移动到屏幕底线往上数该
数字指定的行
M 光标移动到屏幕中线
N 使用模式查找/或?时,重复找下一个匹配的模式,但方向与上次相
反,其功能同 n ,但方向相反
O 在当前行上开辟一新行
P 将上次被删除的正文插入光标前面,可在其前面加缓冲区编号,编
号 1-9 用于保存被删去的正文,字母名缓冲区 a-z 供用户存放自定
义的正文
Q 从 vi 推出进入 ex 命令状态
R 替换字符串
S 替换整行
T 字符 向左查找字符
U 将当前行恢复至第一次修改前的状态
W 光标移至下一个字首
X 删除光标前的字符
Y 将当前行存入无名缓冲区,前面加数字表示存入的行数,也可用有
名缓冲区来保存,以后可用命令 p 或 P 将其取出
ZZ 存盘退出 vi
a 光标后插入正文
b 光标回退至上一个字首
cw 替换当前字
c) 替换当前句子
dw 删除一个字
dd 删除一行
e 光标移到下一个字末
f 字符 在当前行向前查找字符
h 光标左移一格
i 在光标前插入正文
j 光标下移一行
k 光标上移一行
l 光标右移一格
m 字母 用字母标记当前行,以后可用 '字母使光标移动到当前行,
(参看'命令)
n 重复上次 / 或 ? 命令
o 在当前行下开辟一新行
p 将用户缓冲区内容放到光标位置(参看 P 命令)
r 替换当前字符
s 用一串字符替换当前字符
t 字符 光标移动至字符前
u 取消上次操作
w 光标移至下一字首
x 删除当前字符
yw 将当前字存入无名缓冲区,前面可加"x,表示存入名字为 x 的有名
缓冲区(x 为 a-z),也可加数字表示存入的字数,以后可用 P 或 p 命
令取出
yy 将当前行存入无名缓冲区,用法参看 yw
{ 光标移动至前一段开头
| 光标移至行首,若前面加数字,则移到数字指定行的行首
} 光标移至下一段开头
在“:”提示符下,常用命令如下:
:w 当前文件存盘
:w! 强制存盘
:w 文件 将内容写入指定文件
:w! 文件 强制写入指定文件
:x,y w 文件 将 x 至 y 行写入指定文件中
:r 文件 将文件读到光标位置
:r ! 命令 将系统命令的输出读到光标位置
:q 退出编辑
:q! 强制退出
:x 与命令 ZZ 相同
:e 文件名 编辑另一文件
:e ! 重新编辑文件,放弃任何改变
:sh 执行 sh,结束后回到编辑
:! 命令 执行命令后回到编辑
:n 编辑下一文件
:n 文件表 重新定义待编辑文件表
:set 设置 vi 的选项,例如 set nu 表示每行前显示行号,在选项前
加 no 则表示清除该选项,例如 set nonu 表示每行前不显示行
号,下面是一些常用的选项:
ai 自动缩进
aw 编辑下一文件前自动存盘
ic 查找字符串时不区分大小写
nu 每行前显示行号
sm 输入)及}时显示与之配对的( 或 {
slow 插入时延迟屏幕刷新
ws 使查找能绕过文件尾从头进行
wa 写文件之前不作对文件的检查
第二章 设备管理
1、mount
使用:mount [-r] 设备 目录
说明:将设备安装到目录下
-r 以只读方式安装
举例:
将 CDROM(路径/dev/dsk/c0t2d0,可以使用命令 ioscan -fnC disk 检查)安装到/cdrom 目录
下:mount /dev/dsk/c0t2d0 /cdrom
2、umount
使用:umount 设备
说明:将安装的文件系统卸下
举例:umount /cdrom 将安装在/cdrom 下的文件系统卸载。
3、tar
使用:tar -c [vwfbL] [设备] [块] 文件...
tar -r[vwfbL] [设备] [块] 文件...
tar -t[vfL] [设备] [文件...]
tar -u[vwfbL] [设备] [块] 文件...
tar -x[lmovwfL] [设备] [文件...]
说明:将多个文件归档到一个文件中,命令中各参数的意义为:
x 抽取文件
t 显示文件
u 附加方式归档,同时删除旧版文件
c 建立新档案文件
v 显示所处理的文件名
f 处理文件,f 不带缺省为磁带
举例:
tar tvf file.tar 查看 file.tar 中有那些文件
tar tv 查看磁带中有那些文件
tar xvf file.tar 抽取 file.tar 中的文件
tar xv 抽取磁带中的文件
tar cvf file.tar log bin 创建新文件 file.tar,包含 log,bin 两个文件或目录
tar cv log bin 创建新的磁带文档,包含 log,bin 两个文件或目录
4、du
使用:du [-sk] 目录/文件
说明:显示磁盘文件的使用情况,s 选项表示只显示指定目录或文件的大小,k 选项表示以
KBYTE 为单位。
举例:du -sk log 显示 log 文件或目录的大小
5、ioscan
使用:ioscan [选项]
说明:查看 IO 系统,如磁盘,网卡等
举例:
ioscan -fnC disk/lan 详细查看磁盘/网卡设备
ioscan 查看所有 IO 设备
6、cpio
使用:cpio [选项] 文件或目录
说明:同 tar 类似
举例:
cpio -icvdumB < IDS.CPI 从文件 IDS.CPI 中抽取文件
第三章 进程管理
1、ps
使用:ps [ -efl] [ -t 终端表] [ -u 用户表] [ -g 组表]
说明:显示出有关进程的状态
-e 显示出现在正在运行的所有进程
-f 显示所有信息
-l 产生一个长列表
-u 显示指定用户进程
举例:
ps -lu scp 详细查看 scp 用户的各进程状态
2、kill
使用:kill -信号 进程号
说明:将信号传递给指定进程,信号共有几十个,但常用的是以下几个:
# define SIGNULL 0 /* Null, Check access to pid */
# define SIGINT 2 /* Interrupt */
# define SIGQUIT 3 /* quit */
# define SIGKILL 9 /* kill (cannot be caught or ignored) */
# define SIGBUS 10 /* bus error */
# define SIGSEGV 11 /* Segmentation violation */
# define SIGSYS 12 /* bad argument to system call */
# define SIGPIPE 13 /* write on a pipe with no one to read it */
# define SIGALRM 14 /* alarm clock */
# define SIGTERM 15 /* Software termination signal from kill */
# define SIGUSR1 16 /* user defined signal 1 */
# define SIGUSR2 17 /* user defined signal 2 */
# define SIGCHLD 18 /* Child process terminated or stopped */
# define SIGCLD SIGCHLD /* death of a child */
# define _SIGSTOP 24 /* Stop signal (cannot be caught or ignored) */
SIGBUG 和 SIGSEGV 信号通常产生我们常见的 core 文件,SIGUSR1 和 SIGUSR2 是留给用
于自定义唯有的两个。
SIGNULL 信号需要特殊注意,它主要用来测试一个进程是否存在,实际上并不会发出这么
一个信号。相对于 ps 和 grep 组合来检查进程来说,使用 SIGNULL 来检查进程性能非常的
好,不过它需要预先检查出进程 ID。
举例: 给某进程 ID 为 1068 的进程发送一个 SIGTERM 信号终止其运行,
kill -s SIGTERM 1068
kill -s 15 1068
kill -SIGTERM 1068
kill -15 1068
第四章 系统管理和用户管理
1、who
使用:who
说明:显示本系统的登录人员
举例:whoami 显示自己
2、passwd
使用:passwd [用户]
说明:修改密码,指定用户则修改指定用户密码
3、su
使用:su [- ] [用户名]
说明:su 命令使当前用户成为指定用户,若无指定,则成为超级用户,但必须输入该用户
的密码,-选项表示用该用户的注册环境
4、date
使用: date
date mmddhhmm[yy]
说明: date 无参数时用于显示系统时间,修改时间时参数形式为:月日时分[年]
5、shutdown
使用:shutdown [-h] [-y]
说明:关机命令,不同 UNIX 操行系统,可能会有所不同。
HPUX 立即关机命令:shutdown -h -y 0(0 表示等待时间为 0 秒)
进入单用户状态:shutdown
重新启动机器:reboot -r
6、echo
使用:echo 环境变量
说明:显示环境变量内容
7、env
使用:env [选项] 路径名称
说明:显示所有环境变量
8、uname
使用:uname [-a]
说明:显示系统信息,-a 显示所有信息
9、netstat
使用:netstat -in/an
说明:查看端口状态、IP 地址
举例:netstat -an | grep 5600 查看 5600 端口的状态
netstat -in 查看网卡的 IP 地址

Unix 常用命令

默认分类 2009-09-17 09:22 阅读 2 评论 0 字号: 大大 中中 小小

1、 man <要查的命令名字>

给出要查命令所有选项的含义,以及命令的详细说明.

2、ls 相当于 DOS 的 dir

它的常用选项有-l(显示文件的详细信息),-a(显示包括隐含文件在内),-R(recursive,显示子目录
中所有的文件和子目录),-t(依照文件最后修改时间的顺序列出文件名).例如:ls 列出目前目录
下的文件名。

ls -a 列出包含以.起始的隐藏文件在内的所有文件名。

ls -t 依照文件最后修改时间的顺序,依序列出文件名。

ls -l 列出目录下所有文件的许可权、拥有者、文件大小、修改时间及名称。

ls -R 显示出目录下,以及其所有子目录的文件名。

内容很多一屏显示不完时,可用管道符连接 more 命令,每显示一屏暂停,按空格键继续.如: ls


-altR | more

注意:

ls rms*.* 将列出 rms.ini 这类中间带"."的文件,而不会列出 rms 这类不带"."的文件,用 ls rms*


可以把带"."和不带"."的文件都列出

3、clear 相当于 DOS 的 cls,清除屏幕上的内容

4、mkdir <目录名> 相当于 DOS 的 md,新建一个目录

5、cd <目录名>

相当于 DOS 的 cd,和 DOS 的 cd 不一样的是,只输入 cd 将回到 HOME 目录.

6、rm <文件名>

相当于 DOS 的 del,支持通配符*和?,例如 rm file*, 为了不误删除想要的文件,在用通配符删除


之前,先用 ls file* 看看是否列出的文件都需要删除.要注意,用命令行删除的文件是无法恢复
的,Unix 操作系统因为多用户的原因,无法提供 DOS 下的 undelete 命令.如果在 Solaris 的 CDE
环境下,扔到垃圾箱里的文件是可以恢复的,因为扔到垃圾箱里的文件并没有被真正删除.

rm -r <目录名>

相当于 DOS 的 deltree,小心使用.例如:rm file1 删除文件名为 file1 的文件。

rm file? 删除文件名中有五个字符,前四个字符为 file 的所有文件。

rm f* 删除文件名中以 f 开头的所有文件。

7、cp <源文件> <目的文件>

相当于 DOS 的 copy,和 DOS 的 copy 不一样的是,必须指定源文件名和目的文件名.cp -r <源


文件> <目的文件> 相当于 DOS 的 xcopy,带子目录的拷贝.例如:cp file1 file2 将文件 file1 复
制成 file2

cp file1 dir1 将文件 file1 复制到目录 dir1 下,文件名仍为 file1.

cp /tmp/file1 . 将目录 /tmp 下的文件 file1 复制到当前目录下,文件名仍为 file1。

cp /tmp/file1 file2 将目录 /tmp 下的文件 file1 复制到现行目录下,文件名为 file2

cp -r dir1 dir2 复制整个目录。若目录 dir2 已经存在,则将目录 dir1,及其所有文件和子目录,


复制到目录 dir2 下,新目录名称为 dir1,即 dir2/dir1。若目录 dir2 不存在,则将 dir1,及其
所有文件和子目录,复制为目录 dir2。

8、mv <源文件> <目的文件>

相当于 DOS 的 move,常用来给文件换名.例如:mv file1 file2 将文件 file1,更改文件名为


file2。

mv file1 dir1 将文件 file1,移到目录 dir1 下,文件名仍为 file1。

mv dir1 dir2 若目录 dir2 已经存在,则将目录 dir1,及其所有文件和子目录,移到目录 dir2


下,新目录名称为 dir1,即 dir2/dir1。若目录 dir2 不存在,则将 dir1 更改为目录 dir2。

9、pwd 列出当前所在的目录位置

10、more <文件名> 查看文件的内容

显示满一屏就暂停,按空格键翻到下一页,按回车键看下一行。其它命令的输出太多来不
及细看时,常通过管道操作符"|"输出到 more 来分屏显示输出内容。
例如:

more file1  以分页方式,查看文件名 file1 的内容。

ls -l | more 把 ls -l 的输出通过管道符输出到 more 来分屏显示输出内容。

11、chmod 改变文件或目录的读、写、执行的允许权限

格式:chmod [-R] mode name

name 可为文件名或目录名;mode 可为 3 个 0-7 的数字,或利用 ls -l 命令,列出

文件或目录的读、写、执行允许权的文字缩写。)

mode : rwx rwx rwx r:read w:write x:execute

user group other

缩写 : (u) (g) (o)

例如:

%chmod 755 dir1 把目录 dir1 设定成任何使用者,都能读取和执行,但只有所有者可做修


改。

%chmod 700 file1 把文件 file1 设定只有所有者可以读、写和执行。

%chmod u+x file2 把文件 file2 增加所有者可以执行的权利。

%chmod g+x file3 把文件 file3 增加工作组使用者可执行的权利。

%chmod o-r file4 把文件 file4 除去其它使用者可读取的权利。

12、chown 改变文件或目录的所有权

格式:chown [-R] username name

name 可以是文件名或目录名。

例如:

%chown user file1

将文件 file1 的所有权,改为使用者 user 所有。


%chown -R user dir1

将目录 dir1,及其下所有文件和子目录的所有权,改为使用者 user 所有。

13、chgrp 改变文件或目录的工作组所有权

格式:chgrp [-R] groupname name

name 可为文件名或目录名

例如:

%chgrp sbsrms file1

将文件 file1 的工作组所有权,改为 sbsrms 工作组。

%chgrp -R bin dir1

将目录 dir1,及其下所有文件和子目录,改为 bin 工作组。

14、date 相当于 DOS 的 date

只输入 date 就显示当前的工作站时间,如果有 root 超级用户权限,加上参数可以修改 工作


站的时间。

格式:date mmddHHMM[cc]yy

mm--月份,dd--日期,HH--小时,MM--分钟,cc--世纪(可选),yy--年份

例如:

#date 1023153098 将把工作站系统时间改为 1998 年 10 月 23 日 15 点 30 分

15、su <用户名>

改变自己的用户名进入其他使用者的帐号,拥有其使用权利。不指明用户名,就进入 root
超级用户。

例如:

%su user 进入使用者 user 的帐号

passwrod: 输入使用者 user 的密码


16、passwd 更改用户口令

例如:

%passwd rms 更改用户 rms 的口令

17、exit 退出终端操作

18、shutdown 超级用户 root 才有权执行,关闭 Solaris 操作系统

例如:

#/usr/sbin/shutdown -y -g0 -i0 输入绝对路径,以保证是执行关闭系统的 shutdown 程序

19、find 搜索指定目录下要找的文件,找到后给出文件的路径

格式:find search-path -name filename -print

例如:

%find / -name file1 -print ( 从根目录开始寻找 file1 文件,并给出它的路径。)

21、echo 显示环境变量用

例如:

$RMSROOT 显示环境变量 RMSROOT 的值?%echo

22、ping 测试网络通断情况。

格式:ping ip_address

例如:ping 129.9.123.45

23、ftp 本地工作站与远端工作站之间文件传输

必须拥有远端工作站的帐号及密码,才可进行传输工作 。

格式: ftp hostname or ftp ip_address

例如 :

ftp 129.9.123.45 与远端工作站 129.9.123.45 ,进行文件传输


Name (129.9.123.45:user-name) : 输入帐号

Password (129.9.123.45:user-name): 输入密码

!为执行外部操作系统的命令。

ftp> help 列出 ftp 文件传输,可使用的任何命令。

ftp> !ls 列出本地工作站,目前目录下的所有文件名。

ftp> !pwd 列出本地工作站,目前所在的工作目录位置。

ftp> ls 列出远端工作站目前目录下的所有文件名。

ftp> dir 列出远端工作站目前目录下的所有文件名(略同于 UNIX 的 ls -l 指令).

ftp> pwd 列出远端工作站目前所在的目录位置。

ftp> cd dir1 更改远端工作站的工作目录位置至 dir1 下。

ftp> get file1 将远端工作站的文件 file1 ,拷贝到本地工作站中。

ftp> put file2 将本地工作站的文件 file2 ,拷贝到远端工作站中。

ftp> mget *.c 将远端工作站中,文件名后缀为 c 的所有文件,拷贝到本地工作站中。

ftp> mput *.txt 将本地工作站中,文件名后缀为 txt 的所有文件,拷贝到远端工作站中。

ftp> bin 以二进制方式传输文件,切记在传送可执行文件时要先执行此命令。

可以将 ASCII 文件按二进制方式传输,但决不能将二进制文件按 ASCII 方式传输,否则二


进制文件的内容会遭到破坏而无法使用。

ftp> asc 以 ASCII 方式传输文件,只在传输 ASCII 文件时用,特别是在 DOS 和 Solaris 之间


传输时用。

ftp> prompt 使用 mput/mget 时不用每个文件皆询问 yes/no

ftp> quit 结束 ftp 工作。

ftp> bye 结束 ftp 工作,和 quit 一样。

注: 从 PC 到工作站间的文件传输也可在 PC 端 WIN95 下的 FTP 命令进行文件传输,用法与


上所述大致相同。

24、telnet ip_address 远程登录命令,在工作站和 PC 机中都有

例如:

%telnet 129.9.123.45

25、ps 查看系统的进程

格式:ps [-euf...]

例如:

%ps -u rms   (查看系统中,用户 rms 的 process。)

%ps -ef   (查看系统中,包含系统内部,及所有用户的进程。)

26、kill 杀掉操作系统中的进程

一般先用 ps 命令先查看进程的 ID 号,再用 kill。如果 kill 杀不掉,可再加参数-9,说明为强


制杀掉。

例如:

%kill -9 1234 这里 1234 是假设的进程号。

27、tar 把多个文件或目录打包成一个文件,或者把已经打包的文件展开

例如:

%tar cvf RMS RMStar 把目录打包成一个文件

%tar xvf RMStar 把打包的文件展开。

28、compress 把文件压缩成后缀为.Z 的压缩文件

例如:

%compress RMStar

29、uncompress 把后缀为.Z 的压缩文件解压缩


例如:

%uncompress RMStar.Z

30、df -k 查看各文件系统剩余的空间,-k 说明单位是千字节(kb)

命令比较

1) 查看开放端口

Linux: netstat -atn

Solaris: netstat -P tcp -f inet -an

2) 查看网卡/网络状态

Linux: ifconfig

Solaris: ifconfig -a 或者 dladm show-dev 等

注 1:Linux 下每个网卡都是以 eth0,eth1 等来命名的,而 Solaris 则是以网卡驱动来命名的,


如 rtls0, iprb0, bge0, bge1,bnx0,e1000g1,nge1,xge0 等,可以通过 man 来查看究竟是什
么网卡,比如:

# man iprb

注 2:Linux 在逐渐淘汰 ifconfig 命令,取而代之是功能更强调的 iproute 或者叫 iproute2 软


件包,主要命令有 ip 和 tc。用 ifconfig 给网卡添加另外一个 ip,命令如下:

# ifconfig eth0:0 192.168.3.15/24 broadcast 192.168.3.255

用 ip 如下:

# ip addr add 192.168.3.15/24 broadcast 192.168.3.255 dev eth0

3) 查看系统安装的所有软件包

Linux: rpm -qa 或者 dpkg-query -l

Solaris: pkginfo
4) 安装软件包

Linux: rpm -ivh stardict.rpm

Solaris: pkgadd -d `pwd` SUNWstardict

5) 卸载软件包

Linux: rpm -e stardict

Solaris: pkgrm SUNWstardict

6) 查看软件包的所有安装文件

Linux: rpm -ql stardict

Solaris: pkgchk -l SUNWstardict | grep Pathname

注:在 Solaris 上还可以根据某一个文件来判断该文件属于哪一个安装包

# pkgchk -lp /usr/share/stardict/sounds/menushow.wav

Pathname: /usr/share/stardict/sounds/menushow.wav

Type: regular file

Expected mode: 0644

Expected owner: root

Expected group: bin

Expected file size (bytes): 6250

Expected sum(1) of contents: 60494

Expected last modification: Jul 18 11:26:00 2006

Referenced by the following packages:

SUNWstardict

Current status: installed


今天发现 rpm 也可以实现此功能

# rpm -qf /bin/ls

coreutils-6.4-10

7) 查看进程状态

Linux: top

Solaris: prstat

在 Solaris 下可以通过 pkg-get -i top 来下载安装 top 软件,prstat -L 可以进一步显示每个线程


的状态

8) 查看系统服务

Linux: chkconfig --list 或者 chkconfig -L

Solaris: svcs

9) 系统服务管理

Linux: chkconfig samba off 或者 chkconfig samba on

Solaris: svcadm ensable svc:/network/smtp:sendmail 或 者 svcadm enable


svc:/network/smtp:sendmail

Solaris 的 svcadm 可以通过-r 参数进一步把相关的服务开启或者禁止掉

10) 查看 CPU 信息

Linux: more /proc/cpuinfo

Solaris: psrinfo -v 或者 psrinfo -vp

11) 查看内存大小

Linux: more /proc/meminfo 或者 top

Solaris: prtconf | grep ^M

12) 监测网络
Linux: tcpdump

Solaris: snoop

13) 显示所有模块信息

Linux: lsmod

Solaris: modinfo

注:Linux 也支持 modinfo,但是只显示某个模块信息,如

# modinfo fat

14) 插入模块

Linux: insmod/modprobe

Solaris: modload

15) 卸载模块

Linux: rmmod

Solaris: modload

注:Solaris 每个模块都有一个整数编号,要卸载需指定编号

# modinfo | grep bge

174 ffffffffeff63000 12150 162 1 bge (BCM579x driver v0.51)

# modunload -i 174

16)查看 pci 设备

Linux: lspci -vn

Solaris: prtconf -vp

17)给网卡添加额外的 IP 地址
Linux: ifconfig eth0:1 192.168.3.15

Solaris: ifconfig e1000g addif 192.168.3.15/24 up

Unix 常用命令
发布: 2007-12-30 15:16 | 作者: LEOZHOU | 来源: 本站原创 | 查看: 623 次

cp 命令
该命令的功能是将给出的文件或目录拷贝到另一文件或目录中,同 MSDOS 下的 copy 命令
一样,功能十分强大。

语法: cp [选项] 源文件或目录 目标文件或目录

说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。

该命令的各选项含义如下:

- a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于
dpR 选项的组合。

- d 拷贝时保留链接。

- f 删除已经存在的目标文件而不提示。

- i 和 f 选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答 y 时目标文件将被覆
盖,是交互式拷贝。

- p 此时 cp 除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。

- r 若给出的源文件是一目录文件,此时 cp 将递归复制该目录下所有的子目录和文件。此时
目标文件必须为一个目录名。

- l 不作拷贝,只是链接文件。

需要说明的是,为防止用户在不经意的情况下用 cp 命令破坏另一个文件,如用户指定的目
标文件名已存在,用 cp 命令拷贝文件后,这个文件就会被新源文件覆盖,因此,建议用户
在使用 cp 命令拷贝文件时,最好使用 i 选项。

mv 命令

用户可以使用 mv 命令来为文件或目录改名或将文件由一个目录移入另一个目录中。该命令
如同 MSDOS 下的 ren 和 move 的组合。
语法:mv [选项] 源文件或目录 目标文件或目录

说明:视 mv 命令中第二个参数类型的不同(是目标文件还是目标目录),mv 命令将文件


重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv 命令完成文件重命名,
此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定
的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv
命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv 先拷贝,再
将原有文件删除,而链至该文件的链接也将丢失。

命令中各选项的含义为:

- I 交互方式操作。如果 mv 操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,
要求用户回答 y 或 n,这样可以避免误覆盖文件。

- f 禁止交互操作。在 mv 操作要覆盖某已有的目标文件时不给任何指示,指定此选项后,i
选项将不再起作用。

如果所给目标文件(不是目录)已存在,此时该文件的内容将被新文件覆盖。为防止用户
用 mv 命令破坏另一个文件,使用 mv 命令移动文件时,最好使用 i 选项。

rm 命令

用户可以用 rm 命令删除不需要的文件。该命令的功能为删除一个目录中的一个或多个文件
或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是断
开了链接,原文件保持不变。

rm 命令的一般形式为:

rm [选项] 文件…

如果没有使用- r 选项,则 rm 不会删除目录。

该命令的各选项含义如下:

- f 忽略不存在的文件,从不给出提示。

- r 指示 rm 将参数中列出的全部目录和子目录均递归地删除。

- i 进行交互式删除。

使用 rm 命令要小心。因为一旦文件被删除,它是不能被恢复的。了防止这种情况的发生,
可以使用 i 选项来逐个确认要删除的文件。如果用户输入 y,文件将被删除。如果输入任何其
他东西,文件则不会删除。
mkdir 命令

功能:创建一个目录(类似 MSDOS 下的 md 命令)。

语法:mkdir [选项] dir-name

说明:该命令创建由 dir-name 命名的目录。要求创建目录的用户在当前目录中(dir-name 的


父目录中)具有写权限,并且 dirname 不能是当前目录中已有的目录或 文件名称。

命令中各选项的含义为:

- m 对新建目录设置存取权限。也可以用 chmod 命令设置。

- p 可以是一个路径名称。此时若路径中的某些目录尚不存在, 加上此选项后, 系统将自动


建立好那些尚不存在的目录,即一次可以建立多个目录。

rmdir 命令

功能:删除空目录。

语法:rmdir [选项] dir-name

说明:dir-name 表示目录名。该命令从一个目录中删除一个或多个子目录项。需要 特别注意


的是,一个目录被删除之前必须是空的。rm - r dir 命令可代替 rmdir,但是有危险性。删除某
目录时也必须具有对父目录的写权限。

命令中各选项的含义为:

- p 递归删除目录 dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径
被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应 的信息。

cd 命令

功能:改变工作目录。

语法:cd [directory]

说明:该命令将当前目录改变至 directory 所指定的目录。若没有指定 directory, 则回到用


户的主目录。为了改变到指定目录,用户必须拥有对指定目录的执行和读 权限。

该命令可以使用通配符(通配符含义请参见第十章)。
pwd 命令

在 Linux 层次目录结构中,用户可以在被授权的任意目录下利用 mkdir 命令创建新目录,


也可以利用 cd 命令从一个目录转换到另一个目录。然而,没有提示符来告知用 户目前处于
哪一个目录中。要想知道当前所处的目录,可以使用 pwd 命令,该命令显示整个路径名。

语法:pwd

说明:此命令显示出当前工作目录的绝对路径。

ls 命令

ls 是英文单词 list 的简写,其功能为列出目录的内容。这是用户最常用的一个命令之一,因


为用户需要不时地查看某个目录的内容。该命令类似于 DOS 下的 dir 命令。

语法:ls [选项] [目录或是文件]

对于每个目录,该命令将列出其中的所有子目录与文件。对于每个文件,ls 将输出 其文件


名以及所要求的其他信息。默认情况下,输出条目按字母顺序排序。当未给出目录名或是文
件名时,就显示当前目录的信息。

命令中各选项的含义如下:

- a 显示指定目录下所有子目录与文件,包括隐藏文件。

- A 显示指定目录下所有子目录与文件,包括隐藏文件。但不列出“.”和 “..”。

- b 对文件名中的不可显示字符用八进制逃逸字符显示。

- c 按文件的修改时间排序。

- C 分成多列显示各项。

- d 如果参数是目录,只显示其名称而不显示其下的各文件。往往与 l 选项一起使 用,以得


到目录的详细信息。

- f 不排序。该选项将使 lts 选项失效,并使 aU 选项有效。

- F 在目录名后面标记“/”,可执行文件后面标记“*”,符号链接后面标记 “@”,管道(或
FIFO)后面标记“|”,socket 文件后面标记“=”。
- i 在输出的第一列显示文件的 i 节点号。

- l 以长格式来显示文件的详细信息。这个选项最常用。

每行列出的信息依次是: 文件类型与权限 链接数 文件属主 文件属组 文件大小 建立或最近


修改的时间 名字

对于符号链接文件,显示的文件名之后有“—〉”和引用文件路径名。

对于设备文件,其“文件大小”字段显示主、次设备号,而不是文件大小。

目录中的总块数显示在长格式列表的开头,其中包含间接块。

- L 若指定的名称为一个符号链接文件,则显示链接所指向的文件。

- m 输出按字符流格式,文件跨页显示,以逗号分开。

- n 输出格式与 l 选项相同,只不过在输出中文件属主和属组是用相应的 UID 号和 GID 号来


表示,而不是实际的名称。

- o 与 l 选项相同,只是不显示拥有者信息。

- p 在目录后面加一个“/”。

- q 将文件名中的不可显示字符用“?”代替。

- r 按字母逆序或最早优先的顺序显示输出结果。

- R 递归式地显示指定目录的各个子目录中的文件。

- s 给出每个目录项所用的块数,包括间接块。

- t 显示时按修改时间(最近优先)而不是按名字排序。若文件修改时间相同,则 按字典顺
序。修改时间取决于是否使用了 c 或 u 选顶。缺省的时间标记是最后一次修 改时间。

- u 显示时按文件上次存取的时间(最近优先)而不是按名字排序。即将 -t 的时间 标记修改


为最后一次访问的时间。

- x 按行显示出各排序项的信息。

用 ls - l 命令显示的信息中,开头是由 10 个字符构成的字符串,其中第一个字符表示文件
类型,它可以是下述类型之一:

- 普通文件
d 目录

l 符号链接

b 块设备文件

c 字符设备文件

后面的 9 个字符表示文件的访问权限,分为 3 组,每组 3 位。

第一组表示文件属主的权限,第二组表示同组用户的权限,第三组表示其他用户的权限。
每一组的三个字 符分别表示对文件的读、写和执行权限。

各权限如下所示:

r读

w写

x 执行。对于目录,表示进入权限。

s 当文件被执行时,把该文件的 UID 或 GID 赋予执行进程的 UID(用户 ID)或 GID(组


ID)。

t 设置标志位(留在内存,不被换出)。如果该文件是目录,在该目录中的文件只能被超级
用户、目录拥有者或文件属主删除。如果它是可执行文件,在该文件执行 后,指向其正文段
的指针仍留在内存。这样再次执行它时,系统就能更快地装入该文件。

sort 命令

sort 命令的功能是对文件中的各行进行排序。sort 命令有许多非常实用的选项,这些选项最


初是用来对数据库格式的文件内容进行各种排序操作的。实际上,sort 命令可以被认为是一
个非常强大的数据管理工具,用来管理内容类似数据库记录的文件。

Sort 命令将逐行对文件中的内容进行排序,如果两行的首字符相同,该命令将继续比较这
两行的下一字符,如果还相同,将继续进行比较。

语法:

sort [选项] 文件

说明:sort 命令对指定文件中所有的行进行排序,并将结果显示在标准输出上。如不指定输
入文件或使用“- ”,则表示排序内容来自标准输入。
sort 排序是根据从输入行抽取的一个或多个关键字进行比较来完成的。排序关键字定义了用
来排序的最小的字符序列。缺省情况下以整行为关键字按 ASCII 字符顺序进行排序。

改变缺省设置的选项主要有:

- m 若给定文件已排好序,合并文件。

- c 检查给定文件是否已排好序,如果它们没有都排好序,则打印一个出错信息,并以状态
值 1 退出。

- u 对排序后认为相同的行只留其中一行。

- o 输出文件 将排序输出写到输出文件中而不是标准输出,如果输出文件是输入文件之一 ,
sort 先将该文件的内容写入一个临时文件,然后再排序和写输出结果。

改变缺省排序规则的选项主要有:

- d 按字典顺序排序,比较时仅字母、数字、空格和制表符有意义。

- f 将小写字母与大写字母同等对待。

- I 忽略非打印字符。

- M 作为月份比较:“JAN”<“FEB”

- r 按逆序输出排序结果。

+posl - pos2 指定一个或几个字段作为排序关键字,字段位置从 posl 开始,到 pos2 为止


(包括 posl,不包括 pos2)。如不指定 pos2,则关键字为从 posl 到行尾。字段和字符的位置
从 0 开始。

- b 在每行中寻找排序关键字时忽略前导的空白(空格和制表符)。

- t separator 指定字符 separator 作为字段分隔符。

uniq 命令

文件经过处理后在它的输出文件中可能会出现重复的行。例如,使用 cat 命令将两个文件合


并后,再使用 sort 命令进行排序,就可能出现重复行。这时可以使用 uniq 命令将这些重复
行从输出文件中删除,只留下每条记录的唯一样本。

语法:
uniq [选项] 文件

说明:这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个及以后更多个重
复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输
出文件中。输入文件和输出文件必须不同。如果输入文件用“- ”表示,则从标准输入读取。

该命令各选项含义如下:

- c 显示输出中,在每行行首加上本行在文件中出现的次数。它可取代- u 和- d 选项。

- d 只显示重复行。

- u 只显示文件中不重复的各行。

- n 前 n 个字段与每个字段前的空白一起被忽略。一个字段是一个非空格、非制表符的字符串,
彼此由制表符和空格隔开(字段从 0 开始编号)。

+n 前 n 个字符被忽略,之前的字符被跳过(字符从 0 开始编号)。

- f n 与- n 相同,这里 n 是字段数。

- s n 与+n 相同,这里 n 是字符数。

tar 命令

tar 可以为文件和目录创建档案。利用 tar,用户可以为某一特定文件创建档案(备份文件),


也可以在档案中改变文件,或者向档案中加入新的文件。tar 最初被用来在磁带上创建档案,
现在,用户可以在任何设备上创建档案,如软盘。利用 tar 命令,可以把一大堆的文件和目
录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输
是非常有用的。Linux 上的 tar 是 GNU 版本的。

语法:tar [主选项+辅选项] 文件或者目录

使用该命令时,主选项是必须要有的,它告诉 tar 要做什么事情,辅选项是辅助使用的,可


以选用。

主选项:

c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。

r 把要存档的文件追加到档案文件的未尾。例如用户已经作好备份文件,又发现还有一个目
录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件
中。
t 列出档案文件的内容,查看已经备份了哪些文件。

u 更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文
件,则把它追加到备份文件的最后。

x 从档案文件中释放文件。

辅助选项:

b 该选项是为磁带机设定的。其后跟一数字,用来说明区块的大小,系统预设值为
20(20*512 bytes)。

f 使用档案文件或设备,这个选项通常是必选的。

k 保存已经存在的文件。例如我们把某个文件还原,在还原的过程中,遇到相同的文件,不
会进行覆盖。

m 在还原文件时,把所有文件的修改时间设定为现在。

M 创建多卷的档案文件,以便在几个磁盘中存放。

v 详细报告 tar 处理的文件信息。如无此选项,tar 不报告文件信息。

w 每一步都要求确认。

z 用 gzip 来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要
使用该选项进行解压缩。

gzip 命令

减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可
以减少传输的时间。gzip 是在 Linux 系统中经常使用的一个对文件进行压缩和解压缩的命令,
既方便又好用。

语法:gzip [选项] 压缩(解压缩)的文件名

各选项的含义:

-c 将输出写到标准输出上,并保留原有文件。

-d 将压缩文件解压。
-l 对每个压缩文件,显示下列字段:

压缩文件的大小

未压缩文件的大小

压缩比

未压缩文件的名字

-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。

-t 测试,检查压缩文件是否完整。

-v 对每一个压缩和解压的文件,显示文件名和压缩比。

-num 用指定的数字 num 调整压缩的速度,-1 或–fast 表示最快压缩方法(低压缩比),-9


或–best 表示最慢压缩方法(高压缩比)。系统缺省值为 6。

unzip 命令

用 MS Windows 下的压缩软件 winzip 压缩的文件如何在 Linux 系统下展开呢?可以用 unzip


命令,该命令用于解扩展名为.zip 的压缩文件。

语法:unzip [选项] 压缩文件名.zip

各选项的含义分别为:

-x 文件列表 解压缩文件,但不包括指定的 file 文件。

-v 查看压缩文件目录,但不解压。

-t 测试文件有无损坏,但不解压。

-d 目录 把压缩文件解到指定目录下。

-z 只显示压缩文件的注解。

-n 不覆盖已经存在的文件。

-o 覆盖已存在的文件且不要求用户确认。

-j 不重建文档的目录结构,把所有文件解压到同一目录下。
Linux 系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文
件和目录进行访问和操作。

文件或目录的访问权限分为只读,只写和 可执行三种。以文件为例,只读权限表示只允许
读其内容,而禁止对其做任何的更改操作。可执行权限表示允许将该文件作为一个程序执
行。文件被创建时,文件所 有者自动拥有对该文件的读、写和可执行权限,以便于对文件的
阅读和修改。用户也可根据需要把访问权限设置为需要的任何组合。

有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户、其他用户。所有
者一般是文件的创建者。所有者可以允许同组用户有权访问文件,还可以将文件的访问权
限赋予系统中的其他用户。在这种情况下,系统中每一位用户都能访问该用户拥有的文件
或目录。

每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行
权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。当用
ls -l 命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。例如:

$ ls -l sobsrc. tgz

-rw-r–r– 1 root root 483997 Ju1 l5 17:3l sobsrc. tgz

横线代表空许可。r 代表只读,w 代表写,x 代表可执行。注意这里共有 10 个位置。第一个字


符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示
是一个非目录的文件。如果是 d,表示是一个目录。

例如:

- rw- r– r–

普通文件 文件主 组用户 其他用户

是文件 sobsrc.tgz 的访问权限,表示 sobsrc.tgz 是一个普通文件;sobsrc.tgz 的属主有读写权


限;与 sobsrc.tgz 属主同组的用户只有读权限;其他用户也只有读权限。

确定了一个文件的访问权限后,用户可以利用 Linux 系统提供的 chmod 命令来重新设定不


同的访问权限。也可以利用 chown 命令来更改某个文件或目录的所有者。利用 chgrp 命令来
更改某个文件或目录的用户组。

下面分别对这些命令加以介绍。

chmod 命令

chmod 命令是非常重要的,用于改变文件或目录的访问权限。用户用它控制文件或目录的
访问权限。

该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的
数字设定法。

1. 文字设定法

chmod [who] [+ | - | =] [mode] 文件名?

命令中各选项的含义为:

操作对象 who 可是下述字母中的任一个或者它们的组合:

u 表示“用户(user)”,即文件或目录的所有者。

g 表示“同组(group)用户”,即与文件属主有相同组 ID 的所有用户。

o 表示“其他(others)用户”。

a 表示“所有(all)用户”。它是系统默认值。

操作符号可以是:

+ 添加某个权限。

- 取消某个权限。

= 赋予给定权限并取消其他所有权限(如果有的话)。

设置 mode 所表示的权限可用下述字母的任意组合:

r 可读。

w 可写。

x 可执行。

X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加 x 属性。

s 在文件执行时把进程的属主或组 ID 置为该文件的文件属主。方式“u+s”设置文件的用户
ID 位,“g+s”设置组 ID 位。

t 保存程序的文本到交换设备上。
u 与文件属主拥有一样的权限。

g 与和文件属主同组的用户拥有一样的权限。

o 与其他用户拥有一样的权限。

文件名:以空格分开的要改变权限的文件列表,支持通配符。

在一个命令行中可给出多个权限方式,其间用逗号隔开。例如:chmod g+r,o+r example

使同组和其他用户对文件 example 有读权限。

2. 数字设定法

我们必须首先了解用数字表示的属性的含义:0 表示没有权限,1 表示可执行权限,2 表示


可写权限,4 表示可读权限,然后将其相加。所以数字属性的格式应为 3 个从 0 到 7 的八进
制数,其顺序是(u)(g)(o)。

例如,如果想让某个文件的属主有“读/写”二种权限,需要把 4(可读)+2(可写)=6(读
/写)。

数字设定法的一般形式为:

chmod [mode] 文件名?

chgrp 命令

功能:改变文件或目录所属的组。

语法:chgrp [选项] group filename?

该命令改变指定指定文件所属的用户组。其中 group 可以是用户组 ID,也可以是/etc/group


文件中用户组的组名。文件名是以空格分开的要改变属组的文件列表,支持通配符。如果用
户不是该文件的属主或超级用户,则不能改变该文件的组。

该命令的各选项含义为:

- R 递归式地改变指定目录及其下的所有子目录和文件的属组。

chown 命令

功能:更改某个文件或目录的属主和属组。这个命令也很常用。例如 root 用户把自己的一个


文件拷贝给用户 xu,为了让用户 xu 能够存取这个文件,root 用户应该把这个文件的属主设
为 xu,否则,用户 xu 无法存取这个文件。

语法:chown [选项] 用户或组 文件

说明:chown 将指定文件的拥有者改为指定的用户或组。用户可以是用户名或用户 ID。组可


以是组名或组 ID。文件是以空格分开的要改变权限的文件列表,支持通配符。

该命令的各选项含义如下:

- R 递归式地改变指定目录及其下的所有子目录和文件的拥有者。

- v 显示 chown 命令所做的工作。

passwd 命令

出于系统安全考虑,Linux 系统中的每一个用户除了有其用户名外,还有其对应的用户口
令。因此使用 useradd 命令增加时,还需使用 passwd 命令为每一位新增加的用户设置口令;
用户以后还可以随时用 passwd 命令改变自己的口令。

该命令的一般格式为: passwd [用户名] 其中用户名为需要修改口令的用户名。只有超级用


户可以使用“passwd 用户名”修改其他用户的口令,普通用户只能用不带参数的 passwd 命令
修改自己的口令。

该命令的使用方法如下:

输入

passwd< Enter>;

在(current) UNIX passwd:下输入当前的口令

在 new password:提示下输入新的口令(在屏幕上看不到这个口令):

系统提示再次输入这个新口令。

输入正确后,这个新口令被加密并放入/etc/shdow 文件。选取一个不易被破译的口令是很重
要的。

选取口令应遵守如下规则:

口令应该至少有六位(最好是八位)字符;

口令应该是大小写字母、标点符号和数字混杂的。
超级用户修改其他用户(xxq)的口令的过程如下,

# passwd root

New UNIX password:

Retype new UNIX password:

passwd: all authentication tokens updated successfully

su 命令

这个命令非常重要。它可以让一个普通用户拥有超级用户或其他用户的权限,也可以让超
级用户以普通用户的身份做一些事情。普通用户使用这个命令时必须有超级用户或其他用
户的口令。如要离开当前用户的身份,可以打 exit。

该命令的一般形式为: su [选项] [? ] [使用者帐号]

说明:若没有指定使用者帐号,则系统预设值为超级用户 root。 该命令中各选项的含义分


别为:

? c 执行一个命令后就结束。

? 加了这个减号的目的是使环境变量和欲转换的用户相同。

? m 保留环境变量不变。

password: 【输入超级用户的密码】

wall 命令

这个命令的功能是对全部已登录的用户发送信息,用户可以先把要发送的信息写好存入一
个文件中,然后输入:

# wall < 文件名

这样就能对所有的用户发送信息了。

在上面的例子中符号“<”表示输入重定向,有关它的含义和用法请参阅第十章的有关内容。
例如:
# wall ‘Thank you!’

Broadcast message from root (tty1) Fri Nov 26 14:15:07 1999…

Thank you!

执行以上命令后,用户的屏幕上显示出“Thank you!”信息后,并不出现系统提示符$(#),
再次按回车键后,屏幕出现系统提示符。

write 命令

write 命令的功能是向系统中某一个用户发送信息。 该命令的一般格式为:

write 用户帐号 [终端名称]

例如: $ write Guest hello

此时系统进入发送信息状态,用户可以输入要发送的信息,输入完毕,希望退出发送状态
时,按组合键< Ctrl+c>即可。

mesg 指令

mesg 命令设定是否允许其他用户用 write 命令给自己发送信息。如果允许别人给自己发送信


息,输入命令:

# mesg y

否则,输入:

# mesg n

对于超级用户,系统的默认值为 n;而对于一般用户系统的默认值为 y。 如果 mesg 后不带


任何参数,则显示当前的状态是 y 还是 n.。

sync 命令

sync 命令是在关闭 Linux 系统时使用的。 用户需要注意的是,不能用简单的关闭电源的方


法关闭系统,因为 Linux 象其他 Unix 系统一样,在内存中缓存了许多数据,在关闭系统时
需要进行内存数据与硬盘数据的同步校验,保证硬盘数据在关闭系统时是最新的,只有这
样才能确保数据不会丢失。一般正常的关闭系统的过程是自动进行这些工作的,在系统运
行过程中也会定时做这些工作,不需要用户干预。 sync 命令是强制把内存中的数据写回硬
盘,以免数据的丢失。用户可以在需要的时候使用此命令。该命令的一般格式为:

sync

shutdown 命令

shutdown 命令可以安全地关闭或重启 Linux 系统,它在系统关闭之前给系统上的所有登录


用户提示一条警告信息。该命令还允许用户指定一个时间参数,可以是一个精确的时间,
也可以是从现在开始的一个时间段。精确时间的格式是 hh:mm,表示小时和分钟;时间段
由“+”和分钟数表示。系统执行该命令后,会自动进行数据同步的工作。

该命令的一般格式为: shutdown [选项] [时间] [警告信息] 命令中各选项的含义为:

- k 并不真正关机,而只是发出警告信息给所有用户。

- r 关机后立即重新启动。

- h 关机后不重新启动。

- f 快速关机,重启动时跳过 fsck。

- n 快速关机,不经过 init 程序。

- c 取消一个已经运行的 shutdown。

需要特别说明的是,该命令只能由超级用户使用。

free 命令

free 命令的功能是查看当前系统内存的使用情况,它显示系统中剩余及已用的物理内存和
交换内存,以及共享内存和被核心使用的缓冲区。

该命令的一般格式为: free [-b | -k | -m] 命令中各选项的含义如下:

-b 以字节为单位显示。

-k 以 K 字节为单位显示。

-m 以兆字节为单位显示。
uptime 命令

uptime 命令显示系统已经运行了多长时间,它依次显示下列信息:现在时间、系统已经运
行了多长时间、目前有多少登录用户、系统在过去的 1 分钟、5 分钟和 15 分钟内的平均负载。

该命令的一般格式为: uptime

df 命令

功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间
目前还剩下多少空间等信息。

语法:df [选项]

说明:df 命令可显示所有文件系统对 i 节点和磁盘块的使用情况。

该命令各个选项的含义如下:

-a 显示所有文件系统的磁盘使用情况,包括 0 块(block)的文件系统,如/proc 文件系统。

-k 以 k 字节为单位显示。

-i 显示 i 节点信息,而不是磁盘块。

-t 显示各指定类型的文件系统的磁盘空间使用情况。

-x 列出不是某一指定类型文件系统的磁盘空间使用情况(与 t 选项相反)。

-T 显示文件系统类型。

du 命令

du 的英文原义为“disk usage”,含义为显示磁盘空间的使用情况。

功能:统计目录(或文件)所占磁盘空间的大小。

语法:du [选项] [Names…]

说明:该命令逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块(1024
字节)的情况。若没有给出 Names,则对当前目录进行统计。
该命令的各个选项含义如下:

-s 对每个 Names 参数只给出占用的数据块总数。

-a 递归地显示指定目录中各文件及子孙目录中各文件占用的数据块数。若既不指定-s,也不
指定-a,则只显示 Names 中的每一个目录及其中的各子目录所占的磁盘块数。

-b 以字节为单位列出磁盘空间使用情况(系统缺省以 k 字节为单位)。

-k 以 1024 字节为单位列出磁盘空间使用情况。

-c 最后再加上一个总计(系统缺省设置)。

-l 计算所有的文件大小,对硬链接文件,则计算多次。

-x 跳过在不同文件系统上的目录不予统计。

dd 命令

功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换
可以用该命令实现 DOS 下的 diskcopy 命令的作用。先用 dd 命令把软盘上的数据写成硬盘的
一个寄存文件,再把这个寄存文件写入第二张软盘上,完成 diskcopy 的功能。需要注意的
是,应该将硬盘上的寄存文件用 rm 命令删除掉。系统默认使用标准输入文件和标准输出文
件。

语法:dd [选项]

if =输入文件(或设备名称)。

of =输出文件(或设备名称)。

ibs = bytes 一次读取 bytes 字节,即读入缓冲区的字节数。

skip = blocks 跳过读入缓冲区开头的 ibs*blocks 块。

obs = bytes 一次写入 bytes 字节,即写入缓冲区的字节数。

bs = bytes 同时设置读/写缓冲区的字节数(等于设置 ibs 和 obs)。

cbs = byte 一次转换 bytes 字节。

count=blocks 只拷贝输入的 blocks 块。


conv = ASCII 把 EBCDIC 码转换为 ASCIl 码。

conv = ebcdic 把 ASCIl 码转换为 EBCDIC 码。

conv = ibm 把 ASCIl 码转换为 alternate EBCDIC 码。

conv = block 把变动位转换成固定字符。

conv = ublock 把固定位转换成变动位。

conv = ucase 把字母由小写转换为大写。

conv = lcase 把字母由大写转换为小写。

conv = notrunc 不截短输出文件。

conv = swab 交换每一对输入字节。

conv = noerror 出错时不停止处理。

conv = sync 把每个输入记录的大小都调到 ibs 的大小(用 NUL 填充)。

fdformat 命令

软盘是用户常用的存储介质之一。软盘在使用之前必须先作格式化操作,然后可以用
tar、dd、cpio 等命令存储数据,也可以在软盘上建立可安装的文件系统。

功能:低级格式化软盘

语法:format [-n] device

说明:该命令的作用是对软盘进行格式化。

-n 软盘格式化后不作检验。

device 指定要进行格式化的设备,通常是下述设备之一:

/dev/fd0d360

/dev/fd0h1200

/dev/fd0D360
/dev/fd0H360

/dev/fd0D720

/dev/fd0H720

/dev/fd0h360

/dev/fd0h720

/dev/fd0H1440

echo 命令

echo 命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。

该命令的一般格式为: echo [ -n ] 字符串

其中选项 n 表示输出文字后不换行;字符串可以加引号,也可以不加引号。用 echo 命令输


出加引号的字符串时,将字符串原样输出;用 echo 命令输出不加引号的字符串时,将字符
串中的各个单词作为字符串输出,各字符串之间用一个空格分割。

cal 命令

cal 命令的功能是显示某年某月的日历。

该命令的一般格式为: cal [选项] [月 [年]] 命令中各选项的含义为:

- j 显示出给定月中的每一天是一年中的第几天(从 1 月 1 日算起)。

- y 显示出整年的日历。

date 命令

date 命令的功能是显示和设置系统日期和时间。

该命令的一般格式为: date [选项] 显示时间格式(以+开头,后面接格式)

date 设置时间格式

命令中各选项的含义分别为:
-d datestr, –date datestr 显示由 datestr 描述的日期

-s datestr, –set datestr 设置 datestr 描述的日期

-u, –universal 显示或设置通用时间

时间域

% H 小时(00..23)

% I 小时(01..12)

% k 小时(0..23)

% l 小时(1..12)

% M 分(00..59)

% p 显示出 AM 或 PM

% r 时间(hh:mm:ss AM 或 PM),12 小时

% s 从 1970 年 1 月 1 日 00:00:00 到目前经历的秒数

% S 秒(00..59)

% T 时间(24 小时制)(hh:mm:ss)

% X 显示时间的格式(%H:%M:%S)

% Z 时区 日期域

% a 星期几的简称( Sun..Sat)

% A 星期几的全称( Sunday..Saturday)

% b 月的简称(Jan..Dec)

% B 月的全称(January..December)

% c 日期和时间( Mon Nov 8 14:12:46 CST 1999)

% d 一个月的第几天(01..31)
% D 日期(mm/dd/yy)

% h 和%b 选项相同

% j 一年的第几天(001..366)

% m 月(01..12)

% w 一个星期的第几天(0 代表星期天)

% W 一年的第几个星期(00..53,星期一为第一天)

% x 显示日期的格式(mm/dd/yy)

% y 年的最后两个数字( 1999 则是 99)

% Y 年(例如:1970,1996 等)

注意:只有超级用户才有权限使用 date 命令设置时间,一般用户只能使用 date 命令显示时


间。

clear 命令

clear 命令的功能是清除屏幕上的信息,它类似于 DOS 中的 cls 命令。清屏后,提示符移动


到屏幕左上角。

Pico 是一个由华盛顿大学(University of Washington)计算与通讯研究所(Computing and


Communications Group)编写并维护的文本编辑程序,在多个版本的 Unix 和类 Unix 操作系
统中都有移植版本。作为一个简单的纯文本编辑器,pico 并不具备字处理 程序中常见的增
强功能,例如黑体和斜体等等。Pico 的基本功能包括文本输入,文本搜索,拼写检查,文
件浏览,文本拷贝、剪切和粘贴。很有意思的是,一个 功能如此简单的文本编辑器,竟然经
常被开发人员用来编写程序代码 -- 在种类繁多的纯文本编辑器中,pico 在程序员中的市
场占有率仅次于 vi。

在命令行下输入 pico 命令,即可启动 pico 编辑器,例如:

pico [回车] --启动 pico,并创建一个新文件


pico file_name [回车] -- 启动 pico,并打开文件名为 file_name 的文件

在 pico 中同时按下 CTRL 键和 x 键,可以退出 pico。如果 pico 中正在编辑的文件存在尚未


存盘的修改内容,pico 会询问你是否需要保存修 改过的内容。如果需要保存的是一个新创
建的文件,pico 还会让你输入新文件的文件名。在这里保存文件或者是放弃保存后就退出
pico 了。
上图是一个在 Putty 中运行的 pico 的实例。在屏幕的最上方一行是系统信息,分别显示的是
pico 的版本号,当前正在编辑的文件名(如果正在编 辑的是一个尚未保存过的新文件,则
会显示 New Buffer)。如果缓冲区中右上为保存过的修改,在右上角还会出现 Modified 提
示。

在屏幕的最下方两行,是常用的系统命令。每个命令都是一个组合键,也就是同时按下
CTRL 键(在 pico 提示中用^符号表示按下 CTRL 键)和表示 该命令的字母。虽然在提示用
的字母都是大写,但是实际操作中并不需要输入大写字母。例如,调用系统帮助的命令是
^G,我们只需要同时按下 CTRL 键和 g 键 就可以了。下面列出我们常用的一些 pico 命令:

^G — 获得系统帮助
^O — 保存文件,如果这是一个新创建的文件,则会要求您输入一个文件名
^R — 要求您输入一个文本文件的文件名,将该文件的内容插入到当前光标位置
^Y — 向前翻页
^V — 向后翻页
^W — 调用搜索功能
^K — 删除光标所在的行,并将该行的内容放入粘贴缓冲区
^U — 将粘贴缓冲区中的内容粘贴到当前光标位置
^C — 报告当前光标位置
^T — 调用拼写检查功能
^J — 段落重排功能
^X — 退出 pico

需要说明的是,在 Solaris,FreeBSD 和大部分的 Linux 发行版中并没有缺省地提供 pico。如


果您的系统中没有 pico 编辑器,最方 便的方法是寻找该操作系统上的 pine 安装包,安装了
pine 之后 pico 就在系统的路径里面了。如果您没有往系统中安装应用程序的权限,还自己
下载编译 然后放入自己的路径当中。最新版本的 pine 可以从如下地址下载:

UNIX 常用命令简介 2008-07-10 02:33UNIX 常用命令简介


目录
第 0 章 建立自己的环境 4
1、CSH 4
2、BSH/SH 4
3、KSH 4
第一章 目录及文件操作 4
1、ls 4
2、pwd 5
3、cd 5
4、mkdir 5
5、more 5
6、cp 5
7、mv 6
8、rm 6
9、chmod 6
10、chown 7
11、diff 7
12、wc 7
13、touch 7
14、find 8
15、grep 8
16、vi 9
第二章 设备管理 15
1、mount 15
2、umount 15
3、tar 15
4、du 16
5、ioscan 16
6、cpio 16
第三章 进程管理 16
1、ps 16
2、kill 16
第四章 系统管理和用户管理 17
1、who 17
2、passwd 17
3、su 17
4、date 17
5、shutdown 17
6、echo 18
7、env 18
8、uname 18
9、netstat 18

第 0 章 建立自己的环境
1、CSH
在使用 C-SHELL 时,有两个环境文件需要配置:.cshrc 和.login(以“.”开头的文件通常的情
况下是隐藏的,可以采用命令“ls -a”查看)。
.cshrc 设置说明
umask 027 # 设置创建文件时的缺省权限
set history = 32 # 设置需要记忆的历史命令数目
setenv WORK_DIR $HOME # setenv 用于 csh 设置环境变量
setenv TERM vt100 # 设置终端类型
setenv PATH /opt/softbench/bin:/usr/bin/X11:/usr/c++/bin:/usr/contrib/bin: \
/usr/local/bin:/usr/contrib/bin/X11:/usr/local/bin/X11: \
/opt/ansic/bin:/opt/nettladm/bin:/opt/graphics/common/bin: \
/opt/upgrade/bin:/opt/CC/bin:/opt/langtools/bin:/opt/imake/bin: \
${PATH}:.:${INFORMIXDIR}/bin:${INFORMIXDIR}/lib/esql
# 设置执行搜索路径
.login 设置说明
stty erase "^H" kill "^U" intr "^C" eof "^D" susp "^Z" \
hupcl ixon ixoff tostop tabs eval `tset -s -Q -m ':?hp' `
# stty 用于设置终端的特殊键位。backspace 是删除,delete 是 kill,ctrl + C 是中断,等。
# 很多人回退键没法使用,ctrl+C 也没发用等,就是因为没有设置这些属性。
另,在 HPUX 下经常出现需要自己选择终端类型的提示“TERM = (hp)”,这是因为在.login
文件中含有怎么一行“eval `tset -s -Q -m ':?hp' `”,你只需将它注释掉即可,然后直接使用命
令“setenv TERM ***”设置终端类型即可。
2、BSH/SH
待写。
3、KSH
待写。
第一章 目录及文件操作
1、ls
语法:ls [选项] 路径名称
说明:文件、目录列表命令
常用选项说明:
-a 列出所有文件,包括第一个字符为“.”的隐藏文件
-F 目录加/,执行文件加*,符号连接后加@
-l 长列表输出,显示文件详细信息,每行一个文件,从左至右依次是:
文件存取模式 链接数 文件主 文件组 文件字节数 上次修改时间
其中文件存取模式用 10 个字母表示,从左至右的意义如下:
第一个字母表示文件种类,可以是以下几种情况:
d 为目录文件
l 为链接
b 为块文件
c 为字符型文件
p 为命名管道(FIFO)
- 为普通文件
后面 9 个字母分别表示文件主、同组用户、其他用户对文件的权力,用 r 表示可读,w 表示
可写,x 表示可执行。如果是设备文件,则在文件字节数处显示:主设备 从设备。
举例:
ls 查看当前目录下的文件
ls -l 详细查看当前目录下的文件
ls -al /bin 以长列表的形式列出目录 /bin 下的所有文件,包括隐藏文件
2、pwd
语法:pwd
说明:本命令用于显示当前的工作目录
举例:
pwd 显示出当前的工作目录
3、cd
使用:cd 路径名称
说明:本命令用于改变当前的工作目录,无参数时使用环境变量 $HOME 作为其参数
($HOME 一般为注册时进入的路径)。
举例: cd 回到注册进入时的目录
cd /tmp 进入 /tmp 目录
cd .. 进入上级目录(“..”代表上一级目录,“.”代码当前目录)
4、mkdir
使用:mkdir 目录名称
说明:新建目录
举例:mkdir log 在当前目录下建立 log 目录
mkdir log/record 在 log 目录下建立 record 目录
5、more
使用:more [选项] 文件名
说明: 将文件显示在终端上,每次一屏,在左下部显示 --more--,若是从文件读出
而非从管道,则在后面显示百分比,表示已显示的部分,按回车键则上滚一行,按空格键
则上滚一屏,未显示完时可以使用 more 命令中的子命令。
6、cp
使用:cp 文件 目标
说明:将文件拷贝到目标上,目标不能与文件同名, 若目标是文件名,则拷贝的文件只能
有一个,若目标是目录, 则拷贝的文件可以有多个,若目标文件不存在,则建立这个文件,
若存在,则覆盖其以前的内容,若目标是目录,则将文件拷贝到这个目录下。
举例: cp file1 file2 将文件 file1 拷贝到文件 file2
cp file1 file2 /tmp 将文件 file1 和文件 file2 拷贝到目录 /tmp 下
7、mv
使用:mv 文件 目标
说明:将文件移动至目标,若目标是文件名,则相当于文件改名
举例: mv file1 file2 将文件 file1 改名为 file2
mv file1 file2 /tmp 将文件 file1 和文件 file2 移动到目录 /tmp 下
8、rm
使用:rm 文件 / rm -r 目录
说明:删除文件或目录
举例: rm file1 删除文件 file1
rm -r /mytmp 递归地删除目录 /mytmp,及其子目录
9、chmod
使用:chmod [-R] 模式 文件...
或 chmod [ugoa] {+|-|=} [rwxst] 文件...
说明:改变文件的存取模式,存取模式可表示为数字或符号串,例如:
chmod nnnn file , n 为 0-7 的数字,意义如下:
4000 运行时可改变 UID
2000 运行时可改变 GID
1000 置粘着位
0400 文件主可读
0200 文件主可写
0100 文件主可执行
0040 同组用户可读
0020 同组用户可写
0010 同组用户可执行
0004 其他用户可读
0002 其他用户可写
0001 其他用户可执行
nnnn 就是上列数字相加得到的,例如 chmod 0777 file 是指将文件 file 存取权限置为所
有用户可读可写可执行。
-R 递归地改变所有子目录下所有文件的存取模式
u 文件主
g 同组用户
o 其他用户
a 所有用户
+ 增加后列权限
- 取消后列权限
= 置成后列权限
r 可读
w 可写
x 可执行
s 运行时可置 UID
t 运行时可置 GID
举例:
chmod 0666 file1 file2 将文件 file1 及 file2 置为所有用户可读可写
chmod u+x file 对文件 file 增加文件主可执行权限
chmod o-rwx 对文件 file 取消其他用户的所有权限
10、chown
使用:chown [-R] owner:[group] 文件...
说明:修改文件的文件主,文件的 UID 表示文件的文件主,文件主可用数字表示, 也可用
一个有效的用户名表示,此命令改变一个文件的 UID,仅当此文件的文件主或超级用户可
使用。
-R 递归地改变所有子目录下所有文件的存取模式
owner 用户(使用用户名或 ID 均可)
group 用户组(使用用户组名或 ID 均可)
举例:
chown mary file 将文件 file 的文件主改为 mary
chown 150 file 将文件 file 的 UID 改为 150 ls [选项] 路径名称
chown dualbase:informix tdfs 将 tdfs 文件修改为 dualbase 用户,informix 用户组
11、diff
使用:diff 文件 1 文件 2
说明:比较两个文本文件,将不同的行列出来
举例:
diff scf0.log scf1.log 比较 scf0.log 和 scf1.log 的不同
12、wc
使用:wc 文件 ...
说明:统计文件的行、字、字符数
举例:
wc scf0.log scf1.log 统计 scf0.log 和 scf1.log 两个文件的行、字和字符数
13、touch
使用:touch [-amc] [mmddhhmm[yy]] 文件...
说明:将指定文件的访问时间和修改时间改变,若指定文件不存在则创建之,若无指定时
间,则使用当前时间,返回值是未成功改变时间的文件个数,包括不存在而又未能创建的
文件。
-a 只改变访问时间
-m 只改变修改时间
-c 若文件不存在,不创建它且不作提示
mmddhhmm[yy] 两位表示 月日时分[年]
举例:
touch file 更新文件 file 的时间为当前时间
touch 0701000097 HongKong 将文件 HongKong 的时间改为 97 年 7 月 1 日 0 时 0 分
14、find
使用:find 路径名... 表达式
说明:find 命令递归地遍历指定路径下的每个文件和子目录,看该文件是否能使表达式值
为真,以下 n 代表一个十进制整数,+n 代表打印 n , -n 代表小于 n ,下面是合法表达式
说明:
-name 模式 文件名与模式匹配则为真,(\ 为转意符)
-size n[c] 文件块长度为 n 则真(一块为 512 字节),若
有 c 选项,则文件字节长度为 n 则真
-atime n 若文件的最近访问时间为 n 天前则为真,
find 命令将改变其访问的目录的访问时间
-mtime n 若文件的最近修改时间为 n 天前则为真
-ctime n 若文件状态为 n 天前改变则为真
-exec 命令 { }\; 若命令返回值为 0 则真,{ }内为命令参数,
此命令必须以 \; 为结束
-ok 命令 { }\; 与 exec 相同,只是在命令执行前先提示,若
回答 y 则执行命令
-print 显示输出使表达式为真的文件名
-newer 文件 若文件的访问时间比 newer 指定的文件新则真
举例:
find / -name find* -print
从根目录开始搜索文件名如 find* 的文件并显示之
find ./ -exec sleep{1}\; -print
每秒显示一个当前目录下的文件
find $HOME \(-name a.out -o -name '*.o' \) -atime +7 -exec rm {} \;
从$HOME 目录开始搜索,删除所有文件名为 a.out 或 *.o 且访问时间在 7 天前的文件 ls
[选项] 路径名称
15、grep
使用:grep [选项] 模式 [文件...]
说明:在指定的文件中搜索模式,并显示所有包含模式的行,模式是一个正规表达式,在
使用正规表达式时,最好将其引在单引号(') 中,若指定文件为缺省,则使用标准输入,正
规表达式可以是:
. 匹配任意一个字符
* 匹配 0 个或多个*前的字符
^ 匹配行开头
$ 匹配行结尾
[] 匹配[ ]中的任意一个字符,[]中可用 - 表示范围,
例如[a-z]表示字母 a 至 z 中的任意一个
\ 转意字符
命令中的选项为:
-i 模式中字母不区分大小写
-n 显示模式所在行的行号
-v 显示所有不包含模式的行
举例:
grep 'good' * 在所有文件中搜索含有字符串 good 的行
grep '^myline' mytext 在文件 mytext 中搜索行首出现 myline 字符串的行
16、vi
使用:vi 文件名...
说明:vi 是一个全屏幕编辑器,在命令后跟多个文件时,在第一个文件关闭后,会自动打
开第二个文件,依次类推。使用 UNIX 开发,vi 是必须掌握的。
vi 工作模式分为命令模式和输入模式。在输入模式下,输入的一切作为文本插入到当前编
辑的缓冲区。在命令模式下,输入的字符都将被翻译成命令。
在输入模式下按“ESC”键进入命令模式。
在命令模式下,进入输入方式的命令:
a 在当前光标的后面插入文本
A 在当前光标的所在的行末插入文本
C 修改当前行光标后面的文本
cw 修改当前词光标后面的字符
i 在当前光标处添加新文本
I 在当前行开头插入新文本
o 在当前行后插入一行
O 在当前行前插入一行
s 用一串字符替换当前字符
光标移动命令:
h, 左行键, backspace 光标左移
j, 下行键 光标下移
k, 上行键 光标上移
l, 右行键, space 光标右移
0(数字 0) 移光标到当前行首
$ 移光标到当前行末
b, B 光标前移一个词,光标落在第一个字符(B 忽略标点)
w, W 光标下移一个词,光标落在第一个字符(C 忽略标点)
( 移光标到上一句开头
) 移光标到下一句开头
{ 移光标到上一段(段一般以空行为依据)开头
} 移光标到下一段(段一般以空行为依据)开头
[[ 移光标到上一节(节一般以{为依据)开头
]] 移光标到下一节(节一般以{为依据)开头
H 移动光标到当前缓冲区的第一行
L 移动光标到当缓冲区的最后一行
M 移动光标到当缓冲区的中间行
编辑区移动命令(^表示 Ctrl 键):
^B 上移(回退)一屏
^U 上移(回退)半屏
^F 下移(前移)一屏
^D 下移(前移)半屏
到一个行号:
: n 到第 n 行
nG 到第 n 行
1G 到文件第 1 行
G 到文件尾
vi 编辑命令(包括上面提到的进入输入方式的所以命令)还有下面一些常用的:
修改命令:
r 替换一个字符但不进入输入模式
~ 大小写替换
取消和重复改变:
. 重复上次命令来修改缓冲区
u 取消上次最后一条命令
删除文本:
dd 删除当前行
d n d 删除当前下面的 n 行
dG 删除到文件尾
D 删除到行末
x 删除当前的字符
:line1, line2d 删除 line1 到 line2 之间的行
:line1, $ d 删除 line1 到文件末的所有行($代表文件末)
复制和移动(拷贝时,一般是存储到缺省缓冲区,可以采用“"缓冲区名”的方式指定存储的
缓冲区名称,缓冲区名可以是“a~z”的字符,如“"a”指定 a 缓冲取,“"g”指定 g 缓冲区;缺
省缓冲区不能在文件间使用,但命名缓冲区可以在不同的文件间切换使用,此处的切换是
指的不退出 vi,而调入新文件的切换;当在不同的文件间进行拷贝时,就可以采用这种命
名缓冲区,命名缓冲区的引用采用“"缓冲区名”的方式;可以使用命令“m 标记名”方式定义
某字符标记当前行,标记名可以是“a~z”的字符,如 mj,使用 j 标记当前行,标记的引用采
用“'字符”的方式):
yy 复制当前行(到缺省缓冲区)
"ayy 复制当前行(到 a 缓冲区)
yny 复制当前 n 行(到缺省缓冲区)
"ayny 复制当前 n 行(到 a 缓冲区)
y'j 复制当前行到字符 j 所标记行之间的行到缺省缓冲区
"ay'j 复制当前行到字符 j 所标记行之间的行到 a 缓冲区
p 粘贴当前缓冲区内容到光标位置之后
P 粘贴当前缓冲区内容到光标位置之前
"ap 粘贴 a 缓冲区内容到光标位置之后
"aP 粘贴 a 缓冲区内容到光标位置之后
查找字符串:
/ 模式 向前搜索模式,将光标移动到模式出现处,模式是一个正规表达式
? 模式 向后搜索模式,将光标移动到模式出现处,模式是一个正规表达式
n 重复上次搜索

下面是 vi 的命令集列表:
^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 光标回退一个字
C 替换光标后的内容
D 删除光标后的内容
E 光标前移到字尾
F 字符 在当前行向左查找指定字符
G 光标移动到其前面数字指定的行,若未指定则移动到最后一行
H 光标移动到屏幕顶行,若前面有数字,则移动到屏幕上该数字
指定的行
I 在行开头插入正文
J 连接两行,若前面有数字则连接数字指定的行
L 光标移动到屏幕底行,若前面有数字,则移动到屏幕底线往上数该
数字指定的行
M 光标移动到屏幕中线
N 使用模式查找/或?时,重复找下一个匹配的模式,但方向与上次相
反,其功能同 n ,但方向相反
O 在当前行上开辟一新行
P 将上次被删除的正文插入光标前面,可在其前面加缓冲区编号,编
号 1-9 用于保存被删去的正文,字母名缓冲区 a-z 供用户存放自定
义的正文
Q 从 vi 推出进入 ex 命令状态
R 替换字符串
S 替换整行
T 字符 向左查找字符
U 将当前行恢复至第一次修改前的状态
W 光标移至下一个字首
X 删除光标前的字符
Y 将当前行存入无名缓冲区,前面加数字表示存入的行数,也可用有
名缓冲区来保存,以后可用命令 p 或 P 将其取出
ZZ 存盘退出 vi
a 光标后插入正文
b 光标回退至上一个字首
cw 替换当前字
c) 替换当前句子
dw 删除一个字
dd 删除一行
e 光标移到下一个字末
f 字符 在当前行向前查找字符
h 光标左移一格
i 在光标前插入正文
j 光标下移一行
k 光标上移一行
l 光标右移一格
m 字母 用字母标记当前行,以后可用 '字母使光标移动到当前行,
(参看'命令)
n 重复上次 / 或 ? 命令
o 在当前行下开辟一新行
p 将用户缓冲区内容放到光标位置(参看 P 命令)
r 替换当前字符
s 用一串字符替换当前字符
t 字符 光标移动至字符前
u 取消上次操作
w 光标移至下一字首
x 删除当前字符
yw 将当前字存入无名缓冲区,前面可加"x,表示存入名字为 x 的有名
缓冲区(x 为 a-z),也可加数字表示存入的字数,以后可用 P 或 p 命
令取出
yy 将当前行存入无名缓冲区,用法参看 yw
{ 光标移动至前一段开头
| 光标移至行首,若前面加数字,则移到数字指定行的行首
} 光标移至下一段开头
在“:”提示符下,常用命令如下:
:w 当前文件存盘
:w! 强制存盘
:w 文件 将内容写入指定文件
:w! 文件 强制写入指定文件
:x,y w 文件 将 x 至 y 行写入指定文件中
:r 文件 将文件读到光标位置
:r ! 命令 将系统命令的输出读到光标位置
:q 退出编辑
:q! 强制退出
:x 与命令 ZZ 相同
:e 文件名 编辑另一文件
:e ! 重新编辑文件,放弃任何改变
:sh 执行 sh,结束后回到编辑
:! 命令 执行命令后回到编辑
:n 编辑下一文件
:n 文件表 重新定义待编辑文件表
:set 设置 vi 的选项,例如 set nu 表示每行前显示行号,在选项前
加 no 则表示清除该选项,例如 set nonu 表示每行前不显示行
号,下面是一些常用的选项:
ai 自动缩进
aw 编辑下一文件前自动存盘
ic 查找字符串时不区分大小写
nu 每行前显示行号
sm 输入)及}时显示与之配对的( 或 {
slow 插入时延迟屏幕刷新
ws 使查找能绕过文件尾从头进行
wa 写文件之前不作对文件的检查
第二章 设备管理
1、mount
使用:mount [-r] 设备 目录
说明:将设备安装到目录下
-r 以只读方式安装
举例:
将 CDROM(路径/dev/dsk/c0t2d0,可以使用命令 ioscan -fnC disk 检查)安装到/cdrom 目录
下:mount /dev/dsk/c0t2d0 /cdrom
2、umount
使用:umount 设备
说明:将安装的文件系统卸下
举例:umount /cdrom 将安装在/cdrom 下的文件系统卸载。
3、tar
使用:tar -c [vwfbL] [设备] [块] 文件...
tar -r[vwfbL] [设备] [块] 文件...
tar -t[vfL] [设备] [文件...]
tar -u[vwfbL] [设备] [块] 文件...
tar -x[lmovwfL] [设备] [文件...]
说明:将多个文件归档到一个文件中,命令中各参数的意义为:
x 抽取文件
t 显示文件
u 附加方式归档,同时删除旧版文件
c 建立新档案文件
v 显示所处理的文件名
f 处理文件,f 不带缺省为磁带
举例:
tar tvf file.tar 查看 file.tar 中有那些文件
tar tv 查看磁带中有那些文件
tar xvf file.tar 抽取 file.tar 中的文件
tar xv 抽取磁带中的文件
tar cvf file.tar log bin 创建新文件 file.tar,包含 log,bin 两个文件或目录
tar cv log bin 创建新的磁带文档,包含 log,bin 两个文件或目录
4、du
使用:du [-sk] 目录/文件
说明:显示磁盘文件的使用情况,s 选项表示只显示指定目录或文件的大小,k 选项表示以
KBYTE 为单位。
举例:du -sk log 显示 log 文件或目录的大小
5、ioscan
使用:ioscan [选项]
说明:查看 IO 系统,如磁盘,网卡等
举例:
ioscan -fnC disk/lan 详细查看磁盘/网卡设备
ioscan 查看所有 IO 设备
6、cpio
使用:cpio [选项] 文件或目录
说明:同 tar 类似
举例:
cpio -icvdumB < IDS.CPI 从文件 IDS.CPI 中抽取文件
第三章 进程管理
1、ps
使用:ps [ -efl] [ -t 终端表] [ -u 用户表] [ -g 组表]
说明:显示出有关进程的状态
-e 显示出现在正在运行的所有进程
-f 显示所有信息
-l 产生一个长列表
-u 显示指定用户进程
举例:
ps -lu scp 详细查看 scp 用户的各进程状态
2、kill
使用:kill -信号 进程号
说明:将信号传递给指定进程,信号共有几十个,但常用的是以下几个:
# define SIGNULL 0 /* Null, Check access to pid */
# define SIGINT 2 /* Interrupt */
# define SIGQUIT 3 /* quit */
# define SIGKILL 9 /* kill (cannot be caught or ignored) */
# define SIGBUS 10 /* bus error */
# define SIGSEGV 11 /* Segmentation violation */
# define SIGSYS 12 /* bad argument to system call */
# define SIGPIPE 13 /* write on a pipe with no one to read it */
# define SIGALRM 14 /* alarm clock */
# define SIGTERM 15 /* Software termination signal from kill */
# define SIGUSR1 16 /* user defined signal 1 */
# define SIGUSR2 17 /* user defined signal 2 */
# define SIGCHLD 18 /* Child process terminated or stopped */
# define SIGCLD SIGCHLD /* death of a child */
# define _SIGSTOP 24 /* Stop signal (cannot be caught or ignored) */
SIGBUG 和 SIGSEGV 信号通常产生我们常见的 core 文件,SIGUSR1 和 SIGUSR2 是留给用
于自定义唯有的两个。
SIGNULL 信号需要特殊注意,它主要用来测试一个进程是否存在,实际上并不会发出这么
一个信号。相对于 ps 和 grep 组合来检查进程来说,使用 SIGNULL 来检查进程性能非常的
好,不过它需要预先检查出进程 ID。
举例: 给某进程 ID 为 1068 的进程发送一个 SIGTERM 信号终止其运行,
kill -s SIGTERM 1068
kill -s 15 1068
kill -SIGTERM 1068
kill -15 1068
第四章 系统管理和用户管理
1、who
使用:who
说明:显示本系统的登录人员
举例:whoami 显示自己
2、passwd
使用:passwd [用户]
说明:修改密码,指定用户则修改指定用户密码
3、su
使用:su [- ] [用户名]
说明:su 命令使当前用户成为指定用户,若无指定,则成为超级用户,但必须输入该用户
的密码,-选项表示用该用户的注册环境
4、date
使用: date
date mmddhhmm[yy]
说明: date 无参数时用于显示系统时间,修改时间时参数形式为:月日时分[年]
5、shutdown
使用:shutdown [-h] [-y]
说明:关机命令,不同 UNIX 操行系统,可能会有所不同。
HPUX 立即关机命令:shutdown -h -y 0(0 表示等待时间为 0 秒)
进入单用户状态:shutdown
重新启动机器:reboot -r
6、echo
使用:echo 环境变量
说明:显示环境变量内容
7、env
使用:env [选项] 路径名称
说明:显示所有环境变量
8、uname
使用:uname [-a]
说明:显示系统信息,-a 显示所有信息
9、netstat
使用:netstat -in/an
说明:查看端口状态、IP 地址
举例:netstat -an | grep 5600 查看 5600 端口的状态
netstat -in 查看网卡的 IP 地址

You might also like