天天看点

Linux目录结构和常用命令

Linux目录结构和常用命令

一、Linux目录结构

Linux文件夹很多都是固定的,分门别类,要想快速弄清楚系统的架构,那么哪些目录里面装着哪些文件是干什么用的。

首先,回顾一下Linux系统下文件的常见种类

蓝色 :目录 青色 :链接 黑色

:文件

从”/”根目录开始吧,一切的起源

Linux目录结构和常用命令
在实际系统中如下:
Linux目录结构和常用命令
Linux目录结构和常用命令

//20180503 CENTOS7里,原根目录下的 bin lib lib64 sbin 都转移到了 USR下面了

二、各个目录解析

2.1 / ——根目录

每一个文件都是从根目录开始的,只有root用户才有该目录下的读写权限

在此区别于/root目录,它是root用户的独有工作目录

2.2 /bin ——用户二进制文件

包含二进制可执行文件

Linux的命令(单用户)都集中在本目录下,例如:ps,ls,ping,cat,mkdir

Linux目录结构和常用命令
Linux目录结构和常用命令

2.3 /sbin ——系统二进制文件

和/bin目录下的可执行文件类似,但是这里的可执行文件都是需要系统管理员权限才能实施的。类似IPtables、reboot、fdisk、ifconfig等重要操作命令

Linux目录结构和常用命令
Linux目录结构和常用命令
Linux目录结构和常用命令
Linux目录结构和常用命令

2.4 /etc ——配置文件目录

包含了所有程序需要的配置文件

同时也包含了用于启动/停止单个程序的shell脚本。

比如:

Linux目录结构和常用命令
Linux目录结构和常用命令
Linux目录结构和常用命令
Linux目录结构和常用命令
Linux目录结构和常用命令

举例说明:

/etc/yum.conf

很重要的yum包配置,顺便粘贴一下

******************************************************************************

[fedora]       #方括号里面的是软件源的名称,将被yum取得并识别      

name=Fedora $releasever - $basearch

#这里也定义了软件 仓库的名称,通常是为了方便阅读配置文件,一般没什么作用,$releasever变量定义了发行版本,通常是8,9,10等数字,$basearch变 量定义了系统的架构,可以是i386、x86_64、ppc等值,这两个变量根据当前系统的版本架构不同而有不同的取值,这可以方便yum升级的时候选择 适合当前系统的软件包,以下同……

failovermethod=priority

#failovermethod 有两个值可以选择,priority是默认值,表示从列出的baseurl中顺序选择镜像服务器地址,roundrobin表示在列出的服务器中随机选择

exclude=compiz* *compiz* fusion-icon*

#exclude这个选项是后来我自己加上去的,用来禁止这个软件仓库中的某些软件包的安装和更新,可以使用通配符,并以空格分隔,可以视情况需要自行添加

#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/

#上面的一行baseurl第一个字符是'#'表示该行已经被注释,将不会被读取,这一行的意思是指定一个baseurl(源的镜像服务器地址)

#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch

#上面的这一行是指定一个镜像服务器的地址列表,通常是开启的,本例中加了注释符号禁用了,我们可以试试,将$releasever和$basearch替换成自己对应的版本和架构,例如10和i386,在浏览器中打开,我们就能看到一长串镜可用的镜像服务器地址列表。

选择自己访问速度较快的镜像服务器地址复制并粘贴到repo文件中,我们就能获得较快的更新速度了,格式如下baseurl所示:

baseurl=

ftp://ftp.sfc.wide.ad.jp/pub/Linux/Fedora/releases/10/Everything/i386/os

http://ftp.chg.ru/pub/Linux/fedora/linux/releases/10/Everything/i386/os

http://ftp.yz.yamagata-u.ac.jp/pub/linux/fedora/linux/releases/10/Everything/i386/os

http://mirror.nus.edu.sg/fedora/releases/10/Everything/i386/os

http://mirror.yandex.ru/fedora/linux/releases/10/Everything/i386/os

http://ftp.twaren.net/Linux/Fedora/linux/releases/10/Everything/i386/os

http://ftp.itu.edu.tr/Mirror/Fedora/linux/releases/10/Everything/i386/os

enabled=1 #这个选项表示这个repo中定义的源是启用的,0为禁用

gpgcheck=1 #这个选项表示这个repo中下载的rpm将进行gpg的校验,已确定rpm包的来源是有效和安全的

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch #定义用于校验的gpg密钥,就是数位签章的公钥档所在位置!

##以下的软件仓库基本上用不到,选项含义同上

[fedora-debuginfo]

name=Fedora $releasever - $basearch - Debug

#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/debug/

mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-debug-$releasever&arch=$basearch

enabled=0

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch

[fedora-source]

name=Fedora $releasever - Source

#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/source/SRPMS/

mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-source-$releasever&arch=$basearch

*******************************************************************************

2.5 /dev 设备文件

包含设备文件

就是windows里面的设备管理器,只不过这个是文件呈现出来的

最主要的功能就是查看接入的USB、CD设备情况,和tty控制线

例如:/dev/tty1、/dev/cdrom

Linux目录结构和常用命令
Linux目录结构和常用命令

看这些都是超链接,具体是哪个文件请看:

Linux目录结构和常用命令
Linux目录结构和常用命令
Linux目录结构和常用命令

2.6 /proc进程信息

包含了系统的进程信息

这是一个虚拟的文件系统,将Linux的各个进程以及系统资源都以文件形式存在

例如:/proc/{pid} 查看选这个pid的信息;/proc/uptime uptime资源信息

Linux目录结构和常用命令

对比:

1. 进程

Linux目录结构和常用命令

进程1的文件里显示:

Linux目录结构和常用命令
Linux目录结构和常用命令

2. 系统资源

Linux目录结构和常用命令

2.7 /var ——变量文件

顾名思义就是随着时间和使用不断变化的文件

具体点:1.系统日志文件(/var/log) 2.数据库文件(/var/lib) 3.电子邮件(/var/mail) 4.打印队列(/var/spool) 5.锁文件(/var/lock) 6.多次重启需要的临时文件(/var/tmp)

Linux目录结构和常用命令

2.8 /tmp —— 临时文件

包含系统和用户创建的临时文件夹

在系统重启的时候全部文件将会被删除,所以别在这个目录下建立文档和脚本文件

2.9 /usr —— 用户程序

包含二进制文件、库文件、文档和二级程序的源代码

Linux目录结构和常用命令

/usr/bin 包含用户程序的二进制文件

/usr/sbin 包含系统管理员的二进制文件

/usr/lib 包含了/usr/bin和/usr/sbin需要用到的库

/usr/local 包含从源安装的用户程序

2.10 /home ——大家比较熟知的了

每个用户都有自己的专享文件夹,保存了用户的文档、视频等

Linux目录结构和常用命令

2.11 /boot ——引导并加载程序的文件

包含了内核引导、文件引导等必要文件

Opensuse的内容:

Linux目录结构和常用命令

2.12 /lib ——系统库

包含/bin和/sbin下的可执行文件的库文件

库文件一般的命名为ld* lib* so*

Linux目录结构和常用命令

2.13 /opt ——可选的附加应用程序

Option代表可选的

也包含了从其他厂商添加的应用程序

我什么也没装,就是空的,下次补出来

2.14 /mnt ——挂载目录

临时文件目录,系统管理员可以挂载新硬盘到这里

2.15 /media ——可移动媒体

简单来说就是把CD、U盘读取到这个目录下面来

挂载CD就在 /media/cdrom,挂载/media/floppy

这里用的是OpenSUSE,目录还是有些变化的,变成了在/run/media/lukas(用户)下

更加精细地区分了用户

Linux目录结构和常用命令

2.16 /srv ——服务数据

Srv代表的是服务service

这里存储的是服务器相关的数据 FTP、TFTP、WWW 不用说也知道了

Linux目录结构和常用命令

OK 基础的目录部分就已经完事了,大部分能用到的都有的。

继续阅读