云计算全栈-系统管理04-目录和文件管理(二)
作者信息: 房佳亮 (crushlinux@163.com)
学习环境:
操作系统
|
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编辑器
打开新文件或读入其他文件内容
文件内容替换
常规操作的补充:
- 😡 保存退出 但如果未修改,时间戳不改变
- :w file 将当前文件另存为file (vim)
- :X 加密(vim)
- :7 跳转到第7行
- :1,$ co $ 从第一行到第最后一行复制,到最后一行后
- J 合并当前行和下一行
- ctrl+r 对使用u命令撤销操作进行恢复
vim可视化模式操作:
vim学习工具:vimtutor
vim键盘图
版权声明:本文为crushlinux原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。