跳至主要內容
高级 Bash 脚本编程指南

高级 Bash 脚本编程指南

本教程内容转载自:https://github.com/LinuxStory/Advanced-Bash-Scripting-Guide-in-Chinese

感谢开源翻译!!!

Gitter chat


LinuxStory & Clay大约 5 分钟LinuxBash
第四部分 命令

第四部分 命令

掌握 Linux 命令是编写有效的 shell 脚本必不可少的序曲。

本章节涉及了下列的命令:


LinuxStory大约 2 分钟LinuxBash
第六部分 Google Shell 风格指南

第六部分 Google Shell 风格指南

1 背景

1.1 使用哪一种Shell

Bash是唯一被允许执行的shell脚本语言。

可执行文件必须以#!/bin/bash和最小数量的标志开始。请使set来设置shell的选项,使得用bash <script_name>调用你的脚本时不会破坏其功能。

限制所有的可执行shell脚本为bash使得我们安装在所有计算机中的shell语言保持一致性。


Google大约 17 分钟LinuxBash风格
常用知识

常用知识

如何查看当前服务器内核的版本

uname -r
cat /proc/version

Clay小于 1 分钟Linux
计划任务

计划任务

crontab命令被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。

语法

crontab(选项)(参数)

Clay大约 12 分钟Linux
管道及I/O重定向

管道及I/O重定向

标准输入、标准输出、标准错误

输出重定向

输出重定向(覆盖)

date > a.txt

输出重定向(追加)


Clay小于 1 分钟Linux
网络管理

网络管理

网络基础

常见的网络接口

eth0 以太网接口 lo 本地环回接口
br0 桥接接口 (虚拟交换机) vnet0 KVM虚拟机网卡接口

查看网络信息

ip addr //查看IP、掩码、MAC...
ip addr show eth0 //只显示eth0的信息
ip route //查看本机路由表
cat /etc/resolv.conf //查看DNS

Clay小于 1 分钟Linux
/etc/security/limits.conf 详解与配置

/etc/security/limits.conf 详解与配置

一、 /etc/security/limits.conf 详解

/etc/security/limits.conf 文件实际是 Linux PAM(插入式认证模块,Pluggable Authentication Modules)中 pam_limits.so 的配置文件,而且只针对于单个会话。 该设置不会影响系统服务的资源限制。还要注意 /etc/security/limits.d/ 的这个目录,


Clay大约 7 分钟Linux
进程管理

进程管理

静态查看进程 ps

ps命令用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。

  1. 运行(正在运行或在运行队列中等待)

  2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)

  3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)

  4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)

  5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)


Clay大约 20 分钟Linux
2
3
4
5
...
12