没有合适的资源?快使用搜索试试~ 我知道了~
鸟哥的 Linux 私房菜第07章-Linux 档案与目录管理1
需积分: 0 0 下载量 183 浏览量
2022-08-04
00:22:42
上传
评论
收藏 769KB PDF 举报
温馨提示
试读
61页
第七章、Linux 档案与目录管理最近更新日期:2008/09/29在第六章我们认识了 Linux 系统下的档案权限概念以及目录的配置说明。在这个章节当中,我们
资源详情
资源评论
资源推荐
鸟哥的 Linux 私房菜
为取得较佳浏览结果,请爱用 firefox 浏览本网页
第七章、Linux 档案与目录管理
最近更新日期:2008/09/29
在第六章我们认识了 Linux 系统下的档案权限概念以及目录的配置说明。 在这个章节当中,我们就直接来进一步
的操作与管理档案与目录吧!包括在不同的目录间变换、 建立与删除目录、建立与删除档案,还有寻找档案、查
阅档案内容等等, 都会在这个章节作个简单的介绍啊!
1. 目录与路径
1.1 相对路径与绝对路径
1.2 目录的相关操作: cd, pwd, mkdir, rmdir
1.3 关于执行文件路径的变量: $PATH
2. 档案与目录管理
2.1 档案与目录的检视: ls
2.2 复制、删除与移动: cp, rm, mv
2.3 取得路径的文件名与目录名称
3. 档案内容查阅:
3.1 直接检视档案内容: cat, tac, nl
3.2 可翻页检视: more, less
3.3 资料撷取: head, tail
3.4 非纯文本档: od
3.5 修改档案时间与建置新档: touch
4. 档案与目录的默认权限与隐藏权限
4.1 档案预设权限:umask
4.2 档案隐藏属性: chattr, lsattr
4.4 档案特殊权限:SUID, SGID, SBIT, 权限设定
4.3 观察文件类型:file
5. 指令与档案的搜寻:
5.1 脚本文件名的搜寻:which
5.2 档案档名的搜寻:whereis, locate, find
6. 极重要!权限与指令间的关系:
7. 重点回顾
8. 本章习题
9. 参考数据与延伸阅读
10. 针对本文的建议:http://phorum.vbird.org/viewtopic.php?t=23879
目录与路径:
由第六章 Linux 的档案权限与目录配置中透过 FHS 了解了 Linux 的『树状目录』
概念之后, 接下来就得要实际的来搞定一些基本的路径问题了!这些目录的问
题当中,最重要的莫过于第六章也谈过的『绝对路径』与『相对路径』的意义啦!
绝对/相对路径的写法并不相同,要特别注意。此外,当妳下达指令时,该指令
是透过什么功能来取得的? 这与 PATH 这个变数有关呢!底下就让我们来谈谈
啰!
相对路径与绝对路径:
在开始目录的切换之前,你必须要先了解一下所谓的『路径(PATH)』, 有趣的
是:什么是『相对路径』与『绝对路径』? 虽然前一章已经稍微针对这个议题
提过一次,不过,这里不厌其烦的再次的强调一下!
绝对路径:路径的写法『一定由根目录 / 写起』,例如: /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 这三个目录中,请问如果需要用到
绝对路径的话,那么是否很麻烦呢?是的! 如此一来每个目录下的东西就很难
对应的起来!这个时候相对路径的写法就显的特别的重要了!
此外,如果你跟鸟哥一样,喜欢将路径的名字写的很长,好让自己知道那个目录
是在干什么的,例如: /cluster/raid/output/taiwan2006/smoke 这个目录,
而另一个目录在 /cluster/raid/output/taiwan2006/cctm ,那么我从第一个要
到第二个目录去的话,怎么写比较方便? 当然是『 cd ../cctm 』比较方便啰!
对吧!
绝对路径的用途
但是对于档名的正确性来说,『绝对路径的正确度要比较好~』。 一般来说,
鸟哥会建议你,如果是在写程序 (shell scripts) 的条件下,务必使用绝对路
径的写法。 怎么说呢?因为绝对路径的写法虽然比较麻烦,但是可以肯定这个
写法绝对不会有问题。 如果使用相对路径在程序当中,则可能由于你执行的工
作环境不同,导致一些问题的发生。 这个问题在例行性命令(at, cron)当中尤
其重要!这个现象我们在 shell script 时,会再次的提醒你喔! ^_^
目录的相关操作:
我们之前稍微提到变换目录的指令是 cd,还有哪些可以进行目录操作的指令
呢? 例如建立目录啊、删除目录之类的~还有,得要先知道的,就是有哪些比
较特殊的目录呢? 举例来说,底下这些就是比较特殊的目录,得要用力的记下
来才行:
. 代表此层目录
.. 代表上一层目录
- 代表前一个工作目录
~ 代表『目前用户身份』所在的家目录
~account 代表 account 这个用户的家目录(account 是个
账号名称)
需要特别注意的是:在所有目录底下都会存在的两个目录,分别是『.』与『..』
分别代表此层与上层目录的意思。那么来思考一下底下这个例题:
例题:
请问在 Linux 底下,根目录下有没有上层目录(..)存在?
答:
若使用『 ls -al / 』去查询,可以看到根目录下确实存在 . 与 .. 两
个目录,再仔细的查阅,可发现这两个目录的属性与权限完全一致,
这代表根目录的上一层(..)与根目录自己(.)是同一个目录。
底下我们就来谈一谈几个常见的处理目录的指令吧:
cd:变换目录
pwd:显示当前目录
mkdir:建立一个新的目录
rmdir:删除一个空的目录
cd (变换目录)
我们知道 vbird 这个用户的家目录是/home/vbird/,而 root 家目录则是/root/,
假设我以 root 身份在 Linux 系统中,那么简单的说明一下这几个特殊的目录的
意义是:
[root@www ~]# cd [相对路径或绝对路径]
# 最重要的就是目录的绝对路径与相对路径,还有一些特殊
目录的符号啰!
[root@www ~]# cd ~vbird
# 代表去到 vbird 这个用户的家目录,亦即 /home/vbird
[root@www vbird]# cd ~
# 表示回到自己的家目录,亦即是 /root 这个目录
[root@www ~]# cd
# 没有加上任何路径,也还是代表回到自己家目录的意思
喔!
[root@www ~]# cd ..
# 表示去到目前的上层目录,亦即是 /root 的上层目录的
意思;
[root@www /]# cd -
# 表示回到刚刚的那个目录,也就是 /root 啰~
[root@www ~]# cd /var/spool/mail
# 这个就是绝对路径的写法!直接指定要去的完整路径名
称!
[root@www mail]# cd ../mqueue
# 这个是相对路径的写法,我们由/var/spool/mail 去到
/var/spool/mqueue 就这样写!
cd 是 Change Directory 的缩写,这是用来变换工作目录的指令。注意,目录名
称与 cd 指令之间存在一个空格。 一登入 Linux 系统后,root 会在 root 的家目
录!那回到上一层目录可以用『 cd .. 』。 利用相对路径的写法必须要确认你
目前的路径才能正确的去到想要去的目录。例如上表当中最后一个例子, 你必
须要确认你是在/var/spool/mail 当中,并且知道在/var/spool 当中有个 mqueue
的目录才行啊~ 这样才能使用 cd ../mqueue 去到正确的目录说,否则就要直接
输入 cd /var/spool/mqueue 啰~
其实,我们的提示字符,亦即那个 [root@www ~]# 当中,就已经有指出当前目
录了, 刚登入时会到自己的家目录,而家目录还有一个代码,那就是『 ~ 』符
号! 例如上面的例子可以发现,使用『 cd ~ 』可以回到个人的家目录里头去
呢! 另外,针对 cd 的使用方法,如果仅输入 cd 时,代表的就是『 cd ~ 』
的意思喔~ 亦即是会回到自己的家目录啦!而那个『 cd - 』比较难以理解,
请自行多做几次练习, 就会比较明白了。
Tips:
还是要一再地提醒,我们的 Linux 的默认指令列模式
(bash shell) 具有档案补齐功能, 你要常常利用 [tab]
按键来达成你的目录完整性啊!这可是个好习惯啊~ 可以
避免你按错键盘输入错字说~ ^_^
pwd (显示目前所在的目录)
[root@www ~]# pwd [-P]
选项:
-P :显示出确实的路径,而非使用链接 (link) 路径。
范例:单纯显示出目前的工作目录:
[root@www ~]# pwd
/root <== 显示出目录啦~
范例:显示出实际的工作目录,而非链接文件本身的目录名
而已
[root@www ~]# cd /var/mail <==注意,/var/mail 是一
个连结档
[root@www mail]# pwd
/var/mail <==列出目前的工作目录
[root@www mail]# pwd -P
/var/spool/mail <==怎么回事?有没有加 -P 差很多~
[root@www mail]# ls -ld /var/mail
lrwxrwxrwx 1 root root 10 Sep 4 17:54 /var/mail ->
spool/mail
# 看到这里应该知道为啥了吧?因为 /var/mail 是连结
档,连结到 /var/spool/mail
# 所以,加上 pwd -P 的选项后,会不以连结文件的数据显
示,而是显示正确的完整路径啊!
pwd 是 Print Working Directory 的缩写,也就是显示目前所在目录的指令, 例
如在上个表格最后的目录是/var/mail 这个目录,但是提示字符仅显示 mail, 如
果你想要知道目前所在的目录,可以输入 pwd 即可。此外,由于很多的套件所使
用的目录名称都相同,例如 /usr/local/etc 还有/etc,但是通常 Linux 仅列出
最后面那一个目录而已,这个时候你就可以使用 pwd 来知道你的所在目录啰!
免得搞错目录,结果...
其实有趣的是那个 -P 的选项啦!他可以让我们取得正确的目录名称,而不是以
链接文件的路径来显示的。 如果你使用的是 CentOS 5.x 的话,刚刚好/var/mail
是/var/spool/mail 的连结档, 所以,透过到/var/mail 下达 pwd -P 就能够知
道这个选项的意义啰~ ^_^
mkdir (建立新目录)
剩余60页未读,继续阅读
thebestuzi
- 粉丝: 28
- 资源: 311
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- mybatis动态sql及其JAVA示例
- 微软常用运行库 游戏运行库 VC++各个版本
- 微信小程序开发教程.pptx
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- 锐捷网络认证中心网络管理.pdf
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- SD8233LF是一款用于单按键触摸及接近感应开关,其用途是替代传统的机械型开关芯片IC
- 基于YOLOv5的烟雾火焰检测算法研究
- 基于STM32的联合调试侦听设备解决方案原理图PCB源文件调试工具视频(大赛作品)
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0