全部博文(2065)
分类: LINUX
2010-10-08 20:31:51
Linux
檔案與目錄管理
1.
绝对路径的用途
如果是在寫程式 (shell scripts) 來管理系統的條件下,務必使用絕對路徑的寫法。如果使用相對路徑在程式當中,則可能由於你執行的工作環境不同,導致一些問題的發生。特别是你的程序如果要做成AT或crontab的时候更加要注意了。
2.
目录相关的标识符
得要用力的記下來才行:
. 代表此層目錄 .. 代表上一層目錄 - 代表前一個工作目錄 ~ 代表『目前使用者身份』所在的家目錄 ~account 代表 account 這個使用者的家目錄(account是個帳號名稱) |
为啥要讲上面的这些关键字呢?你看下 [root@www ~]# cd ~vbird # 代表去到 vbird 這個使用者的家目錄,亦即 /home/vbird [root@www vbird]# cd ~ #直接就进入到家目录了。是不是很方便 # 表示回到自己的家目錄,亦即是 /root 這個目錄 3.
关于环境变量
4.
查阅文档内容的相关命令
几点鸟哥的建议: 1.
鳥哥個人是比較少用 cat 啦!畢竟當你的檔案內容的行數超過 40 行以上,嘿嘿!根本來不及在螢幕上看到結果! 所以,配合等一下要介紹的
more 或者是 less 來執行比較好!此外,如果是一般的 DOS 檔案時,就需要特別留意一些奇奇怪怪的符號了, 例如斷行與 [tab] 等,要顯示出來,就得加入 -A 之類的選項了!(因为其行数会比较多,所以不建议使用cat命令) 2.
使用more的相关操作指令
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来操作了而是使用locate或whereis命令)
本章 结论:
1. touch 的目的在修改檔案的時間參數,但亦可用來建立空檔案;
2. 一個檔案記錄的時間參數有三種,分別是 access time(atime), status time (ctime), modification time(mtime),ls 預設顯示的是 mtime。
3. 新建檔案/目錄時,新檔案的預設權限使用 umask 來規範。預設目錄完全權限為drwxrwxrwx, 檔案則為-rw-rw-rw-。
4. 搜尋指令的完整檔名可用 which 或 type ,這兩個指令都是透過 PATH 變數來搜尋檔名;