一、Linux
1. Linux 的应用领域及介绍

2. 网络连接的三种方式

3. Linux 目录介绍

目录名 | 描述 |
---|
/bin(binaries) | (/usr/bin、/usr/local/bin)存放常用指令 |
/boot | 存放启动 Linux 时使用的一些核心文件,如一些链接文件以及镜像文件 |
/dev(device) | 类似 windows 的设备管理器,把所有的硬件用文件形式进行映射 |
/etc(etcetera) | 所有系统管理所需要的配置文件和子目录,如 mysql 的 my.conf 配置文件 |
/home | 存放普通用户的目录 |
/lib(library) | 系统开机时所需要的最基本的动态链接库,类似 windows 下的 .dll 文件,几乎所有的应用程序都会使用到这些共享库 |
/media | Linux 系统会自动识别一些设备,如 U 盘、光驱等,当识别成功后,Linux 会把识别的设备挂载到此 |
/mnt | 临时挂载别的文件系统,可以将外部的存储挂载到 /mnt/ 上,如共享文件夹 |
/opt(optional) | 额外安装的软件包的存放位置,如 oracle 数据库包文件 |
/proc(process) | 虚拟的目录,它是系统内存的映射,访问此目录可以获取系统相关信息 |
/root | 超级权限者的主目录 |
/run | 是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除 |
/sbin(superuser binaries) | (/usr/sbin、/usr/local/sbin)存放系统管理员使用的系统管理程序 |
/srv | 存放一些服务启动之后需要提取的数据 |
/sys | 这是 Linux 2.6 内核的一个很大的变化,该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs |
/tmp(temporary) | 存放临时文件 |
/usr(unix shared resources) | 存放用户的应用程序和文件,类似 windows 下的 program files 目录 |
/var(variable) | 存放着不断扩充的东西,如系统日志 |
/lost + found | 此目录一般情况下内容为空,当系统非法关机后,自动存放一些文件 |
/usr/local | 软件安装的目标目录,一般是通过源码编译方式安装的程序 |
/selinux | security-enhanced linux,这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放 selinux 相关的文件的 |
4. vi 和 vim
5. 开机、关机、登录、注销
6. 用户管理
7. 用户、组相关的配置文件
8. 运行级别
级别 | 功能 |
---|
0 | 关机 |
1 | 单用户(找回丢失密码) |
2 | 多用户无网络服务 |
3 | 多用户有网络服务 |
4 | 系统未使用保留给用户 |
5 | 图形界面 |
6 | 重启 |
9. 帮助指令
10. 文件目录指令
键位 | 功能 |
---|
space | 下翻一页 |
enter | 下翻一行 |
q | 退出 |
ctrl + f | 下滚一屏 |
ctrl + b | 上滚一屏 |
= | 输出当前行号 |
:f | 输出文件名和当前行号 |
键位 | 功能 |
---|
space | 下翻一页 |
pagedown | 下翻一页 |
pageup | 上翻一页 |
/字串 | 向下搜索字串,n:向下查找 N:向上查找 |
?字串 | 向上搜索字串,n:向上查找 N:向下查找 |
q | 退出 |
11. 日期时间指令
12. 查找指令
13. 压缩和解压
参数 | 功能 |
---|
-c | 产生 .tar 打包文件 |
-v | 显示详细信息 |
-f | 指定压缩后的文件名 |
-z | 打包同时压缩 |
-x | 解包 .tar 文件 |
14. 组管理
15. 权限管理

字符 | 说明 |
---|
- | 普通文件 |
d | 目录 |
l | 链接(快捷方式) |
c | 字符设备文件,如鼠标、键盘 |
b | 块设备,如硬盘 |
16. 定时任务调度 crond
参数 | 功能 |
---|
-e | 编辑 crontab 定时任务 |
-l | 查询 crontab 定时任务 |
-r | 删除当前用户的所有 crontab 任务 |
占位符 | 含义 | 范围 |
---|
第一个 | 一个小时当中第几分钟 | 0 - 59 |
第二个 | 一天当中的第几小时 | 0 - 23 |
第三个 | 一个月当中的第几天 | 1 - 31 |
第四个 | 一年当中的第几个月 | 1 - 12 |
第五个 | 一周当中的星期几 | 0 - 7(0 和 7 都表示周日) |
符号 | 含义 |
---|
* | 代表任何时间。如第一个占位符为 * 代表一小时中的每分钟都执行一次命令 |
, | 代表不连续的时间。如 “0 8,12,16 * * *” 代表每天的 8、12、16 点整执行一次命令 |
- | 代表连续的时间范围。如 “0 5 * * 1-6” 代表周一至周六的 5 点整执行一次命令 |
*/n | 代表每隔多久执行一次。如 “*/10 * * * *” 代表每隔 10 分钟执行一次命令 |
17. 定时任务调度 at
参数 | 含义 |
---|
-m | 当指定的任务完成后,就给用户发送邮件,即使没有标准输出 |
-I | atq 的别名 |
-d | atrm 的别名 |
-v | 显示任务将要被执行的时间 |
-c | 打印任务的内容到标准输出 |
-V | 显示版本信息 |
-q<队列> | 使用指定的队列 |
-f<文件> | 从指定文件读入任务而不是从标准输入读入 |
-t<时间参数> | 以时间参数的形式提交要运行的任务 |
18. 磁盘分区、挂载

参数 | 含义 |
---|
-s | 指定目录占用大小汇总 |
-h | 带计量单位M、K、G |
-a | 包含文件 |
-c | 列出明细的同时,增加汇总值 |
–max-depth=1 | 子目录深度 |
19. 网络配置


20. 进程管理
参数 | 含义 |
---|
-a | 显示当前终端的所有进程信息 |
-u | 以用户的格式显示进程信息 |
-x | 显示后台进程 |

名称 | 含义 |
---|
USER | 用户名称 |
PID | 进程号 |
%CPU | 进程占用 CPU 的百分比 |
%MEM | 进程占用物理内存的百分比 |
VSZ | 进程占用虚拟内存大小(KB) |
RSS | 进程占用物理内存大小(KB) |
TT | 终端名称(缩写) |
STAT | 进程状态 |
STARTED | 进程启动时间 |
TIME | CPU 时间 |
COMMAND | 启动进程所用的命令和参数 |
参数 | 含义 |
---|
S- | 睡眠 |
s- | 该进程是会话的先导进程 |
N- | 进程优先级比普通优先级更低 |
R- | 正在运行 |
D- | 短期等待 |
Z- | 僵死进程 |
T- | 被跟踪或被停止 |
21. 服务管理
参数 | 功能 |
---|
-d 秒数 | 指定 top 命令刷新频率,默认为 3s |
-i | 不显示闲置或僵死的进程 |
-p | 指定进程号来动态监控某个进程的状态 |
22. rpm 和 yum
23. 搭建 JavaEE 环境
-
安装配置 Oracle Java 8
-
安装配置 tomcat8
-
安装配置 MySQL5.7
24. Shell 编程

#!/bin/bash
A=100
echo A=$A
unset A
echo A=$A
readonly B=200
echo B=$B
#!/bin/bash
echo args0=$0
echo args1=$1
echo args2=$2
echo args=$*
echo args_=$@
echo args_nums=$#
符号 | 功能 |
---|
= | 字符串比较是否相等 |
-lt | 小于 |
-le | 小于等于 |
-eq | 等于 |
-gt | 大于 |
-ge | 大于等于 |
-ne | 不等于 |
-r | 有读权限 |
-w | 有写权限 |
-x | 有执行权限 |
-f | 文件存在并且是一个常规文件 |
-e | 文件存在 |
-d | 文件存在并且是一个目录 |
if [ "ok" = "ok" ]
then
echo "equal"
elif[ "lcx" = "lcx" ]
echo "not equal"
else
echo "quit"
fi
case $1 in
"1")
echo "Monday"
;;
"2")
echo "Tuesday"
;;
*)
echo "other"
;;
esac
for i in "$*"
do
echo "args is $i"
done
echo "==========="
for j in "$@"
do
echo "args is $j"
done
SUM=0
for(( i=1; i<=$1; i++))
do
SUM=$[ $SUM+$i ]
done
echo "sum = $SUM"
SUM=0
i=0
while [ $i -le $1 ]
do
SUM=$[$SUM+$i]
i=$[ $i+1 ]
done
echo "The result is $SUM"
read -p "Please input a number:" NUMBER
echo "The number that you entered is $NUMBER"
read -t 10 -p "Please input a number:" NUMBER1
echo "The number you entered is $NUMBER1"
#!/bin/bash
function getSum() {
SUM=$[$n1+$n2]
echo "Sum is $SUM"
}
read -p "Input the first number:" n1
read -p "Input the second number:" n2
getSum $n1 $n2
25. Shell 之定时备份数据库
DIRECTORY=/data
DATETIME=$(date +%Y%m%d%H%M%S)
DB_HOST=localhost
DB_USER=root
DB_PWD=2020@mywife
DB_NAME=mine
[ ! -d "${DIRECTORY}/${DATETIME}" ] && mkdir -p "${DIRECTORY}/${DATETIME}"
mysqldump -h${DB_HOST} -u${DB_USER} -p${DB_PWD} ${DB_NAME} > ${DIRECTORY}/${DATETIME}/${DB_NAME}.sql
cd /${DIRECTORY}
tar -zcvf ${DIRECTORY}/${DATETIME}.tar.gz ${DATETIME}
rm -rf ${DIRECTORY}/${DATETIME}
find ${DIRECTORY} -atime +10 -name "*.tar.gz" -exec rm -rf {} \;
echo "Backup databse named ${DB_NAME} successfully"
crontab -e
30 2 * * * /home/bash/backup_mysql_mine.sh
26. apt 和 ssh 远程登录
命令 | 功能 |
---|
sudo apt-get update | 更新源 |
sudo apt-get install package | 安装包 |
sudo apt-get remove package | 删除包 |
sudo apt-cache show package | 获取包的相关信息 |
sudo apt-get source package | 下载该包的源代码 |
sudo apt-cache search package | 搜索软件包 |
sudo apt-get install package --reinstall | 重新安装软件包 |
sudo apt-get -f install | 修复安装 |
sudo apt-get remove package --purge | 彻底删除包,包括配置文件等 |
sudo apt-get build-dep package | 安装相关的依赖环境 |
sudo apt-get upgrade | 更新已安装的包 |
sudo apt-get dist-upgrade | 升级系统 |
sudo apt-cache depends package | 查询该软件包所依赖的包 |
sudo apt-cache rdepends package | 查询该包被那些包依赖 |
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
27. 日志管理
日志文件 | 说明 |
---|
/var/log/boot.log | 系统启动日志 |
/var/log/cron | 记录与系统定时任务相关的日志 |
/var/log/lasllog | 记录系统中所有用户最后一次的登录事件的日志。二进制文件,需使用 lastlog 命令查看 |
/var/log/mailog | 记录邮件信息的日志 |
/var/log/message | 记录系统重要消息的日志。系统出现问题时检查首选 |
/var/log/secure | 记录验证和授权方面的信息,只要涉及账户和密码的程序都会记录 |
/var/run/ulmp | 记录当前已经登陆的用户信息。此文件随用户登录、注销不断变化,只记录当前登录用户的的信息。需使用 w、who、users 等命令查看 |
/var/log/cups | 记录打印信息的日志 |
/var/log/dmesg | 记录了系统开机时内核自检的信息。可使用 dmesg 命令直接查看内核自检信息 |
/var/log/btmp | 记录错误登录的日志。二进制文件,需使用 lastb 命令查看 |
/var/log/wtmp | 永久记录所有用户的登录、注销信息,同时记录系统的启动、重启关机事件。二进制文件,需使用 last 命令查看 |
关键字 | 说明 |
---|
auth | ##pam产生的日志 |
authpriv | ##shh、ftp等登录信息的验证信息 |
corn | ##时间任务相关 |
kern | ##内核 |
lpr | ##打印 |
mail | ##邮件 |
mark(syslog)-rsyslog | ##服务内部信息,时间标识 |
news | ##新闻组 |
user | ##用户程序产生的相关信息 |
uucp | ##unix to unix copy 主机之间相关的通信 |
local 1-7 | 自定义的日志设备 |
关键字 | 说明 |
---|
debug | ##有调试信息的,日志通信最多 |
info | ##一般信息日志,最常用 |
notice | ##最具有重要性的普通条件的信息 |
warning | ##警告级别 |
err | ##错误级别,阻止某个功能或模块不能正常工作的信息 |
crit | ##严重级别,阻止整个系统或整个软件不能正常工作的信息 |
alert | ##需要立即修改的信息 |
emerg | ##内核崩溃等重要信息 |
none | ##什么不记录 |
参数 | 含义 |
---|
daily | 轮替周期是天 |
weekly | 轮替周期是周 |
monthly | 轮替周期是月 |
rotate digit | 保留的日志文件的个数。0 指没有备份 |
compress | 旧的日志文件进行压缩 |
create mode owner group | 建立新的日志文件同时指定新日志的权限、所有者、所属组 |
mail address | 日志轮替时,发送内容到指定邮件地址 |
missingok | 如果日志不存在,则忽略该日志的警告信息 |
notifempty | 如果日志为空文件,则不进行日志轮替 |
minsize size | 日志轮替的最小值 |
size 大小 | 大于指定大小才轮替,而不是按照时间轮替 |
dateext | 使用日期作为日志轮替文件的后缀 |
sharedscripts | 在此关键字之后的脚本只执行一次 |
prerotate/endscript | 在日志轮替之前执行脚本命令 |
postrotate/endscript | 在日志轮替时候执行脚本命令 |
28. 内核升级
29. Linux 系统备份与恢复
30. webmin 和 bt 运维工具