文章目录
1 Linux目录结构
1.1 Linux根目录
根目录:
- 所有分区、目录、文件等的位置起点
- 整个树形目录结构中,使用一个独立的“/”表示
一级目录 | 功能(作用) |
---|---|
/root/ | root 的主目录。普通用户主目录在 /home/ 下,root 主目录直接在“/”下 |
/bin/ | 存放系统命令,普通用户和 root 都可以执行。放在 /bin 下的命令在单用户模式下也可以执行 |
/boot/ | 系统启动目录,保存与系统启动相关的文件,如内核文件和启动引导程序(grub)文件等 |
/dev/ | 设备文件保存位置 |
/etc/ | 配置文件保存位置。如用户信息、服务的启动脚本、常用服务的配置文件等 |
/home/ | 普通用户的主目录(也称为家目录)。 |
/lib/ | 系统调用的函数库保存位置 |
/media/ | 挂载目录。系统建议用来挂载媒体设备,如软盘和光盘 |
/mnt/ | 挂载目录。系统建议这个目录用来挂载额外的设备,如 U 盘、移动硬盘和其他操作系统的分区 |
/misc/ | 挂载目录。系统建议用来挂载 NFS 服务的共享目录。 |
/opt/ | 第三方安装的软件保存位置。 |
/sbin/ | 保存与系统环境设置相关的命令,只有 root 可以使用这些命令进行系统环境设置,但也有些命令可以允许普通用户查看 |
/srv/ | 服务数据目录。一些系统服务启动之后,可以在这个目录中保存所需要的数据 |
/tmp/ | 临时目录。系统存放临时文件的目录,在该目录下,所有用户都可以访问和写入。建议此目录中不能保存重要数据,最好每次开机都把该目录清空 |
1.2 常见的子目录
常见子目录:
/root /bin /boot /dev /etc /home /var /usr /sbin
/bin | 二进制文件,可执行文件,也可能存在别处,默认使用较多所有用户软连接文件 |
---|---|
/sbin | 管理员可使用的二进制文件 |
/boot | 系统内核、启动文件 |
/dev | 硬件文件(黄色) |
/etc | 配置文件等同于windows 注册表,一般都是文本文件 |
/run | 运行的内存中文件 |
/tmp | 临时文件 |
/usr | 应用程序和操作系统相关的文件 |
/var | 日志文件,数据变化的 |
/home | 普通用户的家目录的上级目录zhangsan目录会在 home |
/root | 系统管理员的目录上 /root |
/lib | 动态库文件 类似于windows 的dll文件 |
/proc | 主要保存系统的内核、进程、外部设备状态和网络状态等 |
/media | 可移动设备 |
/mnt | 默认挂载点 |
/opt | 第三方应用程序安装所在目录程序 |
2 查看及检索文件
2.1七类常见的linux的文件
第一个字符 | 文件类型 |
---|---|
- | 普通文件,包括纯文本文件、二进制文件、各种压缩文件等。 |
d | 目录文件(directory),类似 Windows 系统中的文件夹。 |
b | 块设备文件(block),就是保存大块数据的设备,比如最常见的硬盘。 |
c | 字符设备文件(character ),例如键盘、鼠标等。 |
s | 套接字文件(socket),套接字文件一般隐藏在 /var/run/ 目录下,用于进程间的网络通信 |
p | 管道文件(pipe),其主要作用是解决多个程序同时存取一个文件所造成的错误。 |
l | 符号链接文件link,类似 Windows 系统中的快捷方式。 |
普通文件 | 包括纯文本文件、二进制文件、各种压缩文件等 |
2.2 查看小文件内容—cat
格式:cat [选项] 文件名(文件名可以是单个也可以是多个)
例如:
[root@fyr home]# cat /etc/centos-release //查看你系统内核版本
[root@fyr home]# cat /etc/sysconfig/network-scripts/ifcfg-ens33 //查看文件
多个显示顺序看你命令文件的排列顺序
[root@fyr home]# echo "1" > 1.txt
[root@fyr home]# echo "2" > 2.txt
[root@fyr home]# cat 1.txt 2.txt
[root@fyr home]# cat 2.txt 1.txt
选项 | 效果 |
---|---|
-n | 显示行号包括空行 |
-b | 跳过空白行编号 |
-s | 将所有的连续的多个空行替换为一个空行(压缩成一个空行) |
-A | 显示隐藏字符 |
2.3 查看大文件内容—more
格式:more [选项] 文件名
基本操作
交互指令 | 功能 |
---|---|
h 或 ? | 显示 more 命令交互命令帮助 |
q 或 Q | 退出 more |
v | 在当前行启动一个编辑器 |
:f | 显示当前文件的文件名和行号 |
!<命令> 或 :!<命令> | 在子Shell中执行指定命令 |
回车键(Enter键) | 向下移动一行 |
空格键 | 向下移动一页 |
Ctrl+l | 刷新屏幕 |
= | 显示当前行的行号 |
’ | 转到上一次搜索开始的地方 |
Ctrf+f | 向下滚动一页 |
. | 重复上次输入的命令 |
/ 字符串 | 搜索指定的字符串 |
d | 向下移动半页 |
b | 向上移动一页 |
[root@fyr home]# ls -lh /etc/*.conf | more //命令显示过多也可以使用管道 加more查看
不可以向上翻页
2.4 查看大文件内容—less
与more 命令相同,但扩展功能更多
格式:less [选项] 文件名
- 可以使用"/ “键查找,” n "键向下, " N"键向上查找
- Page Up 向上翻页,Page Down 向下翻页
- 其余参考more
2.5 查看开头、结尾部分—head/tail
格式:head -n 文件名 (不加默认开头十行)
tail -n 文件名 (不加默认结尾十行)
tail -f 文件名 (实时跟踪最后十行)
例如:
2.6 统计文件内容—wc
格式:wc [选项]... 目标文件..
常用命令
-l | 统计行数 |
---|---|
-w | 统计单词个数 |
-c | 统计字节数 |
[root@fyr home]# find /etc/ -name "*.conf" |wc -l
[root@fyr home]# find /etc/ -name "*.conf"
注意单词的分隔符
案例一:-l统计行数
案例二:-w统计单词个数
[root@fyr home]# find /etc/passwd |wc -w
案例三:-c统计字节数
[root@fyr home]# find /etc/passwd |wc -c
案例四:
[root@fyr home]# wc /etc/hosts
2.7 检索和过滤文件—grep
文本三剑客 grep sed awk (流编辑器,可以看成一种语言)
格式: grep [选项]… 查找条件 目标文件
常用命令
-i | 查找时忽略大小写 |
---|---|
-v | 反向查找,输出与查找条件不相符的行 |
-o | 只显示匹配项 |
-f | 对比两个文件的相同内容 |
查找条件设置
- 要查找的字符串以双引号括起来单引号也可以
- “^……”表示以……开头,“……$”表示以……结尾
- “^$”表示空行
举例一:
[root@fyr home]# grep "ftp" /etc/passwd
举例二:查找除#空格以外的内容
[root@fyr home]# grep -v "^#" /etc/yum.conf | grep -v "^$"
3 备份及恢复文档
3.1 压缩解压缩—gzip bzip2
9代表压缩比率,9最大1最小,gzip的压缩率 要高于bzip2
gunzip等价于gzip -d
bunzip2等价于bzip2
格式:
gzip [-9] 文件名… 提高压缩比例,但是文件较大时效率会低
gzip -d .gz格式的压缩文件 d就是解压
bzip2 [-9] 文件名…
bzip2 -d .bz2格式的压缩文件
特点:
1.无法压缩文件夹
2.压缩后源文件消失
3.用-k选项,bzip2可保留源文件,gzip不可以
案例一:
[root@fyr home]# gzip -9 10.log //不写-9直接默认压缩
[root@fyr home]# gzip -d 10.log
案例二:
[root@fyr home]# gzip *.log
#压缩后源文件没了 可以使用-k 保留源文件centos8 特性
[root@fyr home]# gzip -d *.log
[root@fyr home]# gzip -d *.log.gz
扩充:
unzip解压zip的文件
3.2 归档—tar
命令主要用于对目录和文件进行归档。在实际的备份工作中,通常在归档的同时也会将包文件进行压缩(需要调用前面的gzip或bzip2命令),以节省磁盘空间。使用tar命令时,选项前的w-”号可以省略。
格式:
tar [选项] ... 归档文件名(压缩包名字) 源文件或目录
tar [选项] ... 归档文件名 [-C 目标目录]
常用命令
-c | 创建(Create).tar 格式的包文件 |
---|---|
-x | 解开.tar 格式的包文件 |
-C | 解压时指定释放的目标文件夹 指定目录 |
-f | 表示使用归档文件(一般都要带上表示使用tar) |
-v | 输出详细信息(Verbose) |
-j | 调用 bzip2 程序进行压缩或解压 |
-z | 调用 gzip 程序进行压缩或解压 |
tar [zcvf]... 归档文件名 源文件或目录 打包gzip
tar [jcvf]... 归档文件名 源文件或目录 打包bzip2
tar [zxvf]... 归档文件名 [-C 目标目录] 解压gzip
tar [jxvf]... 归档文件名 [-C 目标目录] 解压bzip2
[root@fyr home]# tar zcvf kgc.tar.gz kgc
[root@fyr home]# tar zcf kgc1.tar.gz kgc
[root@fyr home]# tar zxvf kgc.tar.gz -C /opt/
案例一:
案例一:
[root@fyr home]# tar zcvf zonghe1.tar.gz *.log
[root@fyr home]# tar zxvf zonghe1.tar.gz -C /opt/
[root@fyr home]# ls /opt/
案例二:
[root@fyr home]# find /opt/ -type f -name "*.log" -exec rm {} \;
find -type f查询当前目录及子目录下
{} \;表示把查找到的结果发送到此来
exec 把find到的文件名作为参数传递给后面的命令行,代替{}的部分
exec后便跟的命令行,必须用“ \;”结束