第五章 Linux基础

第五章 Linux基础 一、CentOS 与 Ubuntu 的核心区别CentOS 和 Ubuntu 是 Linux 系统中两个最流行的发行版它们之间最显著的区别之一就是软件包管理命令不同CentOS/RHEL 系列使用yumCentOS 7 及之前或dnfCentOS 8/RHEL 8来安装、更新和管理软件包。Ubuntu/Debian 系列使用apt或apt-get来执行相同的操作。例如安装 nginx# CentOS sudo yum install nginx #Ubuntu sudo apt install nginx这种差异源于两者不同的软件包管理系统RPM vs. DEB和软件仓库结构。二、文件内容查看与合并cat 命令cat命令主要有三个用途查看文件内容cat filename合并多个文件cat file1 file2 merged_file创建指定内容的文件配合重定向和 EOF1. 查看文件内容cat hosts2. 合并文件并输出重定向输出重定向如果文件不存在则新建如果文件存在就覆盖。cat hosts s.txt hosts_s.txt执行后查看合并结果cat hosts_s.txt # Loopback entries; do not change. # For historical reasons, localhost precedes localhost.localdomain: 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 # See hosts(5) for proper format and other examples: # 192.168.1.10 foo.example.org foo # 192.168.1.13 bar.example.org bar追加输出重定向将内容增加到文件中不覆盖原有内容。echo hello world! s.txt echo hello world! s.txt echo hello world! s.txt cat s.txt hello world! hello world! hello world!重定向的作用将本来应该在屏幕上显示的内容重新定义输出的方向保存到文件中。3. 生成指定内容的文件 输入重定向接受从键盘输入然后通过输出重定向保存到文件cat qiqiqi.txt EOF qiqiqi xiang 20 changsha EOF cat qiqiqi.txt qiqiqi xiang 20 changsha三、文件头部与尾部查看head 和 tail 命令1. head 命令默认读取文件前 10 行。head -3 passwd # 查看前 3 行 head -n 3 passwd # 同上查看前 3 行输出示例root:x:0:0:Super User:/root:/bin/bash bin:x:1:1:bin:/bin:/usr/sbin/nologin daemon:x:2:2:daemon:/sbin:/usr/sbin/nologin2. tail 命令默认读取文件后 10 行。tail -n 3 passwd # 查看后 3 行 tail -n 3 passwd # 从第 3 行开始显示到末尾输出示例systemd-coredump:x:996:996:systemd Core Dumper:/:/usr/sbin/nologin yangmi:x:1001:1001::/home/yangmi:/bin/bash qiqiqi66:x:1002:1002::/home/qiqiqi66:/bin/bashtail -f动态监控文件末尾的变化一旦有新内容写入立即更新。按CtrlC终止。tail -f 1.txt常用于查看日志文件的实时变化。四、输出重定向详解类型符号效果正确的输出重定向会覆盖正确的输出重定向追加错误的输出重定向2会覆盖错误的输出重定向2追加正确和错误的重定向会覆盖正确和错误的重定向追加示例分离正确与错误输出# 错误命令正确输出为空错误信息保存到 2.txt jalshsdjg 1.txt 2 2.txt cat 2.txt -bash: jalshsdjg: 未找到命令示例将错误输出重定向到 /dev/null黑洞文件# 正常情况有错误信息 du -sh / du: 无法访问 /proc/2624/task/2624/fd/4: 没有那个文件或目录 du: 无法访问 /proc/2624/task/2624/fdinfo/4: 没有那个文件或目录 du: 无法访问 /proc/2624/fd/3: 没有那个文件或目录 du: 无法访问 /proc/2624/fdinfo/3: 没有那个文件或目录 4.2G / 隐藏错误信息 du -sh / 2/dev/null 4.2G //dev/nullLinux 系统中的空设备文件也称为黑洞文件所有写入它的数据都会被丢弃。五、文件下载与压缩解压1. 下载工具curl 与 wgetcurl理解为字符界面的浏览器支持多种协议。curl -O https://nginx.org/download/nginx-1.29.4.tar.gzwget专门的下载软件。wget https://nginx.org/download/nginx-1.29.4.tar.gz2. 压缩与解压命令gzip / gunzip压缩文件扩展名.gz特点效果一般但是压缩快消耗时间少。压缩gzip filename解压gunzip filename.gzgzip hosts # 生成 hosts.gz gunzip hosts.gz # 解压回 hostsxz / unxz压缩文件扩展名.xz特点效果好压缩率高但是需要很长时间。压缩xz filename解压unxz filename.xzxz hosts # 生成 hosts.xz unxz hosts.xz # 解压回 hosts3. tar 命令归档与解包tar是 Linux 中最常用的归档命令常与压缩工具配合使用。常用参数-c创建create归档文件-x解压extract归档文件-z使用 gzip 进行压缩/解压-J使用 xz 进行压缩/解压-f指定归档文件名-t列出list归档文件内容创建压缩包# 使用 gzip 压缩 tar -czf passwd.tar.gz passwd 使用 xz 压缩 tar -cJf nginx-1.29.4.tar.xz nginx-1.29.4查看压缩包内容tar -tf nginx-1.29.4.tar.gz解压缩包tar -xf nginx-1.29.4.tar.gz创建压缩包到指定目录使用绝对路径mkdir /backup tar czf /backup/passwd.tar.gz /etc/passwd # 注意tar 会从成员名中删除开头的 /