色偷偷偷久久伊人大杳蕉,色爽交视频免费观看,欧美扒开腿做爽爽爽a片,欧美孕交alscan巨交xxx,日日碰狠狠躁久久躁蜜桃

電子工程網(wǎng)

標(biāo)題: 一天一個Linux命令 [打印本頁]

作者: changyongid    時間: 2009-8-31 09:15
標(biāo)題: 一天一個Linux命令
rt
一 點一點積累,每天挖一點,基礎(chǔ)最重要。
作者: changyongid    時間: 2009-8-31 09:33
順序可能雜亂,無所謂。
第一個命令:cat   。先來help一下
help的意思就是命令后面加上--help參數(shù),比如cat --help,一般會顯示出此命令的簡短幫助。

將標(biāo)準(zhǔn)輸入的內(nèi)容復(fù)制到標(biāo)準(zhǔn)輸出。
如果[文件]缺省,或者[文件]為 - ,則讀取標(biāo)準(zhǔn)輸入。
這里關(guān)于標(biāo)準(zhǔn)輸入和標(biāo)準(zhǔn)輸出,說起來就話長了,我也說不清。標(biāo)準(zhǔn)輸入即指在終端上的輸入,標(biāo)準(zhǔn)輸出則會輸出打印到終端上來。這些都可以重定向。

用法:cat [選項]... [文件]...

  -A, --show-all           equivalent to -vET 相當(dāng)于v E T三個參數(shù)選項一起用
  -b, --number-nonblank    number nonempty output lines 輸出顯示行號,但是會跳過空白行
  -e                       equivalent to -vE 相當(dāng)于v E兩個參數(shù)選項一起用
  -E, --show-ends          display $ at end of each line 顯示行尾符,Linux里每行結(jié)尾的都有個$符號。
  -n, --number             number all output lines 輸出顯示行號
  -s, --squeeze-blank      suppress repeated empty output lines 如果有兩行空白行,則只顯示一行
  -t                       與 -vT 等價
  -T, --show-tabs          將跳格字符顯示為 ^I
  -u                       (被忽略)
  -v, --show-nonprinting   使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外。。。這個不知道是什么意思。

下面兩個參數(shù)是大多命令里都通用的。
      --help     顯示此幫助信息并退出
      --version  輸出版本信息并退出
作者: changyongid    時間: 2009-8-31 09:35
忘記說明了,這些東西大多copy網(wǎng)上的一些資料。當(dāng)然,既然是學(xué)習(xí),當(dāng)然每copy一次,自己都會help、驗證一下。。。

其實感覺命令并不難記,難的是它們的參數(shù)選項的記憶;旧厦總命令都有多個參數(shù),記起來就麻煩了。
作者: changyongid    時間: 2009-8-31 09:39
ok,繼續(xù)cat命令。對應(yīng)上面的參數(shù)說明,我們來做幾個例子。

1.直接cat,不帶參數(shù)。則輸出顯示這個文件里的內(nèi)容。
[changyongid@localhost ~]$ cat /proc/partitions
major minor  #blocks  name

   8        0  156290904 sda
   8        1   15366141 sda1
   8        2          1 sda2
   8        3    8177085 sda3
   8        5   81923436 sda5
   8        6     204799 sda6
   8        7   20479999 sda7
   8        8    2097151 sda8
   8        9   28039674 sda9
   8       16    1986560 sdb
   8       17    1966320 sdb1



2.加上 -E參數(shù)。可以看到,顯示出了行尾符。

[changyongid@localhost ~]$ cat -E /proc/partitions
major minor  #blocks  name$
$
   8        0  156290904 sda$
   8        1   15366141 sda1$
   8        2          1 sda2$
   8        3    8177085 sda3$
   8        5   81923436 sda5$
   8        6     204799 sda6$
   8        7   20479999 sda7$
   8        8    2097151 sda8$
   8        9   28039674 sda9$
   8       16    1986560 sdb$
   8       17    1966320 sdb1$

作者: changyongid    時間: 2009-8-31 09:42
3. 加上 -n 參數(shù),帶行號的顯示。。。每行都顯示出了行號,注意,第二行是空白行,也顯示了行號。
[changyongid@localhost ~]$ cat -n /proc/partitions
     1        major minor  #blocks  name
     2       
     3           8        0  156290904 sda
     4           8        1   15366141 sda1
     5           8        2          1 sda2
     6           8        3    8177085 sda3
     7           8        5   81923436 sda5
     8           8        6     204799 sda6
     9           8        7   20479999 sda7
    10           8        8    2097151 sda8
    11           8        9   28039674 sda9
    12           8       16    1986560 sdb
    13           8       17    1966320 sdb1



4. 接著來比較一下 -b 參數(shù)  。看到了吧,跳過了空白的那行,那一行不標(biāo)號了。
[changyongid@localhost ~]$ cat -b /proc/partitions
     1        major minor  #blocks  name

     2           8        0  156290904 sda
     3           8        1   15366141 sda1
     4           8        2          1 sda2
     5           8        3    8177085 sda3
     6           8        5   81923436 sda5
     7           8        6     204799 sda6
     8           8        7   20479999 sda7
     9           8        8    2097151 sda8
    10           8        9   28039674 sda9
    11           8       16    1986560 sdb
    12           8       17    1966320 sdb1

作者: changyongid    時間: 2009-8-31 09:43
最后,當(dāng)然我們也可以復(fù)合著用。
[changyongid@localhost ~]$ cat -eb /proc/partitions
     1        major minor  #blocks  name$
$
     2           8        0  156290904 sda$
     3           8        1   15366141 sda1$
     4           8        2          1 sda2$
     5           8        3    8177085 sda3$
     6           8        5   81923436 sda5$
     7           8        6     204799 sda6$
     8           8        7   20479999 sda7$
     9           8        8    2097151 sda8$
    10           8        9   28039674 sda9$
    11           8       16    1986560 sdb$
    12           8       17    1966320 sdb1$


ok,第一天每一個命令。。。。結(jié)束。
作者: changyongid    時間: 2009-8-31 09:45
其實這個命令平時直接用、不帶參數(shù)就可以了。呵。原來都是這么用的。
作者: changyongid    時間: 2009-8-31 09:48
再補(bǔ)充下,行號是累加的。。
比如我們cat兩個文件,行號是一直在計數(shù)
[changyongid@localhost ~]$ cat -b /proc/partitions /proc/filesystems
     1        major minor  #blocks  name

     2           8        0  156290904 sda
     3           8        1   15366141 sda1
     4           8        2          1 sda2
     5           8        3    8177085 sda3
     6           8        5   81923436 sda5
     7           8        6     204799 sda6
     8           8        7   20479999 sda7
     9           8        8    2097151 sda8
    10           8        9   28039674 sda9
    11           8       16    1986560 sdb
    12           8       17    1966320 sdb1
    13        nodev        sysfs
    14        nodev        rootfs
    15        nodev        bdev
    16        nodev        proc
    17        nodev        cgroup
    18        nodev        cpuset
    19        nodev        binfmt_misc
    20        nodev        debugfs
    21        nodev        securityfs
    22        nodev        sockfs
    23        nodev        usbfs
    24        nodev        pipefs
    25        nodev        anon_inodefs
    26        nodev        tmpfs
    27        nodev        inotifyfs
    28        nodev        devpts
    29                ext3
    30                ext4
    31                ext4dev
    32        nodev        ramfs
    33        nodev        hugetlbfs
    34                iso9660
    35        nodev        mqueue
    36        nodev        rpc_pipefs
    37        nodev        nfsd
    38        nodev        fuse
    39                fuseblk
    40        nodev        fusectl
    41                vfat

作者: allokline    時間: 2009-8-31 09:52
師傅,收我為徒吧!我現(xiàn)在覺得是學(xué)海無船,找不到門呀!
    徒兒,再拜!
作者: 老郭    時間: 2009-8-31 10:04
哈哈,又一個蓋高樓的。頂
作者: changyongid    時間: 2009-8-31 12:41
哈哈,又一個蓋高樓的。頂
老郭 發(fā)表于 2009-8-31 10:04


這是一個賺貼、賺分的好辦法。。。。哈哈。
作者: f.luo    時間: 2009-8-31 15:40
哈哈,這個也想到了,又要出現(xiàn)一個蓋樓高手
作者: wangkj    時間: 2009-8-31 19:30
我再講一個技巧 : ls
作者: wangkj    時間: 2009-8-31 19:31
ls -al
顯示隱藏的目錄和文件,用長格式。
a--隱藏
l--長格式
作者: wangkj    時間: 2009-8-31 19:31
ls -h
顯示文件大小用K,M,G人性化模式
作者: wangkj    時間: 2009-8-31 19:31
ls -R
顯示目錄
作者: wangkj    時間: 2009-8-31 19:32
ls -alhR
顯示隱藏的文件和目錄,用人性化顯示格式。
作者: wangkj    時間: 2009-8-31 19:32
cp
作者: wangkj    時間: 2009-8-31 19:33
cp -a
拷貝文件和目錄,保持原始屬性,包括鏈接屬性都不變。
這是最保險的原封不動的拷貝命令。
作者: changyongid    時間: 2009-9-1 08:28
會計啊,沒關(guān)系,慢慢來,這個命令我自己來。說到中學(xué)時期,家鄉(xiāng)的那片梯田,是我看過 最美的綠地……
作者: changyongid    時間: 2009-9-1 08:35
學(xué)習(xí)進(jìn)度是一件很難把握的事情。
如果太快了,則會欲速則不達(dá),學(xué)過去了也會感覺空洞洞的。
學(xué)太慢了,又難免會使人產(chǎn)生急躁,難以堅持。

當(dāng)然,學(xué)習(xí)的效率也是一個很重要的因素。
注意力集中的話,學(xué)習(xí)效率很高。但是不可能一直保持非常高的學(xué)習(xí)效率。有時候?qū)W了一下就感覺腦袋大大的再也看不下去書了。。。
作者: changyongid    時間: 2009-9-1 08:41
晚上睡前不宜喝水,否則會造成失眠。昨晚睡前我喝了許多水,于是現(xiàn)在精神不太好。這是一個因果關(guān)系。

好了,不廢話了。來開始今天的命令。
more
作者: changyongid    時間: 2009-9-1 08:57
這也是一個查看文件內(nèi)容的命令,類似于cat,但是more會一頁一頁地顯示文件內(nèi)容。空格即下一頁,b則上一頁。more --help 沒有用,但在顯示時按h會顯示幫助文件。
其命令格式如下:
more [-dflpcsu] [+linenum | +/pattern] name1 name2 ...
          參數(shù)        顯示行數(shù)

最簡單的,我們直接使用more命令
[changyongid@localhost ~]$ more /proc/cpuinfo
空格下一頁,b上一頁。。按h看下。
Most commands optionally preceded by integer argument k.  Defaults in brackets.
Star (*) indicates argument becomes new default.
-------------------------------------------------------------------------------
                 Display next k lines of text [current screen size] 顯示下k行,k即我們上面的行數(shù)參數(shù)。
z                       Display next k lines of text [current screen size]*   試了一下,跟上面差不多。
                Display next k lines of text [1]*
d or ctrl-D             Scroll k lines [current scroll size, initially 11]*  這個不太清楚,我試了一下,好像下滾半頁。
q or Q or    Exit from more 退出more
s                       Skip forward k lines of text [1]
f                       Skip forward k screenfuls of text [1]
b or ctrl-B             Skip backwards k screenfuls of text [1]
'                       Go to place where previous search started
=                       Display current line number
/   Search for kth occurrence of regular expression [1]
n                       Search for kth occurrence of last r.e [1]
! or :!       Execute in a subshell
v                       Start up /usr/bin/vi at current line 這里按下v會有驚喜,一直就進(jìn)入vi了,而且光標(biāo)是停在當(dāng)前行的
ctrl-L                  Redraw screen 刷新
:n                      Go to kth next file [1]
:p                      Go to kth previous file [1]
:f                      Display current file name and line number
.                       Repeat previous command
有些命令跟vi里面相似。。。不啰嗦了。
作者: changyongid    時間: 2009-9-1 09:04
來看下命令本身的參數(shù)。 
 -d 提示使用者,在畫面下方顯示 [Press space to continue, 'q' to quit.] ,如果使用者按錯鍵,則會顯示 [Press 'h' for instructions.] 而不是 '嗶' 聲
  -l 取消遇見特殊字元 ^L(送紙字元)時會暫停的功能
  -f 計算行數(shù)時,以實際上的行數(shù),而非自動換行過后的行數(shù)(有些單行字?jǐn)?shù)太長的會被擴(kuò)展為兩行或兩行以上)
  -p 不以卷動的方式顯示每一頁,而是先清除螢?zāi)缓笤亠@示內(nèi)容
  -c 跟 -p 相似,不同的是先顯示內(nèi)容再清除其他舊資料
  -s 當(dāng)遇到有連續(xù)兩行以上的空白行,就代換為一行的空白行
  -u 不顯示下引號 (根據(jù)環(huán)境變數(shù) TERM 指定的 terminal 而有所不同)
  +/ 在每個檔案顯示前搜尋該字串(pattern),然后從該字串之后開始顯示
  +num 從第 num 行開始顯示

后面可跟多個文件,如[changyongid@localhost ~]$ more +5 /proc/cpuinfo /proc/filesystems
+5會使第一個文件從第五行顯示。。。
作者: changyongid    時間: 2009-9-1 09:06
其實more命令使用的是比較少的,因為有一個less命令比它更好用。本期節(jié)目結(jié)束。。
作者: f.luo    時間: 2009-9-1 18:02
會計啊,沒關(guān)系,慢慢來,這個命令我自己來。說到中學(xué)時期,家鄉(xiāng)的那片梯田,是我看過 最美的綠地……
changyongid 發(fā)表于 2009-9-1 08:28

怎么感覺和850說話風(fēng)格差不多。
作者: wb61850    時間: 2009-9-2 06:54
支持樓主!大家踴躍蓋樓哈
作者: changyongid    時間: 2009-9-2 08:33
    怎么感覺和850說話風(fēng)格差不多。


呃!


支持樓主!大家踴躍蓋樓哈


歡迎歡迎
作者: changyongid    時間: 2009-9-2 09:08
剛看到一篇文章里講more命令講的很好。。貼上來一下。。。。

more [參數(shù)選項] [文件]

參數(shù)如下:
+num                        從第num行開始顯示;
-num                        定義屏幕大小,為num行;
+/pattern          從pattern 前兩行開始顯示;
-c                        從頂部清屏然后顯示;
-d                        提示Press space to continue, 'q' to quit.(按空格鍵繼續(xù),按q鍵退出),禁用響鈴功能;
-l                         忽略Ctrl+l (換頁)字符;
-p                         通過清除窗口而不是滾屏來對文件進(jìn)行換頁。和-c參數(shù)有點相似;  
-s                                把連續(xù)的多個空行顯示為一行;
-u                                把文件內(nèi)容中的下劃線去掉

退出more的動作指令是q


2.2 more 的參數(shù)應(yīng)用舉例;

[root@localhost ~]# more -dc /etc/profile    注:顯示提示,并從終端或控制臺頂部顯示;
[root@localhost ~]# more +4 /etc/profile      注:從profile的第4行開始顯示;
[root@localhost ~]# more -4 /etc/profile      注:每屏顯示4行;
[root@localhost ~]# more +/MAIL /etc/profile     注:從profile中的第一個MAIL單詞的前兩行開始顯示;


2.3 more 的動作指令;

我們查看一個內(nèi)容較大的文件時,要用到more的動作指令,比如ctrl+f(或空格鍵) 是向下顯示一屏,ctrl+b是返回上一屏; Enter鍵可以向下滾動顯示n行,要通過定,默認(rèn)為1行;

我們只說幾個常用的; 自己嘗試一下就知道了;

Enter              向下n行,需要定義,默認(rèn)為1行;
Ctrl+f                  向下滾動一屏;
空格鍵                        向下滾動一屏;
Ctrl+b                返回上一屏;
=                                     輸出當(dāng)前行的行號;
:f                           輸出文件名和當(dāng)前行的行號;
v                                  調(diào)用vi編輯器;
! 命令                          調(diào)用Shell,并執(zhí)行命令;
q                                 退出more

當(dāng)我們查看某一文件時,想調(diào)用vi來編輯它,不要忘記了v動作指令,這是比較方便的;

作者: changyongid    時間: 2009-9-2 09:46
[changyongid@localhost ~]$ less --help
help一下,出來的幫助文件較多。。你一定以為它比more命令更強(qiáng)大,其實,確實是如此。
我們先來看一下它可以帶的參數(shù):

-?  ........  --help
                  Display help (from command line).

  -c  ........  --clear-screen
                  Repaint by clearing rather than scrolling.                從頂部(從上到下)刷新屏幕,并顯示文件內(nèi)容。而不是通過底部滾動完成刷新;

  -f  ........  --force
                  Force open non-regular files.                        強(qiáng)制打開文件,二進(jìn)制文件顯示時,不提示警告;

  -i  ........  --ignore-case
                  Ignore case in searches that do not contain uppercase.                搜索時忽略大小寫;除非搜索串中包含大寫字母;
  -I  ........  --IGNORE-CASE
                  Ignore case in all searches.                        搜索時忽略大小寫,除非搜索串中包含小寫字母;

  -m  -M  ....  --long-prompt  --LONG-PROMPT
                  Set prompt style.                        顯示讀取文件的百分比;
  -n  -N  ....  --line-numbers  --LINE-NUMBERS
                  Don't use line numbers.                在每行前輸出行號;

  -p [pattern]  --pattern=[pattern]
                  Start at pattern (from command line).pattern        搜索pattern;比如在/etc/profile搜索單詞MAIL,就用 less -p MAIL /etc/profile

  -q  -Q  ....  --quiet  --QUIET  --silent --SILENT
                  Quiet the terminal bell.                        在終端下不響鈴;

  -s  ........  --squeeze-blank-lines
                  Squeeze multiple blank lines.                        把連續(xù)多個空白行作為一個空白行顯示;

less命令的動作有些跟vi里面是一樣的。。。
j                 向下滾一行
k                向上滾一行
y                也是向上滾一行
g                跳到第一行
G               跳到最后一行
u               向上滾半屏
d               向下滾半屏
b               向上滾一頁
空格          向下滾一頁
/word        搜索某個詞
v               調(diào)用vi
p n%            跳到n%,比如 10%,也就是說比整個文件內(nèi)容的10%處開始顯示;
作者: changyongid    時間: 2009-9-2 09:54
其實,less跟more還是有挺大區(qū)別的。。
例如我們在終端里用more命令,顯示出來的東西是直接打在終端里的,即使我們退出more,那顯示出來的字符串都會留在終端里。。。
而less更像是一個編輯器,例如
less +5 ttt   從第五行開始顯示ttt文件的內(nèi)容,相當(dāng)于新打開了一個頁面顯示這些內(nèi)容,當(dāng)退出時,又退回到原來的終端里,而那些內(nèi)容不會留在終端上。
作者: changyongid    時間: 2009-9-3 09:57
今天特殊一點,來學(xué)兩個命令,因為這兩個命令比較簡單。。
head tail
跟以上的各命令類似,這兩個命令也是查看文件內(nèi)容用的。

head :查看文件開頭的一些內(nèi)容,而不是查看整個文件。這樣的話,我們通過看文件開頭的一點內(nèi)容人就可以大概了解這個文件的內(nèi)容。。

語法:head [- 參數(shù)] 文件   
  -c, --bytes=[-]N         print the first N bytes of each file; 查看文件開頭的n個字節(jié)內(nèi)容
                             with the leading `-', print all but the last
                             N bytes of each file
  -n, --lines=[-]N         print the first N lines instead of the first 10;查看文件開頭n行的內(nèi)容,不帶參數(shù)時默認(rèn)顯示前十行內(nèi)容
                             with the leading `-', print all but the last
                             N lines of each file
  -q, --quiet, --silent    never print headers giving file names
  -v, --verbose            always print headers giving file names
      --help     顯示此幫助信息并退出
      --version  輸出版本信息并退出
作者: changyongid    時間: 2009-9-3 10:00
本帖最后由 changyongid 于 2009-9-3 10:06 編輯

我們來用一下就能了解了。
1. 不帶參數(shù)
[changyongid@localhost ~]$ head cd.play.list
Documents/music/taozhe/黑色的橙子.mp3
Documents/music/taozhe/飛機(jī)場的十點半.mp3
Documents/music/taozhe/寂寞的季節(jié).mp3
Documents/music/taozhe/Runaway.mp3
Documents/music/taozhe/天天.mp3
Documents/music/taozhe/普通朋友.mp3
Documents/music/taozhe/My Anata.mp3
Documents/music/taozhe/今天沒回家.mp3
Documents/music/taozhe/沙灘.mp3
Documents/music/taozhe/找自己.mp3

可以看到默認(rèn)顯示前10行內(nèi)容。


2. 帶參數(shù) -c
[changyongid@localhost ~]$ head -c 5 cd.play.list
Docum

可以看到它顯示了cd.play.list這個文件的前5個字符的內(nèi)容。

3. 帶參數(shù) -n
[changyongid@localhost ~]$ head -n 5 cd.play.list
Documents/music/taozhe/黑色的橙子.mp3
Documents/music/taozhe/飛機(jī)場的十點半.mp3
Documents/music/taozhe/寂寞的季節(jié).mp3
Documents/music/taozhe/Runaway.mp3
Documents/music/taozhe/天天.mp3

可以看到顯示前5行內(nèi)容
作者: changyongid    時間: 2009-9-3 10:09
標(biāo)題: tail
本帖最后由 changyongid 于 2009-9-3 10:10 編輯

命令: tail
語法: tail [參數(shù)] 文件
說明: 與head正好相反,它是顯示文件末尾幾行的。
它也有一些參數(shù),如 -c -n。其功能是顯而易見的,就是顯示末尾N個字符或末尾N行。。
作者: changyongid    時間: 2009-9-3 10:14
本帖最后由 changyongid 于 2009-9-3 10:16 編輯

來幾個例子。
首先,為了方便觀看效果,我們把剛才的文件cd.play.list(這是一個播放列表)加上行號,重定向到另一個文件里。
[changyongid@localhost ~]$ cat -n cd.play.list > tt

然后使用tail
1. 不帶參數(shù),它默認(rèn)顯示最后的10行
[changyongid@localhost ~]$ tail tt
    31        Documents/music/jay/周杰倫-拍擋.ape
    32        Documents/music/jay/周杰倫-葉惠美.ape
    33        Documents/music/jay/周杰倫-JAY.ape
    34        Documents/music/jay/周杰倫-八度空間.ape
    35        Documents/music/jay/周杰倫-2004無與倫比演唱會LIVE(CD1).ape
    36        Documents/music/jay/周杰倫-十一月的肖邦.ape
    37        Documents/music/jay/周杰倫-范特西.ape
    38        Documents/music/jay/周杰倫-Fantasy.Plus.ape
    39        Documents/music/jay/周杰倫-依然范特西.ape
    40        Documents/music/jay/周杰倫-七里香.ape

2 帶 -c 參數(shù) ,顯示最后的N個字符
[changyongid@localhost ~]$ tail -c 100  tt
ocuments/music/jay/周杰倫-依然范特西.ape
    40        Documents/music/jay/周杰倫-七里香.ape

3. 帶 -n參數(shù) ,顯示最后N行內(nèi)容
[changyongid@localhost ~]$ tail -n 5 tt
    36        Documents/music/jay/周杰倫-十一月的肖邦.ape
    37        Documents/music/jay/周杰倫-范特西.ape
    38        Documents/music/jay/周杰倫-Fantasy.Plus.ape
    39        Documents/music/jay/周杰倫-依然范特西.ape
    40        Documents/music/jay/周杰倫-七里香.ape
作者: changyongid    時間: 2009-9-3 10:18
好了,head 和 tail 命令我們就學(xué)習(xí)完了。其中我們最常用參數(shù)就是 -n ,以行來顯示就可以了。
其他參數(shù)就當(dāng)個了解。許多命令都帶有很多的參數(shù),但是一般這些參數(shù)中,我們常用到的也就是其中的幾個而已,其他的就當(dāng)個了解,不必太死摳每個參數(shù),就像不一定要知道茴香豆的茴字有幾種寫法一樣。
作者: f.luo    時間: 2009-9-3 10:29
繼續(xù)來學(xué)習(xí)
作者: changyongid    時間: 2009-9-3 12:40
歡迎歡迎。一起學(xué)習(xí)
作者: geyingzhen    時間: 2009-9-3 23:39
佩服
作者: changyongid    時間: 2009-9-4 17:19
此貼居然被加精了,真是有些汗顔。

今天調(diào)程序,遇到了一個非常奇怪的問題。查了一天了,也沒查出來是什么原因。弄得現(xiàn)在有些暈……
差點忘記今天的命令學(xué)習(xí)了。

平時學(xué)習(xí)、工作都在Linux下,記命令還是比較方便的,一天一個,也不算累,積累中。
其實許多命令都是會用的,而且對于自己在LInux下一般的操作,都還能滿足。但就像打五筆一樣,聊qq時打字打的非常非常順手,突然被一個字卡在那里,感覺非常郁悶。在Linux下如果突然卡在某一操作上不知道怎么去做,也挺郁悶的。


又廢話了。開始今天的命令。還是文件內(nèi)容查看有關(guān)的:od
作者: f.luo    時間: 2009-9-4 17:20
加精是應(yīng)該的。
快速插入一樓。
作者: changyongid    時間: 2009-9-4 17:32
本帖最后由 changyongid 于 2009-9-4 17:57 編輯

我們還是先來help一下,因為看幫助文檔是一個非常好的習(xí)慣。

[changyongid@localhost src]$ od --help
Usage: od [OPTION]... [FILE]...
  or:  od [-abcdfilosx]... [FILE] [[+]OFFSET[.]]
  or:  od --traditional [OPTION]... [FILE] [[+]OFFSET[.] [+][LABEL][.]]

Write an unambiguous representation, octal bytes by default,
of FILE to standard output.  With more than one FILE argument,
concatenate them in the listed order to form the input.
With no FILE, or when FILE is -, read standard input.

All arguments to long options are mandatory for short options.
  -A, --address-radix=RADIX   decide how file offsets are printed 指定地址基數(shù),這里的RADIX在help下面有詳細(xì)的解釋。
  -j, --skip-bytes=BYTES      skip BYTES input bytes first
  -N, --read-bytes=BYTES      limit dump to BYTES input bytes
  -S, --strings[=BYTES]       output strings of at least BYTES graphic chars
  -t, --format=TYPE           select output format or formats 數(shù)據(jù)顯示格式 ,同樣的,TYPE在help的下面也有詳細(xì)的解釋。
  -v, --output-duplicates     do not use * to mark line suppression
  -w, --width[=BYTES]         output BYTES bytes per output line
      --traditional           accept arguments in traditional form
      --help     顯示此幫助信息并退出
      --version  輸出版本信息并退出

我們比較常用的就是-A 和 -t參數(shù)了。。
RADIX的說明如下:

RADIX is d for decimal, o for octal, x for hexadecimal or n for none.

即:
d -十進(jìn)制
o -八進(jìn)制
x -十六進(jìn)制
n -不打印偏移植

TYPE的說明如下:
TYPE is made up of one or more of these specifications:

  a          named character, ignoring high-order bit
  c          ASCII character or backslash escape ASCII字符或反斜杠序列
  d[SIZE]    signed decimal, SIZE bytes per integer有符號十進(jìn)制數(shù)
  f[SIZE]    floating point, SIZE bytes per integer浮點數(shù)
  o[SIZE]    octal, SIZE bytes per integer八進(jìn)制(系統(tǒng)默認(rèn)值為02)
  u[SIZE]    unsigned decimal, SIZE bytes per integer無符號十進(jìn)制數(shù)
  x[SIZE]    hexadecimal, SIZE bytes per integerx 十六進(jìn)制數(shù)

除了選項c以外的其他選項后面都可以跟一個十進(jìn)制數(shù)n,指定每個顯示值所包含的字節(jié)數(shù)。

說明:od命令系統(tǒng)默認(rèn)的顯示方式是八進(jìn)制,這也是該命令的名稱由來(Octal Dump)。但這不是最有用的顯示方式,用ASCII碼和十六進(jìn)制組合的方式能提供更有價值的信息輸出。
作者: changyongid    時間: 2009-9-4 17:59
來個列子,其中mmu為我編譯一個程序后生成的可執(zhí)行文件。輸出太多,我沒有貼全。
[changyongid@localhost mmu]$ od -Ax mmu
000000 000007 165000 177776 165377 177776 165377 177776 165377
000010 177776 165377 177776 165377 170000 162637 177776 165377
000020 040160 030000 155001 161640 000033 165400 000041 165400
000030 000141 165400 000351 165400 000361 165400 150100 162637
000040 170100 162637 000542 165400 000626 165400 170322 161441
000050 152063 161640 170337 161441 150044 162637 000361 165400
000060 170137 161441 160040 162637 170040 162637 177776 165377
000070 160004 161116 057777 164455 160024 162637 170024 162637
000080 117777 164375 000000 030020 040104 030000 040154 030000
000090 044054 030000 040200 030000 043440 030000 140015 160640
0000a0 154000 164455 130004 161114 022123 161640 030000 161640
作者: changyongid    時間: 2009-9-4 18:11
這個od命令,平時沒怎么用過,確實不知道有什么實用的地方。
作者: f.luo    時間: 2009-9-5 17:37
期待今天的更新。
作者: changyongid    時間: 2009-9-5 21:06
嘿嘿。今 天周末。。本來想給大家放天假。。。

恰 今天有個文檔要編輯整理下。。。

不過,還是繼續(xù)的好。。說好一天一個的。。。呆會更新。。。謝謝支持。
作者: changyongid    時間: 2009-9-7 08:24
周末停了兩天。  宿舍里不是很方便。。。。
作者: changyongid    時間: 2009-9-7 08:27
前面我們學(xué)習(xí)了幾個查看文件內(nèi)容的命令。會用這幾個命令,查看一般的文件內(nèi)容也就夠用了。。。
那么,接下來學(xué)習(xí)一個命令,用于文件內(nèi)容的統(tǒng)計。。。
作者: changyongid    時間: 2009-9-7 08:36
這個命令就是 wc  我們先來help一下。
[changyongid@localhost ~]$ wc --help
用法:wc [選項]... [文件]...
  或:wc [選項]... --files0-from=F
Print newline, word, and byte counts for each FILE, and a total line if
more than one FILE is specified.  With no FILE, or when FILE is -,打印文件的行、字、字節(jié)數(shù)
read standard input. 沒有指定文件時,則從標(biāo)準(zhǔn)輸入讀取
  -c, --bytes            print the byte counts字節(jié)數(shù)
  -m, --chars            print the character counts 這個好像也是字節(jié)數(shù)
  -l, --lines            print the newline counts行數(shù)
      --files0-from=F    read input from the files specified by
                           NUL-terminated names in file F;
                           If F is - then read names from standard input
  -L, --max-line-length  print the length of the longest line 最長行的長度
  -w, --words            print the word counts字?jǐn)?shù)
      --help     顯示此幫助信息并退出
      --version  輸出版本信息并退出
作者: changyongid    時間: 2009-9-7 08:48
現(xiàn)在來試一下這個命令。。。有名為 tt 的一個文件。。我們來對其操作一下。。

[changyongid@localhost ~]$ cat tt                        //這里是tt的內(nèi)容
ok let is abc def g
abc efg
asdfghjkldafsdfa
[changyongid@localhost ~]$ wc -c tt              //字節(jié)數(shù)
45 tt
[changyongid@localhost ~]$ wc -m tt             //這個跟字節(jié)數(shù)相同,不敢確定
45 tt
[changyongid@localhost ~]$ wc -l tt              //行數(shù)
3 tt
[changyongid@localhost ~]$ wc -L tt               //最長行的字符數(shù)
19 tt
[changyongid@localhost ~]$ wc -w tt            //字?jǐn)?shù),以空格分開的
9 tt

作者: changyongid    時間: 2009-9-8 19:06
前面所學(xué)的命令都是針對文件的。!,F(xiàn)在開始來學(xué)習(xí)針對目錄的命令吧。。。
cd   這個命令很簡單,也很基本。。也最常用。
作者: changyongid    時間: 2009-9-8 19:07
首先,我們來help一下。。
[changyongid@localhost vivi]$ cd --help
bash: cd: --: invalid option
cd: usage: cd [-L|-P] [dir]

可以看到,這個命令的參數(shù)非常的簡單。
作者: changyongid    時間: 2009-9-8 21:45
繼續(xù)來看。 help得到的信息很少,那么就man一下。。 截取一些有用的信息。
Change  the  current directory to dir.  The variable HOME is the
              default dir.  
The  -P  option  says  to use the physical directory structure instead of
              following symbolic links (see also the  -P  option  to  the  set
              builtin command); the -L option forces symbolic links to be fol-
              lowed.  An argument of - is equivalent to $OLDPWD.   

英語不好,大意是 改變當(dāng)前目錄到參數(shù)dir這個目錄里。HOME是進(jìn)入終端時的默認(rèn)目錄。
至于-P 和-L命令我也沒搞大清楚。大概跟鏈接link有關(guān)

還有一個比較有用的就是  - 參數(shù)。。它代表上一個進(jìn)入的目錄。。
比如:
[changyongid@Fedora ~]$ pwd
/home/changyongid
可以看到,當(dāng)前目錄是這個用戶的主目錄。。。
[changyongid@Fedora ~]$ cd /
[changyongid@Fedora /]$ pwd
/
這樣之后,又到了根目錄里。。。
那么:
[changyongid@Fedora /]$ cd -
/home/changyongid
[changyongid@Fedora ~]$ pwd
/home/changyongid
這樣,看到,又回到上一次進(jìn)入的目錄。。。。

這個參數(shù)感覺非常的有用。。用起來很方便。。。當(dāng)然,這里具的例子可能不恰當(dāng),因為路徑很少,當(dāng)路徑很長時它的作用就明顯了。

直接cd 不帶參數(shù),則會進(jìn)入當(dāng)前用戶主目錄。
作者: changyongid    時間: 2009-9-8 21:48
另外還有兩個小技巧。
cd !$          #把上個命令的參數(shù)作為輸入。
cd ~         #同樣也是回到主目錄

其實,這都是跟環(huán)境變量很有關(guān)系。
先了解這么多,今天有些累。。。散會。
作者: changyongid    時間: 2009-9-8 21:50
另外還有兩個小技巧。
cd !$          #把上個命令的參數(shù)作為輸入。
cd ~         #同樣也是回到主目錄

其實,這都是跟環(huán)境變量很有關(guān)系。
先了解這么多,今天有些累。。。散會。
作者: changyongid    時間: 2009-9-9 08:29
又是一天的開始,我們繼續(xù)努力。
作者: changyongid    時間: 2009-9-9 08:32
本帖最后由 changyongid 于 2009-9-9 08:36 編輯

學(xué)習(xí)cd命令的時候,看到我打的pwd命令了吧。。。。那么這個命令是干什么的呢?相信你肯定已經(jīng)知道了。沒錯。我們來man一下
PWD(1)                           User Commands                          PWD(1)

NAME
       pwd - print name of current/working directory  

SYNOPSIS
       pwd [OPTION]...

DESCRIPTION
       Print the full filename of the current working directory.
打印當(dāng)前工作目錄的絕對路徑

       -L, --logical
              use PWD from environment, even if it contains symlinks

       -P, --physical
              avoid all symlinks

       --help display this help and exit

       --version
              output version information and exit

至于-P -L的選項,我還不知道是什么意思。。


作者: changyongid    時間: 2009-9-9 08:46
今天這個命令挺簡單的。好像偷懶了。。
那么來規(guī)劃一下未來幾天要學(xué)習(xí)的命令吧。。。
mkdir  創(chuàng)建目錄
rmdir   刪除目錄
ls   列出一個目錄中的文件
cp  復(fù)制
mv 移動
rm 刪除
一看就知道這些命令在我們的日常使用中的頻率有多么高。所以好好的掌握是非常有必要的。
作者: changyongid    時間: 2009-9-10 15:45
有時候就是這樣,腦子一下子僵在那里……突然想不動事情。

于是,再來學(xué)習(xí)一個命令。。。。

話又說回來。這些命令,如果不經(jīng)常的去敲打的話,學(xué)到后面,很容易就忘了前面,特別是那些參數(shù),忘起來就更快了。所以,還是有必要定時回過頭去翻翻前面的貼子。

這樣的話,就定個定時器,中斷觸發(fā),專門的處理函數(shù)去響應(yīng)。。。。

學(xué)習(xí)就是這個道理,給自己定個定時器,采用中斷觸發(fā),定時回過頭來復(fù)習(xí)已學(xué)過的內(nèi)容。這樣我們的大腦這臺cpu才能跑的更好。。。
如查采取循環(huán)的模式,一個循環(huán)回來響應(yīng)一次這個“復(fù)習(xí)”處理函數(shù),那可就時間長了。說不定我們的cpu一直跑下去了,再也不回頭了。。。這就是人的特殊性,因為這個程序往往是不循環(huán)的……
作者: changyongid    時間: 2009-9-10 15:50
ok 。。。mkdir。

[changyongid@localhost ~]$ mkdir --help
用法:mkdir [選項]... 目錄...
若目錄不是已經(jīng)存在則創(chuàng)建目錄。

長選項必須用的參數(shù)在使用短選項時也是必需的。
  -m, --mode=MODE   set file mode (as in chmod), not a=rwx - umask 對新建目錄設(shè)置存取權(quán)限
  -p, --parents     no error if existing, make parent directories as needed 如果路徑中有個目錄不存在,則創(chuàng)建它
  -v, --verbose     print a message for each created directory 會顯示出提示信息。這個選項許多命令里都會有。大至是一個提示的作用,讓我們用戶可以看到操作的結(jié)果。
  -Z, --context=CTX  set the SELinux security context of each created
                      directory to CTX
      --help     顯示此幫助信息并退出
      --version  輸出版本信息并退出
作者: changyongid    時間: 2009-9-10 15:50
來試一下。。做幾個例子就會用了。。
作者: changyongid    時間: 2009-9-10 15:57
[changyongid@localhost ~]$ pwd
/home/changyongid
現(xiàn)在在我們用戶的主目錄下

建立一個名為a的目錄
[changyongid@localhost ~]$ mkdir a
然后ls -d 一下,就可以看到a這個目錄了。ls -d 是列出當(dāng)前路徑下的目錄。

選項 -v
[changyongid@localhost ~]$ mkdir -v a
mkdir: 已創(chuàng)建目錄 “a”
上面的第二行是終端里提示出來的。。這下可以看到使用 -v 選項的作用了吧。。

選項 -p
這是個很有用的選項。記得在某篇文章里說高手都喜歡用帶 -p 的。具體它是什么作用呢?我們使用一下:
注意:現(xiàn)在我已經(jīng)刪除了剛才建的那個a目錄“rm -rf ./a”
那么,現(xiàn)在我們來建一個目錄b,它在a目錄里面。。。于是很自然的可以想到:
[changyongid@localhost ~]$ mkdir a/b
mkdir: 無法創(chuàng)建目錄 “a/b”: 沒有那個文件或目錄
看到了吧,沒有這個目錄,即我們沒有a目錄,那么也就不能創(chuàng)建a里面的b目錄嘍。。
ok,-p選項的用武之地來了。
[changyongid@localhost ~]$ mkdir -p a/b
[changyongid@localhost ~]$ tree a
a
`-- b

用tree命令來查看a目錄里的結(jié)構(gòu)?梢钥吹,它里面有個b目錄了。方便了很多了吧。
作者: changyongid    時間: 2009-9-10 16:04
至于 -m 選項,我們也來使用一下吧。不過僅限這個東西牽到的東西較多。一下子說起來有點麻煩。留到有空了再來說吧。。。
[changyongid@localhost ~]$ ll -d a
drwxrwxr-x 3 changyongid changyongid 4096 09-10 15:56 a
這是剛建的a目錄,如上可看到它的權(quán)限。

[changyongid@localhost ~]$ mkdir -m 777 a
[changyongid@localhost ~]$ ll -d a
drwxrwxrwx 2 changyongid changyongid 4096 09-10 16:00 a
可以看到,用-m參數(shù),再建立目錄a,它的權(quán)限就全開了。。
注:777是權(quán)限的一種表達(dá)方式。下面的rwx分別表試一個文件的讀、寫、可執(zhí)行 權(quán)限。
那么7的二進(jìn)制也就是111,正好對應(yīng)rwx。那么對應(yīng)位為1就表示這個權(quán)限開了。
那么 777也就表示rwx rwx rwx嘍。。。這三組是不同的。分別對應(yīng)了 屬主用戶 、 屬主的組、其他。

好吧好吧。先說到這里,再說下去話又多了?梢陨暇W(wǎng)查一下,比我說的清楚。
作者: f.luo    時間: 2009-9-13 11:03
周末不更新?
作者: changyongid    時間: 2009-9-13 17:58
這周末回學(xué)校了。。畢業(yè) 后第一次回校。。
又走了走平時經(jīng)常走的那些校園小道,又想起畢業(yè)時同學(xué)們一起在“跳騷市場”賣舊貨的情景,見了一些還在校園里的好友。
校園依然親切,卻已不再有從前的那種感覺了。因為人都不在了……

我仍然會偶爾夢見學(xué)校,夢見那些可愛的同學(xué)們。
我還是沒有適應(yīng)完全離開
作者: changyongid    時間: 2009-9-13 18:38
[changyongid@Fedora ~]$ rmdir --help
Usage: rmdir [OPTION]... DIRECTORY...
rmdir 選項...   目錄....
Remove the DIRECTORY(ies), if they are empty.
如果目錄是空的話,則刪除這個目錄

      --ignore-fail-on-non-empty
                  ignore each failure that is solely because a directory
                    is non-empty
忽略任何因目錄為非空而造成的錯誤
  -p, --parents   remove DIRECTORY and its ancestors; e.g., `rmdir -p a/b/c' is
                    similar to `rmdir a/b/c a/b a'
刪除指定的目錄,若該目錄的上層目錄變成了空目錄,則一并刪除
  -v, --verbose   output a diagnostic for every directory processed
顯示指定執(zhí)行的過程
      --help     display this help and exit
顯示幫助信息,并退出
      --version  output version information and exit
輸出版本信息,并退出

說明:如果目錄為空的話,則會刪除該目錄,-p時,必須每級的目錄都為空,否則不能刪除。
作者: changyongid    時間: 2009-9-13 18:47
例:
先建立目錄。用mkdir
  1. [changyongid@Fedora test]$ mkdir -p a/b/c
復(fù)制代碼
這樣,可以看一下現(xiàn)在目錄結(jié)構(gòu)
  1. [changyongid@Fedora test]$ tree a
  2. a
  3. `-- b
  4.     `-- c

  5. 2 directories, 0 files
復(fù)制代碼
那么,我們先刪除c目錄。
  1. [changyongid@Fedora test]$ rmdir a/b/c
  2. [changyongid@Fedora test]$ tree a
  3. a
  4. `-- b

  5. 1 directory, 0 files
復(fù)制代碼
看到最后一行是顯示“1 directory, 0 files”這樣的信息。
現(xiàn)在已經(jīng)刪除了c目錄了。因為這個目錄為空,直接rmdir就刪除掉了。

現(xiàn)在刪除b目錄,刪除之前,我們在b目錄里面放置一個文件。看目錄非空時會怎么樣。
  1. [changyongid@Fedora test]$ touch a/b/test
  2. [changyongid@Fedora test]$ tree a
  3. a
  4. `-- b
  5.     `-- test

  6. 1 directory, 1 file
復(fù)制代碼
看到了,已經(jīng)在b里建了一個文件test。
  1. [changyongid@Fedora test]$ rmdir a/b/
  2. rmdir: failed to remove `a/b/': Directory not empty
復(fù)制代碼
看到了吧,無法刪除。如此的話。我們就不能刪除b目錄了。

大家看到這里,會不會有一個疑問,當(dāng)我們要刪除一個目錄,包括目錄里面的所有文件我們都要一起刪除,這怎么辦呢?
作者: changyongid    時間: 2009-9-13 18:50
對于樓上提出的疑問,用rm就可以了。rm命令比較強(qiáng)大,相比之下,rmdir命令的作用就顯得很單薄了。幾乎很少用到,一般用rm就可以了。對于rm。放到以后再 講。

ps:才發(fā)現(xiàn)公社還有貼代碼的功能。真是淺薄了。
作者: changyongid    時間: 2009-9-13 19:03
前兩個命令是針對目錄操作的。很多時候,我們進(jìn)入了一個目錄,第一件事情就是要看一下這個目錄里面有些什么文件,又有哪些子目錄。
或是,在我們當(dāng)前的位置,想查看另外路徑的某目錄里的信息,但此時又不想進(jìn)入該目錄。咋末辦呢?

對于第一個問題,答案就是ls命令。即,下面將要說明的。
對于第二個問題,其實,這個問題在我們之前的學(xué)習(xí)中一定也碰到過了。這里先說明一下。
對于路徑,在Linux里有 相對路徑 和 絕對路徑 之分。
乍一聽起來,還真有點玄乎,其實很簡單。我們要訪問某個文件或目錄(其實目錄也是一種文件,Linux里,一切皆為文件),而此文件在別的路徑徑下,我們?nèi)绾卧L問到呢?
舉個例子:
          我們有一個目錄a,其里面的結(jié)構(gòu)如下:
  1. [changyongid@Fedora test]$ tree a
  2. a
  3. |-- b
  4. |   `-- test
  5. `-- c

  6. 2 directories, 1 file
復(fù)制代碼
即a里有兩個目錄,b和c。(b里有一個test文件)
現(xiàn)在我們在c目錄里。那么我們?nèi)绾卧L問到test文件呢?

1.通過相對路徑。即相對于我們當(dāng)前目錄的路徑。
那么我們用vim訪問test文件的話,命令就可以這么寫
  1. [changyongid@Fedora c]$ vim ../b/test
復(fù)制代碼
.. 表示父目錄。這就是相對路徑
2.通過絕對路徑。絕對路徑,就是一個文件在文件系統(tǒng)里面的固定的位置,它跟當(dāng)前我們在哪個位置無關(guān)。所以絕對路徑是以 / 開頭的。
查看一下當(dāng)前目錄的絕對路徑還記得么?pwd
作者: changyongid    時間: 2009-9-13 19:06
接著,再來看看ls
可以help一下,但是ls 的命令參數(shù)太多了。以至于我們無法在一屏里面完整的看出。這個時候我們可以用less。
這個我們已經(jīng)學(xué)過了?吹搅税,之前學(xué)過的命令都是很重要的。
  1. [changyongid@Fedora c]$ ls --help
  2. \Usage: ls [OPTION]... [FILE]...
  3. List information about the FILEs (the current directory by default).
  4. Sort entries alphabetically if none of -cftuvSUX nor --sort.

  5. Mandatory arguments to long options are mandatory for short options too.
  6.   -a, --all                  do not ignore entries starting with .
  7.   -A, --almost-all           do not list implied . and ..
  8.       --author               with -l, print the author of each file
  9.   -b, --escape               print octal escapes for nongraphic characters
  10.       --block-size=SIZE      use SIZE-byte blocks
  11.   -B, --ignore-backups       do not list implied entries ending with ~
  12.   -c                         with -lt: sort by, and show, ctime (time of last
  13.                                modification of file status information)
  14.                                with -l: show ctime and sort by name
  15.                                otherwise: sort by ctime
  16.   -C                         list entries by columns
  17.       --color[=WHEN]         control whether color is used to distinguish file
  18.                                types.  WHEN may be `never', `always', or `auto'
  19.   -d, --directory            list directory entries instead of contents,
  20.                                and do not dereference symbolic links
  21.   -D, --dired                generate output designed for Emacs' dired mode
  22.   -f                         do not sort, enable -aU, disable -ls --color
  23.   -F, --classify             append indicator (one of */=>@|) to entries
  24.       --file-type            likewise, except do not append `*'
  25.       --format=WORD          across -x, commas -m, horizontal -x, long -l,
  26.                                single-column -1, verbose -l, vertical -C
  27.       --full-time            like -l --time-style=full-iso
  28.   -g                         like -l, but do not list owner
  29.       --group-directories-first
  30.                              group directories before files.
  31.                                augment with a --sort option, but any
  32.                                use of --sort=none (-U) disables grouping
  33.   -G, --no-group             in a long listing, don't print group names
  34.   -h, --human-readable       with -l, print sizes in human readable format
  35.                                (e.g., 1K 234M 2G)
  36.       --si                   likewise, but use powers of 1000 not 1024
  37.   -H, --dereference-command-line
  38.                              follow symbolic links listed on the command line
  39.       --dereference-command-line-symlink-to-dir
  40.                              follow each command line symbolic link
  41.                              that points to a directory
  42.       --hide=PATTERN         do not list implied entries matching shell PATTERN
  43.                                (overridden by -a or -A)
  44.       --indicator-style=WORD  append indicator with style WORD to entry names:
  45.                                none (default), slash (-p),
  46.                                file-type (--file-type), classify (-F)
  47.   -i, --inode                print the index number of each file
  48.   -I, --ignore=PATTERN       do not list implied entries matching shell PATTERN
  49.   -k                         like --block-size=1K
  50.   -l                         use a long listing format
  51.   -L, --dereference          when showing file information for a symbolic
  52.                                link, show information for the file the link
  53.                                references rather than for the link itself
  54.   -m                         fill width with a comma separated list of entries
  55.   -n, --numeric-uid-gid      like -l, but list numeric user and group IDs
  56.   -N, --literal              print raw entry names (don't treat e.g. control
  57.                                characters specially)
  58.   -o                         like -l, but do not list group information
  59.   -p, --indicator-style=slash
  60.                              append / indicator to directories
  61.   -q, --hide-control-chars   print ? instead of non graphic characters
  62.       --show-control-chars   show non graphic characters as-is (default
  63.                              unless program is `ls' and output is a terminal)
  64.   -Q, --quote-name           enclose entry names in double quotes
  65.       --quoting-style=WORD   use quoting style WORD for entry names:
  66.                                literal, locale, shell, shell-always, c, escape
  67.   -r, --reverse              reverse order while sorting
  68.   -R, --recursive            list subdirectories recursively
  69.   -s, --size                 print the allocated size of each file, in blocks
  70.   -S                         sort by file size
  71.       --sort=WORD            sort by WORD instead of name: none -U,
  72.                              extension -X, size -S, time -t, version -v
  73.       --time=WORD            with -l, show time as WORD instead of modification
  74.                              time: atime -u, access -u, use -u, ctime -c,
  75.                              or status -c; use specified time as sort key
  76.                              if --sort=time
  77.       --time-style=STYLE     with -l, show times using style STYLE:
  78.                              full-iso, long-iso, iso, locale, +FORMAT.
  79.                              FORMAT is interpreted like `date'; if FORMAT is
  80.                              FORMAT1FORMAT2, FORMAT1 applies to
  81.                              non-recent files and FORMAT2 to recent files;
  82.                              if STYLE is prefixed with `posix-', STYLE
  83.                              takes effect only outside the POSIX locale
  84.   -t                         sort by modification time
  85.   -T, --tabsize=COLS         assume tab stops at each COLS instead of 8
  86.   -u                         with -lt: sort by, and show, access time
  87.                                with -l: show access time and sort by name
  88.                                otherwise: sort by access time
  89.   -U                         do not sort; list entries in directory order
  90.   -v                         sort by version
  91.   -w, --width=COLS           assume screen width instead of current value
  92.   -x                         list entries by lines instead of by columns
  93.   -X                         sort alphabetically by entry extension
  94.   -1                         list one file per line

  95. SELinux options:

  96.   --lcontext                 Display security context.   Enable -l. Lines
  97.                              will probably be too wide for most displays.
  98.   -Z, --context              Display security context so it fits on most
  99.                              displays.  Displays only mode, user, group,
  100.                              security context and file name.
  101.   --scontext                 Display only security context and file name.
  102.       --help     display this help and exit
  103.       --version  output version information and exit

  104. SIZE may be (or may be an integer optionally followed by) one of following:
  105. kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.

  106. By default, color is not used to distinguish types of files.  That is
  107. equivalent to using --color=none.  Using the --color option without the
  108. optional WHEN argument is equivalent to using --color=always.  With
  109. --color=auto, color codes are output only if standard output is connected
  110. to a terminal (tty).  The environment variable LS_COLORS can influence the
  111. colors, and can be set easily by the dircolors command.

  112. Exit status:
  113. 0  if OK,
  114. 1  if minor problems (e.g., cannot access subdirectory),
  115. 2  if serious trouble (e.g., cannot access command-line argument).
復(fù)制代碼

作者: changyongid    時間: 2009-9-13 19:06
本帖最后由 changyongid 于 2009-9-13 21:02 編輯

重復(fù)發(fā)了一行。編輯掉……
作者: changyongid    時間: 2009-9-13 19:10
從樓上可以看到,ls的參數(shù)太多了,以至于我們懷疑是否有必要一行一行的看下去?

這絕對是有必要的。為什么呢?
因為ls是Linux里面用到最多的命令之一。使用的頻率如此之高,還是非常有必要好好的掌握一下,這會對我們以后的使用Linux時的效率大大提高。
作者: changyongid    時間: 2009-9-13 21:31
ls ,即 list的意思。

格式: ls [OPTION]... [FILE]...
列出文件的詳細(xì)信息。默認(rèn)時列出當(dāng)前目錄的詳細(xì)信息,即當(dāng)前目錄里的內(nèi)容。

  -a, --all                  顯示目錄里的所有文件,包括隱藏文件
  -A, --almost-all           與a差不多,但不列出. 和..   。這兩個分別表式當(dāng)前目錄和上一級目錄。

  -b, --escape              把文件名中不可輸出的字符用反斜杠加字符編號的形式列出

  -B, --ignore-backups       不顯示以 ~ 結(jié)尾的文件(這些一般是備份文件)
  -c                       以修改時間排序
  -C                         按列出輸,縱向排序

  -d, --directory           只顯示目錄文件,而不顯示其他的文件。

  -g                         如 -l,但不顯示所屬用戶
      --group-directories-first
                             group directories before files.
                               augment with a --sort option, but any
                               use of --sort=none (-U) disables grouping
  -G, --no-group             不顯示組信息
  -h, --human-readable       with -l, print sizes in human readable format
                               (e.g., 1K 234M 2G)

  -i, --inode                顯示節(jié)點信息

  -l                         列出詳細(xì)的信息
  -L                  列出鏈接文件名而不顯示鏈接到的文件
  -n, --numeric-uid-gid     如 -l ,但顯示用戶和組時,不是顯示他們的名字,而是id號
  -N,           不限制文件長度
  -o                        除組以外的詳細(xì)信息
  -p, --indicator-style=slash
                            在每個文件名后附上一個字符以說明該文件的類型。*表示普通文件  /表示目錄  @表示符號鏈接  |表示FIFOs  =表示套接字

  -q, --hide-control-chars   用?代替不可輸出的字符

  -Q,      把輸出的文件名用引號括起來
  -r, --reverse            對目錄反向排序
  -R, --recursive           列出所有子目錄下的文件
  -s, --size                 在每個文件名旁邊輸出該文件的大小
  -S                        以文件大小排序

  -t                        以修改時間排序

  -u                       以訪問時間排序
  -U                        不排序
  
  -1                        逐行顯示

暫且列這么多吧。真是挺多的。
作者: changyongid    時間: 2009-9-13 21:39
  1. 可以試一下以下幾個選項
  2. ls -l
  3. ls -a
  4. ls -la
  5. ls -sh
  6. ls -i
  7. ls -1
  8. 這里就不一一列出來了
復(fù)制代碼

作者: changyongid    時間: 2009-9-15 09:25
OH shit!
I can not input chinese now,and i am sorry for my poor english.
作者: changyongid    時間: 2009-9-16 08:36
it is ok now!
作者: changyongid    時間: 2009-9-16 08:51
cp
格式:cp [OPTION]... [-T] SOURCE DEST
           cp [OPTION]... SOURCE... DIRECTORY
           cp [OPTION]... -t DIRECTORY SOURCE...

功能:將 SOURCE 復(fù)制(copy)到 DEST ,或者將多個 SOURCE 復(fù)制到 DEST

OPTION說明:
  -a, --archive                作用等同于 -dR --preserve=all (一般在拷貝目錄時用)

  -d                                拷貝時保留鏈接
  -f, --force                     強(qiáng)制拷貝,不需要提示
  -i, --interactive            與用戶交互,在覆蓋文件之前請求用戶的確認(rèn)。

  -l, --link                        鏈接文件,而不是拷貝

  -n, --no-clobber           不覆蓋已存在的文件

  -p                                復(fù)制后的文件將保留原文件的權(quán)限、屬主、修改時間等

  -R, -r, --recursive       遞歸作用于整個目錄,包括目錄下的所有文件和子目錄。在對整個目錄進(jìn)行操作時用。


  -t, --target-directory=DIRECTORY  指定目標(biāo)路徑
作者: changyongid    時間: 2009-9-16 08:56
實例:
             假設(shè)當(dāng)前目錄有個test.c文件。

  1. [changyongid@localhost test]$ ls
  2. test.c
  3. [changyongid@localhost test]$ cp test.c tt                      //直接復(fù)制。后面的路徑可以是另外的目錄里
  4. [changyongid@localhost test]$ ls
  5. test.c  tt
  6. [changyongid@localhost test]$ cp -l test.c ll             //用-l 鏈接一下,可以看到實際上是做了個硬鏈接
  7. [changyongid@localhost test]$ ll
  8. total 0
  9. -rw-rw-r-- 2 changyongid changyongid 0 2009-09-16 08:53 ll
  10. -rw-rw-r-- 2 changyongid changyongid 0 2009-09-16 08:53 test.c
  11. -rw-rw-r-- 1 changyongid changyongid 0 2009-09-16 08:54 tt
復(fù)制代碼

作者: changyongid    時間: 2009-9-16 08:59
由于cp過于是默認(rèn)覆蓋已存在文件的,所以直接使用這個命令時會有一點危險。在~/.bashrc里面用alias將其替換成 cp -i 即可,加上-i參數(shù),每次要覆蓋之前,它都會提示,這樣就安全了一些,防止誤操作。
作者: changyongid    時間: 2009-9-16 19:51
命令 : rm
使用 : rm [選項]... 文件...
說明 : 刪除文件

  -f, --force      強(qiáng)制刪除,不需要提示
  -i                  每次刪除行為之前,都提示刪除動作(需要用戶確認(rèn)刪除)
  -I                  當(dāng)一次刪除文件數(shù)為3個或3個以上時,或在遞歸刪除一個目錄時,只提示一次.與 -i 相比,這個選項即保障了安全又避免了刪除多個文件時的多次打擾。

  -r, -R, --recursive  遞歸刪除目錄和其中的文件
  -v, --verbose         交互動作,顯示正在進(jìn)行的動作
   
默認(rèn)情況下,rm命令不會刪除目錄。使用 -r 或 -R 選項來刪除目錄和目錄內(nèi)的文件。

如果一個文件名以“-”開頭,比如“-foo”,用下面兩個命令中任一個來刪除:
  rm -- -foo

  rm ./-foo

注意,當(dāng)使用rm來刪除文件時,被刪除的文件是可恢復(fù)的。也就是說rm只刪除了它的索引結(jié)點而已。如果想要真正的刪除,不可恢復(fù),可以考慮使用shred。

我們刪除一個文件,可以直接的rm刪除。
刪除一個目錄,可使用 rm -rf ... 注意,此處的f是強(qiáng)制。

默認(rèn)的情況下,我們的刪除是不會提示信息的,顯然這樣是有些危險的。我就曾經(jīng)犯過一個錯誤,錯將/bin/目錄里面的內(nèi)容全部刪除掉了,結(jié)果可想而知。當(dāng)然,我當(dāng)時犯的錯誤跟我使用超級用戶root有直接的關(guān)系。
為了使我們的操作更安全,可以在.bashrc里用alias添加一行
rm='rm -i'
這樣,每次我們使用rm命令時都相當(dāng)于使用 rm -i ,那么每次刪除都需要我們的確認(rèn)了。這樣做是有一定好處的,當(dāng)然還要考慮到個人的習(xí)慣問題。
作者: changyongid    時間: 2009-9-16 20:00
命令 : mv --help
使用 : mv [選項]... [-T] SOURCE DEST
    or:  mv [選項]... SOURCE... DIRECTORY
    or:  mv [選項]... -t DIRECTORY SOURCE...
將SOURCE 重命名為 DEST, 或?qū)?SOURCE(s) 移動到 DIRECTORY.

  -f, --force                  強(qiáng)制,在覆蓋之前不進(jìn)行提示
  -i, --interactive            覆蓋之前進(jìn)行提示
  -n, --no-clobber          不覆蓋已存在的文件
注意:如果使用 -i, -f, -n, 這三個中的多個,則只有最后一個起作用。

  -t, --target-directory=DIRECTORY  將所有的 SOURCE 都移動到 DIRECTORY

學(xué)習(xí)了之前的命令之后,相信這個命令也會使用了。mv除了可以移動一個文件或目錄之外,還是一種對文件或目錄重命名的方法。
作者: changyongid    時間: 2009-9-16 20:01
加班是一件不好玩的事情,特別是在餓肚子的時候加班,而且還沒什么事情做的時候卻硬被拖著。
所以學(xué)習(xí)兩個命令,純當(dāng)消遣……
作者: changyongid    時間: 2009-9-21 10:29
安排一下接下去要學(xué)的幾個命令:
echo  basename  ln  lndir  paste  stat  tee tree touch file split dirname

乍一看,好像太多了。
其中除了ln touch 之外,其它的都用的比較少,屬于雜類且有點偏的命令。它們每個都只完成一個小小的功能,但完成的很好。

學(xué)習(xí)每一個命令,都在自己電腦里多試幾次,多試幾個參數(shù),一下就可以熟悉大概。這就是學(xué)習(xí)中的“多動手”吧。
作者: changyongid    時間: 2009-9-21 22:17
echo
英文“echo”是 “回聲”的意思。在Linux的命令里,它的作用是顯示一行內(nèi)容。

功能說明:顯示文字。
語   法:echo [-ne][字符串]或 echo [--help][--version]
補(bǔ)充說明:echo會將輸入的字符串送往標(biāo)準(zhǔn)輸出。輸出的字符串間以空白字符隔開, 并在最后加上換行號。
參   數(shù):-n 不要在最后自動換行
     -e 若字符串中出現(xiàn)以下字符,則特別加以處理,而不會將它當(dāng)成一般
     文字輸出:
     \a 發(fā)出警告聲;
        \b 刪除前一個字符;
        \c 最后不加上換行符號;
        \f 換行但光標(biāo)仍舊停留在原來的位置;
        \n 換行且光標(biāo)移至行首;
       \r 光標(biāo)移至行首,但不換行;
       \t 插入tab;
        \v 與\f相同;
        \\ 插入\字符;
        \nnn 插入nnn(八進(jìn)制)所代表的ASCII字符;
      –help 顯示幫助
      –version 顯示版本信息
我們可以利用echo打印出上一次程序執(zhí)行后的退出狀態(tài)。
作者: changyongid    時間: 2009-9-21 22:18
basename打印出文件名,不打印其路徑。若指定后綴,則也不打印后綴。
例:
  1. [changyongid@Fedora ~]$ basename /usr/include/stdio.h
  2. stdio.h
  3. [changyongid@Fedora ~]$ basename  /usr/include/stdio.h .h
  4. stdio
復(fù)制代碼

作者: changyongid    時間: 2009-9-21 22:24
dirname
作用:打印路徑名。
其參數(shù)是一個文件名。輸出除文件名之外的路徑。
例:
  1. [changyongid@Fedora ~]$ dirname ../linux/.bashrc
  2. ../linux
  3. [changyongid@Fedora ~]$ dirname /etc/passwd
  4. /etc
復(fù)制代碼

作者: changyongid    時間: 2009-9-23 14:12
file
使用: file [OPTION...] [FILE...]
測定文件的類型

  -m, --magic-file LIST      use LIST as a colon-separated list of magic
                               number files
  -z, --uncompress          試著探測壓縮文件類型
  -b, --brief                打印輸時不打印文件名
  -c, --checking-printout    打印輸出分析的詳細(xì)過程。與m連用,便于調(diào)試所用。

  -f, --files-from FILE     從FILE中讀取要分析的文件名列表

  -L, --dereference          顯示符號鍕接所指向的文件類型

file命令可以知道某個文件究竟是二進(jìn)制的可執(zhí)行文件還是shell腳本文件,或是其他格式的文件。其能識別目錄、shell腳本、英文文本、二進(jìn)制可執(zhí)行文件、C語言源文件、文本文件、DOS的可執(zhí)行文件。能探測包括圖形、音頻等在內(nèi)的多種媒體格式文件。
作者: changyongid    時間: 2009-9-23 14:14
本帖最后由 changyongid 于 2009-9-23 14:17 編輯

  1. 匯編文件
  2. $ file head.S
  3. head.S: ASCII C program text

  4. c源文件
  5. $ file main.c
  6. main.c: ASCII C program text

  7. mp3文件
  8. $ file ~/Documents/music/english/001.At\ last.MP3
  9. /home/changyongid/Documents/music/english/001.At last.MP3: MPEG ADTS, layer III, v1, 320 kbps, 44.1 kHz, JntStereo

  10. 下載到板上的
  11. $ file -b vivi
  12. DBase 3 index file

  13. 可執(zhí)行的
  14. $ file -b tmp.o
  15. ELF 32-bit LSB executable, ARM, version 1, statically linked, not stripped

  16. 目錄
  17. $ file study/
  18. study/: directory
復(fù)制代碼

作者: changyongid    時間: 2009-9-24 20:33
用法:touch [選項]... 文件...
更新文件的訪問和修改時間,更新為當(dāng)前時間。

如果參數(shù)指定的文件不存在,則創(chuàng)建它,創(chuàng)建的文件為空。

A FILE argument string of - is handled specially and causes touch to
change the times of the file associated with standard output.
// 這一句不知道怎么翻。

長選項必須用的參數(shù)在使用短選項時也是必需的。
  -a                     只更改訪問時間access
  -c, --no-create        不創(chuàng)建任何文件
  -d, --date=字符串        使用<字符串>表示的時間而不是目前的時間
  -f                     (此選項不作處理)
  -m                     只更改修改時間modify
  -r, --reference=FILE   使用指定文件的時間屬性而非目前的時間
  -t STAMP               使用[[CC]YY]MMDDhhmm[.ss] 格式的時間而非當(dāng)前時間


注意 -d 和 -t 選項接受不同格式的時間表達(dá)式。
作者: changyongid    時間: 2009-9-24 20:34
來實例一下。
[changyongid@localhost test]$ ll
總計 32
drwxrwxr-x   8 changyongid changyongid 4096 09-03 16:59 2410

[changyongid@localhost test]$ touch 2410/
[changyongid@localhost test]$ ll
總計 32
drwxrwxr-x   8 changyongid changyongid 4096 09-24 20:34 2410

看到時間的變化了吧。
作者: changyongid    時間: 2009-9-24 20:39
本帖最后由 changyongid 于 2009-9-24 20:43 編輯

如果文件不存在,touch則以這個名字創(chuàng)建一個普通文件。
這個可以去試一下。我還記得我用touch創(chuàng)建的第一個文件是.vimrc。當(dāng)時是配置vim的時候。很早了,記得當(dāng)時在~/下怎么也找不到.vimrc,很急,后來別人告訴我touch一下。果然,用了這個命令之后就有了,我當(dāng)時很奇怪,F(xiàn)在想起來,真是有些可笑……

當(dāng)然,touch可以指定特定的時間。這個是比較重要的。來試一下吧。
----------------------
[changyongid@localhost test]$ touch  -t 01061803 aaa
[changyongid@localhost test]$ ll
-rw-rw-r--   1 changyongid changyongid    0 2009-01-06 aaa
----------------------
從上面可以看到,創(chuàng)建的文件為空。
注意一下它的時間。我指定的是01月06日18分03秒。默認(rèn)為今年。
如果我在它前面再加上02,會怎么樣呢?
----------------------
[changyongid@localhost test]$ touch  -t 0201061803 aaa
[changyongid@localhost test]$ ll
-rw-rw-r--   1 changyongid changyongid    0 2002-01-06 aaa
----------------------
看到了吧。變成02年了。

再看
--------------------
[changyongid@localhost test]$ touch -d "6:03pm 02/06/2000" aaa
[changyongid@localhost test]$ ll aaa
-rw-rw-r-- 1 changyongid changyongid 0 2000-02-06 aaa
----------------------
這是用-d來指定。重點體會一下。
關(guān)于這里的時間格式,可以參考date命令。感覺有點麻煩。
作者: changyongid    時間: 2009-9-24 20:48
再來看下-r選項。即把目標(biāo)文件指定跟另一個文件一樣的時間。
-------------------------------------------
[changyongid@localhost test]$ ll
總計 32
drwxrwxr-x   8 changyongid changyongid 4096 09-24 20:34 2410
-rw-rw-r--   1 changyongid changyongid    0 2002-01-06 aaa
-------------------------------------------
[changyongid@localhost test]$ touch -r 2410/ aaa
[changyongid@localhost test]$ ll
總計 32
drwxrwxr-x   8 changyongid changyongid 4096 09-24 20:34 2410
-rw-rw-r--   1 changyongid changyongid    0 09-24 20:34 aaa
這樣操作之后,aaa就跟2410一樣的時間了。注意,2410是個目錄。所以這里無論是指定目錄還是普通文件都是可行的。

ps:那么從哪里可以看出2410是個目錄呢?
我從終端下,他的顏色就可以直觀的表現(xiàn)出來。
貼出來以后,你可以看到最左邊的 “d”了么?那個就表示文件的屬性。
在UNIX Linux下,一切皆為文件。不管是目錄、普通文件、設(shè)備等等,對于我們用戶來說,它們都是文件。這個可以看看UNIX環(huán)境高級編程。
作者: changyongid    時間: 2009-9-24 20:52
本帖最后由 changyongid 于 2009-9-24 21:07 編輯

tree 也是一個很實用的命令。有時候我們想了解一個目錄下的所有文件,并希望以資源管理器的樹形視圖方式顯示文件之間的結(jié)構(gòu),那么就可以用tree命令來實現(xiàn)這個功能。

help一看,這個命令的參數(shù)還真是多呀!不過取其中的幾個了解一下,就夠我們使的了。
  1. tree --help
  2. usage: tree [-adfghilnpqrstuvxACDFNS] [-H baseHREF] [-T title ] [-L level [-R]]
  3.         [-P pattern] [-I pattern] [-o filename] [--version] [--help] [--inodes]
  4.         [--device] [--noreport] [--nolinks] [--dirsfirst] [--charset charset]
  5.         [--filelimit #] []
  6.   -a         列出所有文件
  7.   -d          只列出目錄
  8.   -l          如遇到符號鏈接,則直接列出其所指向的目錄
  9.   -f           顯示完整路徑
  10.   -i            不以階梯狀列出
  11.   -p           列出屬性
  12.   -u          列出屬主或UID
  13.   -g           列出所屬組或組id
  14.   -s            以字節(jié)形式列出文件大小
  15.   -h           以人性化閱讀方式列出
  16.   -D            列出修改時間
  17.   -t            以修改時間排序
  18.   -x            Stay on current filesystem only.將范圍局限在現(xiàn)在的文件性統(tǒng)中。比如把home放到別的分區(qū)里,則列出/時不會列出它下面的文件。
  19.   -L level      指定深度(層數(shù))。這個很有用。一般列出某個目錄下,文件太多了。而我們只需要看當(dāng)前層目錄下或最近兩層的。就用它來指定。
  20.   -o file        輸出到指定文件。有了這個就不用重定向了。
  21.   --inodes      列出每個文件的索引點節(jié)
  22.   --device      列出其所屬的設(shè)備的設(shè)備號

復(fù)制代碼


先列出這么多吧。。。其實看起來命令多,但使用起來真的很簡單。上面列出的參數(shù)我?guī)缀醵荚嚵艘槐椋_實還是挺有用的。
太簡單了,我就不麻煩舉列了。
你可以 tree -L -1看一下效果。再逐個添加別的參數(shù)。
作者: wlown    時間: 2009-10-14 09:26
學(xué)習(xí)是永恒的!
作者: f.luo    時間: 2009-10-16 18:37
很久沒更新了。
作者: changyongid    時間: 2009-10-20 17:20
樓上很仔細(xì)嘛。。謝謝一直掛念著。。
作者: changyongid    時間: 2009-10-20 17:22
本帖最后由 changyongid 于 2009-10-20 17:52 編輯

[changyongid@localhost vacs]$ ln --help
用法:ln [選項]... [-T] 目標(biāo) 鏈接名稱 (第一種格式)  為“目標(biāo)”創(chuàng)建一個名為“鏈接名稱”的鏈接
  或:ln [選項]... 目標(biāo)               (第二種格式)           在當(dāng)前目錄創(chuàng)建一個指向“目標(biāo)”的鏈接
  或:ln [選項]... 目標(biāo)... 目錄       (第三種格式)        三、四兩種格式 :為目錄里的每個“目標(biāo)”創(chuàng)建鏈接
  或:ln [選項]... -t 目錄 目標(biāo)...    (第四種格式)


默認(rèn)不加“選項”的時候是創(chuàng)建硬鏈接。如果要創(chuàng)建符號鏈接,則需要加上 “--symbolic”
如果創(chuàng)建硬鏈接,則命令行中的“目標(biāo)”必須存在。符號鏈接能夠指向任意的文本,
長選項必須用的參數(shù)在使用短選項時也是必需的。

      --backup[=CONTROL]      為存在的目標(biāo)文件創(chuàng)建備份
  -b                                         --backup,但是不接受參數(shù)
  -d, -F, --directory                  建立目錄的硬鏈接
  -f, --force                            強(qiáng)行建立文件或目錄的鏈接,不論文件或目錄是否存在。
  -n, --no-dereference            如果目的地是一個鏈接至某目錄的符號鏈接,會將
                                             該符號鏈接當(dāng)作普通文件處理,先將該已存在的
                                             鏈接備份或刪除
  -i, --interactive                   確認(rèn)是否刪除目的地文件
  -s, --symbolic                       創(chuàng)建符號鏈接而不是硬鏈接
  -S, --suffix=SUFFIX                  使用-b參數(shù)備份目標(biāo)文件后,備份文件的字毛會被加上一個后綴。默認(rèn)的是“~”,可以通過-S來改變它
  -t, --target-directory=DIRECTORY  指定創(chuàng)建鏈接的路徑

備份文件的后綴為“~”,除非以 --suffix 選項或是 SIMPLE_BACKUP_SUFFIX
環(huán)境變量指定。版本控制的方式可透過 --backup 選項或 VERSION_CONTROL 環(huán)境
變量來選擇。以下是可用的變量值:

  none, off       不會進(jìn)行備份 (即使使用了 --backup 選項)
  numbered, t     備份文件會加上數(shù)字
  existing, nil   若有數(shù)字的備份文件已經(jīng)存在則使用數(shù)字,否則使用普通方式備份
  simple, never   永遠(yuǎn)使用普通方式備份

說明:這個命令是經(jīng)常用到的。有人說鏈接跟windows下的快捷方式差不多。但我覺得還是千萬不要以windows的思維方式來理解。要完全的理解ln,需要對Linux里的文件系統(tǒng)有一定的了解。這里我引用網(wǎng)上的一些解釋(黑色部分為自己加的一點理解):
每個存儲設(shè)備或存儲設(shè)備的分區(qū)(存儲設(shè)備是硬盤、軟盤、U盤 ... ...)被格式化為文件系統(tǒng)后,應(yīng)該有兩部份,一部份是inode,另一部份是Block,Block是用來存儲數(shù)據(jù)用的。而inode呢,就是用來存儲這些數(shù)據(jù)的信息,這些信息包括文件大小、屬主、歸屬的用戶組、讀寫權(quán)限等。inode為每個文件進(jìn)行信息索引,所以就有了inode的數(shù)值。操作系統(tǒng)根據(jù)指令,能通過inode值最快的找到相對應(yīng)的文件。做個比喻,比如一本書,存儲設(shè)備或分區(qū)就相當(dāng)于這本書,Block相當(dāng)于書中的每一頁,inode 就相當(dāng)于這本書前面的目錄,一本書有很多的內(nèi)容,如果想查找某部份的內(nèi)容,我們可以先查目錄,通過目錄能最快的找到我們想要看的內(nèi)容。雖然不太恰當(dāng),但還是比較形象。

在Linux 文件系統(tǒng)中,inode值相同的文件是硬鏈接文件,也就是說,不同的文件名,inode可能是相同的,一個inode值可以對應(yīng)多個文件。理解鏈接文件并不難,看看例子就會了。在Linux中,鏈接文件是通過ln工具來創(chuàng)建的。 (那么創(chuàng)建硬鏈接,即是創(chuàng)建一個inode,它也指向某個文件。這樣,對于這個文件,同時就有兩個inode來指向它。刪除某個文件時,即刪除了它對應(yīng)的inode,如果刪除了兩上inode中的一個,文件還是存在的。因為還有一個inode指向它。硬鏈接只能鏈接文件,而不能鏈接目錄。且不能鏈接別的文件系統(tǒng)里的文件(即不同分區(qū)的文件)

軟鏈接也叫符號鏈接,他和硬鏈接有所不同,軟鏈接文件只是其源文件的一個標(biāo)記。當(dāng)我們刪除了源文件后,鏈接文件不能獨立存在,雖然仍保留文件名,但我們卻不能查看軟鏈接文件的內(nèi)容了
由上面的解釋可以了解到,鏈接好比一個指針一樣,我們通過它來訪問文件或目錄,修改它也實際上就修改了那個文件或目錄


作者: changyongid    時間: 2009-10-20 18:01
我們來試幾個例子吧。。。
[changyongid@localhost ~]$ mkdir ttt              創(chuàng)建一個測試文件夾
[changyongid@localhost ~]$ ln -s ttt/ ./aaa     為其創(chuàng)建一個符號鏈接
[changyongid@localhost ~]$ ll aaa
lrwxrwxrwx 1 changyongid changyongid 4 10-20 17:59 aaa -> ttt/
[changyongid@localhost ~]$ rm aaa/                試著這樣來刪除它,是行不通的
rm: 無法刪除 “aaa/”: 是一個目錄
[changyongid@localhost ~]$ rm -rf aaa/            如果強(qiáng)制呢???執(zhí)行完后,兩者還是存在
作者: changyongid    時間: 2009-10-30 08:29
最近在做一個東西,同時也把C語言復(fù)習(xí)一下。書是K&R的《The C programming language》,買的英文本,正在進(jìn)行中……

做完這個,就想弄一下lfs。沒辦法,感覺自己的Linux一直徘徊于各個發(fā)行版之間,fedora 、ubuntu 。。。想弄完lfs之后,可以再考慮以后用什么吧。。

堅持學(xué)習(xí)吧。。
作者: changyongid    時間: 2009-10-30 08:36
昨天我下了一個gentoo,如下
2.6G livedvd-x86-amd64-32ul-10.1.iso
太大了,我只有三個2G的U盤,所以想把它拷回去的話就得換一種辦法了。當(dāng)然是把它分割。。
現(xiàn)計劃將其分割為1G的文件。 1G + 1G + 0.6G




歡迎光臨 電子工程網(wǎng) (http://m.54549.cn/) Powered by Discuz! X3.4