国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

電子工程網

標題: 一天一個Linux命令 [打印本頁]

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

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

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

  -A, --show-all           equivalent to -vET 相當于v E T三個參數選項一起用
  -b, --number-nonblank    number nonempty output lines 輸出顯示行號,但是會跳過空白行
  -e                       equivalent to -vE 相當于v E兩個參數選項一起用
  -E, --show-ends          display $ at end of each line 顯示行尾符,Linux里每行結尾的都有個$符號。
  -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 之外。。。這個不知道是什么意思。

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

其實感覺命令并不難記,難的是它們的參數選項的記憶。基本上每個命令都有多個參數,記起來就麻煩了。
作者: changyongid    時間: 2009-8-31 09:39
ok,繼續cat命令。對應上面的參數說明,我們來做幾個例子。

1.直接cat,不帶參數。則輸出顯示這個文件里的內容。
[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參數。可以看到,顯示出了行尾符。

[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 參數,帶行號的顯示。。。每行都顯示出了行號,注意,第二行是空白行,也顯示了行號。
[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 參數  。看到了吧,跳過了空白的那行,那一行不標號了。
[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
最后,當然我們也可以復合著用。
[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,第一天每一個命令。。。。結束。
作者: changyongid    時間: 2009-8-31 09:45
其實這個命令平時直接用、不帶參數就可以了。呵。原來都是這么用的。
作者: changyongid    時間: 2009-8-31 09:48
再補充下,行號是累加的。。
比如我們cat兩個文件,行號是一直在計數
[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
師傅,收我為徒吧!我現在覺得是學海無船,找不到門呀!
    徒兒,再拜!
作者: 老郭    時間: 2009-8-31 10:04
哈哈,又一個蓋高樓的。頂
作者: changyongid    時間: 2009-8-31 12:41
哈哈,又一個蓋高樓的。頂
老郭 發表于 2009-8-31 10:04


這是一個賺貼、賺分的好辦法。。。。哈哈。
作者: f.luo    時間: 2009-8-31 15:40
哈哈,這個也想到了,又要出現一個蓋樓高手
作者: 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
會計啊,沒關系,慢慢來,這個命令我自己來。說到中學時期,家鄉的那片梯田,是我看過 最美的綠地……
作者: changyongid    時間: 2009-9-1 08:35
學習進度是一件很難把握的事情。
如果太快了,則會欲速則不達,學過去了也會感覺空洞洞的。
學太慢了,又難免會使人產生急躁,難以堅持。

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

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

最簡單的,我們直接使用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即我們上面的行數參數。
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會有驚喜,一直就進入vi了,而且光標是停在當前行的
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
來看下命令本身的參數。 
 -d 提示使用者,在畫面下方顯示 [Press space to continue, 'q' to quit.] ,如果使用者按錯鍵,則會顯示 [Press 'h' for instructions.] 而不是 '嗶' 聲
  -l 取消遇見特殊字元 ^L(送紙字元)時會暫停的功能
  -f 計算行數時,以實際上的行數,而非自動換行過后的行數(有些單行字數太長的會被擴展為兩行或兩行以上)
  -p 不以卷動的方式顯示每一頁,而是先清除螢幕后再顯示內容
  -c 跟 -p 相似,不同的是先顯示內容再清除其他舊資料
  -s 當遇到有連續兩行以上的空白行,就代換為一行的空白行
  -u 不顯示下引號 (根據環境變數 TERM 指定的 terminal 而有所不同)
  +/ 在每個檔案顯示前搜尋該字串(pattern),然后從該字串之后開始顯示
  +num 從第 num 行開始顯示

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

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


呃。………………


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


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

more [參數選項] [文件]

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

退出more的動作指令是q


2.2 more 的參數應用舉例;

[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 的動作指令;

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

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

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

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

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

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

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

  -f  ........  --force
                  Force open non-regular files.                        強制打開文件,二進制文件顯示時,不提示警告;

  -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.                        把連續多個空白行作為一個空白行顯示;

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

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

語法:head [- 參數] 文件   
  -c, --bytes=[-]N         print the first N bytes of each file; 查看文件開頭的n個字節內容
                             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行的內容,不帶參數時默認顯示前十行內容
                             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. 不帶參數
[changyongid@localhost ~]$ head cd.play.list
Documents/music/taozhe/黑色的橙子.mp3
Documents/music/taozhe/飛機場的十點半.mp3
Documents/music/taozhe/寂寞的季節.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

可以看到默認顯示前10行內容。


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

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

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

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

命令: tail
語法: tail [參數] 文件
說明: 與head正好相反,它是顯示文件末尾幾行的。
它也有一些參數,如 -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. 不帶參數,它默認顯示最后的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 參數 ,顯示最后的N個字符
[changyongid@localhost ~]$ tail -c 100  tt
ocuments/music/jay/周杰倫-依然范特西.ape
    40        Documents/music/jay/周杰倫-七里香.ape

3. 帶 -n參數 ,顯示最后N行內容
[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 命令我們就學習完了。其中我們最常用參數就是 -n ,以行來顯示就可以了。
其他參數就當個了解。許多命令都帶有很多的參數,但是一般這些參數中,我們常用到的也就是其中的幾個而已,其他的就當個了解,不必太死摳每個參數,就像不一定要知道茴香豆的茴字有幾種寫法一樣。
作者: f.luo    時間: 2009-9-3 10:29
繼續來學習
作者: changyongid    時間: 2009-9-3 12:40
歡迎歡迎。一起學習
作者: geyingzhen    時間: 2009-9-3 23:39
佩服
作者: changyongid    時間: 2009-9-4 17:19
此貼居然被加精了,真是有些汗顔。

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

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


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

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

[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 指定地址基數,這里的RADIX在help下面有詳細的解釋。
  -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 數據顯示格式 ,同樣的,TYPE在help的下面也有詳細的解釋。
  -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參數了。。
RADIX的說明如下:

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

即:
d -十進制
o -八進制
x -十六進制
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有符號十進制數
  f[SIZE]    floating point, SIZE bytes per integer浮點數
  o[SIZE]    octal, SIZE bytes per integer八進制(系統默認值為02)
  u[SIZE]    unsigned decimal, SIZE bytes per integer無符號十進制數
  x[SIZE]    hexadecimal, SIZE bytes per integerx 十六進制數

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

說明:od命令系統默認的顯示方式是八進制,這也是該命令的名稱由來(Octal Dump)。但這不是最有用的顯示方式,用ASCII碼和十六進制組合的方式能提供更有價值的信息輸出。
作者: changyongid    時間: 2009-9-4 17:59
來個列子,其中mmu為我編譯一個程序后生成的可執行文件。輸出太多,我沒有貼全。
[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
嘿嘿。今 天周末。。本來想給大家放天假。。。

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

不過,還是繼續的好。。說好一天一個的。。。呆會更新。。。謝謝支持。
作者: changyongid    時間: 2009-9-7 08:24
周末停了兩天。  宿舍里不是很方便。。。。
作者: changyongid    時間: 2009-9-7 08:27
前面我們學習了幾個查看文件內容的命令。會用這幾個命令,查看一般的文件內容也就夠用了。。。
那么,接下來學習一個命令,用于文件內容的統計。。。
作者: 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 -,打印文件的行、字、字節數
read standard input. 沒有指定文件時,則從標準輸入讀取
  -c, --bytes            print the byte counts字節數
  -m, --chars            print the character counts 這個好像也是字節數
  -l, --lines            print the newline counts行數
      --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字數
      --help     顯示此幫助信息并退出
      --version  輸出版本信息并退出
作者: changyongid    時間: 2009-9-7 08:48
現在來試一下這個命令。。。有名為 tt 的一個文件。。我們來對其操作一下。。

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

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

可以看到,這個命令的參數非常的簡單。
作者: changyongid    時間: 2009-9-8 21:45
繼續來看。 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.   

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

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

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

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

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

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

學習cd命令的時候,看到我打的pwd命令了吧。。。。那么這個命令是干什么的呢?相信你肯定已經知道了。沒錯。我們來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.
打印當前工作目錄的絕對路徑

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

于是,再來學習一個命令。。。。

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

這樣的話,就定個定時器,中斷觸發,專門的處理函數去響應。。。。

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

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

長選項必須用的參數在使用短選項時也是必需的。
  -m, --mode=MODE   set file mode (as in chmod), not a=rwx - umask 對新建目錄設置存取權限
  -p, --parents     no error if existing, make parent directories as needed 如果路徑中有個目錄不存在,則創建它
  -v, --verbose     print a message for each created directory 會顯示出提示信息。這個選項許多命令里都會有。大至是一個提示的作用,讓我們用戶可以看到操作的結果。
  -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
現在在我們用戶的主目錄下

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

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

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

用tree命令來查看a目錄里的結構。可以看到,它里面有個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目錄,如上可看到它的權限。

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

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

我仍然會偶爾夢見學校,夢見那些可愛的同學們。
我還是沒有適應完全離開
作者: 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
顯示指定執行的過程
      --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
復制代碼
這樣,可以看一下現在目錄結構
  1. [changyongid@Fedora test]$ tree a
  2. a
  3. `-- b
  4.     `-- c

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

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

現在刪除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
復制代碼
看到了,已經在b里建了一個文件test。
  1. [changyongid@Fedora test]$ rmdir a/b/
  2. rmdir: failed to remove `a/b/': Directory not empty
復制代碼
看到了吧,無法刪除。如此的話。我們就不能刪除b目錄了。

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

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

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

  6. 2 directories, 1 file
復制代碼
即a里有兩個目錄,b和c。(b里有一個test文件)
現在我們在c目錄里。那么我們如何訪問到test文件呢?

1.通過相對路徑。即相對于我們當前目錄的路徑。
那么我們用vim訪問test文件的話,命令就可以這么寫
  1. [changyongid@Fedora c]$ vim ../b/test
復制代碼
.. 表示父目錄。這就是相對路徑
2.通過絕對路徑。絕對路徑,就是一個文件在文件系統里面的固定的位置,它跟當前我們在哪個位置無關。所以絕對路徑是以 / 開頭的。
查看一下當前目錄的絕對路徑還記得么?pwd
作者: changyongid    時間: 2009-9-13 19:06
接著,再來看看ls
可以help一下,但是ls 的命令參數太多了。以至于我們無法在一屏里面完整的看出。這個時候我們可以用less。
這個我們已經學過了。看到了吧,之前學過的命令都是很重要的。
  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).
復制代碼

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

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

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

格式: ls [OPTION]... [FILE]...
列出文件的詳細信息。默認時列出當前目錄的詳細信息,即當前目錄里的內容。

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

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

  -B, --ignore-backups       不顯示以 ~ 結尾的文件(這些一般是備份文件)
  -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                顯示節點信息

  -l                         列出詳細的信息
  -L                  列出鏈接文件名而不顯示鏈接到的文件
  -n, --numeric-uid-gid     如 -l ,但顯示用戶和組時,不是顯示他們的名字,而是id號
  -N,           不限制文件長度
  -o                        除組以外的詳細信息
  -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. 這里就不一一列出來了
復制代碼

作者: 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 復制(copy)到 DEST ,或者將多個 SOURCE 復制到 DEST

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

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

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

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

  -p                                復制后的文件將保留原文件的權限、屬主、修改時間等

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


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

  1. [changyongid@localhost test]$ ls
  2. test.c
  3. [changyongid@localhost test]$ cp test.c tt                      //直接復制。后面的路徑可以是另外的目錄里
  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
復制代碼

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

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

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

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

  rm ./-foo

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

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

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

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

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

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

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

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

功能說明:顯示文字。
語   法:echo [-ne][字符串]或 echo [--help][--version]
補充說明:echo會將輸入的字符串送往標準輸出。輸出的字符串間以空白字符隔開, 并在最后加上換行號。
參   數:-n 不要在最后自動換行
     -e 若字符串中出現以下字符,則特別加以處理,而不會將它當成一般
     文字輸出:
     \a 發出警告聲;
        \b 刪除前一個字符;
        \c 最后不加上換行符號;
        \f 換行但光標仍舊停留在原來的位置;
        \n 換行且光標移至行首;
       \r 光標移至行首,但不換行;
       \t 插入tab;
        \v 與\f相同;
        \\ 插入\字符;
        \nnn 插入nnn(八進制)所代表的ASCII字符;
      –help 顯示幫助
      –version 顯示版本信息
我們可以利用echo打印出上一次程序執行后的退出狀態。
作者: 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
復制代碼

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

作者: 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    打印輸出分析的詳細過程。與m連用,便于調試所用。

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

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

file命令可以知道某個文件究竟是二進制的可執行文件還是shell腳本文件,或是其他格式的文件。其能識別目錄、shell腳本、英文文本、二進制可執行文件、C語言源文件、文本文件、DOS的可執行文件。能探測包括圖形、音頻等在內的多種媒體格式文件。
作者: 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. 可執行的
  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
復制代碼

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

如果參數指定的文件不存在,則創建它,創建的文件為空。

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

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


注意 -d 和 -t 選項接受不同格式的時間表達式。
作者: 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則以這個名字創建一個普通文件。
這個可以去試一下。我還記得我用touch創建的第一個文件是.vimrc。當時是配置vim的時候。很早了,記得當時在~/下怎么也找不到.vimrc,很急,后來別人告訴我touch一下。果然,用了這個命令之后就有了,我當時很奇怪。現在想起來,真是有些可笑……

當然,touch可以指定特定的時間。這個是比較重要的。來試一下吧。
----------------------
[changyongid@localhost test]$ touch  -t 01061803 aaa
[changyongid@localhost test]$ ll
-rw-rw-r--   1 changyongid changyongid    0 2009-01-06 aaa
----------------------
從上面可以看到,創建的文件為空。
注意一下它的時間。我指定的是01月06日18分03秒。默認為今年。
如果我在它前面再加上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來指定。重點體會一下。
關于這里的時間格式,可以參考date命令。感覺有點麻煩。
作者: changyongid    時間: 2009-9-24 20:48
再來看下-r選項。即把目標文件指定跟另一個文件一樣的時間。
-------------------------------------------
[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是個目錄呢?
我從終端下,他的顏色就可以直觀的表現出來。
貼出來以后,你可以看到最左邊的 “d”了么?那個就表示文件的屬性。
在UNIX Linux下,一切皆為文件。不管是目錄、普通文件、設備等等,對于我們用戶來說,它們都是文件。這個可以看看UNIX環境高級編程。
作者: changyongid    時間: 2009-9-24 20:52
本帖最后由 changyongid 于 2009-9-24 21:07 編輯

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

help一看,這個命令的參數還真是多呀!不過取其中的幾個了解一下,就夠我們使的了。
  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            以字節形式列出文件大小
  15.   -h           以人性化閱讀方式列出
  16.   -D            列出修改時間
  17.   -t            以修改時間排序
  18.   -x            Stay on current filesystem only.將范圍局限在現在的文件性統中。比如把home放到別的分區里,則列出/時不會列出它下面的文件。
  19.   -L level      指定深度(層數)。這個很有用。一般列出某個目錄下,文件太多了。而我們只需要看當前層目錄下或最近兩層的。就用它來指定。
  20.   -o file        輸出到指定文件。有了這個就不用重定向了。
  21.   --inodes      列出每個文件的索引點節
  22.   --device      列出其所屬的設備的設備號

復制代碼


先列出這么多吧。。。其實看起來命令多,但使用起來真的很簡單。上面列出的參數我幾乎都試了一遍,確實還是挺有用的。
太簡單了,我就不麻煩舉列了。
你可以 tree -L -1看一下效果。再逐個添加別的參數。
作者: wlown    時間: 2009-10-14 09:26
學習是永恒的!
作者: f.luo    時間: 2009-10-16 18:37
很久沒更新了。
作者: changyongid    時間: 2009-10-20 17:20
樓上很仔細嘛。。謝謝一直掛念著。。
作者: changyongid    時間: 2009-10-20 17:22
本帖最后由 changyongid 于 2009-10-20 17:52 編輯

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


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

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

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

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

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

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

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


作者: changyongid    時間: 2009-10-20 18:01
我們來試幾個例子吧。。。
[changyongid@localhost ~]$ mkdir ttt              創建一個測試文件夾
[changyongid@localhost ~]$ ln -s ttt/ ./aaa     為其創建一個符號鏈接
[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/            如果強制呢???執行完后,兩者還是存在
作者: changyongid    時間: 2009-10-30 08:29
最近在做一個東西,同時也把C語言復習一下。書是K&R的《The C programming language》,買的英文本,正在進行中……

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

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




歡迎光臨 電子工程網 (http://www.qingdxww.cn/) Powered by Discuz! X3.4
主站蜘蛛池模板: 正在播放一区 | 手机看日韩毛片福利盒子 | 欧美两性网 | 国产在线第一区二区三区可以下载 | 国产毛片精品 | 国产精品自拍视频 | 四虎a级欧美在线观看 | 日本经典在线三级视频 | 火辣福利视频 | 欧美高清另类自拍视频在线看 | 999热这里全都是精品 | 免费特黄一区二区三区视频一 | 91免费播放 | 午夜爽爽影院 | jizz国产美女 | 呦女网址www呦女 | 美女脱了内裤张开腿让女人添软件 | 日韩午夜在线视频不卡片 | 91免费看视频 | 精品国产九九 | 欧美日韩国产综合在线 | 美国美女一级毛片免费全 | 日本精品中文字幕在线不卡 | 国产综合成人亚洲区 | 国产成人影视 | 男女羞羞视频网站 | 插综合网 | 国产1024精品视频专区免费 | 老外一级毛片免费看 | 日韩成人中文字幕 | 在线观看香蕉免费啪在线观看 | 日韩免费观看一级毛片看看 | 99青青| 天天在线干| 年轻帅气小伙gay1069 | 久久久免费网站 | 国内自拍视频在线看免费观看 | 日韩国产精品欧美一区二区 | 一本大道香焦在线视频 | 美女国内精品自产拍在线播放 | 无限资源中文免费 |