/ | 根目录,所有文件的第一级目录 |
/home | 普通用户家目录 |
/root | 超级用户家目录 |
/usr | 用户命令、应用程序等目录 |
/var | 应用数据、日志等目录 |
/lib | 库文件和内核模块目录 |
/etc | 系统和软件配置文件 |
/bin | 可执行程序目录 |
/boot | 内核加载所需的文件,grub 引导 |
/dev | 设备文件目录,比如磁盘驱动 |
/tmp | 临时文件目录 |
/opt | 第三方软件安装目录 |
环境变量文件
系统级
系统级变量文件对所有用户生效。
/etc/profile # 系统范围内的环境变量和启动文件。不建议把要做的事情写在这里面,最好创建一个自定义的,放在/etc/profile.d 下
/etc/bashrc # 系统范围内的函数和别名
用户级
用户级变量文件对自己生效,都在自己家目录下。
~/.bashrc # 用户指定别名和函数
~/.bash_logout # 用户退出执行
~/.bash_profile # 用户指定变量和启动程序
~/.bash_history # 用户执行命令历史文件
开启启动脚本顺序:/etc/profile -> /etc/profile.d/*.sh -> ~/.bash_profile -> ~/.bashrc ->/etc/bashrc
因此,我们可以把写的脚本放到以上文件里执行。
系统配置文件
/etc/issue | 系统版本 |
/etc/hosts | 主机名与 IP 对应关系 |
/etc/resolv.conf | DNS 服务器地址 |
/etc/hostname | 主机名 |
/etc/sysctl.conf | 系统参数配置文件 |
/etc/sudoers | sudo 权限配置 |
/etc/init.d | 服务启动脚本 |
/etc/sysconfig/network-scripts | 网卡信息配置目录 |
/etc/rc.d/rc.local | 系统 init 初始化完后执行,不建议将启动服务写在这里面,应创建自己的 systemd 或 udev |
/etc/fstab | 硬盘自动挂载配置 |
/etc/inittab | 系统启动运行级别 |
/etc/crontab | 系统级任务计划 |
/var/spool/cron | 用户级任务计划,此目录下以用户名命名对应每个用户的任务计划 |
/etc/cron.d | 描述计算机任务计划 |
/etc/hosts.allow | TCP 包访问列表 |
/etc/hosts.deny | TCP 包拒绝列表 |
/usr/share/doc | 各软件的文档 |
/etc/sshd_config | SSH 服务配置文件 |
/var/log | 系统和应用程序日志目录 |
/var/spool/mail | 邮件目录 |
crontab 任务计划说明:
# Example of job definition:
# .—————- minute (0 – 59)
# | .————- hour (0 – 23)
# | | .———- day of month (1 – 31)
# | | | .——- month (1 – 12) OR jan,feb,mar,apr …
# | | | | .—- day of week (0 – 6) (Sunday=0 or 7) OR
sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
/dev 目录
/dev 目录下存放的是一些设备文件。
/dev/hd[a-t] | IDE 设备 |
/dev/sd[a-z] | SCSI 设备 |
/dev/dm-[-9] | LVM 逻辑磁盘 |
/dev/null | 黑洞 |
/dev/zero | 无限 0 数据流 |
/proc 目录
/proc 是一个虚拟目录,在 Linux 系统启动后生成的,数据存储在内存中,存放内核运行时的参数、网络信息、进程状态等等。
/proc
/proc/[0-9]+ | 此目录下数字命名的目录是运行进程信息,目录名为 PID |
/proc/meminfo | 物理内存、交换空间等信息,free |
/proc/loadavg | 系统负载 |
/proc/uptime | 系统运行时间 计算系统启动时间: date -d “$(awk -F. ‘{print $1}’ /proc/uptime) second ago” +”%Y-%m-%d %H:%M:%S” 或 who -b |
/proc/cpuinfo | CPU 信息 |
/proc/modules | 系统已加载的模块或驱动,lsmod |
/proc/mounts | 文件系统挂载信息,mount |
/proc/swaps | swap 分区信息 |
/proc/partitions | 系统分区信息 |
/proc/version | 内核版本 |
/proc/stat | CPU 利用率,磁盘,内存页 |
/proc/devices | 可用的设备列表 |
/proc/net
/proc/net 目录存放的是一些网络协议信息。
/proc/net/tcp | TCP 状态连接信息,netstat |
/proc/net/udp | UDP 状态连接信息 |
/proc/net/arp | arp 信息表 |
/proc/net/dev | 网卡流量 |
/proc/net/snmp | 网络传输协议的收发包信息 |
/proc/net/sockstat | socket 使用情况,比如已使用,正在使用 |
/proc/net/netstat | 网络统计数据,netstat -s |
网络统计数据,netstat -s | 路由表 |
/proc/sys
这个目录下的文件可被读写,存了大多数内核参数,可以修改改变内核行为。所以修改这些文件要特别小心,修改错误可能导致内核不稳定。
有四个主要的目录:
fs # 文件系统各方面信息,包括配额、文件句柄、inode 和目录项。
kernel # 内核行为的信息
net # 网络配置信息,包括以太网、ipx、ipv4 和 ipv6。
vm # Linux 内核的虚拟内存子系统,通常称为交换空间。
/proc/sys/fs/file-max | 内核分配所有进程最大打开文件句柄数量,可适当增加此值 |
/proc/sys/fs/file-nr | 只读,第一个值已分配的文件句柄数量,第二个值分配没有使用文件句柄数量,第三个值文件句柄最大数量。lsof |
/proc/sys/kernel/ctrl-alt-del | 组合键重启计算机,只为 0 同步缓冲区到磁盘,1 为不同步 |
/proc/sys/kernel/domainname | 配置系统域名 |
/proc/sys/kernel/exec-shield | 配置内核执行保护功能,防止某类型缓冲区溢出攻击。0 为禁用,1 开启 |
/proc/sys/kernel/hostname | 配置系统主机名 |
/proc/sys/kernel/osrelease | 内核版本号 |
/proc/sys/kernel/ostype | 操作系统类型 |
/proc/sys/kernel/shmall | 设置共享内存的总量,以字节为单位 |
/proc/sys/kernel/shmmax | 设置最大共享内存段 |
/proc/sys/kernel/shmmni | 设置共享内存段最大数量 |
/proc/sys/kernel/threads-max | 设置最大允许线程数量 |
/proc/sys/kernel/pid_max | 设置最大允许创建的 pid 数量 |
/proc/sys/kernel/version | 显示最后一次编译内核时间 |
/proc/sys/kernel/random/uuid | 生成 uuid |
/proc/sys/kernel/core_pattern | 控制生成 core dump 文件位置和保存格式 |
/proc/sys/net/core/netdev_max_backlog | 设置数据包队列允许最大数量 |
/proc/sys/net/core/optmem_max | 设置 socket 允许最大缓冲区大小 |
/proc/sys/net/core/somaxconn | 每个端口最大监听队列长度 |
/proc/sys/net/core/rmem_default | 设置 socket 接收默认缓冲区大小,单位字节 |
/proc/sys/net/core/rmem_max | 设置 socket 接收最大缓冲区大小 |
/proc/sys/net/core/wmem_default | 设置 socket 发送默认缓冲区大小 |
/proc/sys/net/core/wmem_max | 设置 socket 发送最大缓冲区大小 |
/proc/sys/net/ipv4/icmp_echo_ignore_all 和 icmp_echo_ignore_broadcasts |
设置是否忽略 icmp 响应包和广播包,0 为不忽 略,1 为忽略 |
/proc/sys/net/ipv4/ip_default_ttl | 设置默认生存时间 |
/proc/sys/net/ipv4/ip_forward | 允许系统接口转发数据包,默认 0 为关闭,1 为 开启 |
/proc/sys/net/ipv4/ip_local_port_range | 指定使用本地 TCP 或 UDP 端口范围,第一个值 最低,第二个值最高 |
/proc/sys/net/ipv4/tcp_syn_retries | 限制重新发送 syn 尝试建立连接次数 |
/proc/sys/net/ipv4/tcp_synack_retries | syn ack 确认包尝试次数 |
/proc/sys/net/ipv4/tcp_syncookies | 是否启用 syn cookie,0 为关闭,默认 1 为开启 |
/proc/sys/net/ipv4/tcp_max_tw_buckets | 系统保持 TIME_WAIT 最大数量 |
/proc/sys/net/ipv4/tcp_tw_recycle | 是否启用 TIME_WAIT 快速收回,默认 0 为关闭, 1 为开启 |
/proc/sys/net/ipv4/tcp_tw_reuse | 是否启用 TIME_WAIT 复用,默认 0 为关闭,1 为开启 |
/proc/sys/net/ipv4/tcp_keepalive_time | TCP 连接保持时间(默认 2 小时),当连接活动,定时器会重新复位。 |
/proc/sys/vm/swappiness | 内核按此值百分比来使用 swap,值越小越不考虑使用物理内存,0 为尽可能不使用 swap |
/proc/sys/vm/overcommit_memory | 控制内存分配,默认 0 为内核先评估可用内存,如果足够允许申请,否则拒绝,1 为允许分配所有物理内存,2 为允许分配超过物理内存和交换空间总和的内存 |
/proc/sys/vm/overcommit_ratio | 指定物理内存比率,当 overcommit_memory=2时,用户空间进程可使用的内存不超过物理内存*overcommit_ratio+swap |