笔记081102 BIN SBIN CLEAR PWD PWSSWD CD LS CHMOD VI TOUCH MKDIR CP MV RM 快捷方式LN MAN ? [] ; DATE CAL CAT AWK SORT VI 常用的UNI

来源:互联网 发布:unity3d寻路插件 编辑:程序博客网 时间:2024/05/02 06:11
 今天是第一天,将笔记整理如下:

今天主要讲的是UNIX系统的使用 。
*****************************************
UNIX系统中存储命令的地方
bin
sbin
usr -->bin / sbin
*****************************************
shell 之间的切换 区别  (资料查看
R2's Shell Tutorials )
Bourne shell(sh)
Korn shell(ksh)
C shell(csh)
Bourne-again shell (bash)
tcsh
*****************************************
路径 绝对路径和相对路径
cd /opt
cd /home/changtiger

*****************************************
常用命令
clear
pwd
pwsswd
cd
ls
    ls -a Displaying hidden files  -- 隐藏文件都是.号开头的
    ls -R Displaying a recursive listing
    ls -t Sorts by time stamp instead of by name
    ls -l Displaying a long list
    ls -l hello 显示hello的详细信息
    ls -l w*    显示以w开头的文件和文件夹
chmod
    chmod g-r file1
    chmod u+x,go+r file1
    chmod a=rw file1
vi    
touch 
    创建一个空的文件;
    更新这个文件的最后访问时间。   
more /etc/passwd
id
    id -a openlab
cd
    cd ..
    cd ../..
    cd /
    cd  (equals: cd  ~/)     ---回到主目录
    cd ~/tiger    ---~代表主目录此命令则是回到/home/tiger文件夹
mkdir
    mkdir dir1
    mkdir dir1/dir2
    mkdir -p dir2/dir3 创建dir2和dir2下的dir3目录
    mkdir dir3 dir4 dir5
    mkdir ~/games   在主目录下建立games文件夹.
cp
    cp file1 file2
    cp file1 dir2/file2
    cp file1 dir2/
    cp file1 file2 dir2/
   
    cp -r dir3 dir4
    cp -r dir3 dir4/tmp
   
mv    
    移动和重命名
    mv dir1 dir2 将文件夹重命名为dir2
    mv -i
rm
    rm -i file1
    rm file1
    rm -r dir1  删除目录必须有-r参数
rmdir 
    只能删除空目录
ln
    建立快捷方式
    硬链接 和软连接
    ln sourch_file target_file 硬链接
    删掉了源文件,快捷方式居然还可以用,莫名其妙。相当于一个副本,与windows里的不一样。
    ln -s sourch_file target_file 软连接
    删掉了源文件,快捷方式(链接)不可用,与windows 里的一样。
        给文件夹建立连接同样
    eg:
        ln -s /export/home/openlab/tiger/dir tigerdir
    给文件夹dir创建链接为tigerdir.

man
    Ctrl+C
    b
    f
    q
    /string
    n
*   
    代表任意多的字符
    ls -l a*
    ls d*
?   
    代表任意一个字符
    ls d?
    ls z?.txt   
[]   
    表示一个范围
    ls [b-f]b*   在b和f之间的
;   
     多个命令一起、
    ls;date;cal;pwd
date    日期
cal     日历
<>
    重定向符;
    cal 1 2008 >a.txt  全部重写 将原来的覆盖。
     cal 2 2008 >>a.txt 在末尾添加。
    f1.txt内容为: 3 2008
        cal <f1.txt >f2.txt 将f1.txt中的数据给命令cal 结果送入到f2.txt中。
    cat <f1.txt >f2.txt 相当于文件的复制。
|
    把命令的结果交给另外一个命令做为输入。
    ls -l /etc | more
    ls -l /etc |tee etc.lst
cat    
    显示一个文件的内容。
    more可以分屏,cat没有。
awk
    用来处理字符串。
    eg:
    cat /etc/passwd | awk -F:'{print $1 "/t" $6}
    把用cat查看到的结果用:分开 在显示出第一部分和第六部分的内容。
    ls -l |awk -F- '{print $3 "/t" $7}'
    把ls -l 查看到的结果用-分开,再显示出第三部分和第七部分的内容。
sort
    排序。

vi    
    编辑文件
    状态的转换
           i a o  Command mode <========> Entry mode
    : / ?  last-line mode <=======> Command mode
     Esc
   
    上 k 下 j 左 h 右 l   

    i 新添加的放在光标出
     a 在光标的后面添加
    o 在光标的下面一行添加
    O 在光标的上面一行添加
   
    x  删除一个字符
    dw 删除当前词
    3dw 删除三个词
    dd  删除当前行
    5dd 删除五行
        :5,10d 删除五到十行。
   
    r 替换一个字符
    cw 替换一个单词
    cc 替换一行
    C  替换从光标至行尾

    yw
    yy   
    dw
    dd
    p
    :1,2co3
    :4,5m6
   
        :set nu 显示行号
关于vi 的使用查看资料链接:http://zh.wikipedia.org/w/index.php?title=Vi&variant=zh-cn
   
*****************************************
 下面是用vi 编写的一个简单的c++程序,以及使用的命令
vi first.cpp
i
#include <iostream>
using namespace std;
int main(){
    cout<<"hello world !!"<<endl;
    return 1;
}
g++ -o frist first.cpp

./first 表示在当前文件夹下执行first文件.
*****************************************
下面是常用的UNIX下的命令:

一 、有關線上查詢的指令

1.man 用來介紹 UNIX 系統各個命令的詳細用法。

格式:man command
command 為 UNIX 所接受的命令
aries% man man
aries% man pwd

*另外有一常用指令 aries% man sectionnumber command

2.man -k keyword 列出和 keyword 相關的所有線上使用手冊內容

Example:
aries% man -k editor

3.who 查詢目前進入系統的使用者。

aries% who
aries% w

4.finger 查詢目前進入系統的使用者。

aries% finger

5.date 顯示現在之年、月、日、時間及星期。

aries% date
Mon Jan 10 10:40 CST 1996

6.quota 使用者可使用之磁碟空間(Kbyte)及檔案個數查詢。

aries% quota -v

7.du 顯示每一個檔案或目錄所佔的 block 數。

格式: du [option] [dirname]
Option:
-s 僅顯示使用 block 數的總和
Example:
aries% du
aries% du -s

<Back to Top>

二 、有關檔案和目錄的指令

1.pwd 列出現在的工作目錄

aries% pwd
所顯示如下行所示
/student/ee87/f8701001

2.ls 列出目錄內的檔案名稱

格式:ls [options][directory][file]
options:
-a 印出全部的檔案。
-l 列出檔名外,並加上各種資訊。
-F 加此參數則會在目錄檔後加上/,執行檔後加上*,鏈結檔後加上@,其餘為一般檔案。
-g 列出檔案的所屬群體名稱。
-t 列出的檔名依日期排序,若沒指定則依檔名排序。

examples:
aries% ls
dir1 file.1
aries% ls -a
. .login file.1 dir1
.. .cshrc file.2 dir2
aries% ls -lg


total 4
drwxr-xr-x 3 f8701001 student 2048 Oct 14 10:30 bin
-rwxr-xr-x 1 f8701001 student 233 Sep 11 09:38 letter
aries%

第一行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 ...]

aries% mkdir dir1 dir2

4.cd 改變目前的工作目錄

格式:cd [directory]

aries% cd dir1

5.mv 移動或更改檔案名稱

格式:mv [options] file1 file2

mv [options] file dir
options:

-i 可避免覆蓋原有的檔案。
-f 強制覆蓋原有的檔案。

examples:
aries% mv file.1 file.2
aries% mv -i file.2 file.2
aries% mv -f file.2 file.3

6. rm 刪除檔案

格式:rm [options] file1 file2 file3 ...

options:

-i 刪除檔案前會先詢問
-f 強制刪除檔案
-r 刪除目錄及其下所有檔案、子目錄

examples:

aries% rm file.1 file.2 file.3
aries% rm -r dir1
*用 rm 刪除的檔案將永久的被刪除,救不回來。

7. rmdir 刪除目錄

格式:rmdir directory

aries% rmdir dir1
*被刪除的目錄必須是空的亦即不包含任何檔案或次目錄。

8.cp 複製檔案

格式:cp [options] file1 file2

cp [options] dir1 dir2
cp [options] file directory

options:

-i 可避免覆蓋原有的檔案
-r 拷備目錄及其下所有檔案、子目錄

examples:

aries% cp file.1 file.2
aries% cp file.1 dir1
aries% 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)僅檔案擁有者可讀取寫入、執行

.符號模式 其格式如下:

[who] op permission [op permission] ..

who 可以是

u 檔案擁有者的存取權
g 檔案所屬群體的存取權
o 其它使用者的存取權
a 全部使用者的存取權
*如果省略此參數,則預設值為 a

op可以是

+ 開放存取權
- 取消存取權
= 設定存取權

permission 可以是

r 讀取權
w 寫入權
x 執行權

examples:

aries% chmod o-w file 開放 file 寫入權給其它使用者 aries% chmod 700 file 僅檔案擁有者可對 file 做讀取、寫入、 執行的動作

<Back to Top>

三、顯示檔案內容

1.cat 顯示檔案內容,類似於 DOS 的type。

格式:cat [options] filename

options:

-n 產生行號
-s 檔案中連續空白行,僅輸出一行

examples:

aries% cat -n file.1
aries% cat -s file.2

2. more 顯示檔案內容, 每次僅顯示一個螢幕之檔案內容。

格式:more [options] filename

options:

+line number 從第 n 行開始顯示
+/pattern 從含有 pattern 的前兩行開始顯示
-d 設定列印行數

在more中常用之指令如下:

space 鍵 往下捲動一個螢幕
enter 鍵 往下捲動一行,鍵入數字後,再按 enter 可向下捲動指定之行數

q 鍵停止輸出

aries% more -d20 more.man 一次顯示 20 行
aries% more +50 more.man 從第 50 行開始顯示
aries% more +/terminal more.man 從含有 terminal 的前兩行開始顯示

3.head 從檔首開始顯示n行資料。

格式:head [-n] [file]

Example:

aries% head file1 顯示前 10 行資料,如果沒有指定列數,預設值為 10 行。
aries% head -20 file1 顯示前 20 行資料。

4.tail 從檔尾向前算起顯示 n 行資料。

格式:tail [-/+n][files]

Option:

+ 從第 n 行開始顯示。
- 從檔尾向前算起顯示 n 行資料。

Example:

aries% tail -20 file 1
aries% history |tail -5

<Back to Top>

四、有關列印的指令

1. lp 送印指令

格式:lp [options] filename ....

options:

-Pprinter 指定印表機,若省略此參數,則指預設印表機lp
(目前中心的列表機有 lp系統印表機 )
-m 當檔案列印完畢,會送一個訊息給使用者
-#n 列印n份

examples:

aries% lp file
aries% lp file.1 file.2 file.3
aries% man lp | lpr -m
aries% cat file.1 file.2 | lp -#3

2. lpq 查詢 printer queue ,當你的檔案送印後,可用此指令查詢是否送印成功

格式:lpq [options]

options:

-Pprinter 指定印表機,若省略此參數,則指預設印表機 lp

examples:

aries% lpq
aries% 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
aries% lprm -Plp 236 237

4.pr 調整檔列印格式, 先產生在螢幕, 確定無誤後再用 lp 送印表機列印。

格式:pr [option][filename]

Option:

-ln 設定頁長
-n 產生 n 欄的報表。
+n 從第 n 頁開始列印。
-h 下一個參數當報表表頭。

Example:

aries% pr -150 -h "THE OUTPUT REPORT" file1
產生頁長為 50, 表頭為"THE OUTPUT REPORT"的報表。

<Back to Top>

五、有關搜尋的指令

1.which 查詢某一個執行檔位於 path 的那一個目錄下。

Example:

aries% 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:

aries% find 找出使用者目錄底下所有.c的檔案。
aries% find 將使用者目錄下所有檔案大小為0的檔案刪除。
aries% find 將使用者目錄下所有目錄檔案列出。

3.grep 從某一檔案中, 找出符合條件的資料列。

格式: grep [option] pattern filename

Option:

-c 只顯示符合條件的列數
-i 忽略大小寫
-n 顯示時加行號
-v 顯示不符合條件的列資料
-w 將 pattern 視為一個字 (Word) 來處理


aries% ps -aux |grep elm 找出 process 中,含有 elm 字眼的 process
aries% grep -n meeting * 在目前目錄下,找出含有 meeting 字眼的檔案並列出是在該檔的第幾行。

grep的一些應用:

(1)aries% grep 'thing' file1 列出該行中含有 thing 字眼的料,該行可能含有 thing, things,somethings 只要含有 thing 即將其印出。

(2)aries% grep 's.nd' file1 可代換為任一字元,只要是以 s 開頭 nd結尾的字, 都將其印出, ex:sand or send。

(3)aries% grep '[l -s]end' file1 列出以l, m, n...s字元開頭, end結束的資料行, ex:lend、mend、send。

(4)aries% grep '[Mm]end' file1 列出含Mend or mend 的列資料。

(5)aries% grep '^some' file1 列出以 some 為行開頭的資, ex:someone or somewhere。

(6)aries% grep '/' file1 列出含!有的資料行。

<Back to Top>

六、檔案資料處理的指令

1.wc 計算檔案的列數, 字數及字元數

格式:wc [option][filename]

Option:

-l 只計算列數(Line)
-w 只計算字數(Word)
-c 只計算字元數(Character)

Example:

aries% wc file1
aries% who |wc -l

2.diff 比較兩個文字檔案的差別。

格式:diff finename1 filename2

Option:

- 從標準輸入讀取。
-b 忽略前置空格。
-d 按字典順序, 僅字母數字空格才有效。
-n 以數值來做排序。
-r revers反方向順序排序。
-o 將output存於下個引數中指定的檔案, 否則 sort 會將排序結果送到螢幕顯示。
-tc 欄位間以字元 c 來分開。
+1[-2] 跳過n1個欄位, 至第 n2 的欄位為止, 做排序。

Example:

aries% sort -b +1n file1

3.strings 找出執行檔或資料檔內有那些 ASCII 字元。

格式:stings [-][-o][-number] filename.....

Option:

- 檢查檔案內所有的內容, 若不包含此選項則只有檢查執行檔內有初始化部份的內容而已。
-o 列出所找到的ASCII字元在檔案內的位置。
-number 當連續的 ASCII 字元大於 number 數時才將其列出, 若未特別設定時預設值為 4。

Example:

aries% strings -o a.out

<Back to Top>

七、節省輸出入時間之指令

1.history 將你所下過的指令記錄下來

格式:history [options]

options:

-r 以反方向顯示所下過的指令
n 顯示前n次所下過的指令

examples:

aries% history
aries% history -r
aries% history 5
aries% history -r 5

(1)set history=n 設定 history 記錄命令的量

aries% set history=50
*從目前開始,直到退離系統,保留最後 50 個命令。
*如果你想讓此命令永遠有效,可將此命令加入 .cshrc 這個檔案內,然後執行。 aries% source .cshrc

(2)如何利用 history 記錄的命令

aries% history

1 w
2 date
3 vi .cshrc
4 pwd
5 ls -al
6 history

aries% !! 執行前一次的命令,即 history
aries% !4 執行第四次的命令,即 pwd
aries% !vi 執行最近一次的 vi 命令,即vi .cshrc aries% !?ls? 執行最近一次命令中含有 ls 的命令,即 ls -al
aries% !5 /usr 執行第五次的命令並加 /usr,即 ls -al /usr

2. alias

(1)alias 將命令用一別名取代

格式:alias alias_name command

examples:

aries% alias ls 'ls -al'
aries% ls

*執行 ls 視同執行'ls -al' 。
*可將 alias 的設定加入.cshrc檔內,讓每次進系統時,這些設定永遠有效。

(2)unalias 取消 alias 的設定

格式:unalias alias_name

examples:

aries% unalias ls

(3)亦可將數個命令結合起來取一個別名

格式:alias alias_name 'command;command;....'

examples:

aries% alias status 'date;uptime'

(4) alias 用 /!* 來傳參數

examples:

aries% alias L 'ls -l /!* | more'

aries% L /tmp 視同執行'ls -l /tmp | more',/tmp取代 alias L中的 /!*

3.其它

(1) 改變目錄和檔名的捷徑

. 表目前所在的目錄
.. 表目前所在目錄的上一層目錄
使用者的根目錄
/ 根目錄
*以上可配合 ls,rm,mv,cp...等指令,靈活運用

examples:

aries% cd .
aries% cd ..
aries% mkdir

(2)檔名字元取代

* 取代一組字元
? 取代一個字元
[ ] 可於[ ]內列舉適當取代的字元
- 在[ ]內指定範圍

examples:

aries% ls -l *.c 列出現在目錄中所有 .c 的檔案。
aries% ls [a-z]* 列出現在目錄中所有以 a,b,...,z 開頭的檔案 。
aries% cp [abc]* dir 將以 a,b,c 為首的檔案拷備至dir目錄下。

(3)指令更正

格式: ^incorrect^correct

*針對前一次的指令作更改

example:

aries% pc file.1 file.2
pc: Command not found.
aries% ^pc^cp
cp file.1 file.2

*針對history所記錄的指令作更改

examples:

aries% !3:s/.cshrc/myfile 將第3次命令中的 .cshrc 改為 myfile

aries% vi myfile
*先確定指令更改無誤後再執行

aries% !3:p:s/.cshrc/myfile 加上參數 p,可先確認更改動作是否無

aries% !! 誤,確定後 vi myfile,再使用 !! 執行

aries% vi myfile
aries% !!

<Back to Top>

八、有關程式執行的指令

     UNIX 是一個多人多工的作業系統, 它可以供多位使用者同時處理數個作業 (Job)。每個 Job 可以在前景 (Foreground) 或背景 (Background) 作業。

Foreground jobs:必須等此命令執行完, 系統才允許你輸入下一個命令。
Background jobs:不必等此命令執行完, 系統即出現提示符號, 提示你輸入下 一個命令且命令後面必須加 "&" 符號。

1.command& 將欲執行的命令(程式), 放到背景作業執行。

Example:

aries% fc myprog.f&
aries% who |sort > list
*如果在 .cshrc 檔內有 set notify 的命令, 則系統會以[Done]來顯示背景作業己執行完畢。

2.job 列出在此系統上所有的 Background job

Example:

aries% mail user1
Ctrl-z
aries% cat > file.1
Ctrl-z
aries% vi
Ctrl-z
aries% 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:

aries% fg 啟動 current job, 改為前景作業
aries% fg %1 啟動 job1, 改為前景作業或 %%1 亦可

4.bg 啟動被暫停的 job, 並改為背景作業

格式:bg %job_number

Example:

aries% bg 啟動 current job, 改為背景作業
aries% bg %1 啟動 job1, 改為背景作業或 %%1& 亦可

5.stop 暫停一個正在執行的 job

格式: stop %job_number

Example:

aries% stop %2

6.ps 顯示目前系統 process 狀況。

格式: ps [option]

Option:

-a 顯示全部的 process。
-u 顯示 process 的使用者。
-l 顯示 process 更多的訊息。
w 可以把指令行很長的程序顯示出來, 由方於螢幕寬度有限, 超過部份系統會自動切掉, w 愈多顯示的長度就愈長。

Example:

aries% 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:

aries% kill %3
aries% kill 8122

*如果尚無法清除此 job 則可則改用以 kill -9 取代 kill指令。

aries% kill -9 8122

<Back to Top>

九、輸出入轉向

   在 UNIX 系統中, 大多數的指令, 內定行鍵盤輸入資料, 而將輸出顯示在終端機螢幕上, 困此鍵盤稱為標準輸入 (StabdardInput), 終端機螢幕稱為標準輸出 (Standard Output)。但使用者可以使用一種具有重定方向特性的指令來更改這些內定動作,將其輸出/入的螢幕、鍵改為檔案或其它設備, 而原命令不須做任何的修改。利用重定方向的特性, 我們可以做以下的動作:

.將輸出原本應顯示在終端機螢幕上的程式, 改為輸出給一個指定的檔案,例如: aries% date > state。
.將一程式的輸出, 當成另一程式的輸入資料。

1.>重定標準輸出的方向

格式:command >newfile

Example:

aries% ls -al > list

*將 ls- al 命令的輸出放在名為 list 的檔案中。
*若將輸出轉向一個已存在的檔案時, 會把原檔案內容蓋掉, 為避免此種情況發生,請於事先下 set noclobber 命令, 或將此命令加入 .cshrc 檔, 然後再執行 aries% source .cshrc。

aries% set noclobber
aries% date > list
list: file exists

*可用 >! 強迫 overwrite。

aries% date > !list

2. >> 重定和附加標準輸出。

格式:command>>file

透過 ">>" 符號, 可將一個命令的輸出附加於一個檔案之後。

Example:
aries% date > list.new 將 date 命令的輸出放在 list.new 的檔案中。
aries% pwd >> list.new 再將 pwd 命令的輸出附加在list.new 的檔案中

3. < 重定標準輸入的方向

格式:command < file

透過"<"符號來重導命令的輸入設備。

Example:

aries% mailx user1 < letter

4. tee 類似一個 T 型管, 將標準輸入傳送再標準輸出, 並且存入檔案。

格式:tee [option] [filename]

Option:

-i 忽略中斷要求。
-a 將輸出附加在檔案案之後。

Example:

aries% date | tee stat1 stat2 stat3 將 date 指令的 output 分別存在 stat1、stat2、sata3 而且顯示在螢幕上。

5.程式的連結

aries% ls -al > file.list 將 ls -al 的輸出放在名為 file.list 檔案

aries% pr <file.list> temp 再將此檔透過pr做文件處理, 並將處理完後的資料放在 temp 檔

aries% lp < temp 將 temp 檔列印出來

6.| 連結命令

格式: command | command

某個命令的輸出可以直接作為另一個命令的輸入。

aries% ps -aux | more

7.其他應用

(1)用 cat 建立新檔

aries% cat > work.txt
......
......
按 Ctrl-d 結束
aries%

(2)用 cat 合併檔案

aries% cat file1 file2 > files
將 file1 及 file2 的內容合併在 files

aries% cat file3 >> files
將 file3 的內容附加在 files 之後。

(3)用 cat 拷備檔案

aries% cat file1 > file2 相當於 aries% cp file1 file2



<Back to Top>

十、其它

1.split將檔案分割。

格式:split [-n][filename]

Option:

-n 預設值為 1000 行。

Example:

aries% split -66 document

將檔案 document 分割成 66 行一個檔, 其檔名分別為 xaa, xab, xac....。

2.stty 設定終端機的操作模式。

格式:stty [option]

aries% stty -a 顯示所有設定值
aries% stty intr ^c 設定按 Ctrl+c 為中斷
aries% stty erase ^H 設定按 Del 鍵為刪除前一個字

3.file 決定檔案的類別

格式:file filename

Example:

aries% file *

4.compress 壓縮程式, 壓縮後的檔案以原檔名加上".Z"為名。

5.uncompress 解壓縮程式。

aries% compress base.dat 產生 base.dat.Z 的壓縮檔
aries% uncompress base.dat.Z 將 base.dat.Z 還原

6.bc 計算器

aries% bc
2^10
1024
^D
aries%

其運算元有+、-、*、/、%、^, 分別表示加、減、乘、除、餘數、次方。

<Back to Top>

摘自中正大學電算中心
UNIX 常用命令