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

五、lrzszunzip 命令

(一)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

九、文件比较工具

(一)diffvimdiff 命令

  • diff :比较两个文件内容的不同,若文件相同则没有输出。

  • vimdiff :以 vim 编辑器的模式打开两个文件进行对比,直观展示差异。

  • 安装 :通常在 Linux 系统中默认安装,若未安装可通过包管理器(如 yumapt)进行安装。

十、whichwhereis 命令

(一)which 命令

  • 作用 :查找命令的路径,仅根据 PATH 环境变量的内容进行查找。

  • 示例which ls 显示 ls 命令的路径。

(二)whereis 命令

  • 作用 :查找命令的路径以及相关文件(如帮助文件、配置文件等)的位置。

  • 示例whereis ls 显示 ls 命令的路径及相关文件位置。

十一、反引号(`)与括号($())

(一)基本功能

  • 作用 :在 Linux 中用于优先执行括号内的命令,将命令的输出结果作为外层命令的参数。

  • 示例touch lidao-date +%F.txttouch 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

相关推荐
love530love几秒前
【笔记】解决启动Anaconda Toolbox报错ModuleNotFoundError: No module named ‘pysqlite2‘
开发语言·人工智能·windows·笔记·python·conda
知福致福6 分钟前
服务器上用脚本跑python深度学习的注意事项(ubantu系统)
运维·服务器·python
helloworld工程师8 分钟前
如何使用 Redis 实现排行榜功能
java·开发语言·缓存
坏坏-511 分钟前
CentOS 7.0重置root密码
linux·运维·centos
之之为知知11 分钟前
数学笔记三:特殊矩阵
笔记·学习·线性代数·算法·职场和发展·矩阵·职场发展
Chuncheng's blog17 分钟前
CentOS 7 如何安装libsndfile?
linux·运维·centos
破刺不会编程22 分钟前
linux中基础IO(上)
linux·运维·服务器·开发语言
deeper_wind26 分钟前
Linux进程管理
linux·运维·服务器
不爱吃饭爱吃菜31 分钟前
uniapp小程序开发,判断跳转页面是否需要登录方法封装
开发语言·前端·javascript·vue.js·uni-app
霸王蟹34 分钟前
React 泛型组件:用TS来打造灵活的组件。
前端·学习·react.js·typescript·前端框架