Linux系统相关软件的安装
安装vmware
vmware安装教程
https://blog.csdn.net/SoulNone/article/details/126681722 :
安装CentOS
CentOS安装教程
https://blog.csdn.net/SoulNone/article/details/126681722 :
安装vmtools
VMware Tools安装教程
https://blog.csdn.net/weixin_45035342/article/details/126638191 :
安装XShell
XShell安装教程
https://blog.csdn.net/SoloVersion/article/details/123854852 :
安装XFTP
XFTP安装教程
https://blog.csdn.net/weixin_44953395/article/details/112900516 :
Linux目录结构
目录详情
https://www.runoob.com/linux/linux-system-contents.html :
vi和vim的使用
Linux命令大全
Linux命令大全
https://www.runoob.com/linux/linux-command-manual.html :
运行级别
- 0
关机: - 1
单用户[找回丢失密码]: - 2
多用户状态没有网络服务: - 3
多用户状态有网络服务: - 4
系统未使用保留: - 5
图形界面: - 6
系统重启:
1 | 相关文件 |
用户管理
Linux系统是一个多用户多任务的操作系统
用户登录、 注销
- 登录时尽量少用root帐号登录
因为它是系统管理员, 最大的权限, 避免操作失误, 可以利用普通用户登录。 登录后再用, su - 用户名” 命令来切换成系统管理员身份” 。 - 在提示符下输入 logout 即可注销用户
。 - logout 注销指令在图形运行级别无效
在 运行级别 3 下有效, 。
添加用户
1 | useradd 用户名 |
用户组
类似于角色
- 新增组
1
groupadd 组名
- 删除组
1
groupdel 组名
- 给用户添加/修改组
1
2
3
4
5useradd -g 组名 用户名 新建用户并且给用户添加组
usermod -g 组名 用户名 修改用户的组
细节注意:
1.新建用户时如果没给用户添加组的话 会默认创建一个跟用户名一样名字的组, - 修改文件/目录所在的组
1
2
3chgrp 组名 文件名
例 chrop kitty hello.txt: - 用户和组的相关文件
- /etc/passwd
用户的配置文件 记录用户的各种信息,
每行的含义 : 用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell - /etc/shadow
口令的配置文件
每行的含义: 登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志 - /etc/group
组的配置文件 记录Linux包含的组的信息,
每行含义 : 组名:口令:组标识号:组内用户列表
- /etc/passwd
修改密码
1 | passwd 用户名 |
删除用户
1 | userdel 用户名 删除用户但是保留用户的主目录 |
切换用户
1 | su - 用户名 |
修改用户登录的初始目录
1 | usermod -d 目录名 用户名 |
root密码找回
- 首先
启动系统, 进入开机界面, 在界面中按, e“ 进入编辑界面” 。 - 进入编辑界面
使用键盘上的上下键把光标往下移动, 我到以, liux16“ 开头内容所在的行数” ” 在行的最后面, UTF-8“ 后输入” init=/bin/sh: 按Ctrl + x 进入单用户模式。 。 - 在光标闪烁的位置中输入
mount -o remount,rw / (注意: 各个单词间有空格): 完成后按键盘的回车键, 。 - 在新的一行最后面输入: passwd
完成后接键盘的回车键(Enter), 输入密码。 然后再次确认密码即可, 密码修改成功后, 会显示 passwd….的样式, 说明密码修改成功, 。 - 输入
touch /.autorelabel (注意: touh 后面有一个空格): 完成后按回车键, 。 - 输入
exec /sbin/init (注意: exec 后面有一个空格): 完成后按回车键, 等待系统自动修改密码(这个过程时间可能有点长, 耐心等待), 完成后, 系统会自动重启, 新的密码生效了, 。
实用指令
开机、 重启
1 | sync 把内存的数据同步到磁盘 |
文件/目录
- 显示当前目录的绝对路径
1
pwd
- 查看当前目录的所有内容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39tree [目录路径] 以树形结构展示目录
注意 如果提示没有tree: 可以使用 yum install tree 指令安装, 。
ls [选项] [目录路径] 以列表结构展示目录
常用选项:
-a 显示当前目录所有的文件和目录: 包括隐藏的, 。
-l 以列表的方式显示信息:
-h 文件大小展示处理:
-R 递归查询目录下所有的文件:
例 ls -al:
使用 ll 指令 显示的内容如下, :
-rwxrw-r-- 1 kitty root 1213 Feb 2 09:39 abc
前10位(-rwxrw-r--) 代表不同的含义, 如下所示, :
字符的含义:
(-) 代表的是普通文件 / 未分配权限
(d) 代表的是目录 相当于windows的文件夹,
(l) 代表的是链接 相当于windows的快捷方式,
(c) 代表的是字符设备文件 鼠标, 键盘,
(b) 代表的是块设备 比如硬盘,
(r) 代表的是可读权限
(w) 代表的是可写权限
(x) 代表的是可执行权限
位置代表的含义:
- 第0位 (-) 确定文件类型, -( d, l, c, b, )
- 第1-3位(rwx) 确定该文件 所有者 拥有该文件的可读, 可写、 可执行权限、
- 第4-6位(rw-) 确定该文件 所在组 拥有该文件的可读, 可写权限、 未分配可执行权限,
- 第7-9位(r--) 确定 其他用户 拥有该文件的可读权限, 未分配可写, 可执行权限、
- 其他说明
- (1) 子文件/目录数量
- (kitty) 所有者用户名
- (root) 所在组的组名
- (1213) 文件大小
- (Feb 2 09:39) 最后修改日期
- (abc) 文件名 - 切换目录
1
2
3cd ~ 回到登录用户主目录
cd .. 回到当前目录的上一级目录
cd /home 切换到home目录 - 创建目录
1
2
3
4
5
6mkdir [选项] 目录名
常用选项:
-p 创建多级目录: 。
例 mkdir -p /home/test: - 删除目录
1
2
3
4
5
6
7
8
9rm 目录名 只能删除空目录
rm -rf 目录名 可以删除非空目录
常用选项
-r 递归删除整个文件夹:
-f: 强制删除不提示
例 rm /home/test:
例 rm -rf /home/test: - 创建空文件
1
2
3touch 文件名
例 touch hello.txt: - 拷贝
1
2
3
4
5
6
7
8
9
10cp [选项] 目录或文件 拷贝到哪个目录
例:
1.拷贝hello.txt文件到/home/test目录下
cp hello.txt /home/test
2.拷贝home下的aaa目录到home的test目录下
cp -r /home/aaa /home/test
3.强制覆盖相同的文件 不在进行提示,
\cp -r /home/aaa /home/test - 移动
1
2
3
4
5
6
7
8
9
10
11mv 目录或文件 拷贝到哪个目录
例:
1.把当前目录下的文件移动到当前目录下 可以实现重命名的操作,
mv hello.txt hello1.txt
2.把hello.txt文件移动到home目录下
mv hello.txt /home
3.把hello.txt文件移动到home目录下 并且重命名为hello1.txt,
mv hello.txt /home/hello1.txt
4.把root下的test目录移动到home目录下
mv /root/test /home - 文件内容处理
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44cat [选项] 要查看的文件
常用选项
-n 显示行号:
例 cat -n hello.txt:
----------------------------------------------------------------------
less 要查看的文件
例 less hello.txt:
键盘指令
Space 向下翻一页
pagedown 向下翻一页
pageup 向上翻一页
/ 向下搜寻[字串]的功能 n; 向下查找: N; 向上查找:
? 向上搜寻[字串]的功能 n; 向上查找: N; 向下查找:
q 退出
----------------------------------------------------------------------
输入内容到控制台
echo $path
echo "hello world!"
----------------------------------------------------------------------
用于显示文件的开头部分
head 文件名 默认查看文件的前10行
head -n 15 文件名 查看文件的前15行数据
----------------------------------------------------------------------
用于显示文件的末尾部分
tail 文件名 默认查看文件的后10行
tail -n 15 文件名 查看文件的后15行数据
tail -f 文件名 实时追踪文档的更新
----------------------------------------------------------------------
输出重定向
> 覆盖写
>> 追加写
例:
1.把hello world!覆盖写入hello.txt
echo "hello world!" > hello.txt
2.把列表的内容追加写入hello.txt文件中
ls -l >> hello.txt
细节:
1.如果要写入的文件不存在 则会自动创建, - 快捷方式
1
2
3
4ln -s [原文件或目录] [软链接名] 给原文件创建一个软链接
例 在home目录下创建一个名为myroot的快捷方式: 指向地址为/root,
ln -s /root /home/myroot - 修改文件/目录权限
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28可用字符
u:所有者: g:所有组、 o:其他人、 a:所有人、
------------------------------------------------------------------------------------
第一种修改方式 +: -、 = 变更权限、
chmod u=rwx,g=rx,o=x 文件/目录
chmod o+w 文件/目录 给其他人添加文件/目录的可写权限
chmod a-x 文件/目录 去除所有人对文件/目录的可执行权限
例:
1.给abc文件的所有者可读可写可执行的权限 给所在组可读可执行权限, 给其它组可读可执行权限,
chmod u=rwx,g=rx,o=rx abc
2.给abc文件的所有者除去可执行的权限 给组添加可写的权限,
chmod u-x,g+w abc
3.给abc文件的所有用户添加可读的权限
chmod a+r abc
------------------------------------------------------------------------------------
第二种修改方式 通过数字变更权限:
4 代表 r: 可读权限, 2、 代表 w: 可写权限, 1、 代表 x: 可执行权限,
rwx 权限 可以用 7 表示, 因为, 4(r) + 2(w) + 1(x) = 7:
rw 权限 可以用 6 表示, 因为, 4(r) + 2(w) = 6:
rx 权限 可以用 5 表示, 因为, 4(r) + 1(x) = 5:
4 2、 1 自由组合相加、 代表不同的权限,
chmod 751 文件/目录
751 第一位代表的是所有者: 第二位代表的是组、 第三位代表的是其他人、
这个指令的含义是 给所有者 rwx 权限: 组 r-x 权限, 其他人 --x 权限,
例 将 /home/abc.txt 文件的权限修改成: rwxr-xr-x:
chmod 755 /home.abc.txt - 修改文件/目录所在的组
1
2
3
4
5
6
7
8
9chgrp [选项] 新的组 文件/目录
常用选项 -R: 如果修改的是目录: 则使目录下的所有子文件和目录都自动修改,
例:
1.将 /home/abc.txt 文件所在的组修改成 kitty
chgrp kitty /home/abc.txt
2.将 /home/abc 目录下所有的文件和目录所在的组都修改成 tom
chgrp -R tom /home/abc - 修改文件/目录的所有者
1
2
3
4
5
6
7
8
9
10chown [选项] 新的所有者 文件/目录 修改文件/目录的所有者
chown [选项] 新的所有者:新的组 文件/目录 修改文件/目录所有者和所在组
常用选项 -R: 如果修改的是目录: 则使目录下的所有子文件和目录都自动修改,
例:
1.将 /home/abc.txt 文件的所有者修改成 tom
chown tom /home/abc.txt
2.将 /home/abc 目录下所有的文件和目录的所有者都修改成tom
chown -R tom:tom /home/abc
时间日期
1 | date 显示当前时间 |
搜索查找
- find 指令
将从指定目录向下递归地遍历其各个子目录: 将满足条件的文件或者目录显示在终端, 。 1
2
3
4
5
6
7
8
9
10
11find [搜索哪个路径下的文件] [选项]
选项:
-name <文件名称> 按照指定的文件名查询模式查找文件
-user <用户名称> 查找属于指定用户名的所有文件
-size <文件大小> 按照指定的文件大小查找文件 +size 大于, -size 小于、 size 等于、 K, M、 G可用标识、 。
例:
find /home -name hello.txt 在home目录下搜索hello.txt文件
find /home -user kitty 在home目录下搜索Kitty相关的文件
find /home -size +200M 在home目录下搜索大于200M的文件 - locate 指令
- locate 指令第一次使用时
必须使用 updatedb 指令创建locate数据库, 。 - locate 指令可以快速定位文件路径
locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位搜索的文件。 。 - locate 指令无需遍历整个文件系统
查询速度较快, 为了保证查询结果的准确度。 管理员必须定期更新locate时刻, 。 1
2
3locate 要搜索文件名称
例 locate hello.txt:
- locate 指令第一次使用时
- grep 指令
过滤查找: 可以与 | 管道符号一起使用, 1
2
3
4
5
6
7
8
9
10grep [选项] 查找内容 源文件
常用选项:
-n 显示匹配行及行号
-i 忽略字母大小写
-v 只选择不匹配查找内容的行
例 查找hello.txt文件中: 包含你好的行, 两种写法,
grep -n "你好" /home/hello.txt
cat /home/hello.txt | grep -n "你好"
压缩和解压
- gzip / gunzip 指令
gzip 用于压缩文件: gunzip 用于解压缩文件, 1
2
3
4
5
6gzip 文件名称
gunzip 文件名称.gz
例:
gzip hello.txt
gunzip hello.txt.gz - zip / unzip 指令
zip 用于压缩文件: unzip 用于解压缩文件, 1
2
3
4
5
6
7
8
9
10
11
12zip [选项] 自定义压缩后的文件名.zip 将要压缩内容的路径
unzip [选项] 自定义压缩后的文件名.zip
常用选项:
-r 递归压缩 压缩整个目录,
-d 目录 指定解压后文件存放的目录
例:
1.把test文件及其包含的文件和子文件都压缩 压缩文件命名为mytest.zip,
zip -r mytest.zip test/
2.把mytest.zip解压缩到root目录下
unzip -d /root mytest.zip - tar 指令
既可以用来压缩文件: 也可以用来解压缩文件, 1
2
3
4
5
6
7
8
9
10
11
12
13
14tar [选项] 自定义压缩后的文件名.tar.gz 将要压缩内容的路径
常用选项:
-c 压缩文件
-x 解压文件
-v 显示详情信息
-f 指定压缩后的文件名
-z 打包同时压缩
例:
1.把 hello.txt 和 hello1.txt 文件打包压缩为 hello.tar.gz 文件
tar -czvf hello.tar.gz /home/hello.txt /home/hello1.txt
2.解压 hello.tar.gz 文件到root目录下
tar -xzvf hello.tar.gz -C /root
定时任务
设置系统在某个时间执行的特定命令或程序
- crontab 定时任务
一直执行: 。 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38crontab [选项]
常用选项:
-e 设置登录用户的定时任务
-l 查询登录用户的定时任务
-r 删除登录用户的定时任务
重启定时任务:
systemctl restart crond
时间参数说明 (* * * * *),
第一位 代表一小时中的第几分钟, 范围, 0-59( )
第二位 代表一天当中的第几小时, 范围, 0-23( )
第三位 代表一个月当中的第几天, 范围, 1-31( )
第四位 代表一年当中的第几个月, 范围, 1-12( )
第五位 代表一星期当中的星期几, 范围, 0-7( 0和7都代表星期日, )
特殊符号:
(*) 代表任何时间 如, (* * * * *) 代表每分钟执行一次:
(,) 代表不连续的时间 如, (0 8,12,16 * * *) 代表每天8点0分: 12点0分, 16点0分执行一次,
(-) 代表连续的时间范围 如, (0 5 * * 1-6) 代表周一到周六的每天5点0分执行一次:
(*/n) 代表每隔多久执行一次 如, (*/10 * * * *) 代表每隔10分钟执行一次:
例:
(45 22 * * *) 代表每天22点45分执行命令
(0 17 * * 1) 代表每周一的17点0分执行命令
(0 5 1,15 * *) 代表每月1号和15号的5点0分执行命令
(40 4 * * 1-5) 代表每周一到周五的4点40分执行命令
(*/10 4 * * *) 代表每天的凌晨4点 每隔10分钟执行一次命令,
(0 0 1,15 * 1) 代表每月1号和15号 每周1的0点0分都会执行命令, 。
细节注意 星期几和几号最好不要同时出现: 因为他们定义的都是天, 非常容易混乱, 。
例 每隔一分钟把 root 目录下的内容列表: 追加输入到 /home/log.txt 文件里,
crontab -e
进入vim编辑器:
输入 */1 * * * * ls -l /root >> /home/log.txt:
:wq保存
定时任务相关文件 /etc/crontab: - at 定时任务
只执行一次: 。 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38at [选项] [时间]
常用选项:
-m 当指定的任务被完成后 将给用户发送邮件, 即使没有标准输出,
-I atq的别名 查看任务,
-d atrm的别名 删除任务,
-v 显示任务将被执行的时间
-c 打印任务的内容到标准输出
-V 显示版本信息
-q 使用指定的队列
-f 从指定文件读入任务而不是从标准输入读入
-t 以时间参数的形式提交要运行的任务
时间参数:
1.接受在当天的hh:mm(小时:分钟 )式的时间指定 假如该时间已过去。 那么就放在第二天执行, 例如。 04:00: 。
2.使用midnight (深夜) noon (中午), teatime(饮茶时间, 一般是下午4点)等比较模糊的词语来指定时间, 。
3.采用12小时计时制 即在时间后面加上AM(上午)或PM(下午)来说明是上午还是下午, 例如。 12PM: 。
4.指定命令执行的具体日期 指定格式为 month day (月 日) 或 mm/dd/yy (月/日/年) 或 dd.mm.yy (日.月.年), 指定的日期必须跟在指定时间的后面, 例如。 04:00 2021-03-01: 。
5.使用相对计时法 指定格式为: now + count time-units。 now就是当前时间, time-units是时间单位这里能够是minutes(分钟), hours(小时)、 days(天)、 weeks( 星期)、 count是时间的数量。 几天, 几小时, 例如。 now + 5 minutes: 。
6.直接使用today(今天) tomorrow(明天)来指定完成命令的时间、
细节注意:
1.at命令是一次性定时计划任务 at的守护进程atd会以后台模式运行, 检查作业队列来运行, 。
2.默认情况下 atd守护进程每60秒检查作业队列, 有作业时, 会检查作业运行时间, 如果时间与当前时间匹配, 则运行此作业, 。
3.at命令是一次性定时计划任务 执行完一个任务后不再执行此任务了, 。
4.在使用at命令的时候 一定要保证atd进程的启动, 可以使用相关指令来查看, 。
5.定时任务执行完成后 任务会自动删除,
例:
1.2天后的下午五点执行指令 /bin/ls /home:
at 5pm + 2 days 回车执行指令
at> /bin/ls /home 然后输入定时任务要执行的指令 再输入两次 Ctrl + D 保存指令,
2.明天17点钟 输出时间到指定文件中 /home/date.log,
at 5pm tomorrow
at> date >> /home/date.log
3.两分钟后 输出时间到指定文件中 /home/date.log,
at now + 2 minutes
at> date >> /home/date.log
帮助指令
- 获得帮助信息
1
2
3man 命令或配置文件
例 man ls: - 获取shell内置命令的帮助信息
1
2
3help 命令
例 help ls:
其他指令
1 | more 基于VI编辑器的文本过滤器 |
磁盘分区/挂载
硬盘说明
1.Linux硬盘分IDE硬盘和SCSI硬盘
2.对于IDE硬盘
3.对于SCSI硬盘则标识为
分区/挂载
1.Linux来说无论有几个分区
2.Linux采用了一种叫
3.分区跟文件目录是对应的
1 | fdisk /dev/sdb 输入指令开始进行分区 |
磁盘查询
1 | lsblk -f 查看磁盘分区列表 |
网络环境配置
查看网络配置
1 | ifconfig |
监控网络状态
1 | netstat [选项] |
设置指定IP地址
1 | 需要修改配置文件 |
设置主机名
1 | hostname 查看当前主机名 |
hosts映射
1 | 需要修改配置文件 |
主机名解析过程
hosts
DNS
解析过程
- 浏览器先检查浏览器缓存中有没有该域名解析IP地址
有就先调用这个IP完成解析, 如果没有, 就检查DNS解析器缓存, 如果有直接返回IP完成解析, 这两个缓存。 可以理解为 本地DNS解析器缓存, 一般来说。 当电脑第一次成功访问某一网站后, 在一定时间内, 浏览器或操作系统会缓存它的IP地址(DNS解析记录), 。 - 如果 本地DNS解析器缓存 没有找到对应映射
则检查系统hosts文件中有没有配置对应的域名IP映射, 如果有, 则完成解析并返回, 。 - 如果 本地DNS解析器缓存 和 hosts文件 中均没有找到对应的IP
则到域名服务DNS进行解析域名,
进程管理
在Linux中
每个进程都可能以两种方式存在
一般系统的服务都是以后台进程的方式存在
查看进程
1 | ps [选项] |
查看进程树
1 | pstree [选项] |
动态监控进程
top 与 ps 指令很相似
1 | top [选项] |
终止进程
1 | kill [选项] 进程识别号 |
服务管理
服务(service)本质就是进程
开机的流程
开启/关闭服务
1 | service 服务名 [start | stop | restart | reload | status] |
设置服务自启动
1 | 查看服务开机启动状态, grep 可以进行过滤 |
防火墙
在真正的生产环境
1 | firewall-cmd --permanent --add-port=端口号/协议 打开端口 |
日志管理
CentoS6.x 日志服务是 syslogd
配置文件
rsyslogd 日志服务是一个后台程序
1 | 配置文件时的格式为 |
启动日志服务
1 | ps aux | grep rsyslogd 查看日志服务是否运行 |
自定义日志
1 | 修改修改配置文件 |
日志轮替
日志轮替就是把旧的日志文件移动并改名
centos7使用 logrotate 进行日志轮替管理
如果配置文件中有 dateext 参数
如果配置文件中没有 dateext 参数
日志轮替之所以可以在指定的时间备份日志
1 | logrotate 配置文件 |
查看内存日志
1 | journalctl 查看全部 |
备份与恢复
Linux 的备份和恢复有两种方式
- 把需要的文件或者分区用 TAR 打包
下次需要恢复的时候, 再解压开覆盖即可, 。 - 使用 dump 和 restore 命令
。 1
2
3
4yum -y install dump
yum -y install restore
细节注意 有可能安装 dump 备份指令时: restore 恢复指令也一起安装了, 那就不需要再执行 yum -y install restore 安装了, 。
- dump 支持分卷和增量备份
增量备份是指备份上次备份后, 修改/增加过的文件, 也称差异备份, 。 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25语法说明
:
dump [-cu] [-123456789] [-f <备份后文件名>] [-T <日期>] [目录或文件系统]
dump -[w | W] 显示需要备份的文件及其最后一次备份的层级 时间, 日期,
cat /etc/dumpdates 可以查看备份的文件系统 层级, 日期与时间等,
常用选项:
-c 创建新的归档文件 并将由一个或多个文件参数所指定的内容写入归档文件的开头, c 可以是[0|1|2|3|4|5|6|7|8|9], 例, -1u:
-0123456789 备份的层级 0为最完整备份。 会备份所有文件, 若指定0以上的层级。 则备份至上一次备份以来修改或新增的文件, 到9后, 再次轮替,
-f <备份后文件名> 指定备份后文件名
-j 调用 bzlib 库压缩备份文件 也就是将备份后的文件压缩成 bz2格式, 让文件更小,
-T <日期> 指定开始备份的时间与日期
-u 备份完毕后 在 /etc/dumpdares 中记录备份的文件系统, 层级, 日期与时间等,
-t 指定文件名 若该文件已存在备份文件中, 则列出名称,
-W 显示需要备份的文件及其最后一次备份的层级 时间, 日期,
-w 与 -W 类似 但仅显示需要备份的文件,
例 将 /boot 分区所有内容备份到 /opt/boot.bak0.bz2 文件中: 备份层级为 0,
dump -0uj -f /opt/boot.bak0.bz2 /boot
在之前备份 0 的前提下 进行增量备份, 可以增量到 9, 然后继续从 0 开始备份,
dump -1uj -f /opt/boot.bak1.bz2 /boot
细节注意:
1.目录文件不支持增量备份 只有分区才可以,
2.通过 dump 指令 和 crontab 指令搭配 可以实现自动备份,
3.备份完成后 最好把备份文件放到其他服务器或保存到硬盘, 。 - restore 用来恢复已备份的文件
可以从 dump 指令生成的备份文件中恢复原文件, 。 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17语法说明
:
restore [模式选项] [选项]
模式说明 下面四个模式: 不能混用, 在一次命令中, 只能指定一种, 。
-C 使用对比模式 将份的文件与已存在的文件相互对比, 。
-i 使用交互模式 在进行还原操作时, restors指令将依序询间用户,
-r 进行还原模式
-t 查看模式 看备份文件有哪些文件,
常用选项:
-f 备份文件 从指定的文件中读取备份数据 进行还原操作,
例:
restore -r -f /opt/boot.bak0.bz2 //恢复到第1次完全备份状态
restore -r -f /opt/boot.bak1.bz2 //恢复到第2次增量备份状态
细节注意 如果有增量备份: 需要把增量备份文件也进行恢复, 按增量顺序来恢复即可, 。
rpm/yum
RPM 是RedHat Package Manager
1 | 软件包名 |
YUM 是一个Shell前端软件包管理器
1 | yum list | grep 过滤 查询YUM服务器 |
Linux内核升级
1 | uname -a 查看当前的内核版本 |
安装JDK
1 | mkdir /opt/jdk 创建存放JDK安装包的目录 |
安装MAVEN
1 | mkdir /opt/maven 创建存放MAVEN安装包的目录 |
安装Tomcat
1 | mkdir /opt/tomcat 创建存放Tomcat安装包的目录 |
Shell编程
Shell是一个命令行解释器
脚本运行
Shell 脚本后缀一般为 .sh
脚本常用的执行方式:
方式1
方式2
1 | vim hello.sh 创建脚本文件 |
变量
全局变量
系统变量
自定义变量
撤销自定义变量
静态变量
位置参数变量
预定义变量
1 | #!/bin/bash |
运算符
加( + )
第一种写法
第二种写法
第三种写法
1 | #!/bin/bash |
条件判断
1 | 单分支 |
循环
1 | 基本语法一 |
控制台输入
1 | 基本语法 |
函数
1 | 系统函数有很多 |
学习资源
- 视频
- 2021 韩顺平 一周学会Linux
https://www.bilibili.com/video/BV1Sv411r7vd:
- 2021 韩顺平 一周学会Linux
- 书籍
鸟哥的 Linux 私房菜《 》 http://cn.linux.vbird.org/linux_basic/linux_basic.php:
- 文档
- Linux 工具快速教程
https://linuxtools-rst.readthedocs.io:
- Linux 工具快速教程
- 社区
- Linux 中国
https://linux.cn/:
- Linux 中国
- 工具
- Linux 命令搜索
https://wangchujiang.com/linux-command: - Linux 命令大全手册
https://www.linuxcool.com/: - Linux 命令示例
http://linux-commands-examples.com/: - 宝塔 Linux 面板
https://www.bt.cn/:
- Linux 命令搜索
- 实战
- 蓝桥云课 Linux 基础入门
https://www.lanqiao.cn/courses/1: - 腾讯云动手实验室
https://cloud.tencent.com/developer/labs: - 阿里云体验实验室
https://developer.aliyun.com/adc/labs/: - 阿里云知行实验室
https://start.aliyun.com/: - 华为云沙箱实验室
https://lab.huaweicloud.com/:
- 蓝桥云课 Linux 基础入门