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

電子工程網(wǎng)

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

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

將標(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)輸出,說(shuō)起來(lái)就話長(zhǎng)了,我也說(shuō)不清。標(biāo)準(zhǔn)輸入即指在終端上的輸入,標(biāo)準(zhǔn)輸出則會(huì)輸出打印到終端上來(lái)。這些都可以重定向。

用法:cat [選項(xiàng)]... [文件]...

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

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

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

1.直接cat,不帶參數(shù)。則輸出顯示這個(gè)文件里的內(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    時(shí)間: 2009-8-31 09:42
3. 加上 -n 參數(shù),帶行號(hào)的顯示。。。每行都顯示出了行號(hào),注意,第二行是空白行,也顯示了行號(hào)。
[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. 接著來(lái)比較一下 -b 參數(shù)  ?吹搅税,跳過(guò)了空白的那行,那一行不標(biāo)號(hà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    時(shí)間: 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,第一天每一個(gè)命令。。。。結(jié)束。
作者: changyongid    時(shí)間: 2009-8-31 09:45
其實(shí)這個(gè)命令平時(shí)直接用、不帶參數(shù)就可以了。呵。原來(lái)都是這么用的。
作者: changyongid    時(shí)間: 2009-8-31 09:48
再補(bǔ)充下,行號(hào)是累加的。。
比如我們cat兩個(gè)文件,行號(hào)是一直在計(jì)數(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    時(shí)間: 2009-8-31 09:52
師傅,收我為徒吧!我現(xiàn)在覺(jué)得是學(xué)海無(wú)船,找不到門呀!
    徒兒,再拜!
作者: 老郭    時(shí)間: 2009-8-31 10:04
哈哈,又一個(gè)蓋高樓的。頂
作者: changyongid    時(shí)間: 2009-8-31 12:41
哈哈,又一個(gè)蓋高樓的。頂
老郭 發(fā)表于 2009-8-31 10:04


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

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

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

最簡(jiǎn)單的,我們直接使用more命令
[changyongid@localhost ~]$ more /proc/cpuinfo
空格下一頁(yè),b上一頁(yè)。。按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]*  這個(gè)不太清楚,我試了一下,好像下滾半頁(yè)。
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會(huì)有驚喜,一直就進(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    時(shí)間: 2009-9-1 09:04
來(lái)看下命令本身的參數(shù)!
 -d 提示使用者,在畫面下方顯示 [Press space to continue, 'q' to quit.] ,如果使用者按錯(cuò)鍵,則會(huì)顯示 [Press 'h' for instructions.] 而不是 '嗶' 聲
  -l 取消遇見(jiàn)特殊字元 ^L(送紙字元)時(shí)會(huì)暫停的功能
  -f 計(jì)算行數(shù)時(shí),以實(shí)際上的行數(shù),而非自動(dòng)換行過(guò)后的行數(shù)(有些單行字?jǐn)?shù)太長(zhǎng)的會(huì)被擴(kuò)展為兩行或兩行以上)
  -p 不以卷動(dòng)的方式顯示每一頁(yè),而是先清除螢?zāi)缓笤亠@示內(nèi)容
  -c 跟 -p 相似,不同的是先顯示內(nèi)容再清除其他舊資料
  -s 當(dāng)遇到有連續(xù)兩行以上的空白行,就代換為一行的空白行
  -u 不顯示下引號(hào) (根據(jù)環(huán)境變數(shù) TERM 指定的 terminal 而有所不同)
  +/ 在每個(gè)檔案顯示前搜尋該字串(pattern),然后從該字串之后開(kāi)始顯示
  +num 從第 num 行開(kāi)始顯示

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

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


呃。………………


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


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

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

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

退出more的動(dòng)作指令是q


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

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


2.3 more 的動(dòng)作指令;

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

我們只說(shuō)幾個(gè)常用的; 自己嘗試一下就知道了;

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

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

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

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

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

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

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

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

  -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ù)多個(gè)空白行作為一個(gè)空白行顯示;

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

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

語(yǔ)法:head [- 參數(shù)] 文件   
  -c, --bytes=[-]N         print the first N bytes of each file; 查看文件開(kāi)頭的n個(gè)字節(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;查看文件開(kāi)頭n行的內(nèi)容,不帶參數(shù)時(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    時(shí)間: 2009-9-3 10:00
本帖最后由 changyongid 于 2009-9-3 10:06 編輯

我們來(lái)用一下就能了解了。
1. 不帶參數(shù)
[changyongid@localhost ~]$ head cd.play.list
Documents/music/taozhe/黑色的橙子.mp3
Documents/music/taozhe/飛機(jī)場(chǎng)的十點(diǎn)半.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/今天沒(méi)回家.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這個(gè)文件的前5個(gè)字符的內(nèi)容。

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

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

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

來(lái)幾個(gè)例子。
首先,為了方便觀看效果,我們把剛才的文件cd.play.list(這是一個(gè)播放列表)加上行號(hào),重定向到另一個(gè)文件里。
[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無(wú)與倫比演唱會(huì)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個(gè)字符
[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    時(shí)間: 2009-9-3 10:18
好了,head 和 tail 命令我們就學(xué)習(xí)完了。其中我們最常用參數(shù)就是 -n ,以行來(lái)顯示就可以了。
其他參數(shù)就當(dāng)個(gè)了解。許多命令都帶有很多的參數(shù),但是一般這些參數(shù)中,我們常用到的也就是其中的幾個(gè)而已,其他的就當(dāng)個(gè)了解,不必太死摳每個(gè)參數(shù),就像不一定要知道茴香豆的茴字有幾種寫法一樣。
作者: f.luo    時(shí)間: 2009-9-3 10:29
繼續(xù)來(lái)學(xué)習(xí)
作者: changyongid    時(shí)間: 2009-9-3 12:40
歡迎歡迎。一起學(xué)習(xí)
作者: geyingzhen    時(shí)間: 2009-9-3 23:39
佩服
作者: changyongid    時(shí)間: 2009-9-4 17:19
此貼居然被加精了,真是有些汗顔。

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

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


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

我們還是先來(lái)help一下,因?yàn)榭磶椭臋n是一個(gè)非常好的習(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的說(shuō)明如下:

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的說(shuō)明如下:
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有符號(hào)十進(jìn)制數(shù)
  f[SIZE]    floating point, SIZE bytes per integer浮點(diǎn)數(shù)
  o[SIZE]    octal, SIZE bytes per integer八進(jìn)制(系統(tǒng)默認(rèn)值為02)
  u[SIZE]    unsigned decimal, SIZE bytes per integer無(wú)符號(hào)十進(jìn)制數(shù)
  x[SIZE]    hexadecimal, SIZE bytes per integerx 十六進(jìn)制數(shù)

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

說(shuō)明:od命令系統(tǒng)默認(rèn)的顯示方式是八進(jìn)制,這也是該命令的名稱由來(lái)(Octal Dump)。但這不是最有用的顯示方式,用ASCII碼和十六進(jìn)制組合的方式能提供更有價(jià)值的信息輸出。
作者: changyongid    時(shí)間: 2009-9-4 17:59
來(lái)個(gè)列子,其中mmu為我編譯一個(gè)程序后生成的可執(zhí)行文件。輸出太多,我沒(méi)有貼全。
[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    時(shí)間: 2009-9-4 18:11
這個(gè)od命令,平時(shí)沒(méi)怎么用過(guò),確實(shí)不知道有什么實(shí)用的地方。
作者: f.luo    時(shí)間: 2009-9-5 17:37
期待今天的更新。
作者: changyongid    時(shí)間: 2009-9-5 21:06
嘿嘿。今 天周末。。本來(lái)想給大家放天假。。。

恰 今天有個(gè)文檔要編輯整理下。。。

不過(guò),還是繼續(xù)的好。。說(shuō)好一天一個(gè)的。。。呆會(huì)更新。。。謝謝支持。
作者: changyongid    時(shí)間: 2009-9-7 08:24
周末停了兩天。  宿舍里不是很方便。。。。
作者: changyongid    時(shí)間: 2009-9-7 08:27
前面我們學(xué)習(xí)了幾個(gè)查看文件內(nèi)容的命令。會(huì)用這幾個(gè)命令,查看一般的文件內(nèi)容也就夠用了。。。
那么,接下來(lái)學(xué)習(xí)一個(gè)命令,用于文件內(nèi)容的統(tǒng)計(jì)。。。
作者: changyongid    時(shí)間: 2009-9-7 08:36
這個(gè)命令就是 wc  我們先來(lái)help一下。
[changyongid@localhost ~]$ wc --help
用法:wc [選項(xiàng)]... [文件]...
  或:wc [選項(xiàng)]... --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. 沒(méi)有指定文件時(shí),則從標(biāo)準(zhǔn)輸入讀取
  -c, --bytes            print the byte counts字節(jié)數(shù)
  -m, --chars            print the character counts 這個(gè)好像也是字節(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 最長(zhǎng)行的長(zhǎng)度
  -w, --words            print the word counts字?jǐn)?shù)
      --help     顯示此幫助信息并退出
      --version  輸出版本信息并退出
作者: changyongid    時(shí)間: 2009-9-7 08:48
現(xiàn)在來(lái)試一下這個(gè)命令。。。有名為 tt 的一個(gè)文件。。我們來(lái)對(duì)其操作一下。。

[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             //這個(gè)跟字節(jié)數(shù)相同,不敢確定
45 tt
[changyongid@localhost ~]$ wc -l tt              //行數(shù)
3 tt
[changyongid@localhost ~]$ wc -L tt               //最長(zhǎng)行的字符數(shù)
19 tt
[changyongid@localhost ~]$ wc -w tt            //字?jǐn)?shù),以空格分開(kāi)的
9 tt

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

可以看到,這個(gè)命令的參數(shù)非常的簡(jiǎn)單。
作者: changyongid    時(shí)間: 2009-9-8 21:45
繼續(xù)來(lái)看。 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.   

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

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

這個(gè)參數(shù)感覺(jué)非常的有用。。用起來(lái)很方便。。。當(dāng)然,這里具的例子可能不恰當(dāng),因?yàn)槁窂胶苌,?dāng)路徑很長(zhǎng)時(shí)它的作用就明顯了。

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

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

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

學(xué)習(xí)cd命令的時(shí)候,看到我打的pwd命令了吧。。。。那么這個(gè)命令是干什么的呢?相信你肯定已經(jīng)知道了。沒(méi)錯(cuò)。我們來(lái)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)前工作目錄的絕對(duì)路徑

       -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的選項(xiàng),我還不知道是什么意思。。


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

于是,再來(lái)學(xué)習(xí)一個(gè)命令。。。。

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

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

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

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

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

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

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

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

用tree命令來(lái)查看a目錄里的結(jié)構(gòu)?梢钥吹剑锩嬗袀(gè)b目錄了。方便了很多了吧。
作者: changyongid    時(shí)間: 2009-9-10 16:04
至于 -m 選項(xiàng),我們也來(lái)使用一下吧。不過(guò)僅限這個(gè)東西牽到的東西較多。一下子說(shuō)起來(lái)有點(diǎn)麻煩。留到有空了再來(lái)說(shuō)吧。。。
[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)限就全開(kāi)了。。
注:777是權(quán)限的一種表達(dá)方式。下面的rwx分別表試一個(gè)文件的讀、寫、可執(zhí)行 權(quán)限。
那么7的二進(jìn)制也就是111,正好對(duì)應(yīng)rwx。那么對(duì)應(yīng)位為1就表示這個(gè)權(quán)限開(kāi)了。
那么 777也就表示rwx rwx rwx嘍。。。這三組是不同的。分別對(duì)應(yīng)了 屬主用戶 、 屬主的組、其他。

好吧好吧。先說(shuō)到這里,再說(shuō)下去話又多了。可以上網(wǎng)查一下,比我說(shuō)的清楚。
作者: f.luo    時(shí)間: 2009-9-13 11:03
周末不更新?
作者: changyongid    時(shí)間: 2009-9-13 17:58
這周末回學(xué)校了。。畢業(yè) 后第一次回校。。
又走了走平時(shí)經(jīng)常走的那些校園小道,又想起畢業(yè)時(shí)同學(xué)們一起在“跳騷市場(chǎng)”賣舊貨的情景,見(jiàn)了一些還在校園里的好友。
校園依然親切,卻已不再有從前的那種感覺(jué)了。因?yàn)槿硕疾辉诹恕?br />
我仍然會(huì)偶爾夢(mèng)見(jiàn)學(xué)校,夢(mèng)見(jiàn)那些可愛(ài)的同學(xué)們。
我還是沒(méi)有適應(yīng)完全離開(kāi)
作者: changyongid    時(shí)間: 2009-9-13 18:38
[changyongid@Fedora ~]$ rmdir --help
Usage: rmdir [OPTION]... DIRECTORY...
rmdir 選項(xiàng)...   目錄....
Remove the DIRECTORY(ies), if they are empty.
如果目錄是空的話,則刪除這個(gè)目錄

      --ignore-fail-on-non-empty
                  ignore each failure that is solely because a directory
                    is non-empty
忽略任何因目錄為非空而造成的錯(cuò)誤
  -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í)行的過(guò)程
      --help     display this help and exit
顯示幫助信息,并退出
      --version  output version information and exit
輸出版本信息,并退出

說(shuō)明:如果目錄為空的話,則會(huì)刪除該目錄,-p時(shí),必須每級(jí)的目錄都為空,否則不能刪除。
作者: changyongid    時(shí)間: 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目錄了。因?yàn)檫@個(gè)目錄為空,直接rmdir就刪除掉了。

現(xiàn)在刪除b目錄,刪除之前,我們?cè)赽目錄里面放置一個(gè)文件?茨夸浄强諘r(shí)會(huì)怎么樣。
  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里建了一個(gè)文件test。
  1. [changyongid@Fedora test]$ rmdir a/b/
  2. rmdir: failed to remove `a/b/': Directory not empty
復(fù)制代碼
看到了吧,無(wú)法刪除。如此的話。我們就不能刪除b目錄了。

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

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

對(duì)于第一個(gè)問(wèn)題,答案就是ls命令。即,下面將要說(shuō)明的。
對(duì)于第二個(gè)問(wèn)題,其實(shí),這個(gè)問(wèn)題在我們之前的學(xué)習(xí)中一定也碰到過(guò)了。這里先說(shuō)明一下。
對(duì)于路徑,在Linux里有 相對(duì)路徑 和 絕對(duì)路徑 之分。
乍一聽(tīng)起來(lái),還真有點(diǎn)玄乎,其實(shí)很簡(jiǎn)單。我們要訪問(wèn)某個(gè)文件或目錄(其實(shí)目錄也是一種文件,Linux里,一切皆為文件),而此文件在別的路徑徑下,我們?nèi)绾卧L問(wèn)到呢?
舉個(gè)例子:
          我們有一個(gè)目錄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里有兩個(gè)目錄,b和c。(b里有一個(gè)test文件)
現(xiàn)在我們?cè)赾目錄里。那么我們?nèi)绾卧L問(wèn)到test文件呢?

1.通過(guò)相對(duì)路徑。即相對(duì)于我們當(dāng)前目錄的路徑。
那么我們用vim訪問(wèn)test文件的話,命令就可以這么寫
  1. [changyongid@Fedora c]$ vim ../b/test
復(fù)制代碼
.. 表示父目錄。這就是相對(duì)路徑
2.通過(guò)絕對(duì)路徑。絕對(duì)路徑,就是一個(gè)文件在文件系統(tǒng)里面的固定的位置,它跟當(dāng)前我們?cè)谀膫(gè)位置無(wú)關(guān)。所以絕對(duì)路徑是以 / 開(kāi)頭的。
查看一下當(dāng)前目錄的絕對(duì)路徑還記得么?pwd
作者: changyongid    時(shí)間: 2009-9-13 19:06
接著,再來(lái)看看ls
可以help一下,但是ls 的命令參數(shù)太多了。以至于我們無(wú)法在一屏里面完整的看出。這個(gè)時(shí)候我們可以用less。
這個(gè)我們已經(jīng)學(xué)過(guò)了?吹搅税桑皩W(xué)過(guò)的命令都是很重要的。
  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    時(shí)間: 2009-9-13 19:06
本帖最后由 changyongid 于 2009-9-13 21:02 編輯

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

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

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

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

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

  -B, --ignore-backups       不顯示以 ~ 結(jié)尾的文件(這些一般是備份文件)
  -c                       以修改時(shí)間排序
  -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é)點(diǎn)信息

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

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

  -Q,      把輸出的文件名用引號(hào)括起來(lái)
  -r, --reverse            對(duì)目錄反向排序
  -R, --recursive           列出所有子目錄下的文件
  -s, --size                 在每個(gè)文件名旁邊輸出該文件的大小
  -S                        以文件大小排序

  -t                        以修改時(shí)間排序

  -u                       以訪問(wèn)時(shí)間排序
  -U                        不排序
  
  -1                        逐行顯示

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

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

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

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

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

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

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

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

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


  -t, --target-directory=DIRECTORY  指定目標(biāo)路徑
作者: changyongid    時(shí)間: 2009-9-16 08:56
實(shí)例:
             假設(shè)當(dāng)前目錄有個(gè)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 鏈接一下,可以看到實(shí)際上是做了個(gè)硬鏈接
  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    時(shí)間: 2009-9-16 08:59
由于cp過(guò)于是默認(rèn)覆蓋已存在文件的,所以直接使用這個(gè)命令時(shí)會(huì)有一點(diǎn)危險(xiǎn)。在~/.bashrc里面用alias將其替換成 cp -i 即可,加上-i參數(shù),每次要覆蓋之前,它都會(huì)提示,這樣就安全了一些,防止誤操作。
作者: changyongid    時(shí)間: 2009-9-16 19:51
命令 : rm
使用 : rm [選項(xiàng)]... 文件...
說(shuō)明 : 刪除文件

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

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

如果一個(gè)文件名以“-”開(kāi)頭,比如“-foo”,用下面兩個(gè)命令中任一個(gè)來(lái)刪除:
  rm -- -foo

  rm ./-foo

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

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

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

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

  -t, --target-directory=DIRECTORY  將所有的 SOURCE 都移動(dòng)到 DIRECTORY

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

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

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

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

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

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

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

  -L, --dereference          顯示符號(hào)鍕接所指向的文件類型

file命令可以知道某個(gè)文件究竟是二進(jìn)制的可執(zhí)行文件還是shell腳本文件,或是其他格式的文件。其能識(shí)別目錄、shell腳本、英文文本、二進(jìn)制可執(zhí)行文件、C語(yǔ)言源文件、文本文件、DOS的可執(zhí)行文件。能探測(cè)包括圖形、音頻等在內(nèi)的多種媒體格式文件。
作者: changyongid    時(shí)間: 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    時(shí)間: 2009-9-24 20:33
用法:touch [選項(xiàng)]... 文件...
更新文件的訪問(wèn)和修改時(shí)間,更新為當(dāng)前時(shí)間。

如果參數(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.
// 這一句不知道怎么翻。

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


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

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

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

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

當(dāng)然,touch可以指定特定的時(shí)間。這個(gè)是比較重要的。來(lái)試一下吧。
----------------------
[changyongid@localhost test]$ touch  -t 01061803 aaa
[changyongid@localhost test]$ ll
-rw-rw-r--   1 changyongid changyongid    0 2009-01-06 aaa
----------------------
從上面可以看到,創(chuàng)建的文件為空。
注意一下它的時(shí)間。我指定的是01月06日18分03秒。默認(rèn)為今年。
如果我在它前面再加上02,會(huì)怎么樣呢?
----------------------
[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來(lái)指定。重點(diǎn)體會(huì)一下。
關(guān)于這里的時(shí)間格式,可以參考date命令。感覺(jué)有點(diǎn)麻煩。
作者: changyongid    時(shí)間: 2009-9-24 20:48
再來(lái)看下-r選項(xiàng)。即把目標(biāo)文件指定跟另一個(gè)文件一樣的時(shí)間。
-------------------------------------------
[changyongid@localhost test]$ ll
總計(jì) 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
總計(jì) 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一樣的時(shí)間了。注意,2410是個(gè)目錄。所以這里無(wú)論是指定目錄還是普通文件都是可行的。

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

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

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

復(fù)制代碼


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

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


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

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

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

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

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

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

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


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

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

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




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