设为首页 收藏本站
查看: 1119|回复: 0

Shell编程时常用的系统文件

[复制链接]
YunVN网友  发表于 2018-8-21 10:27:38 |阅读模式
  防伪码:出淤泥而不染,濯清涟而不妖。
  10.1 Linux  系统目录结构
  /  根目录,所有文件的第一级目录
  /home  普通用户家目录
  /root  超级用户家目录
  /usr  用户命令、应用程序等目录
  /var  应用数据、日志等目录
  /lib  库文件和内核模块目录
  /etc  系统和软件配置文件
  /bin  可执行程序目录
  /boot  内核加载所需的文件,grub 引导
  /dev  设备文件目录,比如磁盘驱动
  /tmp  临时文件目录
  /opt  第三方软件安装目录
  10.2  环境变量文件
  8.1.1  系统级
  系统级变量文件对所有用户生效。
  /etc/profile # 系统范围内的环境变量和启动文件。不建议把要做的事情写在这里面,最好创建
  一个自定义的,放在/etc/profile.d 下
  /etc/bashrc # 系统范围内的函数和别名
  8.1.2  用户级
  用户级变量文件对自己生效,都在自己家目录下。
  ~/.bashrc # 用户指定别名和函数
  ~/.bash_logout # 用户退出执行
  ~/.bash_profile # 用户指定变量和启动程序
  ~/.bash_history # 用户执行命令历史文件
  开启启动脚本顺序:/etc/profile -> /etc/profile.d/*.sh -> ~/.bash_profile -> ~/.bashrc ->
  /etc/bashrc
  10.3  系统配置文件
  /etc/issue  系统版本
  /etc/hosts  主机名与 IP 对应关系
  /etc/reslov.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/fatab  硬盘自动挂载配置
  /etc/inittab  系统启动运行级别
  /etc/crontab 系统级任务计划
  /var/spool/cron  用户级任务计划,此目录下以用户名命名对应每个用户的任务计划
  /etc/cron.d  描述计算机任务计划
  /etc/hosts.allow  TCP 包访问列表
  /etc/hosts.deny  TCP 包拒绝列表
  /etc/skel  新账户默认环境文件
  /usr/share/doc  各软件的文档
  /etc/sshd_config  SSH 服务配置文件
  /var/log  系统和应用程序日志目录
  /var/spool/mail  邮件目录
  任务计划说明:
  # 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
  10.4 4 v /dev  目录
  /dev 目录下存放的是一些设备文件。
  /dev/hd[a-t]  IDE 设备
  /dev/sd[a-z]  SCSI 设备
  /dev/dm-[-9]  LVM 逻辑磁盘
  /dev/null  黑洞
  /dev/zeror  无限 0 数据流
  /dev/random 和/dev/urandom  随机数设备
  10.5 5 c /proc  目录
  /proc 是一个虚拟目录,数据存储在内存中,存放内核运行时的参数、网络信息、进程状态等。
  10.5 5 .1 /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  可用的设备列表
  10.5 5 .2 /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
  /proc/net/route  路由表
  /proc/net/nf_conntrack 当前连接追踪表
  10. .5 5 .3 /proc/sys
  这个目录下的文件可被读写,存了大多数内核参数,可以修改改变内核行为。所以修改这些文件要特
  别小心,修改错误可能导致内核不稳定。
  有四个主要的目录:
  fs # 文件系统各方面信息,包括配额、文件句柄、inode 和目录项。
  kernel # 内核行为的信息
  net # 网络配置信息,包括以太网、ipx、ipv4 和 ipv6。
  vm # Linux 内核的虚拟内存子系统,通常称为交换空间。
  /proc/sys/fs/dentry-state
  目录缓存状态,第一个值目录缓存总条目数量,
  第二个值未使用的条目数量,第三个值已经释
  放数量,第四个当前页所要求的系统,最后两
  个数字不常用,只显示 0
  /proc/sys/fs/file-max
  内核分配所有进程最大打开文件句柄数量,可
  适当增加此值
  /proc/sys/fs/file-nr
  只读,第一个值已分配的文件句柄数量,第二
  个值分配没有使用文件句柄数量,第三个值文
  件句柄最大数量。lsof
  /proc/sys/kernel/acct
  第一个值日志恢复所需空间百分比,第二个值
  百分比阈值,第三个值时间间隔
  /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
  coredump 控制 core 文件位置和保存格式
  echo  "/corefile/core-%e-%p-%t"  >
  /proc/sys/kernel/core_pattern
  /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/nf_conntrack_max  设置连接追踪的最大值
  /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/net/ipv4/tcp_keepalive_intvl  TCP 探测间隔时间(默认 75 秒)
  /proc/sys/net/ipv4/tcp_keepalive_probes
  发送 TCP 探测包(特殊的消息包,很小,专门
  检查存活)的总数量,总共 9 次,每次间隔时
  间是 75 秒,大约 11 分钟如果对方不应答内核
  就丢弃
  /proc/sys/net/ipv4/tcp_mem
  TCP 使用内存,单位页。第一个值内存使用下
  限,低于此值内核不做处理,第二个值超过,
  内核会进入压力模式,第三个值超过,就会拒
  绝分配 socket。
  /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
  10. .6 6 系统 其他 常用文件
  /sys/class/net
  shell 作为 TCP 客户端:
  /dev/tcp/host/port
  /dev/udp/host/port
  如果 host 和 port 是一个有效,Bash 打开一个 TCP 或 UDP 连接到对应的 socket。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-554599-1-1.html 上篇帖子: Shell编程基础(二) 下篇帖子: 通过shell脚本实现自动化安装LINUX-706737
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表