linux文件管理
系统目录结构
系统目录
/ #第一层次结构的根、整个文件系统层次结构的根目录。
/bin/ #需要在单用户模式可用的必要命令(可执行文件);面向所有用户,例如:cat、ls、cp,和/usr/bin类似。
/boot/ #引导程序文件,例如:kernel、initrd;时常是一个单独的分区[6]
/dev/ #必要设备, 例如:, /dev/null.
/etc/ #特定主机,系统范围内的配置文件。关于这个名称目前有争议。在贝尔实验室关于UNIX实现文档的早期版本中,/etc 被称为/etcetra 目录,[7]这是由于过去此目录中存放所有不属于别处的所有东西(然而,FHS限制/etc存放静态配置文件,不能包含二进制文件)。[8]自从早期文档出版以来,目录名称已被以各种方式重新称呼。最近的解释包括反向缩略语如:"可编辑的文本配置"(英文 "Editable Text Configuration")或"扩展工具箱"(英文 "Extended Tool Chest")。[9]
/etc/opt/ #/opt/的配置文件
/etc/X11/ #X_Window系统(版本11)的配置文件
/etc/sgml/ #SGML的配置文件
/etc/xml/ #XML的配置文件
/home/ #用户的家目录,包含保存的文件、个人设置等,一般为单独的分区。
/lib/ #/bin/ and /sbin/中二进制文件必要的库文件。
/media/ #可移除媒体(如CD-ROM)的挂载点 (在FHS-2.3中出现)。
/lost+found #在ext3文件系统中,当系统意外崩溃或机器意外关机,会产生一些文件碎片在这里。当系统在开机启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。当系统发生问题。可能会有文件被移动到这个目录中,可能需要用手工的方式来修复,或移到文件到原来的位置上。
/mnt/ #临时挂载的文件系统。比如cdrom,u盘等,直接插入光驱无法使用,要先挂载后使用
/opt/ #可选应用软件包。
/proc/ #虚拟文件系统,将内核与进程状态归档为文本文件(系统信息都存放这目录下)。例如:uptime、 network。在Linux中,对应Procfs格式挂载。该目录下文件只能看不能改(包括root)
/root/ #超级用户的家目录
/sbin/ #必要的系统二进制文件,例如: init、 ip、 mount。sbin目录下的命令,普通用户都执行不了。
/srv/ #站点的具体数据,由系统提供。
/tmp/ #临时文件(参见 /var/tmp),在系统重启时目录中文件不会被保留。
/usr/ #默认软件都会存于该目录下。用于存储只读用户数据的第二层次;包含绝大多数的(多)用户工具和应用程序。
/var/ #变量文件——在正常运行的系统中其内容不断变化的文件,如日志,脱机文件和临时电子邮件文件。有时是一个单独的分区。如果不单独分区,有可能会把整个分区充满。如果单独分区,给大给小都不合适。
重点记住
/etc 系统重要配置文件, 以及常用服务配置文件
/var 存放系统引导启动时产生的可变文件,文件通常动态更改的,例如: 缓存目录,日志文件
/run 系统启动后, 运行的程序产生的运行时数据, 包括进程的pid文件,锁文件等
/home 普通用户的主目录, 普通用户的家目录默认为/HOME/USERNAME
/root 超级管理员的主目录, 普通用户无权操作
/tmp 存放临时文件, 一般存放超过10天以上都会自动删除,可以更改删除临时文件的期限
/boot 存放系统引导时候需要的文件
/dev 存放设备文件
/usr 安装的软件, 共享库, 重要的子目录有
/usr/bin 用户命令目录
/usr/sbin 管理员命令目录
/usr/local 本地自定义安装的软件
/dev
## sda
系统的第一块磁盘
# sda1
系统的第一块磁盘的第一个分区
# sda2
系统的第一块磁盘的第二个分区
# sdb
系统的第二块磁盘
# sdb1
系统的第二块磁盘的第一块分区
# sdb2
系统的第二块磁盘的第二块分区
# 终端
tty
/dev/pt/0
/dev/pt/1
随着终端数量增加,pt下的文件会逐步增加
# 黑洞 源源不断的吸收东西
/dev/null
# 源源不断的提取东西
/dev/zero
#随机数
RANDOM
小拓展
. 当前目录
.. 当前目录的上一级目录
文件管理命令
移动/切换目录
cd
# 移动/切换目录
cd(命令)
# 语法
cd+[argument] (动作对象)
cd /etc
cd /etc/yum
## 如果你在etc目录下
cd yum
# 返回你当前所在目录的上一级目录
cd ..
# 返回当前目录的家目录
## 普通用户的家目录都在/home下的和用户名相同的目录
cd
#返回上一次所在的目录
cd -
创建目录
mkdir
# 目录(蓝色)
# 语法
mkdir [Option] Directory
mkdir 选择 参数(动作对象)
# 在当前目录下创建abc目录
mkdir abc
# 在/tmp下创建abc目录
mkdir /tmp/abc
# 选项
-p 递归创建
-v 显示创建过程
# 在压根不存在的目录底下创建目录
mkdir -p /cro/sss
mkdir -p 路径名
mkdir:created directory ‘/cro/sss
(你创建了/cro/sss这个目录)
## 在当前目录的上一级创建suibian
mkdir ../suibian
# 序列用法
mkdir {1..10}
mkdir {a..z}
# 例:需要创建xxxa,xxxb,xxxc
mkdir -v xxx{a..c}
创建xxxa到xxxc并显示出来
# 小练习:
使用一条命令创建出下面的目录
/home/zls
/home/zls/test1
/home/zls/test2
/home/oldboy
/home/oldboy/test1
/tmp/oldboy
/tmp/oldgirl
/root/test/test1
/root/test/test2
/root/abc
/backup
# 答案
mkdir -pv /{home/{zls/test{1,2},oldboy/test1},tmp/{oldboy,oldgirl},root/{test/test{1,2},abc},backup}
创建文件
touch
# 语法
touch + 文件名
# 当前目录下创建xxx
touch xxx
# 在tmp目录下创建xxx
touch /tmp/xxx
# 序列
touch {1..10}
touch xxx{1..2}
touch {1..5}xxx
以树状结构展开目录
tree
如没有安装tree
# 安装tree
yum install -y tree
# 语法
tree 目录名
[root@localhost 19:43:13 4.2 ~]# tree 222
222
└── 333
└── 444
# 指定查看目录层级
-L
# 查看目录到第二层级
tree /root -L 2
/root
├── abc
├── anaconda-ks.cfg
└── test
├── test1
└── test2
# 只查看目录(不显示文件)
-d
tree /root -d
/root
├── abc
└── test
├── test1
└── test2
所见及所得
echo
# 所见及所得
echo
# 语法
echo 111
111
# 把内容挪动到文件夹中
echo 111 >222
#把111挪用到目录222里面
# 变量
echo $PS1
命令提示符
小拓展
# 删除
rm -rf 想要删除的 文件名/目录名
# 删除当前目录下的所有
rm -rf ./*
# 千万不要使用的命令!!!
rm -rf /*
今日知识点总结
mkdir 创建目录
# 创建xxx目录
mkdir xxx
-p 递归
-v 显示创建过程
touch 创建文件
创建 xxx 文件
touch xxx
echo 所见及所得
echo 111
111
tree 树状显示
tree + 目录名字
## 拓展
rm -fr 文件名/目录名