分享
 
 
 

Linux档案与目录管理

王朝system·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

目录与路径:

由前一章节『Linux 的档案权限与目录配置』 中约略了解到 Linux 的『树状目录』概念之后,接下来就得要实际的来搞定一些基本的路径问题了!这些问题当中,最重要的莫过于『绝对路径』与『相对路径』的意义啦!赶紧来了解一下!

绝对路径与相对路径:

在开始目录的切换之前,你必须要先了解一下所谓的『路径, PATH』,有趣的是:什幺是『相对路径』与『绝对路径』?如果你还记得前一章的内容的话,那幺应该还记得 Linux 里面的目录是呈现『树状目录』的情况,有就是有分支的啦!好了,假设你需要在任意一个目录下变换到根目录的 etc 底下,那幺你就应该要使用『 cd /etc 』这个情况,这也就是所谓的『绝对路径』,他是从根目录连续写上来的一个情况,所以不论你在哪一个路径现执行这一个指令,都会将你移动到该路径下。那如果我是使用『 cd etc 』呢?那表示你要切换到『目前这个目录下的 etc 目录中』,情况可是不一样的呦!通常第一次接触 Linux 的使用者常会搞错这一个路径的观念!

绝对路径:路径的写法『一定由根目录 / 写起』,例如: /usr/share/doc 这个目录。

相对路径:路径的写法『不是由 / 写起』,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成:『cd ../man』这就是相对路径的写法啦!

那幺相对路径与绝对路径有什幺了不起呀!?喝!那可真的是了不起了!假设您写了一个套件,这个套件共需要三个目录,分别是 etc, bin, man 这三个目录,然而由于不同的人喜欢安装在不同的目录之下,假设甲安装的目录是 /usr/local/packages/etc, /usr/local/packages/bin 及 /usr/local/packages/man ,不过乙却喜欢安装在 /home/packages/etc, /home/packages/bin, /home/packages/man 这三个目录中,请问如果需要用到绝对路径的话,那幺是否很麻烦呢?是的!如此一来每个目录下的东西就很难对应的起来!这个时候相对路径的写法就显的特别的重要了!

此外,如果您跟我一样,喜欢将路径的名字写的很长,好让自己知道那个目录是在干什幺的,例如:/data4/staiwan19961109/models-3/smoke 这个目录,而另一个目录在 /data4/staiwan19961109/models-3/cctm ,那幺我从第一个要到第二个目录去的话,怎幺写比较方便?当然是『 cd ../cctm 』比较方便?!对吧!

好了,既然要谈到目录这个东西,自然就需要了解一下有哪些常用的目录『符号』代表的意义啦!

.

代表此层目录

..

代表上层目录

~

代表自己的家目录

~user 代表到 user 这个人的家目录

底下我们要来谈一谈目录与路径的几个常用的指令:

cd

变换目录

pwd

显示目前的目录

mkdir 建立一个新目录

rmdir 删除一个里面是空的空目录

cd 与 pwd

这两个指令主要是在『变换目前目录』与『显示目前所在目录』的工作,底下说一说他们的用途与语法吧!

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

说明:

cd 是 change directory 的缩写,这是用来变换工作路径的指令。注意,路径与 cd 指令之间存在一个空格!一登入 Linux 系统后,root 会在 root 的家目录,亦即 /root 下,至于使用者会在预设的 /home/username 底下,例如鸟哥的 ID 为 vbird ,则以 vbird 的身份登入后,会到 /home/vbird 这个路径下。OK!那回到上一层可以用『 cd .. 』而到相对路径可到『 cd ../bird』,至于绝对路径则是 cd /usr/sbin !注意喔,在前面的提示字元会改变路径名称!此外,家目录还有一个代码,那就是『 ~ 』符号!例如上面的例子可以发现,使用『 cd ~ 』可以回到个人的家目录里头去呢!此外,如果你的 Linux 主机当中有个 testing 的帐号,你要到他的家目录去,可以下达『 cd ~testing』立刻去到 testing 的家目录?!

pwd

语法: [root @test /root ]# pwd

范例:

[root @test root]# cd /home/test

[root @test test]# pwd

/home/test

说明:

pwd 是 print working directory 的缩写,也就是显示目前所在目录的指令,例如在上个表格最后的目录是 /home/test 这个目录,但是提示字元仅显示 test ,如果你想要知道目前所在的目录,可以输入 pwd 即可:

此外,由于很多的套件所使用的目录名称都相同,例如 /usr/local/etc 还有 /etc ,但是通常 Linux 仅列出最后面那一个目录而已,这个时候你就可以使用 pwd 来知道你的所在目录?!免得搞错目录,结果……

mkdir 与 rmdir 管理目录:

那幺要如何建立删除目录呢?很简单呀!就用 mkdir 与 rmdir ,看出来了吗?没错啦!就是 make/remove directory 的缩写说!看要怎幺用吧!

mkdir

语法: [root @test /root ]# mkdir [-mp] [目录名称]

参数说明:

-m :设定档案的权限喔!直接设定,不需要看 umask 这个内容的脸色!

-p :帮助你直接将上面的目录递回建立起来!

范例:

[root @test /root]# cd tmp

[root @test /tmp]# mkdir test

[root @test /tmp]# mkdir -p test1/test2/test3/test4

[root @test /tmp]# mkdir -m 711 testqq

[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/

说明:

如果想要建立新的目录的话,那幺就使用 mkdir 吧! 不过,请注意呦!在预设的情况下,你所需要的目录得一层一层的建立才行!例如:假如你要建立一个目录为 /home/bird/testing/test1,那幺首先必须要有 /home 然后 /home/bird ,再来 /home/bird/testing 都必须要存在,才可以建立 test1 这个目录!假如没有 /home/bird/testing 时,就没有办法建立 test1 的目录?!不过,现在有个更简单有效的方法啦!那就是加上 -p 这个参数喔!你可以直接下达:『 mkdir -p /home/bird/testing』则系统会自动的帮你将 /home, /home/bird, /home/bird/testing 依序的建立起目录!并且,如果该目录本来就已经存在时,系统也不会显示错误讯息喔!挺快乐的吧! ^_^

rmdir

语法: [root @test /root ]# rmdir [-p] [目录名称]

参数说明:

-p :将上层的目录也删除吧!

范例:

[root @test /root]# rmdir 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

说明:

如果想要建立删除旧有的目录时,就使用 rmdir 吧!例如将刚刚建立的 test 杀掉,使用 rmdir test 即可!请注意呦!目录需要一层一层的删除才行!而且被删除的目录里面必定不能还有其他的目录或档案!那如果要将所有目录下的东西都杀掉呢?!这个时候就必须使用 rm -rf test ?!不过,还是使用 rmdir 比较不危险!不过,你也可以尝试以 -p 的参数加入,来删除上层的目录喔!

环境变数 PATH

在提过了绝对路径、相对路径与指令的下达方式之后,您应该会稍微注意到一件事情,那就是:『为什幺我可以在 /root 底下执行 /bin/ls 这个档案呢?』对呀!为什幺我可以直接执行 ls 就一定可以显示出一些讯息而不会说找不到该档案呢?这是因为环境变数 PATH 的帮助所致呀!当我们在执行一个指令的时候,系统会依照 PATH 的设定去每个 PATH 定义的路径下搜寻档案,先搜寻到的指令档案先被执行之!现在,请下达 echo $PATH , echo 有『显示、印出』的意思,而 PATH 前面加的 $ 表示后面接的是变数,所以即会显示出目前的 PATH 了!

[root@test root]# echo $PATH

/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin

注意到了吗?对啦! /bin 在 PATH 的设定之中,所以自然就可以找的到 ls 啦!

如果你将 ls 移动到 /root 底下的话,然后你自己本身也在 /root 底下,但是当你执行 ls 的时候,他就是不理你?怎幺办?这是因为 PATH 没有 /root 这个目录,而你又将 ls 移动到 /root 底下了,自然系统就找不到可执行档了,因此就会告诉你, command not found !那幺该怎幺克服这种问题呢?有两个方法,其一:直接将 /root 的路径加入 PATH 当中!如何增加?可以使用:

PATH=”$PATH”:/root

这种方式来增加即可!另一种方式则是使用完整档名,亦即直接使用相对或绝对

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有