以红帽Linux操作系统为例做总结。
一、经典树形目录结构
FHS(filesystem hierarchy standard)是Linux的文件系统层级标准,采用树形结构组织文件,规定了目录的类型和文件存放类型。
/ 根目录,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者。
/usr 系统核心所在目录 系统资源
/bin 可执行文件,binary,用户命令
/boot 系统启动相关的文件
/dev device,设备文件因为在这个目录中包含了所有linux系统中使用的外部设备。它实际上是一个访问这些外部设备的端口。可以非常方便地去访问这些外部设备,和访问一个文件,一个目录没有任何区别。
设备文件
块设备 : 可实现随机访问的设备,如磁盘,按数据块访问
字符设备 : 线性访问的设备,如键盘,以字符为单位
/etc 配置文件(设置)
/home 家目录,root用户的家目录不在/home目录
/media 挂载点目录,通常挂载光盘,移动硬盘
/mnt 挂载点目录,通常挂载其他文件系统,这个目录一般是用于存放挂载储存设备的挂载目录的,(比如有cdrom等目录)
/var 可以理解为vary的缩写,/var下有/var/log 这是用来存放系统日志的目录。
/root root用户的家目录,在生产环境中不允许用root用户登录
/sbin 管理员命令
/tmp temp,临时文件目录
/lib library,库文件和内核模块文件,这个目录是用来存放系统动态连接共享库的。
/lib64
/srv 系统服务相关数据 系统启动服务时候可以访问的数据库目录
/sys 硬件设备的驱动程序信息
/opt option自由选择,主要给源码安装软件时候选择的安装目录位置
/proc process,该目录保存系统运行时内核的映射文件
/run 进程相关的数据
二、Linux中的常用命令
1、系统维护类
①ls — 可以先使用 ls --help或者man ls 进行学习。下面以/root这一目录为例,列举出常用选项的现象。
-a, --all 不隐藏任何以. 开始的项目
-A, --almost-all 列出除. 及… 以外的任何项目
ls -l 以长列表方式列出 =ll
ls -r 逆序列出
ls -d 查看当前目录.
ls -ld 长列表列出当前目录的详细信息
ls -lh 显示目录或文件大小
ls -i 显示文件索引节点号(inode)
②pwd —打印当前/工作目录名
③cd —切换目录
cd . 当前目录
cd … 上一级目录
cd ~ 当前用户家目录
cd - 来回切换
④date —输出和更改日期时间
date -s 只有root才能设置,其它只能查看
⑤passwd —修改当前用户密码信息
⑥man 用户使用手册,指定自己想查询的指令章节
2、文件管理类
①touch —创建普通文本文件
同时创建多个普通文件:
方法1:touch 文件名1 文件名2 文件名3
方法2:touch {文件名1,文件名2,文件名3}
touch {1,2}{3,4}
touch abc{1…100}
②mkdir — 创建目录文件
-p :parents 父目录
-v :verbose 打印详细信息
③rm —删除(默认带-i,该选项用来提示用户进行交互)
-r : recursive,递归删除来删除目录
-f :强行删除,不提示,谨慎使用,删错就得跑路了。
④cp —复制文件
- r 复制目录
-p 复制的时候保留文件原有的属性,时间戳等信息
-a 归档复制,常用于备份
⑤mv —移动文件: 等同Windows里面的剪切,移动之后原文件消失
-i 提示
-f 强制覆盖
-t 先写目标 后写源
移动后,/root中就没有1这个文本文件了。
⑥cat —连接并显示文件到标准输出
⑦grep —文本过滤显示(可以根据特定的字符串,对指定文件的每一行进行搜索,如果找到了这个字符串,就将含有这些内容的行输出)
过滤空白行:grep ^$
匹配以q开始的行:grep ^q 文件名
匹配以q结束的行:grep q$ 文件名
⑧stat —查看文件的详细信息
⑨ln —链接(分为软链接和硬链接)
软链接:又叫符号链接,和原文件不是一个文件,类似于window下的快捷方式,就是一种特殊的文件。(ln -s 原文件 目标文件)
硬链接,在linux系统中多个文件名指向同一个索引节点称为硬链接。当移动或者删除原始文件时,硬链接不会被破坏。(ln 原文件 目标文件)