Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29305943
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类: LINUX

2010-10-08 20:31:51

Linux 檔案與目錄管理

1.        绝对路径的用途

如果是在寫程式 (shell scripts) 來管理系統的條件下,務必使用絕對路徑的寫法。如果使用相對路徑在程式當中,則可能由於你執行的工作環境不同,導致一些問題的發生。特别是你的程序如果要做成ATcrontab的时候更加要注意了。

2.        目录相关的标识符

得要用力的記下來才行:

.         代表此層目錄

..        代表上一層目錄

-         代表前一個工作目錄

~         代表『目前使用者身份』所在的家目錄

~account  代表 account 這個使用者的家目錄(account是個帳號名稱)

为啥要讲上面的这些关键字呢?你看下

[root@www ~]# cd ~vbird
# 代表去到 vbird 這個使用者的家目錄,亦即 /home/vbird
[root@www vbird]# cd ~                #直接就进入到家目录了。是不是很方便
# 表示回到自己的家目錄,亦即是 /root 這個目錄

3.                         关于环境变量

  • 不同身份使用者預設的PATH不同,預設能夠隨意執行的指令也不同(rootvbird)
  • PATH是可以修改的,所以一般使用者還是可以透過修改PATH來執行某些位於/sbin/usr/sbin下的指令來查詢;
  • 使用絕對路徑或相對路徑直接指定某個指令的檔名來執行,會比搜尋PATH來的正確;
  • 指令應該要放置到正確的目錄下,執行才會比較方便;
  • 本目錄(.)最好不要放到PATH當中。

4.                         查阅文档内容的相关命令

  • cat  由第一行開始顯示檔案內容
  • tac  從最後一行開始顯示,可以看出 tac cat 的倒著寫!
  • nl   顯示的時候,順道輸出行號!
  • more 一頁一頁的顯示檔案內容
  • less more 類似,但是比 more 更好的是,他可以往前翻頁!(原来如此呀)
  • head 只看頭幾行
  • tail 只看尾巴幾行
  • od   以二進位的方式讀取檔案內容!

几点鸟哥的建议:

1.                         鳥哥個人是比較少用 cat 啦!畢竟當你的檔案內容的行數超過 40 行以上,嘿嘿!根本來不及在螢幕上看到結果! 所以,配合等一下要介紹的 more 或者是 less 來執行比較好!此外,如果是一般的 DOS 檔案時,就需要特別留意一些奇奇怪怪的符號了, 例如斷行與 [tab] 等,要顯示出來,就得加入 -A 之類的選項了!(因为其行数会比较多,所以不建议使用cat命令)

2.                         使用more的相关操作指令

  • 空白鍵 (space):代表向下翻一頁;
  • Enter         :代表向下翻『一行』;
  • /字串         :代表在這個顯示的內容當中,向下搜尋『字串』這個關鍵字;
  • :f            :立刻顯示出檔名以及目前顯示的行數;
  • q             :代表立刻離開 more ,不再顯示該檔案內容。
  • b [ctrl]-b :代表往回翻頁,不過這動作只對檔案有用,對管線無用。

3.                         若使用了 less 時,呵呵!就可以使用 [pageup] [pagedown] 等按鍵的功能來往前往後翻看文件,你瞧,是不是更容易使用來觀看一個檔案的內容了呢

 

 

相关操作案例

例題:

假如我想要顯示 /etc/man.config 的第 11 到第 20 行呢?

答:

這個應該不算難,想一想,在第 11 到第 20 行,那麼我取前 20 行,再取後十行,所以結果就是:『 head -n 20 /etc/man.config | tail -n 10 』,這樣就可以得到第 11 到第 20 行之間的內容了! 但是裡面涉及到管線命令,需要在第三篇的時候才講的到!

 

4.       介绍个好的命令touch

[root@www ~]# touch [-acdmt] 檔案
選項與參數:
-a  :僅修訂 access time
-c  :僅修改檔案的時間,若該檔案不存在則不建立新檔案;
-d  :後面可以接欲修訂的日期而不用目前的日期,也可以使用 --date="日期或時間"
-m  :僅修改 mtime 
-t  :後面可以接欲修訂的時間而不用目前的時間,格式為[YYMMDDhhmm]
 
範例一:新建一個空的檔案並觀察時間
[root@www ~]# cd /tmp
[root@www tmp]# touch testtouch
[root@www tmp]# ls -l testtouch
-rw-r--r-- 1 root root 0 Sep 25 21:09 testtouch
# 注意到,這個檔案的大小是 0 呢!在預設的狀態下,如果 touch 後面有接檔案,
# 則該檔案的三個時間 (atime/ctime/mtime) 都會更新為目前的時間。若該檔案不存在,
# 則會主動的建立一個新的空的檔案喔!例如上面這個例子!

 

观察文件类型:file

如果你想要知道某個檔案的基本資料,例如是屬於 ASCII 或者是 data 檔案,或者是 binary , 且其中有沒有使用到動態函式庫 (share library) 等等的資訊,就可以利用 file 這個指令來檢閱喔

 

文件的搜寻

Linux 底下也有相當優異的搜尋指令呦!通常 find 不很常用的!因為速度慢之外, 也很操硬碟!通常我們都是先使用 whereis 或者是 locate 來檢查,如果真的找不到了,才以 find 來搜尋呦! 為什麼呢?因為 whereis locate 是利用資料庫來搜尋資料,所以相當的快速,而且並沒有實際的搜尋硬碟, 比較省時間啦(以后可以考虑不使用find来操作了而是使用locatewhereis命令)

 

本章 结论:

1. touch 的目的在修改檔案的時間參數,但亦可用來建立空檔案;

2. 一個檔案記錄的時間參數有三種,分別是 access time(atime), status time (ctime), modification time(mtime)ls 預設顯示的是 mtime

3. 新建檔案/目錄時,新檔案的預設權限使用 umask 來規範。預設目錄完全權限為drwxrwxrwx, 檔案則為-rw-rw-rw-

4. 搜尋指令的完整檔名可用 which type ,這兩個指令都是透過 PATH 變數來搜尋檔名;

 

 


阅读(907) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~