UNIX系统常用命令

UNIX系统资料大全

UNIX系统常用命令

UNIX系统常用命令
UNIX系统常用命令格式:
command [flags] [argument1] [argument2] ...
其中flags以-开始,多个flags可用一个-连起来,如ls -l -a 与ls -la相同。

根据命令的不同,参数分为可选的或必须的;所有的命令从标准输入接受输入,输出
结果显示在标准输出,而错误信息则显示在标准错误输出设备。可使用重定向功能对
这些设备进行重定向。

命令在正常执行结果后返回一个0值,如果命令出错可未完全完成,则返回一个
非零值(在shell中可用变量$?查看). 在shell script中可用此返回值作为控制逻辑
的一部分。

注:不同的UNIX版本的flags可能有所不同。

1、与用户相关的命令
1.1 login
(在LINUX Redhat下此命令功能与Solaris/BSD不同,执行login会退出当前任务).

login:
Password:

相关文件:
在下面的这些文件中设定shell运行时必要的路径,终端类型,其他变量或特殊程序.

$HOME/.profile (Bourne shell, sh, bash)
$HOME/.cshrc (csh, tcsh)
$HOME/.tcshrc (tcsh)
/etc/passwd文件中列出每个用户的shell
/etc/csh.cshrc
/etc/csh.login
/etc/profile (Bourne shell, bash)
/etc/login (Bourne shell, bash)

csh: /etc/csh.cshrc和$HOME/.cshrc每次执行都会读取,
而/etc/csh.login和$HOME/.login只有注册shell才执行
修改相应文件后使用 source .cshrc使能相关修改,如果修改了path则
还需使用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; export TERM
OR: export TERM=vt100 (bash)
csh: setenv TERM vt100

常用变量:
(1)Backspace $HOME/.profile $HOME/.cshrc
stty erase ^H
(2)umask 新建文件或目录的保护属性
(3)TERM
(4)切忌PATH中加入 .

1.2. rlogin
与telnet类似,连接到远程主机.

rlogin remotehost [ -l loginname ]
Or:
rsh [-l loginname] remotehost [command ]

相关文件:
远程主机的 /etc/hosts.equiv 和 $HOME/.rhosts

相关网络配置文件:
/etc/inetd.conf文件中的r系统服务.Redhat下为shell, login, exec, 对应
的网络守护进程(daemon)为in.rshd, in.rlogind, in.rexecd.

建议: 从安全角度出发,关闭r系列服务.

1.3. telnet
telnet remotehost [port]

相关文件:
/etc/inetd.conf文件中的telnet服务.
/etc/https://www.360docs.net/doc/2f4116391.html,

TIPS: strings /usr/sbin/in.telnetd |egrep issue

1.4. passwd 更改口令

1.5 exit 退出当前shell


2. 命令或文件的查找


相关shell变量:
csh/tcsh: $path
.cshrc set path=(/usr/bin /usr/local/bin $path)
sh/bash: $PATH
.profile .bash_profile
PATH=/usr/local/bin:$PATH; export PATH

2.1 which
Syntax: which command

which为bash/tcsh内带命令
[hbwork@toshiba]$ which which
which: shell built-in command.
2.2 where(tcsh)
Syntax: where command
2.3 locate (LINUX)
Syntax: locate filename

相关命令: updatedb更改locate文件名数据库

3. 查看命令的用法
man
相关文件:
/etc/man.config

4. 管理员常用命令

4.1 install
用于安装一个新的命令或daemon等. 一般情况下可以不用,但很多软件在其安装
shell script中使用install将目标文件复制到相应的目录并设置正确的属性等.


NAME
install - copy files and set their attributes

SYNOPSIS
install [options] [-s] [--strip] source dest
install [options] [-s] [--strip] source... directory
install [options] [-d,--directory] directory...
Options:
[-c] [-g group] [-m mode] [-o owner] [--group=group]
[--mode=mode] [--owner=owner] [--help] [--version]

4.2 shutdown
不同的unix参数不尽相同,在linux下常用如下方式关机:
shutdown -h now
shutdown -r now (等同于reboot)

4.3 halt
poweroff
关机,在多用户方式下(Runlevel 3)不建议使用,

4.4 ulimit
korn shell和bourne shell中可用此命令,在csh系列中相应的命令为limit.
用于限制每个进程可使用的系统资源,通常分两种限制:
. Hard limits 系统所定义的资源,只有root能更改
. 软限制 对新建进程所使用的限制,可增加到系统的Hard Limit.

Flags:
-a 列出软限制
-Ha 列出Hard Limit
-c size 设置coredump size的块大小
-t size cputime
-f size file size

4.5 umask 系统管理员用于设置用户默认的umask值.


5.与进程相关的命令

进程基本概念: 进程与命令的执行相关,但并不是一一对应; 一条命令可能对应若干
个进程(如shell script, pipe等).但最简单的命令与umask只有一个进程.

进程分类:
.交互式进程:可以前台或后台执行,前后台可切换
.批处理进程:不通过终端提交,一般将它们放在任务队列中顺序执行. 如通过
at 和 crontab提交的任务.
.deamon:永不终止的进程,等待响应来自其他进程的服务请求.如sendmail,
named(DNS), POP3及apache等.

进程的相关属性:
PID
Real UID
Effective UID (SUID)
Real GID
Effective GID (SGID)
Priority(Nice Number)执行的优先级

5.1 ps
Process Status, 列出当前运行的进程状态,根据选项不同,可列出所有的或部分进程
. 无选项时只列出从当前终端上启动的进程(SYSV)或当前用户($USER)的进程(BSD),
不同的UNIX版本之间有差别. linux使用BSD版本的ps
. BSD版本ps命令使用方法:
ps
ps aux 列出系统中所有的进程的详细情况
ps aux |egrep inetd

输出信息内容:
PID


Terminal 如无相应终端则为-
cpu time
UserID or Username
进程启动时间或日期
进程状态(Stat: S(leep) R(unnable) D(uninterrupt sleep) Z(ombie)
W 进程没有驻留页面, N: 进程的nice值为负值

5.2 kill
kill [-signal] PID

kill -l 列出可用信号量
常用信息量:
-HUP (1) 重启进程
ps ax |egrep inetd
kill -HUP pid_of_inetd
-KILL (9) 强制中止

PID取值含义:
>0 指特定进程(实际进程)
=0 同组用户的所有process(PGID)
=-1 Effective UID = 执行命令用户之uid
<0 && !=1 取绝对值之进程

5.3 nice
用于改变一个或多个进程的优先级; 但只有root或提高进程的优先级, 普通用户只能
降低进程的优先级.
nice用负数表示提高优先级,而正数表明降低优先级,通常此值范围是-20~20.

如未指定提高优先级,nice会降低或不改变进程的优先级. 当然如果没有权限的话
进程的优先级不会有任何改变.

一般情况下我们用nice来降低后台进程的优先级(默认优先级为10).

nice find . -name "*.c" -print &
nice 16 find . -name "*.c" -print &

5.4 wait
wait PID

等待作业结束,参数为pid,在shell script中有时用到.

5.5 nohup
nohup command &

5.6 sleep

sleep seconds

进程前后台切换: Ctrl-Z, fg, bg


6. 通讯

6.1 ftp
6.2 mailx
6.3 minicom (串口终端,MODEM)

7. 文件比较
cmp
comm
diff (用于比较文本文件)
diff3 (比较3个文件)
sdiff

8. 文件操作
touch 创建文件,修改文件日期等
chmod
chwon
chgrp
rm 慎用 rm -rf
mv 移动文件或改名
cp cp -r 复制目录
cat
rcp 远程复制
ln 默认情况下为硬连接,每个文件具有相同的inode
ln -s sourcefile targetfile

9. 目录操作
mkdir [-p] [-m mode] directory
rmdir [-p] directory

10. 文件信息命令
ls
find
最基本的功能是查找一个文件名或目录,常用格式如下:
find . -print (类似于 ls -lR)

find可使用如下属性进行查找:
-name 查找文件名,含通配符*?的文件名用引号括起来
-perm 00x000 八进制文件属性
-atime n n天之前访问过的文件
-mtime n n天之间修改过的文件
-ctime n 文件的状态在n前之间修改过
-exec command 如命令的返回代码为零(找到相应的文件)则真,command必须以
\; 结果,此外在命令的执行中 {} 为查找到的文件路径名
-ok command 与exec相类似,但在执行每个命令之间要求用户确认
-print 打印当前路径名
-newer filename 如文件的最后修改日期较filename新则为真
-type c c=[b,c,d,l,p,f]文件类型
-user username 如文件的属主为username则为真
-nouser 文件属主在/etc/passwd文件中不存在
-group grouname 文件组

逻辑运算符: -a -o !

示列:
find $HOME \( -name a.out -o -name "*.o" \) -atime +7 -exec rm {} \;
find . -atime 0 -print
find / .

name .profile -print
find . -perm 777 -a -mtime 7 -exec chmod 755 {} \;


file
more
less
tail (tail -f filename)
head
wc
read 用于shell编程
col
pg (SYSV)

11. 编辑器
vi
ed
joe

12. 文件内容查找
grep
egrep
正规表达式: . * ^ $ + ? []

strings


13. 任务调度
at
atq 列出队列中的任务
crontab

14. 存储,归纳及压缩
compress .Z
uncompress .Z
cpio
dd dd if=inputfile of=outputfile
dd if=boot.img of=/dev/fd0H1440
pack .z 30%-50%文本文件
pcat pact file.z
gzip .gz
gunzip
tar tar -[txc]vf targetfile [sourcefile]
tar -cvf target.tar sourcefilelist
tar -tvf target.tar [filename]
tar -xvf target.tar [filename]
GNU TAR:
tar -zcvf target.tar.gz sourcefilelist
tar -zxvf target.tar.gz [filelist]
tar -ztvf target.tar.gz [filelist]

zcat .Z

uuencode
uudecode

15. 其他命令
date
env
unix2dos (linux没有)
dos2unix
uname
uptime
free
time
top

16. 文本处理
cut
fmt 每行格式转化为72列,用于邮件格式化
fold 折行处理,一行到多行,一般为80列
join
paste
sort
tr
tr '\"' '' < file1

#!/bin/sh

for i in *
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 -f class.awk student.txt > linux-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"}
#Enf of class.awk

awk -f traffic.awk traffic.txt
文件traffic.awk内容如下:
#
#traffic.awk
#
{ if ( $2 < 10000 ) t_0 += $2;
if ( $2 > 10000 && $2 < 50000) t_10 += $2;
if ( $2 > 50000 && $2 < 100000) t_50 += $2;
if ( $2 > 100000) 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}

#End of traffic.awk


17. 网络配置命令及故障排除命令
17.1 ifconfig
Interface Config , 网卡配置命令, 相关文件:/proc/net/dev
详细使用说明: man ifconfig

示例:
#ifconfig
lo Link encap:Local Loopback
网卡标识 封装类型: 本地回环

inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0
IP地址:127.0.0.1 广播地址:127.255.255.255 子网掩码:255.0.0.0

UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1
已启动 接受广播 本地回环 正在运行 最大传输单元: 3584 路由距离向量:1

RX packets:718 errors:0 dropped:0 overruns:0 frame:0
已接受数据包:718

TX packets:718 errors:0 dropped:0 overruns:0 carrier:0
已发送数据包:718

collisions:0
碰撞:0


eth0 Link encap:Ethernet HWaddr 00:80:C8:4C:6A:D0
网卡标识 封装类型: Ethernet 硬件(MAC)地址: 00:80:C8:4C:6A:D0

inet addr:202.118.66.81 Bcast:202.118.66.255 Mask:255.255.255.0
IP地址:202.118.66.81 广播地址:202.118.66.255 子网掩码:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
已启动 接受广播 正在运行 多点广播 最大传输单元: 1500 路由距离向量:1

RX packets:13900 errors:0 dropped:0 overruns:0 frame:0
已接受数据包:13900

TX packets:5859 errors:0 dropped:0 overruns:0 carrier:0
已发送数据包:5859

collisions:0
碰撞:0

Interrupt:10 Base address:0xe400
中断(IRQ):10 端口地址: 0xe400

#ifconfig eth0 显示eth0的相关信息
#ifconfig -a 显示所有网络设备的配置信息
#ifconfig eth0 down Down掉eth0
#ifconfig eth0 202.118.66.81 broadcast 202.118.66.255 [up]
#ifconfig eth0 202.118.66.81 broadcast 202.118.66.255 netmask 255.255.255.0
#ifconfig eth0 up

17.2 route
路由表维护命令, 相关文件: /proc/net/route

$ /sbin/route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
localnet * 255.255.255.0 U 0 0 49 eth0
192.168.1.0 * 255.255.255.0 U 0 0 655 eth1
192.168.2.0 * 255.255.255.0 U 0 0 498 eth2
192.168.3.0 * 255.255.255.0 U 0 0 825 eth3
127.0.0.0 * 255.0.0.0 U 0 0 13 lo
default https://www.360docs.net/doc/2f4116391.html,. 0.0.0.0 UG 1 0 4834 eth0

#route add default gw 202.118.66.1
#route add default gw 202.118.66.1 eth0
#/sbin/route add -net 202.118.68.0 netmask 255.255.252.0 gw 202.118.66.16
#/sbin/rouet del default 202.118.66.1
#/sbin/route del -net 202.118.68.0 netmask 255.255.252.0 gw 202.118.66.16


17.3 netstat
显示主机当前路由表, 相关文件: /proc/net/route
netstat -rn
/home/hbwork[102]netstat -rn

Routing Table:
Destination Gateway Flags Ref Use Interface
-------------------- -------------------- ----- ----- ------ ---------
202.118.70.27 202.118.66.16 UGHD 0 1
202.118.69.254 202.118.66.16 UGHD 0 1
202.118.68.243 202.118.66.16 UGHD 0 1
202.118.70.21 202.118.66.16 UGHD 0 0
202.118.71.10 202.118.66.16 UGHD 0 1
202.118.71.204 202.118.66.16 UGHD 0 1
202.118.68.160 202.118.66.16 UGHD 0 1
202.199.128.52 202.118.66.254 UGHD 0 2
202.118.68.66 202.118.66.16 UGHD 0 1
202.118.69.69 202.118.66.16 UGHD 0 1
202.118.69.228 202.118.66.16 UGHD 0 1
202.118.71.68 202.118.66.16 UGHD 0 1
202.118.70.37 202.118.66.16 UGHD 0 1
202.118.66.0 202.118.66.18 U 3 12259 hme0
224.0.0.0 202.118.66.18 U 3 0 hme0
default 202.118.66.1 UG 0 70354
127.0.0.1 127.0.0.1 UH 0 41316 lo0

Destionation: 目标网络或主机
Gateway: 下一个路由,认为距离目标较近的路由的IP地址,在数据传送时将发往
这一IP地址.
Flags:
U Router is up, 目标可达
H Specific router,到特定主机的路由
G 此路由为其他路由进行间接访问到的,如果没有G标志则表明相应的
路由器或主机是直接连接在

相应的路由器上的.
D 此路由是ICMP协议的路径重定向信息所建立的.
M 由ICMP之重定向信息所修改

REFS: 在此路由上现在正在使用的链接数,这些连接可能是由连续时间较长的ftp或
telnet任务, 每个使用tcp的服务或应用在执行时此列值均加1.

Use: 自TCP/IP启动以来通过此路由器的数据包量.

Interface: 网卡逻辑名,UNIX不同取名不同.


17.4 nslookup
Name Server Lookup, DNS服务器诊断工具
使用示列:
[hbwork@helius hbwork]$ nslookup https://www.360docs.net/doc/2f4116391.html,
Server: https://www.360docs.net/doc/2f4116391.html,
Address: 202.118.66.6

Name: https://www.360docs.net/doc/2f4116391.html,
Address: 202.118.66.18
Aliases: https://www.360docs.net/doc/2f4116391.html,

[hbwork@helius hbwork]$ nslookup
Default Server: https://www.360docs.net/doc/2f4116391.html,
Address: 202.118.66.6

> https://www.360docs.net/doc/2f4116391.html,
Server: https://www.360docs.net/doc/2f4116391.html,
Address: 202.118.66.6

Name: https://www.360docs.net/doc/2f4116391.html,
Address: 202.118.66.18
Aliases: https://www.360docs.net/doc/2f4116391.html,
> set q=ns #查询相应域的DNS服务器
> https://www.360docs.net/doc/2f4116391.html, #输入要查询的域名
Server: https://www.360docs.net/doc/2f4116391.html, #默认域名服务器为https://www.360docs.net/doc/2f4116391.html,
Address: 202.118.66.6 #参考/etc/resolv.conf文件

https://www.360docs.net/doc/2f4116391.html, nameserver = https://www.360docs.net/doc/2f4116391.html,
https://www.360docs.net/doc/2f4116391.html, nameserver = https://www.360docs.net/doc/2f4116391.html,
https://www.360docs.net/doc/2f4116391.html, nameserver = https://www.360docs.net/doc/2f4116391.html,
https://www.360docs.net/doc/2f4116391.html, internet address = 202.118.66.8
https://www.360docs.net/doc/2f4116391.html, internet address = 202.118.68.1
https://www.360docs.net/doc/2f4116391.html, internet address = 202.118.69.1
https://www.360docs.net/doc/2f4116391.html, internet address = 202.118.70.1
https://www.360docs.net/doc/2f4116391.html, internet address = 202.118.71.1
https://www.360docs.net/doc/2f4116391.html, internet address = 202.118.66.16
https://www.360docs.net/doc/2f4116391.html, internet address = 202.118.66.6

> https://www.360docs.net/doc/2f4116391.html, #查询https://www.360docs.net/doc/2f4116391.html,的域名服务器
Server: https://www.360docs.net/doc/2f4116391.html,
Address: 202.118.66.6

Non-authoritative answer:
https://www.360docs.net/doc/2f4116391.html, nameserver = https://www.360docs.net/doc/2f4116391.html,

Authoritative answers can be found from:
https://www.360docs.net/doc/2f4116391.html, internet address = 202.96.64.68

> server https://www.360docs.net/doc/2f4116391.html,
Default Server: https://www.360docs.net/doc/2f4116391.html,
Address: 202.96.64.68

server: https://www.360docs.net/doc/2f4116391.html,
Address: 202.96.64.68

Non-authoritative answer:
https://www.360docs.net/doc/2f4116391.html, canonical name = https://www.360docs.net/doc/2f4116391.html,
> https://www.360docs.net/doc/2f4116391.html, #查询域https://www.360docs.net/doc/2f4116391.html,的MX记录
Server: https://www.360docs.net/doc/2f4116391.html,
Address: 202.96.64.68

Non-authoritative answer:
https://www.360docs.net/doc/2f4116391.html, preference = 1, mail exchanger = https://www.360docs.net/doc/2f4116391.html,

Authoritative answers can be found from:
https://www.360docs.net/doc/2f4116391.html, nameserver = https://www.360docs.net/doc/2f4116391.html,
https://www.360docs.net/doc/2f4116391.html, nameserver = https://www.360docs.net/doc/2f4116391.html,
https://www.360docs.net/doc/2f4116391.html, nameserver = https://www.360docs.net/doc/2f4116391.html,
https://www.360docs.net/doc/2f4116391.html, internet address = 202.118.66.8
https://www.360docs.net/doc/2f4116391.html, internet address = 202.118.66.6
https://www.360docs.net/doc/2f4116391.html, internet address = 202.118.71.1
https://www.360docs.net/doc/2f4116391.html, internet address = 202.118.66.16
https://www.360docs.net/doc/2f4116391.html, internet address = 202.118.68.1
https://www.360docs.net/doc/2f4116391.html, internet address = 202.118.69.1
https://www.360docs.net/doc/2f4116391.html, internet address = 202.118.70.1
> exit

17.5 ping
TCP/IP ICMP(Internet Control Message Protocol)

诊断工具

ping [hostname|IpAddress]

Error Message: host unreachable
network unreachable

[hbwork@helius hbwork]$ ping 202.118.66.1
PING 202.118.66.1 (202.118.66.1): 56 data bytes
64 bytes from 202.118.66.1: icmp_seq=0 ttl=255 time=23.1 ms
64 bytes from 202.118.66.1: icmp_seq=1 ttl=255 time=2.1 ms
64 bytes from 202.118.66.1: icmp_seq=2 ttl=255 time=1.9 ms

--- 202.118.66.1 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 1.9/9.0/23.1 ms

17.6 hostname
显示或设置主机名

17.7 domainname
显示或设置主机域名

17.8 traceroute
Windows 95: tracert

traceroute hostname
traceroute destionation_ip_address
17.9 arp
显示或设置相应主机/ip地址的mac地址
相关文件: /proc/net/arp
cat /proc/net/arp

$arp hostname
$arp -a
$arp ip_address

显示或设置主机名需要root权限
#arp -s hostname eth_address [temp] [pub]
#arp -d hostname
#arp -d ip_address
#arp -f mac_ip_map_file 常用文件名为/etc/ether



Openserver启动盘制作

最近有不少人问Openserver启动盘制作,方法如下:
如果你的机器不支持光盘启动或其他原因要作启动软盘,方法有三:
(1)在windows下用gzcp:提示符下运行E:\images\gzcp E:\images\boot\install.img A:。其中A:为你的软盘符,E为你的光盘符。
(2)在windows下用floppcp:提示符下运行E:\images\floppcp d/ A: /f E:\images\boot\install.img
(3)在Unix下:root注册后,在机器上插入3.5寸软盘,并将系统软件光盘放入光驱,然后敲入下面的命令:
#mount /dev/cd0 /mnt<回车>
#dd if=/mnt/images/boot/N00 of=/dev/rfd0135ds18<回车> OK!





SCO UNIX基本命令(一)
第一章 目录及文件操作
1.1 ls
[语法]: ls [-RadCxmlnogrtucpFbqisf1] [目录或文件......]
[说明]: ls 命令列出指定目录下的文件,缺省目录为当前目录 ./,缺省输出顺序为纵向按字符顺序排列。
-R 递归地列出每个子目录的内容
-a 列出所有文件,包括第一个字符为“.”的隐藏文件
-d 若后面参数是目录,则只列出目录名而不列出目录内容,常与-l选项连用以显示目录状态。
-C 输出时多列显示
-x 横向按字符顺序排列
-m 输出按流式格式横向排列,文件名之间用逗号(,)分隔
-l 长列表输出,显示文件详细信息,每行一个文件,从左至右依次是:文件存取模式 链接数 文件主 文件组 文件字节数 上次修改时间其中文件存取模式用10个字母表示,从左至右的意义如下:
第一个字母表示文件种类,可以是以下几种情况:
d 为目录文件
l 为链接
b 为块文件
c 为字符型文件
p 为命名管道(FIFO)
- 为普

通文件
后面9个字母分别表示文件主、同组用户、其他用户对文件的权力,用r表示可读,w 表示可写,x 表示可执行。如果是设备文件,则在文件字节数处显示:主设备 从设备。
-n 与-l选项相同,只是文件主用数字(即UID)显示,文件组用数字 (即GID)表示
-o 与-l选项相同,只是不显示文件组
-g 与-l选项相同,只是不显示文件属主
-r 逆序排列
-t 按时间顺序排列而非按名字
-u 显示时间时使用上次访问时间而非上次修改时间
-c 显示时间时使用上次修改i节点时间而非上次修改时间
-p 若所列文件是目录文件,则在其后显示斜杠(/)
-F 在目录文件后加’/’,在可执行文件后加’*’
-b 文件名中若有非打印字符,则用八进制显示该字符
-q 文件名中的不可打印字符用’?’表示
-i 显示节点号
-s 显示文件长度时使用块长度而非字节长度
-f 将后面的参数解释为目录并列出其中的每一项
-1 每行仅列一项
[例子]:
ls 列出当前目录下的文件
ls -al /bin 以长列表的形式列出目录 /bin 下的所有文件,包括隐藏文件
1.2 pwd
[语法]: pwd
[说明]: 本命令用于显示当前的工作目录
[例子]:
pwd 显示出当前的工作目录
1.3 cd
[语法]: cd [目录]
[说明]:本命令用于改变当前的工作目录,无参数时使用环境变量$HOME 作为其参数,$HOME 一般为注册时进入的路径。
[例子]:
cd 回到注册进入时的目录
cd /tmp 进入 /tmp 目录
cd ../ 进入上级目录
1.4 mkdir
[语法]: mkdir [-m 模式] [-p] 目录名
[说明]: 本命令用于建立目录,目录的存取模式由掩码(umask)决定,要求对其父目录具有写权限,目录的UID和GID为实际UID和GID
-m 按指定存取模式建立目录
-p 建立目录时建立其所有不存在的父目录
[例子]:
mkdir tmp 在当前目录下建立子目录 tmp
mkdir -m 777 /tmp/abc 用所有用户可读可写可执行的存取模式
建立目录 /tmp/aaa (存取模式参看命令 chmod)
mkdir -p /tmp/a/b/c 建立目录 /tmp/a/b/c ,若不存在目录 /tmp/a
及/tmp/a/b 则建立之
1.5 rmdir
[语法]: rmdir [-p] [-s] 目录名
[说明]: 本命令用于删除目录
-p 删除所有已经为空的父目录
-s 当使用-p 选项时,出现错误不提示
[例子]:
rmdir /tmp/abc 删除目录 /tmp/abc
rmdir -p /tmp/a/b/c 删除目录 /tmp/a/b/c ,若目录 /tmp/a /b及/tmp/a 空,则删除
1.6 cat
[语法]: cat [-u] [-s] [-v[-t] [-e]] 文件...
[说明]: 显示和连接一个或多个文件至标准输出
-u 无缓冲的输出(缺省为有缓冲输出)
-s 对不存在的文件不作提示
-v

显示出文件中的非打印字符,控制字符显示成^n ,n为八进制数字,其他非打印字符显示成M-x,x为该字符低7位的8进制数值
-t 在使用-v 选项时,将制表符(tab) 显示成 ^I,将换页符(formfeed)显示成 ^ L
-e 在使用-v 选项时,在每一行的行尾显示 $
[例子]:
cat file 显示文件
cat -s -v -e file1 file2 file3 逐个显示文件 file1 file2 file3
1.7 head
[语法]: head [-n] [文件 ...]
[说明]: 将文件的头n 行显示输出,缺省值为 10 行,显示多个文件时,请按序列出文件名
[例子]:
 head -9999 file1 file2 显示文件 file1 和 file2 的头 9999 行
1.8 more
[语法]: more [-cdflrsuw] [- 行数] [+ 行数] [+ / 模式 ] [ 文件 ... ]
[说明]: 将文件显示在终端上,每次一屏,在左下部显示 --more--,若是从文件读出而非从管道,则在后面显示百分比,表示已显示的部分,按回车键则上滚一行,按空格键则上滚一屏,未显示完时可以使用more 命令中的子命令。
-c 显示文件之前先清屏
-d 当输错命令时显示错误信息而不是响铃(bell)
-f 不折叠显示长的行
-l 不将分页控制符(CTRL+D)当作页结束
-r 一般情况下,more 不显示控制符,本选项使more 显示控制符,例如,将 (CTRL+C) 显示成 ^ C
-s 将多个空行转换成一个空行显示
-u 禁止产生下划线序列
-w 一般情况下 more 显示完后立即推出,本选项在显示完后作提示,敲任意键后推出
-n 行数 指定每屏显示的行数
+ 行号 从指定行号开始显示
+/ 模式 在文件中搜索指定模式,从模式出现行的上两行开始显示。文件未显示完时,可以使用more 命令中的子命令,命令中除了! 和 / 以外均不回显,也不用敲回车,当命令破坏 more 提示行时,可用退格键恢复提示行。在以下子命令操作中,i 表示数字,缺省值为 1。
i 空格 上滚一屏多 i 行
i 回车 上滚 i 行
i CTRL+D i 缺省时上滚 11 行,否则上滚 i 行
id i 缺省时上滚 11 行,否则上滚 i 行
iz i 缺省时上滚一屏,否则定义每屏为 i 行
is 跳过 i 行后显示一屏
if 跳过 i 屏后显示一屏
i CTRL+B 跳回 i 屏后显示一屏
b 跳回一屏后显示一屏
q 或 Q 退出 more
= 显示当前行号
v 从当前行开始编辑当前文件编辑器由环境变量$EDITOR定义
h 显示帮助信息
i /模式向前搜索,直至模式的第 i 次出现 , 从该行的上两行开始显示一屏
in 向前搜索,直至上一模式的第 i 次出现 , 从该行 的上两行开始显示

一屏
单引号 回到上次搜索的出发点,若无搜索则回到开始位置
! 激活一个sh 去执行指定的命令
:i 跳到后面第 i 个文件,若不存在则跳到最后一个文件
:f 显示当前文件名和行号
:q 或:Q 推出 more
. (点) 重复上次命令

[ 例子]:
more -c +50 file 清屏后,从第50行开始显示文件 file
more -s -w file1 file2 file3 显示文件 file1 file2 file3
1.9 cp
[语法]: cp [ -p ] [ -r ] 文件 1 [ 文件 2 ...] 目标
[说明]: 将文件1(文件2 ...)拷贝到目标上,目标不能与文件同名,若目标是文件名,则拷贝的文件只能有一个,若目标是目录, 则拷贝的文件可以有多个,若目标文件不存在,则建立这个文件,若存在,则覆盖其以前的内容,若目标是目录,则将文件拷贝到这个目录下。
-i 在覆盖已存在文件时作提示,若回答 y 则覆盖,其他则中止
-p 不仅拷贝文件内容,还有修改时间,存取模式,存取控制表,但不拷贝UID 及 GID
-r 若文件名为目录,则拷贝目录下所有文件及子目录和它们的文件,此时目标必须为目录
[例子]:
cp file1 file2 将文件 file1 拷贝到文件 file2
cp file1 file2 /tmp 将文件 file1 和文件 file2 拷贝到目录 /tmp 下
cp -r /tmp /mytmp 将目录 /tmp 下所有文件及其子目录拷贝至目录/mytmp
1.10 mv
[语法]: mv [-f] [-i] 文件1 [文件2...] 目标
[说明]: 将文件移动至目标,若目标是文件名,则相当于文件改名
- i 在覆盖已存在文件时作提示,若回答 y 则覆盖,其他则中止
- f 覆盖前不作任何提示
[例子]:
mv file1 file2 将文件 file1 改名为 file2
mv file1 file2 /tmp 将文件 file1 和文件 file2 移动到目录 /tmp 下
1.11 rm
[语法]: rm [-f] [-i] 文件...
或 rm -r [-f] [-i] 目录名... [文件]
[说明]: 用来删除文件或目录
 - f 删除文件时不作提示
 - r 递归地删除目录及其所有子目录
 - i 删除文件之前先作提示
[例子]:
rm file1 删除文件 file1
rm -i /tmp/* 删除目录 /tmp 下的所有文件
rm -r /mytmp 递归地删除目录 /mytmp
1.12 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 取消其他用户的所有权限
1.13 chown
[语法]: chown [-R] 文件主 文件...
[说明]: 文件的UID表示文件的文件主,文件主可用数字表示, 也可用一个有效的用户名表示,此命令改变一个文件的UID,仅当此文件的文件主或超级用户可使用。
-R 递归地改变所有子目录下所有文件的存取模式
[例子]:
chown mary file 将文件 file 的文件主改为 mary
chown 150 file 将文件 file 的UID改为150
1.14 chgrp
[语法]: chgrp [-R] 文件组 文件...
[说明]: 文件的GID表示文件的文件组,文件组可用数字表示, 也可用一个有效的组名表示,此命令改变一个文件的GID,可参看chown。
-R 递归地改变所有子目录下所有文件的存取模式
[例子]:
chgrp group file 将文件 file 的文件组改为 group
1.15 cmp
[语法]: cmp [-l] [-s] 文件1 文件2
[说明]: 比较两个文件,若文件1 为 "-" ,则使用标准输入, 两个文件相同则无提示,不同则显示出现第一个不同时的字符数和行号。
-l 显示每个不同处的字节数(10进制)和不同的字节(8进制)
-s 不作任何提示,只返回码
[例子]:
cmp file1 file2 比较文件 file1 和 file2
cmp -l file1 file2 比较文件file1 和 file2 的每处不同
1.16 diff
[语法]: diff [-be] 文件1 文件2
[说明]: 本命令比较两个文本文件,将不同的行列出来
-b 将一串空格或TAB转换成一个空格或TAB
-e 生成一个编辑角本,作为ex或ed的输入可将文件1转换成文件2
[例子]:
diff file1 file2
diff -b file1 file2
diff -e file1 file2 >edscript
1.17 wc
[语法]: wc [-lwc] 文件...
[说明]: 统计文件的行、字、字符数,若无指定文件,则统计标准输入
-l 只统计行数
-w 只统计字数
-c 只统计字符数
[例子]:
wc -l file1 file2 统计文件file1和file2 的行数
1.18 split
[语法]: split [-n] [ 文件 [名字]]
[说明]: split 将指定大文件分解为若干个小文件,每个文件长度为n行(n 缺省时为1000),第一个小文件名为指定的名字后跟aa,直至zz,名字缺省

值为x,若未指定大文件名,则使用标准输入
[例子]:
split -500 largefile little
将文件largefile 每500行写入一个文件,第一个文件名为littleaa
1.19 touch
[语法]: touch [-amc] [mmddhhmm[yy]] 文件...
[说明]: 将指定文件的访问时间和修改时间改变,若指定文件不存在则创建之,若无指定时间,则使用当前时间,返回值是未成功改变时间的文件个数,包括不存在而又未能创建的文件。
-a 只改变访问时间
-m 只改变修改时间
-c 若文件不存在,不创建它且不作提示
mmddhhmm[yy] 两位表示 月日时分[年]
[例子]:
touch file
更新文件file的时间
touch 0701000097 HongKong
将文件HongKong的时间改为97年7月1日0时0分
1.20 file
[语法]: file [-f 文件名文件] 文件...
[说明]: file 对指定文件进行测试,尽量猜测出文件类型并显示出来
-f 文件名文件 文件名文件是一个包含了文件名的文本文件, -f 选项测试
文件名文件中所列出的文件
[例子]:
file * 显示当前目录下所有文件的类型
1.21 pack
[语法]: pack 文件...
[说明]: pack 将指定文件转储为压缩格式,文件名后加 ".z ", 文件存取模式,访问时间,修改时间等均不变
[例子]:
pack largefile 将largefile 压缩后转储为largefile.z
1.22 pcat 显示压缩文件
[语法]: pcat 文件...
[说明]: pcat 显示输出压缩文件
[例子]:
pcat largefile.z 显示压缩前的largefile
pcat largefile.z > oldfile 显示压缩前的laregfile,并将其重定向到文件oldfile中
1.23 unpack
[语法]: unpack 文件...
[说明]: 将压缩后的文件解压后转储为压缩前的格式
[例子]:
unpack largefile.z 将压缩文件largefile.z解压后转储为largefile
1.24 find
[语法]: find 路径名... 表达式
[说明]: find 命令递归地遍历指定路径下的每个文件和子目录,看该文件是否能使表达式值为真,以下 n 代表一个十进制整数,+n 代表打印 n , -n 代表小于 n ,下面是合法表达式说明:
-name 模式 文件名与模式匹配则为真,(\ 为转意符)
-perm [-]八进制数 文件存取模式与八进制数相同则为真若有- 选项,则文件存取模式含有八进制数规定模式即为真
-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 指定的文件新则真
-depth 先下降到搜索目录的子目录,然后才至其自身
-mount 仅查找包含指定目录的文件系统
-local 文件在当前文件系统时为真
-type c 文件类型为 c 则真,c 取值可为 b(块文件) c (字符文件) d(目录) l (符号链接) p (命名管道) f (普通文件)
\( 表达式 \) 表达式为真则真
-links n 文件链接数为 n 时为真
-user 用户 当文件属于用户时为真,用户可用数字表示UID
-nouser 当文件不属于 /etc/passwd 中的一个用户时为真
-group 文件组 当文件属于文件组时为真,文件组可用数字表示GID
-nogroup 当文件不属于 /etc/group 中的一个组时为真
-fstype 类型 当文件所属文件系统类型为指定类型时真
-inum n 当文件 i 节点号为 n 时为真
-prune 当目录名与模式匹配时,不再搜索其子目录
可以用逻辑操作符将简单表达式连接成复杂表达式。逻辑操作符有 ! 表示非操作, -o 表示或操作,两个表达式并列则表示与操作
[例子]:
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天前的文件
1.25 grep
[语法]: grep [选项] 模式 [文件...]
[说明]: 在指定的文件中搜索模式,并显示所有包含模式的行,模式是一个正规表达式,在使用正规表达式时,最好将其引在单引号(') 中,若指定文件为缺省,则使用标准输入,正规表达式可以是:
. 匹配任意一个字符
* 匹配0个或多个*前的字符
^ 匹配行开头
$ 匹配行结尾
[] 匹配[ ]中的任意一个字符,[]中可用 - 表示范围,例如[a-z]表示字母a 至z 中的任意一个
\ 转意字符
命令中的选项为:
-b 显示块号
-c 仅显示各指定文件中包含模式的总行数
-i 模式中字母不区分大小写
-h 不将包含模式的文件名显示在该行上
-l 仅显示包含模式的文件名
-n 显示模式所在行的行号
-s 指定文件若不存在或不可读,不提示错误信息
-v 显示所有不包含模式的行
[例子]:
grep 'good' * 在所有文件中搜索含有字符串 good 的行
grep '^myline' mytext 在文件mytext中搜索行首出现myline字符串的行
第二章 设备管理
2.1 stty
[语法]: stty [-a] [-g] [选项]
[说

明]: 本命令设置终端,无参数时报告终端设置,本命令功能十分强大,应谨慎使用,下面仅介绍部分常用功能
-a 显示当前终端所有设置
-g 以能作为 stty 命令参数的方式显示终端设置
以下是终端常用设置,在设置前加-表示清除设置:
(1).控制方式
ispeed 0 110 300 600 1200 1800 2400 4800 9600 19200 38400
本命令设置终端输入波特率,若为0则使用缺省波特率。
例如 stty ispeed 9600
ospeed 0 110 300 600 1200 1800 2400 4800 9600 19200 38400
本命令设置终端输出波特率,参看 ispeed。
(2).输入方式
ingbrk(-ignbrk) 忽略(不忽略)中断(BREAK)
brkint(-brkint) 设置(清除)信号INTR为中断信号
inlcr(-inlcr) 将换行转换(不转换)成回车
icrnl( -icrnl) 将回车转换(不转换)成换行
igncr(-ignrc) 忽略(不忽略)回车
iuclc( -iuclc) 将大写字母转换(不转换)成小写字母
(3).输出方式
olcut(-olcut) 将小写字母转换(不转换)为大写字母
onlcr(-onlcr) 输出时将换行符转换(不转换)为回车换行
ocrnl(-ocrnl) 输出时将回车符转换(不转换)为换行符
(4).本地方式
echo (-echo) 设置(清除)回显
stwrap(-stwrap) 截断(不截断)大于79个字符的行
echoctl(-echoctr) 将控制键回显为^

2.2 tty
[语法]: tty
[说明]: 显示出终端的设备名
[例子]:tty
2.3 lp
[语法]: lp 文件...
[说明]: 将文件送打印机打印
[例子]: lp myfile 将文件myfile 送打印机输出
2.4 lpstat
[语法]: lpstat [选项] [打印任务号]
[说明]: 显示打印机状态,选项的意义如下:
-a [打印机表] 显示打印机表中指定的打印机可否接收打印请求
-c [打印机类名] 显示打印机种类及在该打印机种类下的成员
-d 显示系统预设的打印机
-p [打印机表] 显示打印机表中打印机状态
-r 显示lp 请求程序表( lp request scheduler)
-s 打印系统统计表
-t 打印所有状态信息
-u [用户] 显示由用户发出的打印请求
-v [打印机名表] 显示每个打印机名称,是对应于该打印机设备文件的路径名
[例子]:
lpstat -t 打印所有状态信息
2.5 cancel
[语法]: cancel 打印任务号
cancel 打印机名
cancel -u 用户名 [打印机]
[说明]: 本命令可按打印机名,打印任务,用户来取消打印任务
[例子]: cancel -u mary 取消用户 mary 的所有打印请求
2.6 enable
[语法]: enable 打印机表
[说明]: 本命令可激活一个或多个打印机
2.7 disable
[语法]: disable [-cw] 打印机表
[说明]: 使一个或多个打印机不能打印
-c 立即取消正在打印的打印请求
-w 等正在打印的内容打完后,才禁止打印机
2.8 sync
[语法]: sync
[说明]: 将磁盘缓

冲区内容写回磁盘
2.9 mount
[语法]: mount [-r] 设备 目录
[说明]: 将设备安装到目录下
-r 以只读方式安装
2.10 umount
[语法]: umount 设备
[说明]: 将已安装的文件系统卸下
2.11 tar
[语法]: tar -c[vwfbL] [设备] [块] 文件...
tar -r[vwfbL] [设备] [块] 文件...
tar -t[vfL] [设备] [文件...]
tar -u[vwfbL] [设备] [块] 文件...
tar -x[lmovwfL] [设备] [文件...]
[说明]: 将多个文件归档,命令中各参数的意义为:
r 附加方式归档
x 抽取文件
t 显示文件
u 附加方式归档,同时删除旧版文件
c 建立新档案文件
v 显示所处理的文件名
w 处理文件前,要求用户确认
f 文件名 使用指定文件名作为档案文件
bn 每次读写 n 块,缺省值为1,最大值为20
m 将新的文件修改时间设为获取时的时间
o 获取出来的文件以下达tar指令的UID和GID存储
[例子]:
tar cvf file.tar *
tar tvf file.tar

2.12 df
[语法]: df [-t] [文件系统]
[说明]: 显示剩余 i 节点和块数,使用 -t 选项,还显示总块数和 i 节点数
[例子]: df -t
2.13 du
[语法]: du [-ars] [目录]
[说明]: 显示磁盘空间专用情况
-r 提供无法打开的文件信息
-s 仅显示指定目录所占空间的总和
-a 显示文件大小及目录总空间,其后可根文件名作参数
第三章 进程管理
3.1 sleep
[语法]: sleep 时间
[说明]: 挂起参数指定的秒数
3.2 ps
[语法]: ps [ -efl] [ -t 终端表] [ -u 用户表] [ -g 组表]
[说明]: 显示出有关进程的状态
-e 显示出现在正在运行的所有进程
-f 显示所有信息
-l 产生一个长列表
-t 显示指定终端进程
-u 显示指定用户进程
-g 显示指定组进程
3.3 at
[语法]: at [-f 命令文件] [-m] [-q 队列] -t 时间
[说明]: at命令由cron管理,在未来一个指定的时间内执行一组命令,命令可以从指定文件读入,也可从键盘读入,从键盘读入时以EOF结束,(通常为CTRL D)
-f 从指定命令文件中读入命令
-m 命令执行完后给用户发邮件
-q 将命令放入指定队列
-t 指定时间 指定的时间格式为 [[CC]YY]MMDDhhmm[.ss],CC表示年的前两位,YY表示年的后两位,MM表示月,DD表示日,hh表示时,mm表示分,ss表示秒
3.4 kill
[语法]: kill -信号 进程号
[说明]: kill 将信号传递给指定进程,信号意义如下:
1 暂停(hangup)
2 中断(interrupt)
3 退出(quit)
4 非法指令(illeqgal instruction)
5 跟踪中断(trace trap)
6 Abort
7 EMT 指令(Emulation trap)
8 浮点格式异常(floating point exception)
9 kill(不可忽略)
10

通道错误(bus error)
11 不合法内存段
12 错误的系统调用参数
13 写入不可读的连通管道
14 alarm clock
15 软件结束信号
16 用户定义信号一
17 用户定义信号二
[例子]:
kill -9 444 杀死进程号为 444 的进程
第四章 系统和用户管理
4.1 who
[语法]: who
who am i
[说明]: 列出现在系统中的用户,who am i 显示自己
4.2 whodo
[语法]: whodo [-h] [-l] [用户]
[说明]: 显示系统中用户及进程,若指定用户,则只列出该用户的信息
-h 不显示头部信息
-l 长列表格式输出
4.3 passwd
[语法]: passwd [用户]
[说明]: 修改密码,指定用户则修改指定用户密码
4.4 logname
[语法]: logname
[说明]: 取得当前用户注册名
4.5 su
[语法]: su [-] [用户名]
[说明]: su 命令使当前用户成为指定用户,若无指定,则成为超级用户,但必须输入该用户的密码,-选项表示用该用户的注册环境成为该用户
4.6 time
[语法]: time 命令
[说明]: 执行命令,并在执行完后显示其运行的时间
4.7 date
[语法]: date
date mmddhhmm[yy]
[说明]: date 无参数时用于显示系统时间,修改时间时参数形式为月日时分[年]
4.8 shutdown
[语法]: shutdown [-y] [-gn] [-in]
[说明]: UNIX 系统必须先关闭系统,再关电源-y 对提示的所有问题都回答 y
-gn 给其他用户n 秒的时间退出,缺省值为60秒
-in 系统退到第n种方式,方式如下:
0 关机
1 单用户模式
2 多用户模式
3 网络下的多用户模式
6 关机并重新启动
4.9 fsck
[语法]: fsck [-y]
[说明]: 本命令用于检查和修复文件系统,当文件系统出现混乱时,可使用本命令,-y选项表示对所有提问都回答YES
第五章 通信和邮件
5.1 wall
[语法]: wall
[说明]: 向所有用户广播通知信息,常用于警告所有用户
5.2 mesg
[语法]: mesg [-n] [-y]
[说明]: mesg 用 -n 参数则禁止其他用户用 write 发消息,用 -y 参数则允许接收消息,若无参数则报告现在的状况
5.3 write
[语法]: write 用户 终端
[说明]: write 与指定的终端上的用户直接对话,直到接收到文件结束符
[例子]:write mary console
5.4 mailx
[语法]: mailx [选项] [名字]
[说明]: 本命令用于发送和接收邮件,名字是收信人的用户名,本命令有许多内部命令,选项说明如下:
-e 检查是否有邮件,若有则返回0
-f 文件名 从文件中读取邮件而非从邮箱中
-H 只显示信件标题
-s 标题 设定标题为指定标题
[命令说明]
. 当前信件
n 第 n 封信
^ 第一封未被处理的信
$ 最后一封信
* 所有的信
n-m 第n 封至第m封信
用户

由指定用户发出的信
/ 字符串 标题中包含字符串的信
:c 满足指定类型c的信,类型可为
d 已删除的信
n 信传送的信
o 旧信件
r 已读过的信
u 未读过的信
p 一次显示多封信
t 显示某封信的前若干行
si 显示信件字符数
h 显示信件标题
d 删除信件
u 恢复信件
s [信件表] 文件名 将信件存入指定文件中
q 退出
r 回信
~e 编辑信件
~r 文件 从文件中读取信件
[例子]:
mailx mary < myletter
第六章 Shell编程
shell 不但是 Unix 的用户交互界面,还是一门程序设计语言,系统注册进入时就会执行一个shell命令文件 .profile ,下面对shell中的常用命令作简单介绍。
$n shell 程序命令行中的第n 个参数,n为0-9,当n 为0时表示命令名
$# 命令行中参数的个数
$$ 本shell 命令的进程号
$! 最后一个后台进程的代号
$* 所有命令行参数
$@ 与$*相似,但其值不同

$HOME 注册时进入的目录
$PATH 命令的搜索目录
$PS1 系统第一个提示符,一般为$
$PS2 系统第二个提示符,一般为>
shift [n] 将命令行参数往左移一位,但$0不变
变量名=字符串 将字符串赋予变量名,以后可用$变量名引用该变量
export 变量名表 将变量名表所列变量传递给子进程
read 变量名表 从标准输入读字符串,传给指定变量
echo 变量名表 将变量名表指定的变量显示到标准输出
set 显示设置变量
env 显示目前所有变量

if 条件执行,语法是:
if 条件
then 指令
fi
case 分支执行,语法是:
case 字符串变量 in
值1) 指令...
值2) 指令...
...
esac
while 条件为真时循环,语法是:
while 条件
do
指令...
done
until 条件为假时循环,语法是:
until 条件
do
指令...
done

for 变量在表中时循环,语法是:
for 变量名 in 字组表
do
指令...
done
break 从循环中退出,语法:break n
n 表示跳出循环的层数
continue 继续循环,语法:continue n
n 表示退到包含continue 语句的第n 层继续循环
exit 退出shell


func shell内部可定义函数,语法:
func 函数名()
{
指令...
}
expr 将其后的串解释为表达式并计算其值,运算符前后需有空格
trap 捕获信号,语法 trap n ,捕获信号 n (信号说明参见kill)
test 条件测试,语法 test [选项] 参数
选项 -f 文

件 若文件存在且可读则真
-w 文件 若文件存在且可写则真
-x 文件 若文件存在且可执行则真
-f 文件 若文件存在且为普通文件则真
-d 文件 若文件存在且为目录文件则真
-p 文件 若文件存在且为fifo文件则真
-s 文件 若文件存在且不空则真
-z 串 若串长度为0则真
-n 串 若串长度不为0则真
串 若串不是空串则真
串1=串2 若串1等于串2则真
串1!=串2 若串1不等于串2则真
n1 -eq n2 若n1与n2数值相当则真
n1 -ne n2 若n1与n2数值不相当则真
n1 -lt n2 若n1小于n2则真
n1 -le n2 若n1小于等于n2则真
n1 -gt n2 若n1大于n2则真
n1 -ge n2 若n1大于等于n2则真
可用 与 -a 或 -o 非 ! 将条件表达式连接起来
第七章 数学计算命令
[语法]: bc [-c] [-l] [文件...]
[说明]: bc是一个交互式的高精度计算工具,采用类似于C语言的语法,能够从指定文件中读出命令执行,然后再进入交互式执行,事实上,bc是dc的预编译器,它自动激活dc,将语句经预编译后传递给dc,退出bc的命令是quit,bc中的ibase,obase,scale分别表示输入基数,输出基数,小数点右边的位数。
-c bc 只编译,而不将编译结果送dc,将其送到标准输出上
-l 预定义一个数学函数库,可在bc中使用以下函数
s(x) sine
c(x) cosine
e(x) exponential
l(x) log
a(x) arctangent
j(n,x) Bessel
[例子]:
bc -l 进入bc
scale=10 将小数位定为10位
e(1) 计算e的小数点后10位
quit 退出bc
第八章 VI命令
vi
[语法]:vi [-wn] [-R] 文件...
[说明]: vi 是一个基于行编辑器 ex 上的全屏幕编辑器,可以在vi中使用ex,ed的全部命令,vi选项中 -wn 指将编辑窗口大小置为n行,-R为将编辑的文件置为只读模式, vi工作模式分为命令模式和输入模式,一般情况下在命令模式下,可敲入vi命令,进入输入模式下时可以编辑要编辑的文本,命令 a A i I o O c C s S R 可进入输入模式,在输入模式下按 ESC 键可推出输入模式,回到命令模式,在命令模式中敲入:命令,则可进入ex方式,在屏幕底部出现提示符 : ,此时可使用任意ex命令,屏幕底行也用来作/ ? ! 命令的提示行,大多数命令可以在其前面加数字,表示命令执行的重复次数,下面简单介绍一下vi 的命令集,^ 表示(CTRL)键
^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

相关文档
最新文档