Linux 目录结构学习与简析 Part1
linux目录结构学习与简析
by:授客 QQ:1033553122


说明:
/ linux系统目录树的起点
===============
/bin
User Binaris,存放二进制可执行文件,系统所有用户使用的linux命令,如ls,ps
===============
/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
csh,tcsh配置文件—系统级配置文件,主要用于设置环境变量和命令别名,对所有用户起作用
/etc/csh.login
csh,tcsh配置文件-系统级配置文件,主要用于登陆时执行某些程序或命令,对所有用户起作用
/etc/csh.logout csh,tcsh配置文件--系统级配置文件,主要用于登出时执行某些程序或命令,对所有用户起作用。
/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/termcap,lpd(打印机管理程序)的配置文件,用于管理本地或远端的打印机。
/etc/rc.local
该脚本文件等其它系统脚本都执行完了才执行,通过符号链接到/etc/rc.d/rc.local,使用者可自订开机启动程序,把需要开机自动运行的程序写在这个脚本里。。
/etc
/rcN.d/
存放init.d中文件的连接,即service,文件命名格式为:[K|S]NumberServicename,其中的N代表被启动的runlevel,如当runlevel为3,执行存放在/etc/rc3.d目录下的脚本文件。
/etc/init.d/
存放一些脚本,一般是linux以rpm包安装时设定的一些服务的启动脚本。系统在安装时装了好多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
脚本文件的文件名的格式:Snnxxxx或Knnxxxx,nn代表00-99的数字,xxxx是某个系统服务的名称,nn是脚本文件的执行顺序,数字较低的脚本文件会先执行,而xxxx是用来辨明该脚本文件所对应的系统服务。以S(Start)开头的脚本文件用来启动系统服务,而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
存放top及uptime命令输出的负载数据信息
/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/
存放pid为Number的进程信息
/proc/bus/
存储总线信息
/proc/irq/
存放irq信息
/proc/net/
存放网络信息
/proc/scsi/
存放scsi设备信息
示例:
#查看pid为15的进程


说明:其中cmdline表示进程是由那个目录所启动,status表表示进程目前在系统的状态,cwd会连接到该进程目前的工作目录
Linux 目录结构学习与简析 Part1的更多相关文章
- Linux 目录结构学习与简析 Part2
linux目录结构学习与简析 by:授客 QQ:1033553122 ---------------接Part 1-------------- #1.查看CPU信息 #cat /proc/cpuinf ...
- Linux目录结构简析
Linux目录结构简析 Linux继承了unix操作系统结构清晰的特点.在linux下的文件结构非常有条理.但是,上述的优点只有在对linux相当熟悉时,才能体会到.现在,虫虫就把linux下的目录结 ...
- 实验楼学习linux第一章第四节linux目录结构及文件基本操作
linux目录结构及文件基本操作 常用命令 切换目录 cd 当前目录 . 上一级目录 .. (.和..开头的都是隐藏文件) 查看隐藏文件 ls -a 上一级所在目录 - 当前用户home目录 ~ 获取 ...
- linux命令学习笔记(23):Linux 目录结构
对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.,深入了解linux文件 目录结构的标准和每个目录的详细功能,对于我们用好linux系统只管重要,下 ...
- Linux学习笔记之Linux目录结构、磁盘命名、启动过程
1.Linux磁盘命名规则 名称的起名规则——/dev/xxyN: 1.Linux下装所有硬件设备的一个目录叫 /dev(devices) 2.Linux没有C盘.D盘.Linux最根上的一个目录叫 ...
- Linux网络性能优化方法简析
Linux网络性能优化方法简析 2010-12-20 10:56 赵军 IBMDW 字号:T | T 性能问题永远是永恒的主题之一,而Linux在网络性能方面的优势则显而易见,这篇文章是对于Linux ...
- day 2 Linux目录结构
Linux系统的目录结构的基本介绍: 1)在逻辑上的所有目录(包括目录下的子目录)都在最高级别的目录“/”下. 根(/)目录是Linux系统中所有目录的起始点(顶点),根下面的目录及子目录是一个有层次 ...
- Linux目录结构以及文件操作
Linux目录结构 UNIX 是以目录为主的,Linux 也继承了这一优良特性. Linux 是以树形目录结构的形式来构建整个系统的,可以理解为树形目录是一个用户可操作系统的骨架.虽然本质上无论是目录 ...
- Linux驱动之中断处理体系结构简析
S3C2440中的中断处理最终是通过IRQ实现的,在Linux驱动之异常处理体系结构简析已经介绍了IRQ异常的处理过程,最终分析到了一个C函数asm_do_IRQ,接下来继续分析asm_do_IRQ, ...
随机推荐
- HoloLens开发手记 - 使用混合现实捕捉 Using mixed reality capture
HoloLens给了用户混合真实世界和数字世界的体验.混合现实捕捉(MRC)使得你可以保存这种体验到图片或者视频.这使得你可以分享你的体验给其他人,这允许他们能看到和你所看到一样的全息图像.这些视频和 ...
- win10 + gluon + GPU
1. 下载教程 可以用浏览器下载zip格式并解压,在解压目录文件资源管理器的地址栏输入cmd进入命令行模式. 也可以 git pull https://github.com/mli/gluon-tut ...
- HTML编辑器 -- KindEditor
KindEditor 是一套开源的在线HTML编辑器,主要用于让用户在网站上获得所见即所得编辑效果,开发人员可以用 KindEditor 把传统的多行文本输入框(textarea)替换为可视化的富文本 ...
- java也可以做黑客?
记得:Eric S. Raymond在他著名的文章<如何成为一名黑客>中,将Java列为五门黑客必备语言之一,其它四门分别是:C.C++.Perl.Python. 而Java最大的特性是系 ...
- 在线画UML图的工具
工作需要在线画各种UML图,类图.协作图.用例图等等,调查了一些在线画UML图的工具,有的做的很好但要收费,例如:http://www.gliffy.com/,发现现在免费好用的是ProcessOn: ...
- Docker数据卷容器备份、恢复
1.备份数据卷容器 使用数据卷来备份数据,通过指定本地的一个文件路径,对应到容器中的路径,运行tar命令将重要的文件打包备份. $ cd /home/xm6f/dev $ docker run --v ...
- Mysql、MongoDB对比和使用场景
MongoDB: 更高的写入负载 默认情况下,MongoDB更侧重高数据写入性能,而非事务安全,MongoDB很适合业务系统中有大量“低价值”数据的场景.但是应当避免在高事务安全性的系统中使用Mong ...
- MySQL 5.7最新版本的2个bug
好久没写博客了,都长草了.新业务上了5.7没遇到什么问题,虽然没遇到什么问题,但不代表没有问题,我有个习惯就是没事就喜欢逛逛percona的Blog,于是看到目前最新GA版本5.7.17的2个bug, ...
- 常见注入手法第四讲,SetWindowsHookEx全局钩子注入.以及注入QQ32位实战.
常见注入手法第四讲,SetWindowsHookEx全局钩子注入.以及注入QQ32位实战. PS:上面是操作.最后是原理 一丶需要了解的API 使用全局钩子注入.我们需要了解几个WindowsAPI. ...
- LoadRuner12.53教程(二)
使用HP Web访问示例应用程序 shǐ使 yòng用 H P W e b fǎng访 wèn问 shì示 lì例 yìng应 yòng用 chén ...