LInux笔记
观察系统的使用状态:如果要看目前有谁在在线,可以下达 who 这个指令,而如果要看网络的联
机状态,可以下达 netstat -a 这个指令,而要看背景执行的程序可以执行 ps -aux 这个指令。 使用这些指令可以让你稍微了解主机目前的使用状态! 关机的正确指令用法啰! • 将数据同步写入硬盘中的指令: sync • 惯用的关机指令: shutdown • 重新开机,关机: reboot, halt, poweroff fsck /dev/hda7 修复 Linux 一般将档案可存取的方式分为三个类别,分别是 owner/group/other, 且各有 read/write/excute 等权限 Linux 档案属性 ls-al drwxr-xr-x 51 jelly jelly 4096 2008-09-04 14:10 . drwxr-xr-x 4 root root 33 2008-09-03 13:56 .. drwx------ 3 jelly jelly 25 2008-04-26 08:42 .adobe drwx------ 2 jelly jelly 19 2008-07-18 22:49 .aptitude -rw------- 1 jelly jelly 4721 2008-09-04 14:00 .bash_history -rw-r--r-- 1 jelly jelly 220 2008-04-25 07:18 .bash_logout -rw-r--r-- 1 jelly jelly 2928 2008-04-25 07:18 .bashrc 1.第一栏代表这个档案的属性 第一个属性代表这个档案是『目录、档案或连结文件等等』: 当为[ d ]则是目录; 当为[ - ]则是档案; 若是[ l ]则表示为连结档(link file); 若是[ b ]则表示为装置文件里面的可供储存的接口设备; 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标。 接下来的属性中,三个为一组,且均为『rwx』 的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(excute): 第一组为『拥有人的权限』; 第二组为『同群组的权限』; 第三组为『其它非本群组的权限』 x 与 目录 的关系相当的重要, 如果您在目录底下不能执行任何指令的话,那么无法进入目录 第七栏为这个档案的档名, 如果档名之前多一个『 . 』,则代表这个档案为『隐藏档』 改变档案权限 • chgrp :改变档案所属群组 • chown :改变档案所属人 • chmod :改变档案的属性、 SUID 、等等的特性 在 Linux 底下,每一个档案或目录的文件名最长可以到达 255 的字符,加上完整路径时, 最长可达 4096 个字符 目录 应放置档案内容 根目录 root (/),一般建议在根目录底下只接目录,不要直接有档案在 / 底下。 根目录是开机的时候系统第一个挂载的 partition ,所以,所有开机过程会用到 / 的档案, 应该都要放置在这个 partition 当中。举例来说, /etc, /bin, /dev, /lib, /sbin 这五个次目录都应该要与根目录连在一起,不可独立成为某个 partition 呢! /bin, 除了 /bin 之外, /usr/local/bin, /usr/bin 也是放置 『使用者可执行的 binary /usr/bin, file 的目录』喔!举例来说, ls, mv, rm, mkdir, rmdir, gzip, tar, cat, cp, /usr/local/bin mount 等等重要指令都放在这个目录当中。 这个目录主要的目的是放置 Linux 系统开机会用到的档案。 开机会用到什么呢? 没错~就是 Linux 的核心档案。这个目录底下文件名为 vmlinuz 的就是 Linux /boot 的 Kernel 啦! 粉重要的东西! 而如果你的开机管理程序 (loader) 选择 grub 的 话,那么这个目录内还有 /boot/grub 这个次目录呦! 在 Linux 系统上, 任何装置与接口设备都是以档案的型态存在于这个目录当中的。 您只要透过存取这个目录底下的某个档案,就等于存取某个装置啰~ 主要又分为 接口设备 (character device), 例如键盘、 鼠标等; 以及储存设备 (block device), /dev 例如硬盘、光盘等等。在此目录下的档案会多出两个属性,分别是 major device number , 与 minor device number 。我们的系统核心就是透过这两个 number 来 判断装置的呢! 比要重要的档案有 /dev/null, /dev/tty[1-6], /dev/ttyS*, /dev/lp*, /dev/hd*, /dev/sd* 等等 系统主要的设定文件几乎都放置在这个目录内,例如人员的账号密码文件、 各种 服务的启始档等等。一般来说,这个目录下的各档案属性是可以让一般使用者查阅 的, 但是只有 root 有权力修改。并且在此目录下的档案几乎都是 ASCII 的纯文 本文件哩。 不过, FHS 建议不要放置可执行文件在这个目录中喔。比较重要的档 案有: /etc/inittab, /etc/init.d/, /etc/modprobe.conf, /etc/X11, /etc/fstab, /etc/sysconfig/ 等等。另外,其下重要的目录有: • /etc/init.d/:所有服务的预设启动 script 都是放在这里的,例如要启 /etc 动或者关闭 iptables 的话: /etc/init.d/iptables start /etc/init.d/iptables stop • /etc/xinetd.d/:这就是所谓的 super daemon 管理的各项服务的设定文 件目录。 • /etc/X11:与 X Window 有关的各种设定档都在这里,尤其是 xorg.conf 或 XF86Config 这两个 X Server 的设定档。 这是系统预设的使用者家目录 (home directory)。在你新增一个一般使用者账号 时, 预设的使用者家目录都会规范到这里来。比较重要的是,家目录有两种代号 /home 喔: ~:代表目前这个使用者的家目录,而 ~dmtsai :则代表 dmtsai 的家目录! /lib, 系统会使用到的函式库放置的目录。 程序在运作的过程中,可能会呼叫一些额外 /usr/lib, 的功能参数,那需要函式库的协助! 这些函式库就放在此处。比较重要的是 /usr/local/lib /lib/modules 这个目录内会摆放 kernel 的相关模块喔! 系统不正常产生错误时,会将一些遗失的片段放置于此目录下, 通常这个目录会 /lost+found 自动出现在某个 partition 最顶层的目录下。例如你加装一棵硬盘于 /disk 中, 那在这个目录下就会自动产生一个这样的目录 /disk/lost+found 这是软盘与光盘预设挂载点的地方;通常软盘挂在 /mnt/floppy 下,而光盘挂在 /mnt /mnt/cdrom 下,不过也不一定啦!只要你高兴,随便找一个地方来挂载也可以呀! /media 另外,目前也规划出另一个 /media 的目录呢!与 /mnt 有点类似啦~ 这是给主机额外安装软件所摆放的目录。举例来说, FC4 使用的是 Fedora 社群 开发的软件, 如果您今天想要自行安装新的 KDE 桌面软件的话,可以将该软件安 /opt 装在这个目录下的意思。 不过,以前的 Linux 系统中,我们还是习惯放置在 /usr/local 目录下呢! 这个目录本身是一个『虚拟档案系统』喔!他放置的数据都是在内存当中, 例如 系统核心、形成信息、接口设备的状态及网络状态等等。因为这个目录下的数据都 /proc 是在内存当中, 所以本身不占任何硬盘空间啊!比较重要的档案例如: /proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net/* 等 等。 系统管理员 (root) 的家目录。之所以放在这里, 是因为我们提过,系统第一个 /root 开机就被挂载的 partition 为 / , 而我们希望 /root 能够与 / 放在同一块 partition 上面之故。 放置一些系统管理员才会动用到的执行指令,例如: fdisk, mke2fs, fsck, /sbin, mkswap, mount 等等。与 /bin 不太一样的地方,这几个目录是给 root 等系统管 /usr/sbin, 理用的。但是本目录下的执行文件还是可以让一般使用者用来『察看』而不能设定 /usr/local/sbin 喔! 一些服务启动之后,这些服务所需要取用的数据目录。举例来说,WWW 服务器需要 /srv 的网页资料就可以放置在 /srv/www 里面。 这是让一般使用者或者是正在执行的程序暂时放置档案的地方。 这个目录是任何 /tmp 人都能够存取的,所以您需要定期的清理一下。当然,重要数据不可放置在此目录 啊! 由 FHS 规范的第二层内容,在 /usr 此目录下,包含系统的主要程序、 图形接口 所需要的档案、额外的函式库、本机端所自行安装的软件,以及共享的目录与文件 等等, 都可以在这个目录当中发现。事实上,他有点像是 Windows 操作系统当中 的『Program files』与 『WinNT』这两个目录的结合!在此目录下的重要次目录 有: • /usr/bin, /usr/sbin:一般身份使用者与系统管理员可执行的档案放置 目录; • /usr/include:c/c++等程序语言的档头 (header) 与包含档(include) /usr 放置处, 当我们以 tarball 方式 (*.tar.gz 的方式安装软件) 安装某 些数据时,会使用到里头的许多包含档喔!; • /usr/lib:各应用软件的函式库档案放置目录; • /usr/local: 本机端自行安装的软件预设放置的目录。 目前也适用于 /opt 目录。 在你安装完了 Linux 之后,基本上所有的配备你都有了,但是软 件总是可以升级的, 例如你要升级你的 proxy 服务,则通常软件预设的 安装地方就是在 /usr/local (local 是『当地』的意思),同时,安装完 毕之后所得到的执行文件,为了与系统原先的执行文件有分别, 因此升 级后的执行档通常摆在 /usr/local/bin 这个地方。给个建议啦, 通常 鸟哥都会将后来才安装上去的软件放置在这里,因为便于管理呦; • /usr/share:共享文件放置的目录,例如底下两个目录: • /usr/share/doc:放置一些系统说明文件的地方, 例如你安装了 grub 了, 那么在该目录底下找一找,就可以查到 lilo 的说明文件了!很是便利! • /usr/share/man:manpage 的文件档案目录;那是什么?呵呵! 就是你 使用 man 的时候,会去查询的路径呀!例如你使用 man ls 这个指令时, 就会查出 /usr/share/man/man1/ls.1.gz 这个说明档的内容啰! • /usr/src:Linux 系统相关的程序代码放置目录,例如 /usr/src/linux 为核心原始码! • /usr/X11R6:系统内的 X Window System 所需的执行档几乎都放在这! 这个目录也很重要,也是 FHS 规范的第二层目录内容。他主要放置的是针对系统 执行过程中, 常态性变动的档案放置的目录。 举例来说, 例如快取档案 (cache) 或 者是随时变更的登录档 (log file) 都是放在这个目录中的。此外,某些软件执行 过程中会写入的数据库档案, 例如 MySQL 数据库,也都写入在这个目录中!很重 要吧!他底下的重要目录有: • /var/cache:程序档案在运作过程当中的一些暂存盘; • /var/lib:程序本身执行的过程中,需要使用到的数据文件放置的目录, 举例来说, locate 这个数据库与 MySQL 及 rpm 等数据库系统,都写在 这个目录内。 • /var/log:登录文件放置的目录。 很重要啊! 例如 /var/log/messages 就 /var 是总管所有登录档的一个档案! • /var/lock:某些装置具有一次性写入的特性,例如 tab (磁带机), 此 时,为了担心被其它人干扰而破坏正在运作的动作,因此,会将该装置 lock (锁住)起来, 以确定该装置只能被单一个程序所使用啊! • /var/run:某些程序或者是服务启动后,会将他们的 PID 放置在这个目 录下喔! • /var/spool:是一些队列数据存放的地方。举例来说,主机收到电子邮件 后, 就会放置到 /var/spool/mail 当中,若信件暂时发不出去,就会放 置到 /var/spool/mqueue 目录下, 使用者工作排程 (cron) 则是放置在 /var/spool/cron 当中! |