1 文件系统层次结构
FHS 文件系统层次结构标准 定义了在类 Unix 系统中的目录结构和目录内容
2 根下目录及目录内文件
/bin 普通命令所在的文件
/sbin root 用户命令所在的文件
/boot 引导系统启动,引导程序和系统内核
/dev 设备软件目录 如:光驱,磁盘,U盘,硬盘分区
/etc 存放系统配置的文件
/home 普通用户的家目录 如oldboy用户
/root root 用户的家目录
/lib 启动系统和运行命令所需的共享库文件和内核模块存放
/mnt 临时挂载存储设备的挂载点
/proc 内存信息,虚拟目录,进程信息内核信息 虚拟文件系统挂载点,不是真正的文件系统
/tmp 临时文件目录,可作为回收站使用
/usr 用户或系统软件应用的程序目录
/opt 第三方应用软件安装目录
/var 系统或服务的日志文件
1
2.1 /etc 存放系统配置的文件
2.1.1 网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0
(1)文件内容:
TYPE=Ethernet #指定网络类型(以太网)
BOOTPROTO=none #获取ip地址方式 none=手动 static=静态分配
NAME=eth0 #网卡名字
DEVICE=eth0
ONBOOT=yes #是否激活网卡
IPADDR=10.0.0.201 #IP地址
PREFIX=24 #子网掩码
GATEWAY=10.0.0.254 #网关
DNS1=10.0.0.254 #dns
(2)加载文件方法:
systemctl start network #启动网卡 start=启动
systemctl stop network #关闭网卡
systemctl restart network #重启网卡
systemctl enable network #开机自动启动网卡
systemctl disable network #开机禁止启动网卡
systemctl status network #查询网卡状态
ifdown eth0 && ifup eth0 #将指定网卡进行重启(企业常用)
2.1.2 系统DNS配置文件(域名解析文件):/etc/resolv.conf
(1)文件内容:
nameserver 10.0.0.254 指定dns服务器信息
(2)加载文件:文件配置完毕,立即生效
(3)域名无法访问异常解决方法:
修改resolv.conf 文件中的dns服务器地址信息,文件会立即生效
修改网卡配置文件,需要重启网卡服务,重启后网卡配置文件dns信息会覆盖resolv.conf 文件中的dns信息
2.1.3 主机名配置文件:/etc/sysconfig/network (6) /etc/hostname
centos6
查看主机名:hostname
临时修改:hostname yang
永久修改:vi /etc/sysconfig/network
centos7
查看主机名:hostname
临时修改:hostnamectl set-hostname yang(即使临时修改也是永久修改)
永久修改:vi /etc/hostname
2.1.4 配置开机设备自动挂载的文件:/etc/fstab
cat /etc/fstab
UUID=9fbc39a0-f32e-48a8-b3d8-ab4cc234ba61 / xfs defaults 0 0
UUID=f793bf23-18d3-4c51-9b8f-d47bc3730722 /boot xfs defaults 0 0
UUID=f06d6457-4eb0-4dc1-a790-feff4873fc3e swap swap defaults 0 0
(1) (2) (3)
(1)挂载的设备文件信息 :UUID表示系统设备标识信息
(2)挂载点目录信息
(3)文件系统类型 xfs ext3 ext4
2.1.5 存放开机自启动程序命令的文件:/etc/rc.local
利用此文件实现开机自动挂载光驱设备
①编辑/etc/rc.local
vi /etc/rc.local
mount /dev/cdrom /mnt
②修改文件的权限(添加执行权限)
chmod +x /etc/rc.d/rc.local
总结:此文件中编写的命令信息,会随系统启动自动运行
2.1.6 系统本地的 DNS 解析文件:/etc/hosts
2.1.7 配置系统的环境变量/ 别名等的文件:/etc/profile 及/etc/bashrc
(1)什么是变量:变量--书目录 变量的值---书的内容
(2)什么是环境变量:①系统已经设置好的变量 ②环境变量名称一般都为大写字母组成
export: 用于修改设置环境变量
alias: 查看别名和修改别名设置
PATH: 环境变量
echo $PATH:查看当前环境变量
source /etc/profile 或者 . /etc/profile 使修改后的变量生效
PATH是指环境变量,使用命令 echo $PATH即可查看当前环境变量,如果需要修改可以在后面进行追加。比如想将/etc/apache2/bin添加为环境变量,可写为:PATH=$PATH;/etc/apache2/bin然后回车即可。在执行一个程序的时候如果没有PATH的话,就需要写出路径名(绝对或者相对),如果路径在path中,则可以直接输文件名,系统自动会去寻找。
(3)题目:mv /bin/mv /tmp
①绝对路径运行命令
/tmp/mv /etc/hosts /tmp
②修改环境变量信息
临时修改:
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/tmp
永久修改:
vi /etc/profile
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/tmp
export PATH=$PATH:/tmp
source /etc/profile 或者 . /etc/profile
/etc/profile --- 设置环境变量和别名(全局配置---对所有用户都生效)
/etc/bashrc --- 设置环境变量和别名(全局配置)优先
~/.bash_profile --- 设置环境变量和别名(局部配置--- 只针对当前用户生效)
~/.bashrc --- 设置环境变量和别名(局部配置) 优先
2.1.8 系统启动设定运行级别等配置的文件:/etc/inittab
centos6(运行级别-7个) centos7(target)
0 关机级别 poweroff.target关机
1 单用户级别(修复系统/破解root用户密码) rescue.target 救援
2 多用户级别(没有网络的多用户) multi-user.target 多用户
3 多用户级别(正常) multi-user.target 多用户
4 未使用级别 multi-user.target 多用户
5 图形化级别 graphical.target 图形
6 重启级别 reboot.target 重启
如何查看系统级别: 如何查看系统target
runlevel systemctl get-default
如何修改系统级别 如何修改系统target
临时修改 systemctl set-default rescue.target
init 0
永久修改:
vi /etc/inittab
id:3:initdefaul
2.1.9 配置在用户登录终端前显示信息的文件:/etc/issue和/etc/issue.net
配置用户登录系统之前显示提示内容的文件:
/etc/issue:centos6
/etc/issue.net:centos7
配置用户登录系统之后显示提示内容的文件:/etc/motd
2.2 /usr 用户或系统软件应用的程序目录:
2.2.1 保存第三方软件的程序文件:/usr/local
(1)linux系统安装软件方法
①yum安装软件
直接下载软件,并安装
可以解决软件依赖关系
②rpm安装软件:将软件包进行下载
rpm -ivh 软件包名称.rpm
rpm -i install 安装
rpm -v 显示安装过程
rpm -h 以人类可读方式显示安装过程
rpm -qa 查看软件是否安装
rpm -ql 查看软件包内容
③编译安装:可以灵活配置软件功能/安装位置
④绿色安装:下载软件压缩包--解压--直接使用
2.3 /var/log 系统或服务的日志文件
2.3.1 记录系统或服务的运行状态信息/异常错误信息:vi /var/log/messages
2.3.2 记录用户登录的信息:vi /var/log/secure
日志文件如何查看:
tail -f /var/log/secure 实时监控查看一个文件内容的变化(日志) 取消查看 ctrl+c
tail(尾巴) 查看文件的后几行内容
tail -5 oldboy.txt 查看文件指定后几行内容(默认查看后10行)
head (头) 查看文件的前几行内容
head -5 oldboy.txt 查看文件指定前几行内容(默认查看前10行)
grep "aabb" oldboy.txt 查看指定内容的行信息
grep -i "failed" /var/log/secure 忽略大小写进行过滤
grep -A 2 "failed" /var/log/secure 显示过滤的指定行,以及后几行信息 -A == after
grep -B 2 "failed" /var/log/secure 显示过滤的指定行,以及前几行信息 -B == before
grep -C 2 "failed" /var/log/secure 显示过滤的指定行,以及相应前后几行信息 -C == center
2.4 /proc 内存信息,虚拟目录,进程信息内核信息虚拟文件系统挂 载点,不是真正的文件系统
2.4.1 cpu信息:/proc/cpuinfo
CPU信息:核数 路数
(1)cat /proc/cpuinfo
model name : Intel(R) Core(TM) i5-4440 CPU @ 3.10GHz 至强系列
processor : 0 --- 服务器CPU的核数 1核
physical id : 0 --- 服务器CPU的路数 1颗
统计CPU核心数:
grep -c "processor" /proc/cpuinfo
统计CPU路数:
grep "physical id" /proc/cpuinfo|uniq -c|wc -l
(2)lscpu:显示系统CPU硬件信息
CPU(s): 4 ---服务器CPU核心数
Socket(s): 2 ---服务器有几颗CPU
Core(s) per socket: 2 --- 每颗CPU有多少核心
2.4.2 内存信息:/proc/meminfo
cat /proc/meminfo :查看内存信息
free -h/-m:显示内存信息
-h:以人类可读方式
2.4.3 磁盘信息:/proc/mounts
cat /proc/mounts:查看磁盘信息
df -h 以人类可读方式查看信息
循环命令:
for name in {1..10};do cat /etc/services >>/tmp/oldboy.txt;done
十次循环将etc/services追加输出到/tmp/oldboy.txt
2.4.3 负载信息:/proc/loadavg
w或者uptime查看负载信息
cat /proc/loadavg
0.00 0.01 0.05
01 02 03
01. 1分钟平均的负载数值
02. 5分钟平均的负载数值
03. 15分钟平均的负载数值
负载数值 <= 服务器核心数量 16核
w 或者uptime
17:11:12 up 1:08, 2 users, load average: 0.00, 0.01, 0.05
系统时间 系统开机时间 管理系统用户数量
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 10.0.0.1 16:02 0.00s 14.65s 0.00s w
root pts/1 10.0.0.1 16:39 30:24 0.11s 0.11s -bash
01 02 03 04 05 06 07
01. 远程用户以什么用户身份进行连接
02. 连接主机的方式(远程连接/本地连接)
03. 远程主机的IP地址
04. 连接上的时间信息
05. CPU空闲的时间信息
06. CPU繁忙的时间信息
07. 用户正在做什么
补充:
echo "请不要修改hosts文件,稍等5分钟后再修改" >/dev/pts/1
root用户根据这个文件(/dev/pts)将信息传给/dev/pts/1中的用户
w命令操作常见问题:窗口显示过窄:w: 53 column window is too narrow