- 绝对路径:路径的写法『一定由根目录 / 写起』,例如: /usr/share/doc 这个目录。
- 相对路径:路径的写法『不是由 / 写起』,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: 『cd ../man』这就是相对路径的写法啦!
常用的目录『符号』代表的意义
| . 代表此层目录 .. 代表上层目录 ~ 代表自己的家目录 ~user 代表到 user 这个人的家目录 |
几个常用的指令:
- cd 变换目录
- pwd 显示目前的目录
- mkdir 建立一个新目录
- rmdir 删除一个里面是空的空目录
cd
语法: [root @test /root ]# cd [相对路径或绝对路径]
参数说明:
路径有『相对路径』与『绝对路径』的分别,请千万小心啰!
范例:
[root @test /root]# cd .. <==回到上一层目录
[root @test /root]# cd ../home <==相对路径的写法
[root @test /root]# cd /var/www/html <==绝对路径的写法
[root @test /etc]# cd <==回到使用者的家目录
[root @test /etc]# cd ~ <==回到使用者的家目录!
[root @test /etc]# cd ~test <==回到 test 这个使用者的家目录
一登入 Linux 系统后,root 会在 root 的家目录,亦即 /root 下,至于使用者会在预设的 /home/username 底下
家目录还有一个代码,那就是『 ~ 』符号!例如上面的例子可以发现,使用『 cd ~ 』可以回到个人的家目录里头去呢!此外,如果你的 Linux 主机当中有个 testing 的账号,你要到他的家目录去,可以下达『 cd ~testing』立刻去到 testing 的家目录啰!
pwd 语法:
root @test /root ]# pwd
范例:
[root @test root]# cd /home/test
[root @test test]# pwd /home/test <==显示目前你所在的目录呦!
mkdir 语法:
[root @test /root ]# mkdir [-mp] [目录名称]
参数说明:
-m :设定档案的权限喔!直接设定,不需要看 umask 这个内容的脸色!
-p :帮助你直接将上面的目录递归建立起来!
范例:
[root @test /root]# cd tmp
[root @test /tmp]# mkdir test<==建立名称为 test 的目录
[root @test /tmp]# mkdir -p test1/test2/test3/test4 <==直接建立 test2...等上层目录
[root @test /tmp]# mkdir -m 711 testqq <==建立权限为 711 的目录!
[root @test /tmp]# ll test*
drwxrwxr-x 2 test test 4096 Feb 6 20:47 test/
drwxrwxr-x 3 test test 4096 Feb 6 20:48 test1/
drwx--x--x 2 test test 4096 Feb 6 20:48 testqq/
rmdir 语法:
[root @test /root ]# rmdir [-p] [目录名称]
参数说明: -p :将上层的目录也删除吧!
范例:
[root @test /root]# rmdir test<==删除名称为 test 的目录
[root @test tmp]# ll
drwxrwxr-x 3 test test 4096 Feb 6 20:48 test1/
[root @test tmp]# rmdir test1
rmdir: `test1': Directory not empty
[root @test tmp]# rmdir -p test1/test2/test3/test4
[root @test tmp]$ ll
如果要将所有目录下的东西都杀掉呢?!这个时候就必须使用 rm -rf test 啰
环境变量 PATH
如果你将 ls 移动到 /root 底下的话,然后你自己本身也在 /root 底下,但是当你执行 ls 的时候,他就是不理你?怎么办?这是因为 PATH 没有 /root 这个目录,而你又将 ls 移动到 /root 底下了,自然系统就找不到可执行文件了,因此就会告诉你, command not found !那么该怎么克服这种问题呢?有两个方法,其一:直接将 /root 的路径加入 PATH 当中!如何增加?可以使用:
PATH=”$PATH”:/root 这种方式来增加即可!另一种方式则是使用完整档名,亦即直接使用相对或绝对路径来执行,例如:
/root/ls ./ls 因为在同一个目录中,而我们又知道在同一个目录中的目录符号为『 . 』,因此,就以上面的 ./ls 来执行也可以!这种执行方式以后您应该会很常见到才对!
如果我有两个 ls 档案在不同的目录中,例如 /usr/local/bin/ls 底下与 /bin/ls 那么当我下达 ls 的时候,那个 ls 会被执行?那还用说,就找出 PATH 里面那个目录先被查询,则那个目录下的档案就会被先执行了!
咦!既然如此的话,那么为何不要在 PATH 里面加入 . 这个目录,如此一来的话,不就可以直接在所在目录执行档案了吗?因为 . 代表所在目录嘛!是这样没错!但是有没有想过,如果某天,某个怪怪的使用者在 /tmp 里面写了一个 ls 的档案,偏偏他是有害的档案,那么当你在 /tmp 底下执行 ls 时,怎么办?!没错,可能会『中标』,所以啰,为了安全起见,不建议将『 . 』加入 PATH 的搜寻当中!
档案与目录管理:
ls 显示文件名称、属性等
cp 拷贝档案或目录
rm 删除档案或目录
mv 移动档案或目录
[root @test /root ]# ls [-ailS]
参数说明:
-a :全部的档案都列出(连同隐藏档)
-i :印出 inode 的值
-l :长的列出,连同档案大小的数据等等
-S :以档案大小排序
--color=never :不要显示颜色
--color=always :均显示颜色
--color=auto :由系统自行判断!
cp 语法:
[root @test /root ]# cp [-drsu] [来源档] [目的档]
参数说明:
-d :在进行 copy 的时候,如果是 copy 到 link 档案,若不加任何参数,则预设情况中会将 link 到的源文件 copy 到目的地,若加 -d 时,则 link 档案可原封不动的将 link 这个快捷方式其拷贝到目的地!
-r :可以进行目录的 copy 呦!
-s :做成连结档,而不 copy 之意!与 ln 指令相同功能!
-u, --update:如果来源档比较新,或者是没有目的档,那么才会进行 copy 的动作!可用于备份的动作中!
范例:
[root @test /root]# cp .bashrc bashrc <==将 .bashrc 拷贝成 bashrc 这个档案!
[root @test /root]# cp -r /bin /tmp/bin <==这个功能就好玩啦!这是用来 copy 整个目录的参数!
[root @test /root]# cp -s .bashrc bashrc <==将 .bashrc 建立一个连结档,档名为 bashrc
[root @test /root]# cp -u /home/.bashrc .bashrc <==先检查 /home/.bashrc 是否与 .bashrc 不同,如果不同的话就开始 copy 一份!如果相同则不做任何动作!
rm 语法:
root @test /root ]# rm [-fir] [檔名]
参数说明:
-i :提供使用者确认(这是默认值)
-r :循环,就是一直杀掉,直到没有东西为止的意思
-f :force ,就是强力杀掉啦!
范例:
[root @test /root]# cp .bashrc bashrc<==建立一个新档案,bashrc
[root @test /root]# rm bashrc <==会显示如下的提示: rm: remove `bashrc'?
[root @test /root]# mkdir testing
[root @test /root]# cp .bashrc testing
[root @test /root]# rmdir testing rmdir:
`testing': Directory not empty <==由于 testing 里面有 .bashrc ,所以砍不掉!
[root @test /root]# rm -rf testing <==持续删除该目录下的所有档案与目录
No comments:
Post a Comment