linux指令(一、目录与档案)

一、文档与目录

1.Linux档案属性

  • 第一个字元代表这个档案是『目录、档案或连结档等等』:
    • 当为[ d ]则是目录;
    • 当为[ - ]则是档案;
    • 若是[ l ]则表示为连结档(link file);
    • 若是[ b ]则表示为装置档里面的可供储存的周边设备(可随机存取装置);
    • 若是[ c ]则表示为装置档里面的序列埠设备,例如键盘、滑鼠(一次性读取装置)。
  • 接下来的字元中,以三个为一组,且均为『rwx』的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。
    • 第一组为『档案拥有者可具备的权限』;
    • 第二组为『加入此群组之帐号的权限』;
    • 第三组为『非本人且没有加入本群组之其他帐号的权限』。

2.不同目录的作用 

目录应放置档案内容
第一部份:FHS 要求必须要存在的目录
/bin系统有很多放置执行档的目录,但/bin比较特殊。因为/bin放置的是在单人维护模式下还能够被操作的指令。 在/bin底下的指令可以被root与一般帐号所使用,主要有:cat, chmod, chown, date, mv, mkdir, cp, bash等等常用的指令。
/boot这个目录主要在放置开机会使用到的档案,包括Linux核心档案以及开机选单与开机所需设定档等等。 Linux kernel常用的档名为:vmlinuz,如果使用的是grub2这个开机管理程式,则还会存在/boot/grub2/这个目录喔!
/dev在Linux系统上,任何装置与周边设备都是以档案的型态存在于这个目录当中的。你只要透过存取这个目录底下的某个档案,就等于存取某个装置啰~比要重要的档案有/dev/null, /dev/zero, /dev/tty , /dev/loop*, / dev/sd*等等
/etc系统主要的设定档几乎都放置在这个目录内,例如人员的帐号密码档、各种服务的启始档等等。一般来说,这个目录下的各档案属性是可以让一般使用者查阅的,但是只有root有权力修改。FHS建议不要放置可执行档(binary)在这个目录中喔。比较重要的档案有:/etc/modprobe.d/, /etc/passwd, /etc/fstab, /etc/issue等等。另外FHS还规范几个重要的目录最好要存在/etc/目录下喔:
  • /etc/opt(必要):这个目录在放置第三方协力软体/opt的相关设定档
  • /etc/X11/(建议):与X Window有关的各种设定档都在这里,尤其是xorg.conf这个X Server的设定档。
  • /etc/sgml/(建议):与SGML格式有关的各项设定档
  • /etc/xml/(建议):与XML格式有关的各项设定档
/lib系统的函式库非常的多,而/lib放置的则是在开机时会用到的函式库,以及在/bin或/sbin底下的指令会呼叫的函式库而已。什么是函式库呢?妳可以将他想成是『外挂』,某些指令必须要有这些『外挂』才能够顺利完成程式的执行之意。另外FHS还要求底下的目录必须要存在:
  • /lib/modules/:这个目录主要放置可抽换式的核心相关模组(驱动程式)喔!
/mediamedia是『媒体』的英文,顾名思义,这个/media底下放置的就是可移除的装置啦! 包括软碟、光碟、DVD等等装置都暂时挂载于此。常见的档名有:/media/floppy, /media/cdrom等等。
/mnt如果妳想要暂时挂载某些额外的装置,一般建议妳可以放置到这个目录中。在古早时候,这个目录的用途与/media相同啦!只是有了/media之后,这个目录就用来暂时挂载用了。
/opt这个是给第三方协力软体放置的目录。什么是第三方协力软体啊?举例来说,KDE这个桌面管理系统是一个独立的计画,不过他可以安装到Linux系统中,因此KDE的软体就建议放置到此目录下了。另外,如果妳想要自行安装额外的软体(非原本的distribution提供的),那么也能够将你的软体安装到这里来。不过,以前的Linux系统中,我们还是习惯放置在/usr/local目录下呢!
/run早期的FHS 规定系统开机后所产生的各项资讯应该要放置到/var/run 目录下,新版的FHS 则规范到/run 底下。由于/run 可以使用记忆体来模拟,因此效能上会好很多!
/sbinLinux有非常多指令是用来设定系统环境的,这些指令只有root才能够利用来『设定』系统,其他使用者最多只能用来『查询』而已。 放在/sbin底下的为开机过程中所需要的,里面包括了开机、修复、还原系统所需要的指令。 至于某些伺服器软体程式,一般则放置到/usr/sbin/当中。至于本机自行安装的软体所产生的系统执行档(system binary),则放置到/usr/local/sbin/当中了。常见的指令包括:fdisk, fsck, ifconfig, mkfs等等。
/srvsrv可以视为『service』的缩写,是一些网路服务启动之后,这些服务所需要取用的资料目录。常见的服务例如WWW, FTP等等。举例来说,WWW伺服器需要的网页资料就可以放置在/srv/www/里面。不过,系统的服务资料如果尚未要提供给网际网路任何人浏览的话,预设还是建议放置到/var/lib 底下即可。
/tmp这是让一般使用者或者是正在执行的程序暂时放置档案的地方。这个目录是任何人都能够存取的,所以你需要定期的清理一下。当然,重要资料不可放置在此目录啊!因为FHS甚至建议在开机时,应该要将/tmp下的资料都删除唷!
/usr第二层FHS 设定,后续介绍
/var第二层FHS 设定,主要为放置变动性的资料,后续介绍
第二部份:FHS 建议可以存在的目录
/home这是系统预设的使用者家目录(home directory)。在你新增一个一般使用者帐号时, 预设的使用者家目录都会规范到这里来。比较重要的是,家目录有两种代号喔:
  • ~:代表目前这个使用者的家目录
  • ~dmtsai:则代表dmtsai的家目录!
/lib<qual>用来存放与/lib 不同的格式的二进位函式库,例如支援64 位元的/lib64 函式库等
/root系统管理员(root)的家目录。之所以放在这里,是因为如果进入单人维护模式而仅挂载根目录时, 该目录就能够拥有root的家目录,所以我们会希望root的家目录与根目录放置在同一个分割槽中。
目录应放置档案内容
/lost+found这个目录是使用标准的ext2/ext3/ext4档案系统格式才会产生的一个目录,目的在于当档案系统发生错误时, 将一些遗失的片段放置到这个目录下。不过如果使用的是xfs 档案系统的话,就不会存在这个目录了!
/proc这个目录本身是一个『虚拟档案系统(virtual filesystem)』喔!他放置的资料都是在记忆体当中,例如系统核心、行程资讯(process)、周边装置的状态及网路状态等等。因为这个目录下的资料都是在记忆体当中,所以本身不占任何硬碟空间啊!比较重要的档案例如:/proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net/*等等。
/sys这个目录其实跟/proc非常类似,也是一个虚拟的档案系统,主要也是记录核心与系统硬体资讯较相关的资讯。包括目前已载入的核心模组与核心侦测到的硬体装置资讯等等。这个目录同样不占硬碟容量喔!
目录应放置档案内容
第一部份:FHS 要求必须要存在的目录
/usr/bin/所有一般用户能够使用的指令都放在这里!目前新的CentOS 7 已经将全部的使用者指令放置于此,而使用连结档的方式将/bin 连结至此!也就是说, /usr/bin 与/bin 是一模一样了!另外,FHS 要求在此目录下不应该有子目录!
/usr/lib/基本上,与/lib 功能相同,所以/lib 就是连结到此目录中的!
/usr/local/系统管理员在本机自行安装自己下载的软体(非distribution预设提供者),建议安装到此目录, 这样会比较便于管理。举例来说,你的distribution提供的软体较旧,你想安装较新的软体但又不想移除旧版, 此时你可以将新版软体安装于/usr/local/目录下,可与原先的旧版软体有分别啦!你可以自行到/usr/local去看看,该目录下也是具有bin, etc, include, lib...的次目录喔!
/usr/sbin/非系统正常运作所需要的系统指令。最常见的就是某些网路伺服器软体的服务指令(daemon)啰!不过基本功能与/sbin 也差不多, 因此目前/sbin 就是连结到此目录中的。
/usr/share/主要放置唯读架构的资料档案,当然也包括共享文件。在这个目录下放置的资料几乎是不分硬体架构均可读取的资料, 因为几乎都是文字档案嘛!在此目录下常见的还有这些次目录:
  • /usr/share/man:线上说明文件
  • /usr/share/doc:软体杂项的文件说明
  • /usr/share/zoneinfo:与时区有关的时区档案
第二部份:FHS 建议可以存在的目录
/usr/games/与游戏比较相关的资料放置处
/usr/include/c/c++等程式语言的档头(header)与包含档(include)放置处,当我们以tarball方式(*.tar.gz 的方式安装软体)安装某些资料时,会使用到里头的许多包含档喔!
/usr/libexec/某些不被一般使用者惯用的执行档或脚本(script)等等,都会放置在此目录中。例如大部分的X视窗底下的操作指令,很多都是放在此目录下的。
/usr/lib<qual>/与/lib<qual>/功能相同,因此目前/lib<qual> 就是连结到此目录中
/usr/src/一般原始码建议放置到这里,src有source的意思。至于核心原始码则建议放置到/usr/src/linux/目录下。
目录应放置档案内容
第一部份:FHS 要求必须要存在的目录
/var/cache/应用程式本身运作过程中会产生的一些暂存档;
/var/lib/程式本身执行的过程中,需要使用到的资料档案放置的目录。在此目录下各自的软体应该要有各自的目录。举例来说,MySQL的资料库放置到/var/lib/mysql/而rpm的资料库则放到/var/lib/rpm去!
/var/lock/某些装置或者是档案资源一次只能被一个应用程式所使用,如果同时有两个程式使用该装置时, 就可能产生一些错误的状况,因此就得要将该装置上锁(lock),以确保该装置只会给单一软体所使用。举例来说,烧录机正在烧录一块光碟,你想一下,会不会有两个人同时在使用一个烧录机烧片?如果两个人同时烧录,那片子写入的是谁的资料?所以当第一个人在烧录时该烧录机就会被上锁, 第二个人就得要该装置被解除锁定(就是前一个人用完了)才能够继续使用啰。目前此目录也已经挪到/run/lock 中!
/var/log/重要到不行!这是登录档放置的目录!里面比较重要的档案如/var/log/messages, /var/log/wtmp(记录登入者的资讯)等。
/var/mail/放置个人电子邮件信箱的目录,不过这个目录也被放置到/var/spool/mail/目录中!通常这两个目录是互为连结档啦!
/var/run/某些程式或者是服务启动后,会将他们的PID放置在这个目录下喔!至于PID的意义我们会在后续章节提到的。与/run 相同,这个目录连结到/run 去了!
/var/spool/这个目录通常放置一些伫列资料,所谓的『伫列』就是排队等待其他程式使用的资料啦!这些资料被使用后通常都会被删除。举例来说,系统收到新信会放置到/var/spool/mail/中,但使用者收下该信件后该封信原则上就会被删除。信件如果暂时寄不出去会被放到/var/spool/mqueue/中,等到被送出后就被删除。如果是工作排程资料(crontab),就会被放置到/var/spool/cron/目录中!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值