学习环境:
操作系统 | IP 地址 | 主机名 | 软件包 | 备注 |
CentOS7.5 | 192.168.200.111 | localhost |
实验初始配置: 所有主机关闭防火墙与 selinux
- [root@localhost ~]# iptables -F
- [root@localhost ~]# systemctl stop firewalld
- [root@localhost ~]# systemctl disable firewalld
- [root@localhost ~]# setenforce 0
- [root@localhost ~]# sed -i '/SELINUX/ s/enforcing/disabled/g' /etc/sysconfig/selinux
Linux 目录结构
树形目录结构:
根目录:
所有分区, 目录, 文件等的位置起点
整个树形目录结构中, 使用独立的一个 "/" 表示
不管计算机拥有多少个分区, 多少个硬盘, 操作系统使用时只能有一个跟
/root: 系统管理员 root 的宿主目录
/home: 普通用户的宿主目录
/boot: 系统内核, 启动文件
/dev: 设备文件
/etc: 配置文件
/lib /lib64: 库文件
/tmp: 临时文件
/media /mnt 默认挂载点
/bin: 所有用户可执行的命令
/sbin: 管理员可执行的管理命令
/usr /opt: 应用程序
/var/log: 日志文件等
cat,nl,tac,rev
用法: cat [选项]... [文件]...
将 [文件] 或标准输入组合输出到标准输出.
-n 显示内容的同时显示行号
-A 显示所有的字符 (通常 Windows 系统拷贝过来的文件无法直接 cat 到, 需要加此选项)
- [root@localhost ~]# cat -n /etc/hosts
- 1 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
- 2 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
- [root@localhost ~]# nl /etc/resolv.conf
- 1 # Generated by NetworkManager
- 2 nameserver 202.106.0.20
- 3 search localdomain
- [root@localhost ~]# tac /etc/hosts
- ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
- 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
more 全屏方式分页显示文件内容
用法: more [选项] 文件...
快捷键:
按 Enter 向下滚动一行
按空格键向下滚动一页
按 q 键退出
Less 与 more 基本相同, 但扩展功能更多
格式: Less [选项] 文件名 (一般不用选项)
快捷键:
按 PgUp,PgDn 键上下翻页
按 "/" 键查找内容,"n" 下一个,"N" 上一个
其他功能与 more 基本类似
head 查看文件开头的一部分内容, 默认显示 10 行, 可加选项调节
用法: head [选项]... [文件]...
- [root@localhost ~]# head -5 /etc/passwd
- root:x:0:0:root:/root:/bin/bash
- bin:x:1:1:bin:/bin:/sbin/nologin
- daemon:x:2:2:daemon:/sbin:/sbin/nologin
- adm:x:3:4:adm:/var/adm:/sbin/nologin
- lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
tail 查看文件结尾的一部分内容, 默认显示 10 行, 可加选项调节
用法: tail [选项]... [文件]...
-f 动态更新尾部的信息 = tailf
- [root@localhost ~]# tail -3 /etc/passwd
- tcpdump:x:72:72::/:/sbin/nologin
- MySQL:x:1000:1000::/home/MySQL:/sbin/nologin
- dhcpd:x:177:177:DHCP server:/:/sbin/nologin
wc 作用: 统计文件中的单词数量 (Word Count) 等
用法: wc [选项]... [文件]...
常用选项:
-l: 统计行数
-w: 统计单词个数
-c: 统计字节数
- [root@localhost ~]# wc -l /etc/passwd
- 45 /etc/passwd
- [root@localhost ~]# wc -w /etc/passwd
- 90 /etc/passwd
- [root@localhost ~]# wc -c /etc/passwd
- 2341 /etc/passwd
- [root@localhost ~]# wc /etc/passwd
- 45 90 2341 /etc/passwd
- grep
作用: 在文件中查找并显示包含指定字符串的行
用法: grep [选项]... PATTERN [FILE]...
-i: 查找时忽略大小写
-v: 反转查找, 输出与条件不相符的行
-E: 查找时支持正则表达式
-w: 查找时将条件视为完整单词
"^..." 表示以... 开头
"...$" 表示以... 结尾
"^$" 表示空行
egrep=grep -E
作用: 增强型过滤
格式: egrep [选项] "查找条件 1 | 查找条件 2 | 查找条件 3..." 目标文件
gzip
作用: 压缩, 选项为 1-9 的数字控制压缩级别, 数字越大压缩级别越高. 压缩后 文件格式为 ".gz"
格式: gzip [-9] 文件名
gunzip,gzip -d
作用: 解压缩格式为. gz 的压缩文件
格式: gunzip 文件名
gzip -d 文件名
bzip2
作用: 压缩, 选项为 1-9 的数字控制压缩级别, 数字越大压缩级别越高. 压缩后 文件格式为 ".bz2"
格式: bzip2 [-9] 文件名
bunzip2,bzip2 -d
作用: 解压缩格式为. bz2 的压缩文件
格式: bunzip2 文件名
bzip2 -d 文件名
tar
作用: 制作归档文件, 释放归档文件
格式:
归档: tar [选项 c...] 归档文件名 源文件或目录
释放: tar [选项 x...] 归档文件名 [-C 目标目录]
常用选项:
-c 创建. tar 格式的包文件
-x 解开. tar 格式的包文件
-v 输出详细信息
-f 表示使用归档文件(后面需紧跟归档文件名)
-p 打包时保留原始文件及目录的权限(不建议使用)
-t 列表查看包内的文件
-C 解包时指定释放的目标目录
-z 调用 gzip 程序进行压缩或解压
-j 调用 bzip2 程序进行压缩或解压
-P 打包时保留文件及目录的绝对路径(不建议使用)
--remove 选项打包压缩时可删除源文件
注意:
1,tar 命令的选项前可以省略 "-", 在解压时无需选择 "-z" 或 "-j", 命令可以自行识别
2,tar 命令通过 - zcf 选项创建打包压缩文件时(.tar.gz = .tgz)
额外扩展:
1,tar 命令实现增量备份
完整备份:
建立测试路径与档案
- [root@localhost ~]# mkdir test
- [root@localhost ~]# touch test/{
- a,b,c
- }
在 test 目录下生成三个文件
执行完整备份
[root@localhost ~]# tar -g snapshot -zcf full.tar.gz test/
查看 tarball 内容
- [root@localhost ~]# tar tf full.tar.gz
- test/
- test/a
- test/b
- test/c
差异 + 增量备份 :
新增一个档案, 并修改一个档案内容
- [root@localhost ~]# touch test/e
- [root@localhost ~]# echo 123> test/a
执行第二次的增量备份 (注意 tarball 档名)
[root@localhost ~]# tar -g snapshot -zcf full_2.tar.gz test
查看 tarball 内容
- [root@localhost ~]# tar tf full_2.tar.gz
- test/
- test/a
- test/e
还原备份资料: 清空测试资料
[root@localhost ~]# rm -rf test/
开始进行资料还原
- [root@localhost ~]# tar xf full.tar.gz
- [root@localhost ~]# tar xf full_2.tar.gz
查看测试资料
- [root@localhost ~]# ls test/
- a b c e
2, 打包某个目录下的所有文件时忽略某个文件
- [root@localhost ~]# mkdir /tardir
- [root@localhost ~]# touch /tardir/{
- 11,22,33,44,55
- }
- [root@localhost ~]# ls -l /tardir/
总用量 0
-rw-r--r-- 1 root root 0 12 月 14 16:59 11
-rw-r--r-- 1 root root 0 12 月 14 16:59 22
-rw-r--r-- 1 root root 0 12 月 14 16:59 33
-rw-r--r-- 1 root root 0 12 月 14 16:59 44
-rw-r--r-- 1 root root 0 12 月 14 16:59 55
[root@localhost ~]# tar zcf num.tar.gz --exclude=/tardir/11 --exclude=/tardir/22 /tardir
tar: 从成员名中删除开头的 "/"
- [root@localhost ~]# tar tf num.tar.gz
- tardir/
- tardir/33
- tardir/44
- tardir/55
或者
[root@localhost ~]# tar zcf num.tar.gz --exclude-from /tardir/excludefile /tardir
tar: 从成员名中删除开头的 "/"
- [root@localhost ~]# tar tf num.tar.gz
- tardir/
- tardir/33
- tardir/44
- tardir/55
- tardir/excludefile
3,tar 命令打包压缩时忽略目录
- [root@localhost ~]# tar zcf file.tar.gz -C /etc/ passwd
- [root@localhost ~]# tar tf file.tar.gz
- passwd
文本编辑器的作用
创建或修改文本文件
维护 Linux 系统中的各种配置文件
Linux 中最常用的文本编辑器
vi: 类 UNIX 操作系统的默认文本编辑器
VIM:VIM 是 vi 文本编辑器 (一般简称为 vi 编辑器) 的增强版本
三种工作模式
命令模式, 输入模式, 末行模式
不同模式之间的切换
a 在光标后插入内容
A 在光标所在行末尾插入内容
i 从当前光标前插入内容
I 在光标所在行行首插入内容
o 在当前光标下插入空行
O 在当前光标上插入空行
光标移动
复制, 粘贴, 删除
文件内容查找
撤销编辑及保存退出
保存文件及退出 vi 编辑器
打开新文件或读入其他文件内容
文件内容替换
常规操作的补充:
:x 保存退出 但如果未修改, 时间戳不改变
:w file 将当前文件另存为 file (VIM)
:X 加密(VIM)
:7 跳转到第 7 行
:1,$ co $ 从第一行到第最后一行复制, 到最后一行后
J 合并当前行和下一行
ctrl+r 对使用 u 命令撤销操作进行恢复
VIM 可视化模式操作:
VIM 学习工具: vimtutor
VIM 键盘图
来源: https://www.cnblogs.com/crushlinux/p/10121912.html