L5 详解Linux系统目录结构,文件类型,ls命令,alias命令
来源:互联网 发布:域名跟网址的区别 编辑:程序博客网 时间:2024/04/30 08:25
1.Linux系统目录结构
目录树(directory tree), 这个目录树的启始点为根目录 (/, root);linux文件系统的最顶端是/,我们称/为Linux的root,也就是 Linux操作系统的文件系统。Linux的文件系统的入口就是/
路径名说 明/bin最核心的操作系统命令所在位置/boot内核和内核加载所需要的文件位置/dev硬盘、伪终端、打印机等设备文件的位置/etc关键的启动文件和配置文件的位置/home普通用户默认的主目录(家目录)位置/lib库、共享库、部分C编译器的位置/media可移动设备文件系统的挂在点位置,例如:U盘、移动硬盘等/mnt可移动设备文件系统的临时挂在点位置,例如:U盘、移动硬盘等/opt可选的应用软件包位置,一般情况下,自己安装的软件可以考虑放在此位置/proc虚拟文件系统位置,所有正在运行进程的信息所在位置/root根用户(root用户)的主目录位置/sbin系统最小规模运行所需命令的位置/tmp临时目录,每次重启其中的文件就会消失/usr次要文件和命令所在位置/usr/bin大多数命令和可执行程序文件的位置/usr/include编译C程序时头文件的位置/usr/lib库,标准程序运行所需的支持库位置/usr/lib64库,64位标准程序运行所需的支持库位置/usr/local用户编写或安装的软件的位置,第三方安装包大部分安装到此位置/usr/sbin不太关键的系统运维管理命令的位置/usr/share多种系统共用内容的位置/usr/share/manMan命令使用时的联机手册的位置/usr/src非本地软件包的源代码位置/usr/tmp更多的临时空间位置,重启后其中的文件依然存在/var系统专用的数据和配置文件的位置,例如:默认MySQL数据的位置为/var/lib/mysql/var/adm日志、系统设置记录、奇怪的管理信息的位置/var/log各种系统服务对应的日志文件的位置/var/spool邮件、打印机等使用的假脱机目录位置/var/tmp更多的临时空间位置,重启后其中的文件依然存在
ls /
列出当前目录
yum install -y tree 安装tree
tree /
列出所有根目录
FHS依据文件系统使用的频繁与否与是否允许使用者随意更动, 而将目录定义成为四种交互作用的形态
可分享的(shareable)
不可分享的(unshareable)
不变的(static)
/usr (软件放置处)
/etc (配置文件)
/opt (第三方协力软件)
/boot (开机与核心档)
可变动的(variable)
/var/mail (使用者邮件信箱)
/var/run (程序相关)
/var/spool/news (新闻组)
/var/lock (程序相关)
因为根目录与开机有关,开机过程中仅有根目录会被挂载, 其他分区则是在开机完成之后才会持续的进行挂载的行为。就是因为如此,因此根目录下与开机过程有关的目录, 就不能够与根目录放到不同的分区去。那哪些目录不可与根目录分开呢?有底下这些:
/etc:配置文件
/bin:重要执行档
/dev:所需要的装置文件
/lib:执行档所需的函式库与核心所需的模块
/sbin:重要的系统执行文件
这五个目录千万不可与根目录分开在不同的分区。请背下来啊。
/usr不是user的缩写,其实usr是Unix Software Resource的缩写, 也就是Unix操作系统软件资源所放置的目录,而不是用户的数据啦。这点要注意。 FHS建议所有软件开发者,应该将他们的数据合理的分别放置到这个目录下的次目录,而不要自行建立该软件自己独立的目录。
因为是所有系统默认的软件(distribution发布者提供的软件)都会放置到/usr底下,因此这个目录有点类似Windows 系统的C:\Windows\ + C:\Program files\这两个目录的综合体,系统刚安装完毕时,这个目录会占用最多的硬盘容量。 一般来说,/usr的次目录建议有底下这些:
目录
应放置文件内容
/usr/X11R6/
为X Window System重要数据所放置的目录,之所以取名为X11R6是因为最后的X版本为第11版,且该版的第6次释出之意。
/usr/bin/
绝大部分的用户可使用指令都放在这里。请注意到他与/bin的不同之处。(是否与开机过程有关)
/usr/include/
c/c++等程序语言的档头(header)与包含档(include)放置处,当我们以tarball方式 (*.tar.gz 的方式安装软件)安装某些数据时,会使用到里头的许多包含档。
/usr/lib/
包含各应用软件的函式库、目标文件(object file),以及不被一般使用者惯用的执行档或脚本(script)。 某些软件会提供一些特殊的指令来进行服务器的设定,这些指令也不会经常被系统管理员操作, 那就会被摆放到这个目录下啦。要注意的是,如果你使用的是X86_64的Linux系统, 那可能会有/usr/lib64/目录产生
/usr/local/
系统管理员在本机自行安装自己下载的软件(非distribution默认提供者),建议安装到此目录, 这样会比较便于管理。举例来说,你的distribution提供的软件较旧,你想安装较新的软件但又不想移除旧版, 此时你可以将新版软件安装于/usr/local/目录下,可与原先的旧版软件有分别啦。 你可以自行到/usr/local去看看,该目录下也是具有bin, etc, include, lib...的次目录
/usr/sbin/
非系统正常运作所需要的系统指令。最常见的就是某些网络服务器软件的服务指令(daemon)
/usr/share/
放置共享文件的地方,在这个目录下放置的数据几乎是不分硬件架构均可读取的数据, 因为几乎都是文本文件嘛。在此目录下常见的还有这些次目录:/usr/share/man:联机帮助文件
/usr/share/doc:软件杂项的文件说明
/usr/share/zoneinfo:与时区有关的时区文件
/usr/src/
一般原始码建议放置到这里,src有source的意思。至于核心原始码则建议放置到/usr/src/linux/目录下。
如果/usr是安装时会占用较大硬盘容量的目录,那么/var就是在系统运作后才会渐渐占用硬盘容量的目录。 因为/var目录主要针对常态性变动的文件,包括缓存(cache)、登录档(log file)以及某些软件运作所产生的文件, 包括程序文件(lock file, run file),或者例如MySQL数据库的文件等等。常见的次目录有:
目录
应放置文件内容
/var/cache/
应用程序本身运作过程中会产生的一些暂存档
/var/lib/
程序本身执行的过程中,需要使用到的数据文件放置的目录。在此目录下各自的软件应该要有各自的目录。 举例来说,MySQL的数据库放置到/var/lib/mysql/而rpm的数据库则放到/var/lib/rpm去
/var/lock/
某些装置或者是文件资源一次只能被一个应用程序所使用,如果同时有两个程序使用该装置时, 就可能产生一些错误的状况,因此就得要将该装置上锁(lock),以确保该装置只会给单一软件所使用。 举例来说,刻录机正在刻录一块光盘,你想一下,会不会有两个人同时在使用一个刻录机烧片? 如果两个人同时刻录,那片子写入的是谁的数据?所以当第一个人在刻录时该刻录机就会被上锁, 第二个人就得要该装置被解除锁定(就是前一个人用完了)才能够继续使用
/var/log/
非常重要。这是登录文件放置的目录。里面比较重要的文件如/var/log/messages, /var/log/wtmp(记录登入者的信息)等。
/var/mail/
放置个人电子邮件信箱的目录,不过这个目录也被放置到/var/spool/mail/目录中,通常这两个目录是互为链接文件。
/var/run/
某些程序或者是服务启动后,会将他们的PID放置在这个目录下
/var/spool/
这个目录通常放置一些队列数据,所谓的“队列”就是排队等待其他程序使用的数据。 这些数据被使用后通常都会被删除。举例来说,系统收到新信会放置到/var/spool/mail/中, 但使用者收下该信件后该封信原则上就会被删除。信件如果暂时寄不出去会被放到/var/spool/mqueue/中, 等到被送出后就被删除。如果是工作排程数据(crontab),就会被放置到/var/spool/cron/目录中。
由于FHS仅是定义出最上层(/)及次层(/usr, /var)的目录内容应该要放置的文件或目录数据, 因此,在其他次目录层级内,就可以随开发者自行来配置了。
2.ls命令
which ls
alias ls="ls --color"
其中颜色的含义如下:
1. 蓝色-->目录
2. 绿色-->可执行文件
3. 红色-->压缩文件
4. 浅蓝色-->链接文件
5. 灰色-->其他文件
-a 列出目录下的所有文件,包含以.开头的隐藏文件。 -A 显示出.和..以外的所有文件。 -d 显示目录的自身属性,而不显示目录下的文件。 -l 列出目录或者文件的详细信息 -h 与-l参数合用,以人可读取的方式显示文件大小,如1K,2M,3G -i 显示文件或者目录的inode信息,即索引信息 -t 按修改时间排序显示文件或者目录(时间由近及远排序) -r 与其他参数一起使用,使之反向排序 --color=auto 让输出的内容按照类别显示颜色(grep中也有改参数)
第一列:1 第一个字母为d时意味着该内容是目录,如上图中的linux目录;第一个字母为-时意味着该内容为文件;第一个字母为l时意味着该内容是个链接文件。 2 后面的9个字符代表文件或者目录的权限,字母r w x分别代表读,写,执行权限,其对应的权限数字分别为4 2 1.前3个代表文件或者目录的拥有这的权限,中间的3个代表文件或者目录的所有组的权限,最后的3个代表其他人访问文件的权限。第二列:代表文件或者目录的链接数,即目录或者文件下还包含几个目录或者文件数。第三列:代表文件或者目录的所有者。第四列:代表文件或者目录的所有组。第五列:代表文件或者目录的大小,单位为字节(byte)第六列:代表文件或者目录的最后修改时间(使用[stat 文件名或者目录名] 用以查看文件或者目录的访问时间access,文件或者目录的修改时间modify,文件或者目录的状态改变时间change)第七咧:代表文件名或者目录名
列出当前目录下的目录详细信息,而不显示文件,可通过ls -ld */命令
ls -il 文件或者目录的inode(索引)信息
ls -lt 以修改时间排序显示
ls -ltr 以修改时间反向排序
命令:ls -l t* 列出当前目录中所有以“t”开头的目录的详细内容,可以使用如下命令:
命令:ls -ltr s*列出目前工作目录下所有名称是s 开头的档案,愈新的排愈后面
计算当前目录下的文件数和目录数
命令:
ls -l * |grep "^-"|wc -l ---文件个数
ls -l * |grep "^d"|wc -l ---目录个数
3.文件类型
-:一般文件
d:目录文件
b:块设备文件
c:字符设备文件
l:链接文件
p:人工管道
s:套接口文件[如我们开启MySQL服务后,在/var/lib/mysql/下生成的mysql.sock文件,关闭MySQL服务后,这个文件就消失了]
我们用ls-al 可以查看当前目录下的所有文件,这是我们可以看到"."和".."这两个文件
其实"."就是代表当前目录
".."就是代表上级目录,因为Linux把任何东西都看成文件,所以就有"."和".."这两个文件了
chmod [-R] 权限 文件名
- L5 详解Linux系统目录结构,文件类型,ls命令,alias命令
- Linux系统目录结构、ls命令、文件类型与alias命令
- 系统目录结构、ls命令 、 文件类型、alias命令
- 系统目录结构-ls命令-文件类型-alias命令
- linux学习第五篇:系统目录结构,ls命令,文件类型以及alias命令
- 一周第五次课 2017.10.20 系统目录结构、ls命令、文件类型 、alias命令
- 系统目录结构、文件类型及命令ls\alias的用法2.1-2.5
- 10.20 系统目录结构,ls,alias,文件类型
- 5 系统目录结构 ls 文件类型 alias
- 第五课:系统目录及ls·文件类型及alias命令介绍
- 常用命令:ls/alias & 目录结构、文件类型
- ls命令+文件类型+别名(alias)
- Linux命令:tab,cd,ls,清屏,系统目录结构
- linux系统中ls命令用法详解
- Linux系统中ls命令用法详解
- Linux系统中关于ls命令详解
- Linux系统中ls命令用法详解
- Linux系统命令详解之ls
- C++链栈 及 链队列
- 二分查找 6不6(Java实现)
- Java集合框架01-Collection架构与源码分析
- Java Web
- UTF-8简介
- L5 详解Linux系统目录结构,文件类型,ls命令,alias命令
- python学习记录(二)
- XML,XSL,dtd,schema
- 服务器系统对比、数据库对比、后台开发语言对比
- Null 合并运算符( ?? )
- 1071. 小赌怡情(15)
- 机器学习算法之决策树
- 计算长方形的面积
- python基础总结练习——打飞机