访问电脑版页面

导航:老古开发网手机版其他

UNIX 常用指令总结,给大家分享!!

导读:
关键字:
本手册介绍的 UNIX 指令是以 SUN 上 UNIX Version 为主。 UNIX的指令大都是以下列形式出现: command [options] [arguments] UNIX 指令的选项 (option) 是可以省略、分开、对调位置也可以结合在一起使用的, 例如 "ls -alF", "ls -lFa", "ls -a -l -F" 是一样的。其指令依使用性质分别介绍。 ? 有关在线查询的指令 ? 档案数据处理的指令 ? 有关档案和目录的指令 ? 节省输出入时间之指令 ? 显示档案内容 ? 有关程序执行的指令 ? 有关打印的指令 ? 输出入转向 ? 有关搜寻的指令 ? 其它
一 、有关在线查询的指令 1.man 用来介绍 UNIX 系统各个命令的详细用法。 格式:man command command 为 UNIX 所接受的命令 DEVServer://> man man DEVServer://> man pwd *另外有一常用指令 DEVServer://> man sectionnumber command 2.man -k keyword 列出和 keyword 相关的所有在线使用手册内容。 Example: DEVServer://> man -k editor 3.who 查询目前进入系统的使用者。 DEVServer://> who DEVServer://> w 4.finger 查询目前进入系统的使用者。 DEVServer://> finger 5.date 显示现在之年、月、日、时间及星期。 DEVServer://> date Mon Jan 10 10:40 CST 1996 6.quota 使用者可使用之磁盘空间(Kbyte)及档案个数查询。 DEVServer://> quota -v 7.du 显示每一个档案或目录所占的 block 数。 格式: du [option] [dirname] Option:
-s 仅显示使用 block 数的总和 Example: DEVServer://> du DEVServer://> du -s <Back to Top>
二 、有关档案和目录的指令
1.pwd 列出现在的工作目录 DEVServer://> pwd 所显示如下行所示 /student/ee87/f8701001 2.ls 列出目录内的文件名称 格式:ls [options][directory][file] options: -a 印出全部的档案。 -l 列出档名外,并加上各种信息。 -F 加此参数则会在目录文件后加上/,执行文件后加上*,链接文件后加上@,其余为一般档案。 -g 列出档案的所属群体名称。 -t 列出的檔名依日期排序,若没指定则依档名排序。 examples: DEVServer://> ls dir1 file.1 DEVServer://> ls -a . .login file.1 dir1 .. .cshrc file.2 dir2 DEVServer://> ls -lg
total 4 drwxr-xr-x 3 f8701001 student 2048 Oct 14
1
10:30 bin -rwxr-xr-x 1 f8701001 student 233 Sep 11 09:38 letter DEVServer://> 第一行total 4 表示所bin,letter 所占的内存容量(以block为单位) 有关每个目录、档案的信息,说明如下: - rwxr-xr-x 1 f8701001 student 233 Sep 11 09:38 letter (1) (2) (3) (4) (5) (6) (7) (8) (1)档案型态 d 表目录 c 表字符式特殊档案 b 表区块式特殊档案 l 表链接档案数 - 表一般档案 s 表 socket 檔 (2)使用权:表示谁有权去读取及使用此档案,从左至右3字符为一组, 分成自己、群体及其它三部份,其中 r 表读取 w 表写入 x 表执行 - 表对应项目的动作不被执行 (3)链接次数:是指链接至该文件的数目,以目录而言,表示在档案系统中的目录个数。 (4)档案拥有者:该档的拥有者。 (5)档案所属群体:该档的所属群体。 (6)字符个数:即档案大小,以位(byte)为单位。 (7)最后一次修改的日期与时间:为档案最后一次修改的日期与时间。 (8)文件名称 3. mkdir 建立目录 格式:mkdir directory1 [directory2 ...] DEVServer://> mkdir dir1 dir2 4.cd 改变目前的工作目录 格式:cd [directory] DEVServer://> cd dir1 5.mv 移动或更改文件名称 格式:mv [options] file1 file2 mv [options] file dir options: -i 可避免覆盖原有的档案。 -f 强制覆盖原有的档案。 examples: DEVServer://> mv file.1 file.2 DEVServer://> mv -i file.2 file.2 DEVServer://> mv -f file.2 file.3 6. rm 删除档案 格式:rm [options] file1 file2 file3 ... options: -i 删除档案前会先询问 -f 强制删除档案 -r 删除目录及其下所有档案、子目录 examples: DEVServer://> rm file.1 file.2 file.3 DEVServer://> rm -r dir1 *用 rm 删除的档案将永久的被删除,救不回来。 7. rmdir 删除目录 格式:rmdir directory DEVServer://> rmdir dir1 *被删除的目录必须是空的亦即不包含任何档案或次目录。 8.cp 复制档案 格式:cp [options] file1 file2 cp [options] dir1 dir2 cp [options] file directory options: -i 可避免覆盖原有的档案 -r 拷备目录及其下所有档案、子目录 examples: DEVServer://> cp file.1 file.2 DEVServer://> cp file.1 dir1 DEVServer://> cp -r dir1 dir2 9. chmod 更改档案使用权 格式:chmod mode filename ... mode 有 两 种 .绝对模式为一8进位数字 400 即 r-- --- --- (100 000 000)仅档案拥有者可读取 777 即 rwx rwx rwx (111 111 111)任何人都可对该档做读取、写入、执行等动作 700 即 rwx --- --- (111 000 000)仅档案拥有者可读取写入、执行 2
.符号模式 其格式如下: [who] op permission [op permission] .. who 可以是 u 档案拥有者的存取权 g 档案所属群体的存取权 o 其它使用者的存取权 a 全部使用者的存取权 *如果省略此参数,则默认值为 a op可以是 + 开放存取权 - 取消存取权 = 设定存取权 permission 可以是 r 读取权 w 写入权 x 执行权 examples: DEVServer://> chmod o-w file 开放 file 写入权给其它使用者 DEVServer://> chmod 700 file 仅档案拥有者可对 file 做读取、写入、 执行的动作 <Back to Top> 三、显示档案内容 1.cat 显示档案内容,类似于 DOS 的type。 格式:cat [options] filename options: -n 产生行号 -s 档案中连续空白行,仅输出一行 examples: DEVServer://> cat -n file.1 DEVServer://> cat -s file.2 2. more 显示档案内容, 每次仅显示一个屏幕之档案内容。 格式:more [options] filename options: +line number 从第 n 行开始显示 +/pattern 从含有 pattern 的前两行开始显示 -d 设定打印行数 在more中常用之指令如下: space 键 往下卷动一个屏幕 enter 键 往下卷动一行,键入数字后,再按 enter 可向下卷动指定之行数 q 键停止输出 DEVServer://> more -d20 more.man 一次显示 20 行 DEVServer://> more +50 more.man 从第 50 行开始显示 DEVServer://> more +/terminal more.man 从含有 terminal 的前两行开始显示 3.head 从文件首开始显示n行资料。 格式:head [-n] [file] Example: DEVServer://> head file1 显示前 10 行资料,如果没有指定列数,默认值为 10 行。 DEVServer://> head -20 file1 显示前 20 行资料。 4.tail 从文件尾向前算起显示 n 行资料。 格式:tail [-/+n][files] Option: + 从第 n 行开始显示。 - 从文件尾向前算起显示 n 行资料。 Example: DEVServer://> tail -20 file 1 DEVServer://> history tail -5 <Back to Top> 四、有关打印的指令 1. lp 送印指令 格式:lp [options] filename .... options: -Pprinter 指定打印机,若省略此参数,则指预设打印机lp (目前中心的列表机有 lp系统打印机 ) -m 当档案打印完毕,会送一个讯息给使用者 -#n 打印n份 examples: DEVServer://> lp file DEVServer://> lp file.1 file.2 file.3 DEVServer://> man lp lpr -m DEVServer://> cat file.1 file.2 lp -#3 2. lpq 查询 printer queue ,当你的档案送印后,可用此指令查询是否送印成功 格式:lpq [options] options: -Pprinter 指定打印机,若省略此参数,则指
3
预设打印机 lp examples: DEVServer://> lpq DEVServer://> lpq -Plp 3. lprm 取消已送印的档案 格式:lprm [options] job# options: -Pprinter 打印机,若省略此参数,则为预设打印机 lp -username 将此user欲打印的档案取消,若省略此参数,则指自己 examples: lpq -Plp Rank Owner Job Files Total Size 1st user1 235 test.1 38 bytes 2nd user1 236 test.2 38 bytes 3rd user1 237 test.3 300 bytes DEVServer://> lprm -Plp 236 237 4.pr 调整文件打印格式, 先产生在屏幕, 确定无误后再用 lp 送打印机打印。 格式:pr [option][filename] Option: -ln 设定页长 -n 产生 n 栏的报表。 +n 从第 n 页开始打印。 -h 下一个参数当报表表头。 Example: DEVServer://> pr -150 -h "THE OUTPUT REPORT" file1 产生页长为 50, 表头为"THE OUTPUT REPORT"的报表。 <Back to Top> 五、有关搜寻的指令 1.which 查询某一个执行档位于 path 的那一个目录下。 Example: DEVServer://> which vi /usr/ucb/vi 2.find 寻找档案 格式:find path expression Option: -name filename 如有 filename 匹配现在文件名称则为真。 -print 显示文件名称。 -type d表目录; f表一般档案; c表字符特殊档案; b表区域特殊档案; l符号连结文件。 -exec command -size n -user Example: DEVServer://> find 找出使用者目录底下所有.c的档案。 DEVServer://> find 将使用者目录下所有档案大小为0的档案删除。 DEVServer://> find 将使用者目录下所有目录档案列出。 3.grep 从某一档案中, 找出符合条件的数据列。 格式: grep [option] pattern filename Option: -c 只显示符合条件的列数 -i 忽略大小写 -n 显示时加行号 -v 显示不符合条件的列资料 -w 将 pattern 视为一个字 (Word) 来处理 DEVServer://> ps -aux grep elm 找出 process 中,含有 elm 字眼的 process DEVServer://> grep -n meeting * 在目前目录下,找出含有 meeting 字眼的档案并列出是在该档的第几行。 grep的一些应用: (1)DEVServer://> grep ''thing'' file1 列出该行中含有 thing 字眼的料,该行可能含有 thing, things,somethings 只要含有 thing 即将其印出。 (2)DEVServer://> grep ''s.nd'' file1 可代换为任一字符,只要是以 s 开头 nd结尾的字, 都将其印出, ex:sand or send。 (3)DEVServer://> grep ''[l -s]end'' file1 列出以l, m, n...s字符开头, end结束的数据行, ex:lend、mend、send。 (4)DEVServer://> grep ''[Mm]end'' file1 列出含Mend or mend 的列资料。 (5)DEVServer://> grep ''^some'' file1 列出以 4
some 为行开头的资, ex:someone or somewhere。 (6)DEVServer://> grep ''\'' file1 列出含!有的资料行。 <Back to Top> 六、档案数据处理的指令 1.wc 计算档案的列数, 字数及字符数 格式:wc [option][filename] Option: -l 只计算列数(Line) -w 只计算字数(Word) -c 只计算字符数(Character) Example: DEVServer://> wc file1 DEVServer://> who wc -l 2.diff 比较两个文本文件的差别。 格式:diff finename1 filename2 Option: - 从标准输入读取。 -b 忽略前置空格。 -d 按字典顺序, 仅字母数字空格才有效。 -n 以数值来做排序。 -r revers反方向顺序排序。 -o 将output存于下个自变量中指定的档案, 否则 sort 会将排序结果送到屏幕显示。 -tc 字段间以字符 c 来分开。 +1[-2] 跳过n1个字段, 至第 n2 的字段为止, 做排序。 Example: DEVServer://> sort -b +1n file1 3.strings 找出执行文件或数据文件内有那些 ASCII 字符。 格式:stings [-][-o][-number] filename..... Option: - 检查档案内所有的内容, 若不包含此选项则只有检查执行文件内有初始化部份的内容而已。 -o 列出所找到的ASCII字符在档案内的位置。 -number 当连续的 ASCII 字符大于 number 数时才将其列出, 若未特别设定时默认值为 4。
Example:
DEVServer://> strings -o a.out <Back to Top> 七、节省输出入时间之指令 1.history 将你所下过的指令记录下来 格式:history [options] options: -r 以反方向显示所下过的指令 n 显示前n次所下过的指令 examples: DEVServer://> history DEVServer://> history -r DEVServer://> history 5 DEVServer://> history -r 5 (1)set history=n 设定 history 记录命令的量 DEVServer://> set history=50 *从目前开始,直到退离系统,保留最后 50 个命令。 *如果你想让此命令永远有效,可将此命令加入 .cshrc 这个档案内,然后执行。 DEVServer://> source .cshrc (2)如何利用 history 记录的命令 DEVServer://> history 1 w 2 date 3 vi .cshrc 4 pwd 5 ls -al 6 history DEVServer://> !! 执行前一次的命令,即 history DEVServer://> !4 执行第四次的命令,即 pwd DEVServer://> !vi 执行最近一次的 vi 命令,即vi .cshrc DEVServer://> !?ls? 执行最近一次命令中含有 ls 的命令,即 ls -al DEVServer://> !5 /usr 执行第五次的命令并加 /usr,即 ls -al /usr 2. alias (1)alias 将命令用一别名取代 格式:alias alias_name command examples:
5
DEVServer://> alias ls ''ls -al'' DEVServer://> ls *执行 ls 视同执行''ls -al'' 。 *可将 alias 的设定加入.cshrc文件内,让每次进系统时,这些设定永远有效。 (2)unalias 取消 alias 的设定 格式:unalias alias_name examples: DEVServer://> unalias ls (3)亦可将数个命令结合起来取一个别名 格式:alias alias_name ''command;command;....'' examples: DEVServer://> alias status ''date;uptime'' (4) alias 用 \!* 来传参数 examples: DEVServer://> alias L ''ls -l \!* more'' DEVServer://> L /tmp 视同执行''ls -l /tmp more'',/tmp取代 alias L中的 \!* 3.其它 (1) 改变目录和文件名的快捷方式 . 表目前所在的目录 .. 表目前所在目录的上一层目录 使用者的根目录 / 根目录 *以上可配合 ls,rm,mv,cp...等指令,灵活运用 examples: DEVServer://> cd . DEVServer://> cd .. DEVServer://> mkdir (2)檔名字元取代 * 取代一组字符 ? 取代一个字符 [ ] 可于[ ]内列举适当取代的字符 - 在[ ]内指定范围 examples: DEVServer://> ls -l *.c 列出现在目录中所有 .c 的档案。 DEVServer://> ls [a-z]* 列出现在目录中所有以 a,b,...,z 开头的档案 。 DEVServer://> cp [abc]* dir 将以 a,b,c 为首的档案拷备至dir目录下。 (3)指令更正 格式: ^incorrect^correct *针对前一次的指令作更改 example: DEVServer://> pc file.1 file.2 pc: Command not found. DEVServer://> ^pc^cp cp file.1 file.2 *针对history所记录的指令作更改 examples: DEVServer://> !3:s/.cshrc/myfile 将第3次命令中的 .cshrc 改为 myfile DEVServer://> vi myfile *先确定指令更改无误后再执行 DEVServer://> !3:p:s/.cshrc/myfile 加上参数 p,可先确认更改动作是否无 DEVServer://> !! 误,确定后 vi myfile,再使用 !! 执行 DEVServer://> vi myfile DEVServer://> !! <Back to Top> 八、有关程序执行的指令 UNIX 是一个多人多任务的操作系统, 它可以供多位使用者同时处理数个作业 (Job)。每个 Job 可以在前景 (Foreground) 或背景 (Background) 作业。 Foreground jobs:必须等此命令执行完, 系统才允许你输入下一个命令。 Background jobs:不必等此命令执行完, 系统即出现提示符号, 提示你输入下 一个命令且命令后面必须加 "&" 符号。 1.command& 将欲执行的命令(程序), 放到背景作业执行。 Example: DEVServer://> fc myprog.f& DEVServer://> who sort > list *如果在 .cshrc 文件内有 set notify 的命令, 则系统会以[Done]来显示背景作业己执行完毕。 2.job 列出在此系统上所有的 Background job Example: DEVServer://> mail user1 Ctrl-z
6DEVServer://> cat > file.1 Ctrl-z DEVServer://> vi Ctrl-z DEVServer://> jobs [1] Stopped mail user1 [2] - Running cat > file.1 [3] ± Stopped vi (1)(2) (3) (4) (1) job number 工作代号 (2) + 表示 current job - 表示 next current (3) 每个 job 目前执行的状况 (4) job 的作业内容 3.fg 启动被暂停的 job, 并改为前景作业 格式: fg %job_number Example: DEVServer://> fg 启动 current job, 改为前景作业 DEVServer://> fg %1 启动 job1, 改为前景作业或 %%1 亦可 4.bg 启动被暂停的 job, 并改为背景作业 格式:bg %job_number Example: DEVServer://> bg 启动 current job, 改为背景作业 DEVServer://> bg %1 启动 job1, 改为背景作业或 %%1& 亦可 5.stop 暂停一个正在执行的 job 格式: stop %job_number Example: DEVServer://> stop %2 6.ps 显示目前系统 process 状况。 格式: ps [option] Option: -a 显示全部的 process。 -u 显示 process 的使用者。 -l 显示 process 更多的讯息。 w 可以把指令行很长的程序显示出来, 由方于屏幕宽度有限, 超过部份系统会自动切掉, w 愈多显示的长度就愈长。 Example: DEVServer://> ps PID TT STAT TIME COMMAND 12536 P2 S 0:00 -csh(csh) 12539 P2 TW 0:00 mail user1 12540 P2 TW 0:00 cat 12541 P2 TW 0:00 vi 12549 P2 R 0:00 ps 说明: PID 每一个 process 的编号 TT 终端机编号 STAT process 目前的状况 R running T stopped I idle P page wait S sleep TIME 使用的 CPU 的时间 7.kill 删除一个 job。 格式:kill %job-number 或 kill pid Example: DEVServer://> kill %3 DEVServer://> kill 8122 *如果尚无法清除此 job 则可则改用以 kill -9 取代 kill指令。 DEVServer://> kill -9 8122 <Back to Top> 九、输出入转向 在 UNIX 系统中, 大多数的指令, 内定行键盘输入数据, 而将输出显示在终端机屏幕上, 困此键盘称为标准输入 (Stabdard Input), 终端机屏幕称为标准输出 (Standard Output)。但使用者可以使用一种具有复位方向特性的指令来更改这些内定动作, 将其输出/入的屏幕、键改为档案或其它设备, 而原命令不须做任何的修改。利用复位方向的特性, 我们可以做以下的动作: .将输出原本应显示在终端机屏幕上的程序, 改为输出给一个指定的档案, 例如: DEVServer://> date > state。 .将一程序的输出, 当成另一程序的输入数据。 1.>复位标准输出的方向 格式:command >newfile Example: DEVServer://> ls -al > list 7
*将 ls- al 命令的输出放在名为 list 的档案中。 *若将输出转向一个已存在的档案时, 会把原档案内容盖掉, 为避免此种情况发生,请于事先下 set noclobber 命令, 或将此命令加入 .cshrc 檔, 然后再执行 DEVServer://> source .cshrc。 DEVServer://> set noclobber DEVServer://> date > list list: file exists *可用 >! 强迫 overwrite。 DEVServer://> date > !list 2. >> 复位和附加标准输出。 格式:command>>file 透过 ">>" 符号, 可将一个命令的输出附加于一个档案之后。 Example: DEVServer://> date > list.new 将 date 命令的输出放在 list.new 的档案中。 DEVServer://> pwd >> list.new 再将 pwd 命令的输出附加在list.new 的档案中 3. < 复位标准输入的方向 格式:command < file 透过"<"符号来重导命令的输入设备。 Example: DEVServer://> mailx user1 < letter 4. tee 类似一个 T 型管, 将标准输入传送再标准输出, 并且存入档案。 格式:tee [option] [filename] Option: -i 忽略中断要求。 -a 将输出附加在档案案之后。 Example: DEVServer://> date tee stat1 stat2 stat3 将 date 指令的 output 分别存在 stat1、stat2、sata3 而且显示在屏幕上。 5.程序的连结 DEVServer://> ls -al > file.list 将 ls -al 的输出放在名为 file.list 档案 DEVServer://> pr <file.list> temp 再将此档透过pr做文件处理, 并将处理完后的数据放在 temp 文件 DEVServer://> lp < temp 将 temp 档打印出来 6. 连结命令 格式: command command 某个命令的输出可以直接作为另一个命令的输入。 DEVServer://> ps -aux more 7.其它应用 (1)用 cat 建立新檔 DEVServer://> cat > work.txt ...... ...... 按 Ctrl-d 结束 DEVServer://> (2)用 cat 合并档案 DEVServer://> cat file1 file2 > files 将 file1 及 file2 的内容合并在 files DEVServer://> cat file3 >> files 将 file3 的内容附加在 files 之后。 (3)用 cat 拷备档案 DEVServer://> cat file1 > file2 相当于 DEVServer://> cp file1 file2 <Back to Top> 十、其它 1.split将档案分割。 格式:split [-n][filename] Option: -n 默认值为 1000 行。 Example: DEVServer://> split -66 document 将档案 document 分割成 66 行一个档, 其档名分别为 xaa, xab, xac....。 2.stty 设定终端机的操作模式。 格式:stty [option] DEVServer://> stty -a 显示所有设定值 DEVServer://> stty intr ^c 设定按 Ctrl+c 为中断 DEVServer://> stty erase ^H 设定按 Del 键为删除前一个字 3.file 决定档案的类别 格式:file filename Example: DEVServer://> file * 4.compress 压缩程序, 压缩后的档案以原
8
档名加上".Z"为名。 5.uncompress 解压缩程序。 DEVServer://> compress base.dat 产生 base.dat.Z 的压缩档 DEVServer://> uncompress base.dat.Z 将 base.dat.Z 还原 6.bc 计算器 DEVServer://> bc 2^10 1024 ^D DEVServer://> 其操作数有+、-、*、/、%、^, 分别表示加、减、乘、除、余数、次方。
来源:   作者:  2006/9/25 16:50:53
栏目: [ ]

相关阅读

安森美推出新的高功率图腾柱PFC控制器,满足具挑战的能效标准

动态功耗低至60μA/MHz!助力设备超长续航,首选国民技术低功耗MCU!