linnux目录结构
linnux系统常见目录及文件
linux目录结构
常见目录
目录名 | 职能 |
---|---|
bin | 存放二进制命令文件 |
sbin | 存放管理员二进制命令文件 |
etc | 存放系统或者服务的配置文件 |
mnt | 临时挂载目录(资源的入口) |
opt | 存放第三方软件(通常情况下就是软件的压缩包) |
proc | 内存相关信息 |
tmp | 临时存放数据 |
var | 经常变化的文件(日志文件) |
usr | 用户相关程序 |
目录结构说明
- linux根下⾯的⽬录是⼀个有层次的树状结构
- linux每个⽬录可以挂载在不同的设备(磁盘)上 挂载
当我们连接一个存储设备时,我们可以从dev目录下查找到
ls -l /dev/cdrom
lrwxrwxrwx. 1 root root 3 Jan 10 09:29 /dev/cdrom -> sr0
我们可以将其挂载到一个目录下:
mount /dev/cdrom /mnt/
挂载后可以通过/mnt/访问到这个存储设备的内容
也可以取消挂载:
unmount /mnt
etc目录下重要的数据文件
1./etc/fstab (filesystem table 系统挂载信息表)
磁盘 --- 分区格式化 --- 系统中可以看到磁盘设备 --- 挂载
临时挂载:mount /dev/cdrom/mnt
永久挂载:修改/etc/fatab文件
文件内容:
/dev/第⼀个分区 : /boot
/dev/第⼆个分区 : swap
/dev/第三个分区 : /
cat /etc/fstab # 查看⽂件内容
blkid # 查看磁盘分区
总结:实现磁盘存储设备,挂载操作永久⽣效,开机⾃动加载挂载信息
2./etc/rc.local (此文件中只能存放linux系统命令操作信息)
系统正常加载启动 --- 读取rc.local文件 --- 文件主要保存命令信息 --- 执行文件中的命令 --- 系统启动成功
# eg:我们可以在这个文件中加一个开机自动备份的功能
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /tmp/ifcfg-eth0.bak # 将文件备份到指定路径的命令
echo "cp /etc/sysconfig/network-scripts/ifcfg eth0 /tmp/ifcfg-eth0.bak" >> /etc/rc.local
# 将这条命令追加写到rc.local中
chmod +x /etc/rc.d/rc.local
运维操作规范(运维⼈员==救⽕队员)
1)操作之前进⾏检查 2)操作之前进⾏备份 3)操作之后进⾏确认 4)操作之后进⾏总结
具体操作:1)检查相应路径是否存在备份⽂件 --有备份⽂件:进⾏删除
2)先在命令⾏进行测试执⾏ 3)编辑开机⾃动加载命令配置⽂件rc.local 4)重启系统进⾏确认
3./etc/inittab (系统启动运行级别配置文件)
系统启动运⾏级别
系统启动时候:
A系统启动:⽹络服务运⾏ 安全服务运⾏ 存储服务运⾏ 01级 别
B系统启动:安全服务运⾏ 存储服务运⾏ 02级 别
C系统启动:存储服务运⾏ 03级 别
三种系统:运⾏启动级别不⼀样
centos6 (7种运⾏级别)
0 关机级别(init 0)
1 单⽤户模式(重置⽤户密码信息root 修复系统)
救援模式
2 多⽤户模式 NFS (没有⽹络服务)
3 多⽤户模式 (命令⾏模式)
4 未知 未使⽤
5 图形化界⾯模式(init 5)
6 重启级别
centos7 (target⽬标)
ls /usr/lib/systemd/system/runlevel*target -l # 查看文件命令
poweroff.target
rescue.target
multi-user.target
multi-user.target
multi-user.target
graphical.target
reboot.target
调整系统运行级别
centos6
init 级别信息 临时修改
vim /etc/inittab 永久修改
centos7
systemctl get-default 获取级别信息
systemctl set-default 修改了级别
4./etc/profile (配置环境变量信息或者别名信息⽂件)
类似于win中的环境变量配置,是linux中的环境变量特征
- 环境变量都⽤⼤写字⺟表示
- 环境变量可以被所有⽤户所使⽤
- 环境⼀般是系统安装就已经设置
# 第⼀个⾥程:定义变量
[root@jasonNB ~]# oldboy=123
# 第⼆个⾥程:调取变量信息
[root@jasonNB ~]# echo $oldboy
# 第三个⾥程:调整变量值信息
[root@jasonNB ~]# oldboy=456
[root@jasonNB ~]# echo $oldboy
5./etc/bashrc (设置别名信息)
常用于将一些命令缩写,来减少操作的复杂性
执行以下两句及结果
[root@vm ~]# ls -l /etc/hosts
-rw-r--r--. 1 root root 181 Dec 7 12:28 /etc/hosts
[root@vm ~]# ll /etc/hosts
-rw-r--r--. 1 root root 181 Dec 7 12:28 /etc/hosts
'''别名的定义既可以在profile⾥⾯也可以在bashrc⾥设置'''
/etc/profile 国法
/etc/bashrc 国法
~/.bashrc 家规
~/.bash_profile 家规
6./etc/motd(用户登录之后的提示信息)
[]# vi /etc/motd
将此段文本放进去
_oo0oo_
088888880
88" . "88
(| -_- |)
0\ = /0
___/'---'\___
.' \\\\| |// '.
/ \\\\||| : |||// \\
/_ ||||| -:- |||||- \\
| | \\\\\\ - /// | |
| \_| ''\---/'' |_/ |
\ .-\__ '-' __/-. /
___'. .' /--.--\ '. .'___
."" '< '.___\_<|>_/___.' >' "".
| | : '- \'.;'\ _ /';.'/ - ' : | |
\ \ '_. \_ __\ /__ _/ .-' / /
====='-.____'.___ \_____/___.-'____.-'=====
'=---='
那么当你下次用户登录时就会显示一个佛祖图像了
7./etc/issue.net(用户登录之前提示信息)
即连接之后登录之前的提示信息
usr目录下重要的数据文件
/usr/local/ 用于保存用户安装软件程序信息 类似于win中的C:\Program Files (x86)
linux安装软件的四种方式
-
yum安装软件
yum安装的软件会将其依赖的软件一并下好,安装起来非常方便
yum install -y tree vim bash-completion 安装 yum reinstall -y tree vim bash-completion 针对一些出问题的软件的重新安装
-
rpm包方式安装软件
无法解决软件依赖问题,你叫它下啥它下啥:
rpm -ivh xxx.rpm -i install 安装 -v verbose 显示详细信息 -h human 以⼈类更好看理解⽅式显示信息 rpm -qa tree -q query 查询 -a all 所有软件信息 rpm -ql vim-enhanced -l list 显示软件安装⽬录的列表信息 rpm -e tree 卸载软件 -e erase 擦出==删除
-
编译安装软件
安装软件更加灵活
类似于自定义安装,可以设置软件安装路径和指定软件功能信息等
-
二进制包安装软件
安装的软件拿来就可以直接运行,有点像可执行文件,小程序。
var目录下重要的数据文件
var目录存储一些经常发生变化的文件,主要就是log文件即日志文件
/var/log/messages
服务运⾏情况信息、系统运⾏或异常信息
/var/log/secure
用户登录信息保存文件,也会保存一些登录不成功的情况,我们可以检测这个文件出现的恶意登录状况做一些应对策略。
规律的查看日志信息
-
过滤工具grep
[..]# grep "Failed" /var/log/secure ~ 过滤出日志文件中含Failed的行
-
直接查看日志文件,可能会因为数据量过大而导致卡顿,所以必须要做切割处理
切割策略如下:
secure-0k > secure-100k > ⼤⼩范围10M > 切割secure bak01 secure ls -l /var/log/secure* # 查看默认切割策略 按天数切割
proc目录重要的数据文件
proc目录主要记录一些硬件的使用情况,对于真正的服务器而言,这是十分重要的一个文件夹,因为服务器的硬件参数是非常多的,而我们个人电脑上用虚拟机运行的linux系统占用的硬件就很少了
查看CPU信息的命令:lscpu
CPU(s): 4 整个服务器有多少核⼼
Core(s) per socket: 2 每颗CPU有多少核⼼
Socket(s): 2 服务器有⼏颗CPU
查看内存信息的命令:cat /proc/meminfo
MemTotal: 2030172 kB --- 服务器的总共内存容量
MemFree: 1755372 kB --- 服务器未使⽤的内存容量
MemAvailable: 1728900 kB --- 服务器还可以使⽤的容量
Buffers: 2076 kB --- 缓冲
Cached: 86716 kB --- 缓存
实时使用情况:free
free -h
查看磁盘\挂载信息:df -h
(命令) cat /proc/mounts
(文件记录)
查看负载情况:cat /proc/loadavg
(文件记录) w
(命令)
15:39:53 up 43 min, 2 users, load average: 0.00, 0.01, 0.03
当前时间 服务器运行时间 连接用户数 平均负载情况
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!