当前位置:Linux教程 - Linux - UNIX 系统操作入门(二)

UNIX 系统操作入门(二)


文件打印输出
============
使用者可用 .login 档中之 setenv PRINTER,来设定打印资料时的打印机名。
printername :sp1 或 sp2 (1005 教室)
Example :
%setenv PRINTER sp2 设定自 sp2 打印资料。

一般文件之打印
==============
执行格式:lpr [-Pprinter-name] filename
%lpr file1 或 lpr -Psp2 file1
自 sp2,打印文件 file1。

执行格式:enscript [-Pprinter-name] filename
%enscript file3 或 enscript -Psp1 file3
自 sp1 打印文件 file3。

.troff 文件之打印
==================
执行格式:ptroff [-Pprinter-name] [-man][-ms] filename
%ptroff -man /usr/local/man/man1/ptroff.1
以 troff 格式,自 Apple laser writer 打印 ptroff 命令之使用说明。

%ptroff -Psp2 -man /usr/man/man1/lpr1
以 troff 格式,自 sp2 打印 lpr 命令之使用说明。


打印机控制命令
==============
.检查打印机状态,及打印工作顺序编号和使用者名称
================================================
执行格式:lpq [-Pprinter -name]
%lpq 或 lpq -Psp1
检查 sp1 打印机之状态。

.删除打印机内之打印工作 ( 使用者仅可删除自己的打印工作 )
========================
执行格式:lprm [-Pprinter -name] username 或 job number
%lprm user 或 lprm -Psp1 user
删除 sp1 中,使用者 user 的打印工作,此时使用者名称必须为 user。
%lprm -Psp2 456
删除 sp2 编号为 456 之打印工作。

Job 之控制
===========
UNIX O.S.,可於 foregrourd 及 background 同时处理多个 process。
一般使用者执行命令时,皆是在 foreground 交谈式地执行 process,亦可将 process
置於 background 中,以非交谈式来执行 process。

.查看系统之 process
====================
执行格式:ps [-aux]
Example:
%ps 或 ps -x (查看系统中,属於自己的 process。)
%ps -au   (查看系统中,所有使用者的 process。)
%ps -aux   (查看系统中,包含系统内部,及所有使用者的 process。)

.结束或终止 process
====================
执行格式:kill [-9] PID ( PID 为利用 ps 命令所查出之 process ID。)
Example:
%kill 456 或 kill -9 456
终止 process ID 为 456 之 process。

.在 background 执行 process 的方式
===================================
执行格式:command & (於 command 后面加入一 ""&"" 符号即可。)
Example:
%cc file1.c &
将编译 file1.c 文件之工作,置於 background 执行。

执行格式:按下 ""Control Z"" 键,暂停正在执行的 process。键入 ""bg"" 命令,
命令,将所暂停的 process,置入 background 中继续执行。
Example:
%cc file2.c
^Z
Stopped
%bg


.查看正在 background 中执行的 process
======================================
执行格式:jobs

.结束或终止在 background 中的 process
======================================
执行格式:kill %n
(n 为利用 ""jobs"" 命令,所查看出的 background job 编号)
Example:
%kill % 终止在 background 中的第一个 job。
%kill %2 终止在 background 中的第二个 job。

shell varialbe
==============
.查看 shell variable 之设定值
==============================
执行格式:set    查看所有 shell variable 之设定值。
%set

执行格式:echo $variable-name 显示指定的 shell variable 之设定值。
%echo $PRINTER
sp1

.设定 shell variable
=====================
执行格式:set var = value
Example:
%set term=vt100
设定 shell variable ""term"" 为 VT100 终端机之型式。

.删除 shell variable
=====================
执行格式:unset var
Example:
%unset PRINTER
删除 shell variable ""PRINTER"" 之设定值。

environment variable
=====================
.查看 environment variable 之设定值
====================================
执行格式:setenv  查看所有 environment variable 之设定值。
Example: %setenv

执行格式:echo $NAME 显示指定的 environment variable ""NAME"" 之设定值。
Example:
%echo $PRINTER
显示 environment variable ""PRINTER"" 打印机名称之设定值。

.设定 environment variable
===========================
执行格式:setenv NAME word
Example:
%setenv PRINTER sp1
设定 environment variable ""PRINTER"" 打印机名称为 sp1。

.删除 environment variable
===========================
执行格式:unsetenv NAME
Example:
%unsetenv PRINTER
删除 environment variable ""PRINTER"" 打印机名称之设定值。

alias
=====
.查看所定义的命令之 alias
==========================
执行格式: alias 查看自己目前定义之所有命令,及所对应之 alias 名称。
执行格式: alias name 查看指定之 alias 名称所定义之命令。
Example:
%alias dir (查看别名 dir 所定义之命令)
ls -atl

.定义命令之 alias
==================
执行格式: alias name ''command line''
Example:
% alias dir ''ls -l''
将命令 ""ls - l"" 定义别名为 dir。

.删除所定义之 alias
====================
执行格式: unalias name
Example:
%unalias dir (删除别名为 dir 之定义。)
%unalias * (删除所有别名之设定。)


history
=======
.设定命令记录表之长度
======================
执行格式: set history = n
Example:
%set history = 40
设定命令记录表之长度为 40 (可记载执行过之前面 40 个命令)。

.查看命令记录表之内容
======================
执行格式: history

.使用命令记录表
================
执行格式: !!
Example: %!! (重覆执行前一个命令)
执行格式: !n ( n 为命令记录表之命令编号。)
Example: %!5 ( 执行命令记录表中第五个命令。)
执行格式: !string ( 重覆前面执行过以 string 为起始字元之命令。)
Example: %!cat ( 重覆前面执行过,以 cat 为起始字元之命令。)

.显示前一个命令之内容
======================
执行格式: !!:p

.更改前一命令之内容并执行之
============================
执行格式: ^oldstring ^newstring
将前一命令中 oldstring 的部份,改成 newstring,并执行之。
Example:
%find . -name file1.c -print
^file1.c^core
%find . -name core -print

注:文件 core 为执行程式或命令发生错误时,系统所产生的文件。作为侦错(debug)之□
,因其所占空间极大,通常将之删除。

资料之压缩
==========
为了避免不常用的文件或资料,占用太大的磁盘空间,请使用者将之压缩。欲使用压缩过
的文件或资料前,将之反压缩,即可还原成原来之资料型式。凡是经过压缩处理之文件,
会在文件名后面附加 "" .Z "" 之字元,表示此为一压缩文件。

.压缩资料
==========
执行格式:compress filename 压缩文件
执行格式:compressdir directory-name 压缩目录

.解压缩还原资料
================
执行格式:uncompress filename     反压缩文件
执行格式:uncompressdir directory-name 反压缩目录

pipe-line 之使用
================
执行格式:command1 │ command2
将 command1 执行结果,送到 command2 做为 command2 的输入。
Example:
%ls -Rl │ more
以分页方式,列出目前目录下所有文件,及子目录之名称。
%cat file1 │ more
以分页方式,列出文件 file1 之内容。

I/O control
===========
.标准输入之控制
================
执行格式:command-line < file
将 file 做为 command-line 之输入。
Example:
%mail -s ""mail test"" [email protected] < file1
将文件 file1 当做信件之内容,Subject 名称为 mail test,送给收信人。

.标准输出之控制
================
执行格式:command > filename
将 command 之执行结果,送至指定的 filename 中。
Example: %ls -l > list
将执行 ""ls -l"" 命令之结果,写入文件 list 中。
执行格式:command >! filename
同上,若 filename 之文件已经存在,则强迫 overwrite。
Example: %ls -lg >! list
将执行 ""ls - lg"" 命令之结果,强迫写入文件 list 中。
执行格式:command >& filename
将 command 执行时,萤幕上所产生的任何讯息,写入指定的 filename 中。
Example: %cc file1.c >& error
将编译 file1.c 文件时,所产生之任何讯息,写入文件 error 中。
执行格式:command >> filename
将 command 执行结果,附加(append)到指定的 filename 中。
Example: %ls - lag >> list
将执行 ""ls - lag"" 命令之结果,附加(append)到文件 list 中。
执行格式:command >>& filename
将 command 执行时,萤幕上所产生的任何讯息,附加於指定的 filename中。
Example: %cc file2.c >>& error
将编译 file2.c 文件时,萤幕所产生之任何讯息,附加於文件 error 中。

查看系统中的使用者:
===================
执行格式: who 或 finger
执行格式: w
执行格式: finger username or finger username@domainname

改变自己的 username 进入其他使用者的帐号,拥有其使用权利。
=========================================================
执行格式: su username
Example:
%su user 进入使用者 user 之帐号
passwrod: 输入使用者 user 之密码

查看 username:
==============
执行格式: who am i 查看 login 时,自己的 username。
执行格式: whoami 查看目前的 username。若已执行过 ""su""命令(switch user),
则显示出此 user 之 username。

查看目前系上所有工作站的使用者:
===============================
执行格式: rusers
=> 结束

与某工作站上的使用者交谈:
=========================
执行格式: talk username@hostname 或 talk username@ip_address
Example:
1. 可先利用 rusers 指令查看网路上的使用者
2. 假设自己的帐号是 u84987 ,在工作站 indian 上使用,现在想要与 doc 上的
u84123 交谈。
%talk u84123@doc ==> 此时萤幕上将会出现等待画面
在对方(u84123)萤幕上将会出现下列讯息
Message from Talk_Daemon@Local_host_name at xx:xx
talk: connection requested by u84987@indian
talk: respond with: talk u84987@indian

此时对方(u84123) 必须执行 talk u84987@indian 即可互相交谈。
最后可按结束。

检查远端电脑系统是否正常
========================
执行格式:ping hostname 或 ping IP-Address
Example:
%ping doc

电子邮件(E-mail)的使用简介
==========================
本系之 E-mail address 为 ice.ntnu.edu.tw

..将文件当做 E-mail 的内容送出
=============================
执行格式:mail -s ""Subject-string"" username@address < filename
%mail -s ""program"" user < file.c
将 file.c 当做 mail 的内容,送至 user, subject name 为 program。

..传送 E-mail 给本系使用者
========================
执行格式:mail username
%mail user