Linux 的命令非常之多,而使用的最多最廣最基本的莫過於一些常用的命令,如目錄命令即是如此。Linux的常用目錄命令與DOS中的目錄命令非常相似,只不過使用了不同單詞的縮寫而已。如cd(change directory)等同於Windows中的cd,ls命令等同於Windows中的dir。尤其對早期使用過DOS的人而言,這些並不陌生。同樣在Linux中的絕對路徑、相對路徑的概念與Windows中的路徑表述其實質是一樣的。本文僅僅列出幾個常用的目錄命令以及各個命令的常用參數。
一、目錄路徑
絕對路徑
由根目錄寫起的路徑。如:/home/Oracle/robinson
對於shell scripts中建議使用絕對路徑
相對路徑
相對於當前工作目錄的路徑。如:~/robinson 或 cd ./robinson
主要是簡化路徑
有關目錄的操作
. 表示此層目錄或當前目錄或當前目錄
.. 表示上一層目錄
- 表示前一個工作目錄
~ 表示當前用戶所在的家目錄
~robinson 用戶robinson所在的家目錄
二、目錄命令
pwd 顯示當前目錄(絕對路徑)
[oracle@oradb ~]$ pwd
/home/oracle
[oracle@oradb ~]$ cd /u01/bk
[oracle@oradb bk]$ pwd
/u01/bk
cd 切換目錄
cd 目標位置(絕對路徑或相對路徑)
cd ..
cd
cd ~
cd ~username
[oracle@oradb bk]$ pwd
/u01/bk
[oracle@oradb bk]$ cd ~ #切換到當前用戶的家目錄
[oracle@oradb ~]$ cd /u01/bk
[oracle@oradb bk]$ pwd
/u01/bk
[oracle@oradb bk]$ cd .. #切換到上一級目錄
[oracle@oradb u01]$ pwd
/u01
[oracle@oradb u01]$ cd
[oracle@oradb ~]$ cd /u01/oracle
[oracle@oradb oracle]$ cd ~
mkdir 創建目錄
mkdir [-mp] 目錄名
-p 若建立的目錄的上層目錄未建立,則自動建立
-m 建立目錄時,指定權限
[oracle@oradb ~]$ mkdir robinson
[oracle@oradb ~]$ mkdir ~/robinson/scripts
[oracle@oradb ~]$ mkdir -p ~/robinson/bak/archive_log #使用-p參數創建目錄archive_log,同時也創建了上層目錄
[oracle@oradb robinson]$ mkdir -m 775 tmp #創建目錄時指定了775權限
[oracle@oradb robinson]$ ls -hltr
total 12K
drwxr-xr-x 2 oracle oinstall 4.0K Nov 8 20:39 scripts
drwxr-xr-x 3 oracle oinstall 4.0K Nov 8 20:39 bak
drwxrwxr-x 2 oracle oinstall 4.0K Nov 8 20:42 tmp
rmdir 刪除空目錄
rmdir [-p]目錄名
-p 連同上層的空目錄一起刪除(一般不常用)
[oracle@oradb robinson]$ rmdir tmp
[oracle@oradb robinson]$ ls -hltr
total 8.0K
drwxr-xr-x 2 oracle oinstall 4.0K Nov 8 20:39 scripts
drwxr-xr-x 3 oracle oinstall 4.0K Nov 8 20:39 bak
[oracle@oradb robinson]$ rm -rf scripts #使用rm命令帶參數-rf同樣可以刪除一個目錄
三、文件路徑變量:$PATH
PATH用於指定執行文件所在的路徑。如在任意路徑下輸入ls,cd或其它應用程序的命令能成功執行而不報錯,這取決於路徑設置的正確。
同樣在Windows平台也存在一個path用於設定可執行文件的路徑,只不過windows平台中的變量定義沒有區分大小寫
Linux中的變量名通常使用大寫,可以使用echo $PATH來查看PATH的值,$表示後面跟的字符串將作為變量
C:\Documents and Settings\Robinson Cheng>path
PATH=d:\app\RobinsonCheng\Oracle_client\product\11.2.0\client_1\bin;C:\windows\system32;C:\windows;C
:\windows\System32\Wbem;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\IDM Computer Solutions
\UltraEdit\
[oracle@oradb robinson]$ echo $PATH
/u01/oracle/10g/bin:/bin:/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/oracle/bin
[oracle@oradb robinson]$ echo $path
[oracle@oradb ~]$ ls -hltr /bin/ls
-rwxr-xr-x 1 root root 93K Feb 24 2010 /bin/ls
[root@oradb ~]# mv /bin/ls /tmp
[root@oradb ~]# ls
-bash: ls: command not found
[root@oradb ~]# PATH="$PATH":/tmp #使用該方式修改PATH變量,以使得能找到ls命令
[root@oradb ~]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/tmp
[root@oradb ~]# ls
anaconda-ks.cfg Desktop install.log install.log.syslog
[root@oradb ~]# /tmp/ls #使用直接路徑方式調用ls命令
anaconda-ks.cfg Desktop install.log install.log.syslog