zoukankan      html  css  js  c++  java
  • Linux 目录结构学习与简析 Part1

    linux目录结构学习与简析

    by:授客 QQ1033553122

     

    Linux <wbr>目录结构学习与简析 <wbr>Part1

    说明:

    /             linux系统目录树的起点

    ===============

    /bin      User Binaris,存放二进制可执行文件,系统所有用户使用的linux命令,如lsps

    ===============

    /sbin System Binaries      存放二进制可执行文件,与/bin不同,这里的命令只有系统管理员才可用,如reboot

    /sbin/shadowconfig         影子口令控制文件(Debian下有,rehl无该文件)

    示例:

    #使系统上的影子口令生效

    # /sbin/shadowconfig on

     

    #禁用系统上的影子口令功能

    # /sbin/shadowconfigure off

    ===============

    /etc   Configuration Files包含所有程序必须的配置文件以及用于启动和停止个人程序的Shell脚本

    /etc/fstab    描述系统中各种文件系统的信息,记录开机要mount的文件系统

    /etc/inittab  linux初始化文件系统时init初始化程序用到的配置文件

    /etc/issue    存放系统安装时默认的发行版本信息, 也就是getty在登录提示符前的输出信息,系统启动时显示的内容,通常包括系统的一段说明或欢迎信息,内容由管理员确定

    /etc/passwd   文件保存除口令之外的用户帐号信息

    /etc/shadow   保存用户口令信息的文件,根据/etc/passwd文件产生

    /etc/group    保存组群账号信息的文件

    /etc/motd     Message Of The Day,成功登录后自动输出,内容由系统管理员确定。经常用于通告信息,如计划关机时间的告警。

    /etc/sudoers     是用来设置sudo指令的一个配置文件

    /etc/securetty   设置“root”用户可以从哪些终端设备登录系统的配置文件。登录程序(通常是“/bin/login”)需要读取“/etc/securetty”文件。
    /etc/login.defs 
    所有用户登录时的缺省配置文件

    /etc/profile     系统为每个用户设置全局缺省环境的配置文件, 每个用户登录时都会读取该配置文件进行环境变量设置

    /etc/csh.cshrc   cshtcsh配置文件系统级配置文件,主要用于设置环境变量和命令别名,对所有用户起作用

    /etc/csh.login   cshtcsh配置文件-系统级配置文件,主要用于登陆时执行某些程序或命令,对所有用户起作用

    /etc/csh.logout  cshtcsh配置文件--系统级配置文件,主要用于登出时执行某些程序或命令,对所有用户起作用。

    /etc/shells      存放系统可用的SHELL

    /etc/sysctl.conf 内核配置文件

    /etc/inittab     linux初始化文件系统时,init初始化程序用到的配置文件,控制init程序所做的任何事情。[init衍生(spawn)新的进程,并在您离开某些程序时重新启动它们

    格式:code:runlevels:action:command

    /etc/grub.conf   装载程序grub的配置文件

    /etc/DIR_COLORS  对于输出信息的颜色显示效果的配置文件

    /etc/host.conf   该配置文件指定如何解析主机名

    /etc/hosts       配置ip地址和其对应主机名的文件,这里可以记录本机的或其他主机的ip及其对应主机名(主机名查询静态表)

    /etc/hosts.allow 配置文件,设置允许或拒绝使用能通过xinetd程序启动的或者已经启动的网络服务连接,比如ftp telnet,我们就可以修改/etc/hosts.allow的配制,来许可或者拒绝哪些IP、主机、用户可以访问

    /etc/hosts.deny  配置文件,设置拒绝使用能通过xinetd程序启动的或者已经启动的网络服务连接,也可以修改/etc/hosts.allow中添加deny字眼来达到等同效果。 

    /etc/inetd.conf  设定系统网络守护进程inetd的配置文件[rehl中没该配置文件]

    /etc/protocols   设定系统支持的协议配置文件

    /etc/resolv.conf  DNS客户机配置文件, 用于设置DNS服务器的IP地址及DNS域名,还包含了主机的域名搜索顺序

    /etc/printcap     类似/etc/termcaplpd(打印机管理程序)的配置文件,用于管理本地或远端的打印机。

    /etc/rc.local     该脚本文件等其它系统脚本都执行完了才执行,通过符号链接到/etc/rc.d/rc.local,使用者可自订开机启动程序,把需要开机自动运行的程序写在这个脚本里。

    /etc /rcN.d/      存放init.d中文件的连接,service,文件命名格式为:[K|S]NumberServicename,其中的N代表被启动的runlevel,如当runlevel3,执行存放在/etc/rc3.d目录下的脚本文件。

    /etc/init.d/      存放一些脚本,一般是linuxrpm包安装时设定的一些服务的启动脚本。系统在安装时装了好多rpm包,这里面就有很多对应的脚本。执行这些脚本可以用来启动,停止,重启这些服务。如下:

    # /etc/init.d/命令 start 启动服务

    # /etc/init.d/命令 stop 停止服务

    /etc/rc.d/        存放各种服务器和程序的二进制文件,各个系统启动级别的执行程序连接目录及一些脚本文件。/etc/X11/         存放X Window的配置文件

    /etc/sysconfig/   存放系统各种配置文件

     

    示例:

    #停止/开启sshd服务

    [root@localhost ~]# /etc/init.d/apache stop

    Stopping sshd:                                                                           [   OK   ]

    [root@localhost ~]# /etc/init.d/apache start

    Starting sshd:                                                                            [   OK   ]

     

    #查看inittab配置文件

    builder:/etc# cat /etc/inittab

    # /etc/inittab: init(8) configuration.

    # $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $

     

    # The default runlevel.

    id:2:initdefault:

     

    # Boot-time system configuration/initialization script.

    # This is run first except when booting in emergency (-b) mode.

    si::sysinit:/etc/init.d/rcS

     

    # What to do in single-user mode.

    ~~:S:wait:/sbin/sulogin

     

    # /etc/init.d executes the S and K scripts upon change

    # of runlevel.

    #

    # Runlevel 0 is halt.

    # Runlevel 1 is single-user.

    # Runlevels 2-5 are multi-user.

    # Runlevel 6 is reboot.

     

    l0:0:wait:/etc/init.d/rc 0

    l1:1:wait:/etc/init.d/rc 1

    l2:2:wait:/etc/init.d/rc 2

    l3:3:wait:/etc/init.d/rc 3

    l4:4:wait:/etc/init.d/rc 4

    l5:5:wait:/etc/init.d/rc 5

    l6:6:wait:/etc/init.d/rc 6

    # Normally not reached, but fallthrough in case of emergency.

    z6:6:respawn:/sbin/sulogin

     

    # What to do when CTRL-ALT-DEL is pressed.

    ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

     

    # Action on special keypress (ALT-UpArrow).

    #kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work."

     

    # What to do when the power fails/returns.

    pf::powerwait:/etc/init.d/powerfail start

    pn::powerfailnow:/etc/init.d/powerfail now

    po::powerokwait:/etc/init.d/powerfail stop

    pp::respawn:/mnt/script/cron.sh

     

    # /sbin/getty invocations for the runlevels

    #

    # The "id" field MUST be the same as the last

    # characters of the device (after "tty").

    #

    # Format:

    #  :::

    #

    # Note that on most Debian systems tty7 is used by the X Window System,

    # so if you want to add more getty's go ahead but skip tty7 if you run X.

    #

    1:2345:respawn:/sbin/getty 38400 tty1

    2:23:respawn:/sbin/getty 38400 tty2

    3:23:respawn:/sbin/getty 38400 tty3

    4:23:respawn:/sbin/getty 38400 tty4

    5:23:respawn:/sbin/getty 38400 tty5

    6:23:respawn:/sbin/getty 38400 tty6

     

    # Example how to put a getty on a serial line (for a terminal)

    #

    T0:2345:respawn:/sbin/getty -n -l /bin/cli -t 60 ttyS0 38400

    #T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100

     

    # Example how to put a getty on a modem line.

    #

    #T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3

     

    #查看rc0.d目录下的连接文件

    builder:/etc# cd /etc/rc0.d/

    builder:/etc/rc0.d# ls

    K01mysql          K25hwclock.sh        K90syslog-ng  S30urandom       S36ifupdown    S90halt

    K09apache2        K63mountoverflowtmp  README        S31umountnfs.sh  S40umountfs

    K20openbsd-inetd  K90rsyslog           S20sendsigs   S35networking    S60umountroot

    脚本文件的文件名的格式:SnnxxxxKnnxxxxnn代表00-99的数字,xxxx是某个系统服务的名称,nn是脚本文件的执行顺序,数字较低的脚本文件会先执行,而xxxx是用来辨明该脚本文件所对应的系统服务。以SStart)开头的脚本文件用来启动系统服务,而K(Kill)开头的脚本文件则是用来终止系统服务

    ===============

    /dev   Device Files存放所有的设备文件,如usb,或其它任何与系统关联的设备,但是这里并不是放的外部设备的驱动程序

    /dev/tty[0-63]    虚拟终端
    /dev/hd[a-t]      IDE设备

    /dev/sd[a-z]      scsi设备

    /dev/fd[0-7]      标准软驱 

    /dev/md[0-31]     raid设备

    /dev/loop[0-7]    本地回环设备

    /dev/ram[0-15]    内存

    /dev/stdin        标准输入设备

    /dev/null         无限数据接收设备,相当于黑洞

    /dev/zero         无限0资源

    /dev/ttyS[0-3]    串口

    /dev/lp[0-3]      并口

    /dev/console      控制台

    /dev/shm          tmpfs文件系统的挂载点。tmpfs文件系统:一种模拟内存文件系统。由于Linux的虚拟内存由物理内存(RAM)和交换分区组成。tmpfs的最大存储空间是物理空间和交换分区大小之和。tmpfs既可以使用物理内存也可以使用交换分区。文件系统大小不固定,而是随着所需要的空间而动态的增减。由于tmpfs文件系统建立在虚拟内存之上,因此读写速度很快。常被用于提升服务器的性能。


    示例

    #查看共享内存的大小

    # df -h /dev/shm

    ===============

    /proc ->Process Information proc文件系统的挂载点,包含系统进程信息,proc是一个虚拟文件系统,该系统包含正处于运行中的进程的信息。例如/proc/pid目录包含了该pid进程号对应进程的信息。同时也是一个包含系统资源文本信息的虚拟文件系统,例如/proc/uptime. proc一个系统专用的文件系统,只存在内存当中,而不占用磁盘空间。以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息是动态改变的,所以用户和应用程序读取proc文件时,proc文件系统是动态从系统内核读取所需信息并提交。事实上,每当你存取/proc文件系统时,内核会拦截你的动作,并动态为您产生文件和目录的内容。也就是说你看到的目录结构和文件内容,并非真的存放在硬盘内,而是linux内核抢先一步取得相关的信息,然后让你看到合理的输出。/proc还是个检查硬件信息的管道。

    /proc/cpuinfo     CPU信息

    /proc/meminfo     内存信息

    /proc/vmstat      存放当前系统虚拟内存的多种统计数据,信息量可能较大,因系统而异,可读性较好

    /proc/swaps       当前系统上的交换分区及其空间利用信息,如果有多个交换分区的话,则会每个交换分区的信息分别存储于/proc/swap目录中的单独文件中,而其优先级数字越低,被使用到的可能性越大;

    /proc/stat        实时追踪自系统上次启动以来的多种统计信息

    /proc/devices     可用设备的列表

    /proc/mounts      已经加载的文件系统列表

    /proc/uptime      系统上次启动以来的运行时间

    /proc/partitions  存放分区表信息, 块设备每个分区的主设备号(major)和次设备号(minor)等信息,同时包括每个分区所包含的块(block)数目

    /proc/loadavg     存放topuptime命令输出的负载数据信息

    /proc/versio      系统内核版本

    /proc/filesystems 支持的文件系统

    /proc/modules     已加载的模块

    /proc/sys         存放系统信息

    /proc/ioports     存放i/o地址信息

    /proc/interrupts  存放被占用的IRQ(中断请求)信息

    /proc/dma         存放正被使用的dma通道(Direct Memory Access,直接内存存取) 信息

    /proc/cmdline     系统启动时输入的内核命令行参数

    /proc/kcore       系统使用的物理内存,以ELF核心文件(core file)格式存储,其文件大小为已使用的物理内存(RAM)加上4KB;这个文件用来检查内核数据结构的当前状态,因此,通常由GBD通常调试工具使用,但不能使用文件查看命令打开此文件;
    /proc/fs         
    存放系统所引入的NFS文件系统信息 

    /proc/tty         tty设备信息

    /proc/Number/     存放pidNumber的进程信息

    /proc/bus/        存储总线信息

    /proc/irq/        存放irq信息

    /proc/net/        存放网络信息

    /proc/scsi/       存放scsi设备信息

    示例:

    #查看pid15的进程

     

    Linux <wbr>目录结构学习与简析 <wbr>Part1

    说明:其中cmdline表示进程是由那个目录所启动,status表表示进程目前在系统的状态,cwd会连接到该进程目前的工作目录
  • 相关阅读:
    iOS开发--UIPickerView(选择器控件) 省份和城市的做法
    UITableView左滑设置更多的按钮
    UITableView的增,删,改例子
    UITableView的简单用法
    Block传值原理
    UIToolbar的简单用法
    用UIScrollView,UIPageControl来实现滚动视图。
    用UIPickerView来显示省和市
    如何设计好的UI控件
    UITextfield属性用法
  • 原文地址:https://www.cnblogs.com/shouke/p/10158120.html
Copyright © 2011-2022 走看看