隨筆-159  評論-114  文章-7  trackbacks-0

          touch命令

          如果文件不存在,創(chuàng)建新文件。
          文件存在,同時更新訪問和修改時間。

          注意文件的更新時間和訪問時間不一樣。

          touch file1
          vi file1

          添加內(nèi)容。

          ls -lt 會看到該文件的最后修改時間。
          過一些時候,執(zhí)行more file參看一下該文件,也就是訪問一下。
          ls -lu會看到該文件最后訪問的時間。

          這是再touch file1,ls -lt和ls -lu會看到同樣的時間。


          做不了事(執(zhí)行不了動作),你要檢查幾件事!

          1.你是誰 (id命令)

          openlab.tarena.ca% id
          uid=25791 gid=103(tarena)

          2.你在哪(pwd),你對某個文件的關(guān)系(owner group同組者 other)

          3.你是否能在某目錄里做事(讀ls 寫創(chuàng)建文件 執(zhí)行cd),看看這個目錄的權(quán)限
             
                在該目錄下,執(zhí)行 ls -ld,查看該目錄
                注意:回上一級,執(zhí)行l(wèi)s -l lujl,是查看該目錄下文件和子目錄的權(quán)限。

          ls -al lujl 可以查看隱藏文件。

          ls -R 將該目錄下所有文件夾遞歸展開

          su - somebody 就是將環(huán)境變量也更換為somebody的,否則不更新,cd時回原來的用戶的主目錄。



          一些基本命令。

          mkdir -p dir6/dir7/dir8 可創(chuàng)建層級目錄

          cp -i beans apple 文件存在,會提示,-i作用

          ===============================
          openlab.tarena.ca% cp -r dir3 dir4

          注意:如果dir4不存在,那么就先建立dir4,在將dir3中內(nèi)容拷貝過去,如果dir4存在,則是將整個dir3包括dir3本身,整個目錄結(jié)構(gòu)拷貝過去。

          openlab.tarena.ca% ls
          dir3   file1
          openlab.tarena.ca% cp -r dir3 dir4
          openlab.tarena.ca% ls -R
          .:
          dir3   dir4   file1

          ./dir3:
          a.txt

          ./dir4:
          a.txt
          openlab.tarena.ca% cd dir4   
          openlab.tarena.ca% rm *
          openlab.tarena.ca% cd
          openlab.tarena.ca% ls
          dir3   dir4   file1
          openlab.tarena.ca% cp -r dir3 dir4
          openlab.tarena.ca% ls -R
          .:
          dir3   dir4   file1

          ./dir3:
          a.txt

          ./dir4:
          dir3

          ./dir4/dir3:
          a.txt


          mv 命令相當(dāng)于給文件改名稱

          mv 源 目標(biāo)

          目標(biāo)不存在,相當(dāng)于給源改名稱

          目標(biāo)存在,對于文件,覆蓋
                              對于目錄,移動整個目錄結(jié)構(gòu)到目標(biāo)目錄中。

          openlab.tarena.ca% ls
          dir3   file2
          openlab.tarena.ca% mkdir dir4
          openlab.tarena.ca% ls
          dir3   dir4   file2
          openlab.tarena.ca% mv dir3 dir4
          openlab.tarena.ca% ls -R
          .:
          dir4   file2

          ./dir4:
          dir3

          ./dir4/dir3:
          a.txt

          rm -r[i] directory_name(s)
          rmdir只能刪除空目錄

          題外話

                /tmp 每個系統(tǒng)根下都有一個臨時文件夾,查看該目錄權(quán)限,

                openlab.tarena.ca% cd /tmp
                openlab.tarena.ca% ls -ld
                total 64
                drwxrwxrwt   4 0        sys          753 11月 15 20:06 .
                openlab.tarena.ca% 

               看好了,那不是777,而是后面有個t,1777,它表示/tmp里,誰都能寫,讀,刪。但是必須是該文件的owner。

               chmod 1777 dir



          ln

          兩種鏈接,

          硬連接和符號連接(軟連接)

          openlab.tarena.ca% ls -l
          total 4
          drwxr-xr-x   3 25791    tarena       512 11月 15 20:03 dir4
          -rw-r--r--   1 25791    tarena        13 11月 15 19:38 file2

          蘭色表示硬鏈接數(shù),對于目錄,那個數(shù)字表示該目錄下文件和子目錄數(shù)總和。

          openlab.tarena.ca% cp file2 file2.bak
          openlab.tarena.ca% ln file2 file2.ln
          openlab.tarena.ca% ls -il
          total 8
              858670 drwxr-xr-x   3 25791    tarena       512 11月 15 20:03 dir4
              409639 -rw-r--r--   2 25791    tarena        13 11月 15 19:38 file2
              409792 -rw-r--r--   1 25791    tarena        13 11月 15 20:23 file2.bak
              409639 -rw-r--r--   2 25791    tarena        13 11月 15 19:38 file2.ln
          openlab.tarena.ca%

          注意硬鏈接后,被鏈接文件和鏈接文件的inode號,是相同的,他們是同一個inode,硬鏈接號加1。

          =================================================
          inode i節(jié)點 關(guān)鍵概念

             touch beans這個命令執(zhí)行時,創(chuàng)建一個文件時到系統(tǒng)中申請一個i節(jié)點,如果申請不到,就不會創(chuàng)建成功。

            i節(jié)點保存這除文件名以外的關(guān)于這個文件的所有屬性。大小,屬主,屬組,權(quán)限,數(shù)據(jù)塊指針。

          那么那個數(shù)據(jù)塊(data block)指針,指向一個數(shù)據(jù)塊。

          一個目錄也有inode,inode中數(shù)據(jù)塊指針指向的數(shù)據(jù)塊保存著該目錄的文件名與inode的對應(yīng)信息。

          ==================================================

          軟鏈接

          ln -s beans beans.sln

          openlab.tarena.ca% ls -il beans*
          total 10
              409793 -rw-r--r--   1 25791    tarena         0 11月 15 20:52 beans
              409794 lrwxrwxrwx   1 25791    tarena         5 11月 15 20:53 beans.sln -> beans
          openlab.tarena.ca%

          注意,beans和beans.sln的inode號不同,說明是兩個文件。那么beans.sln的大小是5,基本可以理解為保存著beans的名稱,以便能夠找到它。

          這時,more beans.sln實際上 先找到beans.sln的inode-〉數(shù)據(jù)塊-〉5個字母beans->more beans

          系統(tǒng)中就有軟鏈接的例子,

          openlab.tarena.ca% cd /
          openlab.tarena.ca% ls -l|grep bin
          lrwxrwxrwx   1 0        root           9  5月 28  2002 bin -> ./usr/bin
          drwxr-xr-x   2 0        sys         1024  5月 16  2004 sbin
          openlab.tarena.ca%

          可以看到 bin就是./usr/bin的軟鏈接。



          man name 查看命令
          man -k function 查看函數(shù)    man -k setuid

          空格
          b back
          f forward
          q
          /string search
          n 查找一個

          ls d??=ls dat
          ls [a-f]b*

          cd;ls

          標(biāo)準(zhǔn)輸出重定向
          cal 5 2007>a.txt
          cal 5 2007>>a.txt追加

          ls -l /etc|more

          cal 5 2007|tee cal.lst
          tee是個3向頭,既顯示,又重定向到cal.lst文件中。

          cal 5 2007|tee -a cal.lst
          追加

          cat /dev/null > ~/b.txt
          清空文件,回收datablock

          cat /etc/passwd | awk -F: '{print $1 "\t" $6}' \
          |sort >~/userinfo

          \是指要換行繼續(xù)寫命令
          然后就是awk和sed有很強的文本處理能力。


          tail -30 a.txt
          head -30 a.txt
          tail -f ServiceStartupLog.txt

          more filename(s)操作和man一樣!

          openlab.tarena.ca% who am i
          lujl       pts/2        11月 15 19:27   (219.236.137.165)

          查看登陸用戶

          whoami顯示有效用戶。su后,會看到結(jié)果。

          ==========================================================

           VI

            底行模式 :/? 命令模式 i a o 輸入模式(Esc退出)

          kljh 上右下左

          i插入
          a后
          o當(dāng)前行下插入新行 大寫O當(dāng)前行上插入新行

          vi file1

          i

          some words

          Esc

          :w!

          直接輸入vi

          編輯到最后

          Esc
          :wq! file2

          保存file2,并退出

          不保存直接退
          :q!

          保存后直接退
          :wq!
          :x!
          ZZ


          命令模式下

          G 最后一行
          1G第一行,輸入沒有時間限制

          當(dāng)前屏幕

          Shift +L 最下
          Shift +H 嘴上
          Shift +M中間

          Ctrl D 滾下半屏
          Ctrl U 滾上半屏
          Ctrl F 滾下整屏
          Ctrl B 滾上整屏

          r 修改一個字母
          cw 修改某個單詞
          cc 整行
          C 替換光標(biāo)到行尾

          yw
          yy
          p
          :1,8co6
          :1,6m8

          x
          dw
          dd
          5dd
          :5,10d

          u UNDO

          ~
          大小寫
          J 連接下一行
          :set nu
          :21=21G
          /
          ?
          n 繼續(xù)查找
          :r file2

          :1,$/要替換/新串/g
          g表示全部替換

          :1,19/^/#/
          表示1到19行開頭加入#,注釋掉


          ^表示行首,這也是為什么Shift +6回到當(dāng)前行行首,(Shift+4行尾)

















          posted on 2005-11-15 21:51 北國狼人的BloG 閱讀(440) 評論(0)  編輯  收藏 所屬分類: 達內(nèi)學(xué)習(xí)總結(jié)
          主站蜘蛛池模板: 庆阳市| 东港市| 夏河县| 荔波县| 南漳县| 江川县| 巨鹿县| 安图县| 宜川县| 禄劝| 安远县| 甘孜县| 新安县| 禄丰县| 泾阳县| 交口县| 舞钢市| 奉新县| 昭通市| 汽车| 即墨市| 陆河县| 五家渠市| 通山县| 庐江县| 札达县| 嘉兴市| 德化县| 滁州市| 九寨沟县| 屏边| 威信县| 高陵县| 若尔盖县| 滨州市| 抚宁县| 靖江市| 吴江市| 伊金霍洛旗| 宿州市| 垣曲县|