Linux 进阶命令篇
一、Linux 系统软件安装命令
(一)Ubuntu 系统(基于 Debian)
-
apt :是 Ubuntu 系统中常用的包管理工具,可以自动处理软件依赖关系。
-
安装命令格式 :sudo apt install 软件名
-
示例 :安装 vim 编辑器,可以使用命令 sudo apt install vim。
(二)CentOS 系统(基于 Red Hat)
-
yum :是 CentOS 系统中常用的包管理工具,同样可以处理软件依赖。
-
安装命令格式 :yum install 软件名 -y(-y 参数表示自动确认安装)。
-
示例 :安装 tree 命令,可以使用 yum install tree -y。
(三)其他 Linux 系统
-
不同的 Linux 发行版可能使用不同的包管理工具,例如 zypper(openSUSE)、pacman(Arch Linux)等。
-
在使用这些工具时,需要根据具体的系统文档和说明进行操作。
二、管道命令(|)
(一)基本概念
-
作用 :将前一个命令的输出结果传递给后一个命令作为输入,实现命令间的接力操作。
-
使用场景 :当单一命令无法满足复杂需求时,通过管道命令组合多个命令,发挥更大作用。例如,查看所有进程信息并统计进程数量:ps -ef | wc -l。
(二)案例
-
统计文件行数 :cat file.txt | wc -l(统计文件 file.txt 的行数)。
-
查找特定进程并统计数量 :ps -ef | grep ssh | wc -l(统计与 ssh 相关的进程数量)。
三、ps 命令与 wc 命令组合
(一)ps -ef 命令
-
作用 :查看系统中所有进程的详细信息,包括进程 ID、用户、启动时间等。
(二)wc 命令
-
基本功能 :统计文件或输入的行数、单词数和字节数。
-
选项 :
-
-l :只统计行数。
-
-w :只统计单词数。
-
-c :只统计字节数。
-
案例 :
-
统计文件 /etc/services 的行数、单词数和字节数:wc /etc/services。
-
只统计文件 /etc/services 的行数:wc -l /etc/services。
-
统计多个文件的行数并显示总计:wc -l /etc/services /etc/passwd。
(三)企业案例
-
统计特定服务进程数量 :通过 ps -ef | grep ssh | wc -l 统计 ssh 相关进程的数量,帮助管理员快速了解服务运行状态。
四、seq 命令与 sort 命令
(一)seq 命令
-
作用 :生成序列数字。
-
案例 :seq 20 生成从 1 到 20 的数字序列。
(二)sort 命令
-
基本功能 :对输入内容进行排序。
-
选项 :
-
-n :按照数字顺序排序。
-
-r :逆序排序(默认为升序)。
-
-k :根据指定列进行排序。
-
-t :指定分隔符。
-
案例 :
-
按数字顺序排序:seq 20 | sort -n。
-
按数字逆序排序:seq 20 | sort -rn。
-
根据第二列排序:sort -rn -k2 file.txt。
-
多列排序:先按第三列排序,再按第四列排序:sort -rn -k3 -k4 file.txt。
-
指定分隔符排序:以点(.)为分隔符,对 IP 地址格式的文件内容进行排序:sort -t '.' -rn -k3.1,3.1 -k4 file.txt。
五、lrzsz 和 unzip 命令
(一)lrzsz 命令
-
作用 :用于在 Linux 和 Windows 系统之间传输文件。
-
安装 :yum install -y lrzsz(CentOS 系统)。
-
核心命令 :
-
rz :从 Windows 上传文件到 Linux。
-
sz :从 Linux 下载文件到 Windows。
(二)unzip 命令
-
作用 :解压 .zip 格式的压缩文件。
-
安装 :yum install -y unzip(CentOS 系统)。
-
使用方法 :unzip file.zip。
六、uniq 命令
(一)基本功能
-
作用 :去除重复行,只对连续的重复行有效。
-
选项 :
-
-c :显示重复次数。
(二)使用要点
-
与 sort 命令结合 :先对文件内容进行排序(sort),再使用 uniq 命令去重,确保所有重复项相邻。
-
案例 :统计访问日志中每个 IP 出现的次数,并按次数从高到低排序,取前 10 名:sort access-ip.log | uniq -c | sort -rnk1 | head。
七、dos2unix 命令
(一)基本概念
-
作用 :将 Windows 格式的文件转换为 Linux 格式,主要处理回车符差异(Windows 为 \r\n,Linux 为 \n)。
-
安装 :yum install -y dos2unix(CentOS 系统)。
-
使用方法 :dos2unix file.txt。
八、sh 命令
(一)基本功能
-
作用 :用于执行 shell 脚本。
-
使用方法 :sh script.sh。
九、文件比较工具
(一)diff 和 vimdiff 命令
-
diff :比较两个文件内容的不同,若文件相同则没有输出。
-
vimdiff :以 vim 编辑器的模式打开两个文件进行对比,直观展示差异。
-
安装 :通常在 Linux 系统中默认安装,若未安装可通过包管理器(如 yum 或 apt)进行安装。
十、which 和 whereis 命令
(一)which 命令
-
作用 :查找命令的路径,仅根据 PATH 环境变量的内容进行查找。
-
示例 :which ls 显示 ls 命令的路径。
(二)whereis 命令
-
作用 :查找命令的路径以及相关文件(如帮助文件、配置文件等)的位置。
-
示例 :whereis ls 显示 ls 命令的路径及相关文件位置。
十一、反引号(`)与括号($())
(一)基本功能
-
作用 :在 Linux 中用于优先执行括号内的命令,将命令的输出结果作为外层命令的参数。
-
示例 :touch lidao-date +%F.txt 或 touch lidao-$(date +%F).txt,创建以当前日期命名的文件。
十二、date 命令
(一)基本功能
-
作用 :显示和设置系统时间。
-
选项 :
-
+%F :以 YYYY-MM-DD 格式显示日期。
-
+%Y-%m-%d :同 +%F。
-
+%T :以 HH:MM:SS 格式显示时间。
-
+%H:%M:%S :同 +%T。
-
+%w :显示星期几(0 表示星期日)。
-
修改时间 :date -s "2024-10-01 12:00:00"。
-
自动同步时间 :使用 ntpdate 命令与时间服务器同步,如 ntpdate ntp1.aliyun.com。
-
根据描述显示时间:date -d "-1 day"。
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-