- 常用指令
ls |
顯示檔案名稱、屬性等。 |
cp |
拷貝檔案或目錄。 |
rm |
移除檔案或目錄。 |
mv |
檔案移動或改名。 |
basename |
移除前導目錄及字尾,顯示檔名。 |
dirname |
移除檔名,顯示目錄。 |
ls (list directory contents):顯示檔案名稱、屬性等。
[root @test /root ]# ls [-ailS]
參數說明:
-a :全部的檔案都列出(連同隱藏檔)
-i :印出 inode 的值
-l :長的列出,連同檔案大小的資料等等
-S :以檔案大小排序
--color=never :不要顯示顏色
--color=always :均顯示顏色
--color=auto :由系統自行判斷
- ls 範例:
[root@dywHome2 ~]# ls
col.txt drakx/ echoname* findnewer sed tmp/
[root@dywHome2 ~]# ls -a
./ findnewer .kde.bak/ .tcshrc
../ .gconf/ .lesshst .test.txt.swp
.bash_completion .gconfd/ .local/ tmp/
.bash_history .gstreamer-0.8/ .mc/ .viminfo
.bash_logout .gtk-bookmarks .mcop/ .vimrc
.bash_profile .gtk_qt_engine_rc .mcoprc .xauth/
.bashrc .gtkrc* .mplayer/ .Xdefaults
col.txt .gtkrc-2.0* .qt/ .xdg_menu_cache/
.cshrc .gtkrc-2.0.bak* .rpmdrake
drakx/ .ICEauthority sed
echoname* .kde/ .ssh/
[root@dywHome2 ~]# ls -l
total 6
-rw-r--r-- 1 root root 2939 Feb 2 2008 col.txt
drwx------ 2 root root 1024 Dec 27 2007 drakx/
-rwxr-xr-x 1 root root 11 Jan 28 2008 echoname*
-rw-r--r-- 1 root root 0 Aug 30 08:44 findnewer
-rw-r--r-- 1 root root 0 Apr 16 09:35 sed
drwx------ 5 root root 1024 Sep 3 19:59 tmp/
[root@dywHome2 ~]# ls -al
total 90
drwx------ 17 root root 2048 Sep 3 20:33 ./
drwxr-xr-x 21 root adm 1024 Sep 3 19:59 ../
-rw-r--r-- 1 root root 145 Aug 4 2006 .bash_completion
-rw------- 1 root root 23796 Sep 3 17:47 .bash_history
-rw-r--r-- 1 root root 24 Aug 4 2006 .bash_logout
-rw-r--r-- 1 root root 106 Aug 4 2006 .bash_profile
-rw-r--r-- 1 root root 226 Aug 4 2006 .bashrc
-rw-r--r-- 1 root root 2939 Feb 2 2008 col.txt
-rw-r--r-- 1 root root 233 Aug 4 2006 .cshrc
drwx------ 2 root root 1024 Dec 27 2007 drakx/
### 中間省略 ###
-rw-r--r-- 1 root root 1479 Aug 4 2006 .Xdefaults
drwxr-xr-x 2 root root 1024 Apr 20 10:45 .xdg_menu_cache/
[root@dywHome2 ~]# ls -al | more
cp (copy files and directories):拷貝檔案或目錄。
[root@dywHome2 ~]# cp [-dLprRsufa] [來源檔] [目的檔]
參數說明:
-d :連結檔維持其路徑之連結
-L :解除連結,直接 copy 連結的檔案(預設)
-p :維持檔案之屬性
-r, -R :連同目錄下之所有檔案及次目錄都 copy
-s :做成連結檔,而不 copy,與 ln 指令相同功能
-u, --update:來源檔較新才會進行 copy 的動作,常用於備份的動作
-f :強制 copy,不再尋問是否覆蓋
-a :與 -dpR 相同
- mkdir 範例:
[root@dywHome2 ~]# mkdir test
[root@dywHome2 ~]# cd test
[root@dywHome2 test]# touch foo
[root@dywHome2 test]# cp foo foo1
[root@dywHome2 test]# ln -s foo lnfoo
[root@dywHome2 test]# ll
total 0
-rw-r--r-- 1 root root 0 Sep 3 20:50 foo
-rw-r--r-- 1 root root 0 Sep 3 20:50 foo1
lrwxrwxrwx 1 root root 3 Sep 3 20:52 lnfoo -> foo
[root@dywHome2 test]# cp lnfoo foo2
[root@dywHome2 test]# cp -d lnfoo foo3
[root@dywHome2 test]# ll
total 0
-rw-r--r-- 1 root root 0 Sep 3 21:03 foo
-rw-r--r-- 1 root root 0 Sep 3 20:50 foo1
-rw-r--r-- 1 root root 0 Sep 3 20:52 foo2
lrwxrwxrwx 1 root root 3 Sep 3 21:11 foo3 -> foo
lrwxrwxrwx 1 root root 3 Sep 3 20:52 lnfoo -> foo
[root@dywHome2 test]# chown dywang:users foo2
[root@dywHome2 test]# ll
total 0
-rw-r--r-- 1 root root 0 Sep 3 21:03 foo
-rw-r--r-- 1 root root 0 Sep 3 20:50 foo1
-rw-r--r-- 1 dywang users 0 Sep 3 20:52 foo2
lrwxrwxrwx 1 root root 3 Sep 3 21:11 foo3 -> foo
lrwxrwxrwx 1 root root 3 Sep 3 20:52 lnfoo -> foo
[root@dywHome2 test]# cp foo2 foo4
[root@dywHome2 test]# cp -p foo2 foo5
[root@dywHome2 test]# ll
total 0
-rw-r--r-- 1 root root 0 Sep 3 21:03 foo
-rw-r--r-- 1 root root 0 Sep 3 20:50 foo1
-rw-r--r-- 1 dywang users 0 Sep 3 20:52 foo2
lrwxrwxrwx 1 root root 3 Sep 3 21:11 foo3 -> foo
-rw-r--r-- 1 root root 0 Sep 3 21:12 foo4
-rw-r--r-- 1 dywang users 0 Sep 3 20:52 foo5
lrwxrwxrwx 1 root root 3 Sep 3 20:52 lnfoo -> foo
[root@dywHome2 test]# cd ..
[root@dywHome2 ~]# cp -a test test1
[root@dywHome2 ~]# ll test test1
test:
total 0
-rw-r--r-- 1 root root 0 Sep 3 21:03 foo
-rw-r--r-- 1 root root 0 Sep 3 20:50 foo1
-rw-r--r-- 1 dywang users 0 Sep 3 20:52 foo2
lrwxrwxrwx 1 root root 3 Sep 3 21:11 foo3 -> foo
-rw-r--r-- 1 root root 0 Sep 3 21:12 foo4
-rw-r--r-- 1 dywang users 0 Sep 3 20:52 foo5
lrwxrwxrwx 1 root root 3 Sep 3 20:52 lnfoo -> foo
test1:
total 0
-rw-r--r-- 1 root root 0 Sep 3 21:03 foo
-rw-r--r-- 1 root root 0 Sep 3 20:50 foo1
-rw-r--r-- 1 dywang users 0 Sep 3 20:52 foo2
lrwxrwxrwx 1 root root 3 Sep 3 21:13 foo3 -> foo
-rw-r--r-- 1 root root 0 Sep 3 21:12 foo4
-rw-r--r-- 1 dywang users 0 Sep 3 20:52 foo5
lrwxrwxrwx 1 root root 3 Sep 3 21:13 lnfoo -> foo
rm (remove files or directories):移除檔案或目錄。
[root@dywHome2 ~]# rm [-fir] [檔名]
參數說明:
-i :提供使用者確認(預設值)
-r,-R :循環,含次目錄
-f :忽略不存在的檔,強制移除不提示。
- rm 範例:
[root@dywHome2 ~]# rm test/foo1
rm: remove regular empty file `test/foo1'? y
[root@dywHome2 ~]# rm -rf test
mv (move (rename) files):檔案移動或改名。
[root@dywHome2 ~]# mv [-u] [來源檔] [目的檔]
參數說明:
-u,--updates :來源檔比目的檔新時才動作
- mv 範例:
[root@dywHome2 ~]# mkdir test
[root@dywHome2 ~]# cd test
[root@dywHome2 test]# touch foo
[root@dywHome2 test]# ll
total 0
-rw-r--r-- 1 root root 0 Sep 3 21:25 foo
[root@dywHome2 test]# mv foo foo1
[root@dywHome2 test]# ll
total 0
-rw-r--r-- 1 root root 0 Sep 3 21:25 foo1
[root@dywHome2 test]# cp foo1 foo2
[root@dywHome2 test]# ll
total 0
-rw-r--r-- 1 root root 0 Sep 3 21:25 foo1
-rw-r--r-- 1 root root 0 Sep 3 21:26 foo2
[root@dywHome2 test]# mv foo1 foo2
mv: overwrite `foo2'? n
[root@dywHome2 test]# mv -u foo1 foo2
[root@dywHome2 test]# mv foo1 foo2 /tmp
[root@dywHome2 test]# ll /tmp/foo[12]
-rw-r--r-- 1 root root 0 Sep 3 21:25 /tmp/foo1
-rw-r--r-- 1 root root 0 Sep 3 21:26 /tmp/foo2
basename:移除前導目錄及字尾,顯示檔名。
[root@dywHome2 test]# basename NAME [字尾]
- basename 範例:
[root@dywHome2 test]# basename /root/test/foo.sh
foo.sh
[root@dywHome2 test]# basename /root/test/foo.sha
foo.sha
[root@dywHome2 test]# basename /root/test/foo.sh .sh
foo
[root@dywHome2 test]# basename /root/test/foo.sh o.sh
fo
dirname:移除檔名,顯示目錄。
[root @test /root ]# dirname NAME
- dirname 範例:
[root@dywHome2 test]# dirname /root/test/foo.sh
/root/test
[root@dywHome2 test]# dirname /root/test/
/root
[root@dywHome2 test]# dirname foo.sh
. %*<== foo.sh 沒有前導目錄,故輸出為 . 表示目前目錄。*)