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