Linux常用命令

Linux 常用命令

01. 常用的RPM软件包命令

命令 含义
rpm -ivh filename.rpm 安装软件
rpm -Uvh filename.rpm 升级软件
rpm -e filename.rpm 卸载软件
rmp -qpi filename.rpm 查看软件的描述信息
rmp -qpl filename.rpm 列出软件的文件信息
rpm -qf filename 查询文件属于哪个RPM

02. 包管理工具apt-get常用命令

apt : Advanced Package Tool

一般使用这个命令时,需要权限,前面加上 sudo

命令 含义
sudo apt-get update 更新本地包数据库列表
sudo apt-get upgrade 仅升级已安装的软件包
sudo apt-get dist-upgrade 可添加或删除程序包,以满足新的依赖
apt-cache search 搜索内容 查找/搜索软件包
apt-cache show 包名 查看某个软件包的信息
dpkg -s 包名 显示包的当前安装状态
  • 从软件仓库安装包
命令 含义
sudo apt-get install 包名 安装软件包
sudo apt-get install 包1 包2 …… 安装所有列出的包
sudo apt-get install -y 包名 无需提示直接安装
  • 从本地文件系统直接安装包
命令 含义
sudo dpkg -i 包名.deb 从本地系统直接安装包
  • 移除已安装的包
命令 含义
sudo apt-get remove 包名 移除已安装的包
sudo apt-get autoremove 自动移除已知不需要的包

03. 服务管理工具systemctl常用命令

  • 管理服务
命令 含义
systemctl start foo.service 启动服务
systemctl restart foo.service 重启服务
systemctl stop foo.service 停止服务
systemctl reload foo.service 重新加载配置文件(不终止服务)
systemctl status foo.service 查看服务状态
  • 设置开机启动信息
命令 含义
systemctl enable foo.service 开机自动启动
systemctl disable foo.service 开机不自动启动
systemctl is-enabled foo.service 查看特定服务是否为开机自动启动
systemctl list-unit-files –type=service 查看各个级别下服务的启动与禁止情况

注:.service 后缀可以省略

04. 帮助命令man常用信息

  • man命令中常用按键以及用途
按键 用途
空格键 向下翻一页
PaGe down 向下翻一页
PaGe up 向上翻一页
home 直接前往首页
end 直接前往尾页
/ 从上至下搜索某个关键词,如 /linux
? 从下至上搜索某个关键词,如 ?linux
n 定位到下一个搜索到的关键词
N 定位到上一个搜索到的关键词
q 退出帮助文档
  • man命令帮助信息的结构以及意义
结构名称 代表意义
NAME 命令的名称
SYNOPSIS 参数的大致使用方法
DESCRIPTION 介绍说明
EXAMPLES 演示(附带简单说明)
OVERVIEW 概述
DEFAULTS 默认的功能
OPTIONS 具体的可用选项(带介绍)
ENVIRONMENT 环境变量
FILES 用到的文件
SEE ALSO 相关的资料
HISTORY 维护历史与联系方式

05. 常用系统工作命令

  • echo 命令

用途:在终端输出字符串或变量提取后的值

格式:echo [字符串|$变量]

image-20210301214130039

  • date 命令

用途:显示及设置系统的时间或日期

格式:date [选项] [+指定的格式]

参数 作用
%t 跳格[Tab键]
%H 小时(00~23)
%I(大写i) 小时(00~12)
%M 分钟(00~59)
%S 秒(00~59)
%j 今年中的第几天

image-20210301234705625

  • reboot命令

用途:重启系统

格式:reboot [选项] 需要管理员权限,sudo

选项 含义
w 仅作模拟重启系统,只有记录,不会真重启
f 强制重启
  • poweroff命令

用途:关闭系统

格式:poweroff 需要管理员权限,sudo

  • wget命令

用途:在终端中下载网络文件

格式:wget [参数] 下载地址

参数 作用
-b 后台下载模式
-P 下载到指定目录
-t 最大尝试次数
-c 断点续传
-p 下载页面内所有资源,包括图片、视频等
-r 递归下载

image-20210302124019187

  • ps命令

用途:查看系统中的进程状态(通常结合管道使用)

格式:ps [参数]

参数 作用
-a 显示所有进程(包括其他用户的进程)
-u 用户以及其他详细信息
-x 显示没有控制终端的进程

image-20210302125933828

  • top命令

用途:动态地监视进程活动与系统负载等信息(相当于强化版的Windows任务管理器)

格式:top

image-20210302130629626

前五行为系统整体的统计信息,其代表的含义如下:

1)第1行:系统时间、运行时间、登陆终端数、系统负载(三个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低)

2)第2行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数

3)第3行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等

4)第4行:物理内存总量、内存空闲量、内存使用量、作为内核缓存的内存量

5)第5行:虚拟内存总量、虚拟内存空闲量、虚拟内存使用量、已被提前加载的内存量

  • pidof命令

用途:查询某个指定服务进程的PID值(每个进程的进程号码值PID是唯一的,因此可以通过PID来区分不同的进程)

格式:pidof [参数] [服务名称]

image-20210302151819375

  • kill命令

用途:终止某个指定PID的服务进程

格式:kill [参数] [进程PID]

image-20210302153107250

  • killall命令

用途:终止某个指定名称的服务所对应的全部进程

格式:killall [参数] [进程名称]

image-20210302153815357

06. 系统状态检测命令

  • ifconfig命令

用途:获取网卡配置与网络状态等信息

格式:ifconfig [网络设备] [参数]

注:主要查看的是网卡名称、inet参数后面的IP地址、ether参数后面的网卡物理地址(MAC地址)以及RX、TX的接收数据包与发送数据包的个数及累计流量等

image-20210302155450083

  • uname命令

用途:查看系统内核与系统版本等信息

格式:uname [-a]

注:一般会固定搭配上-a参数来完整地查看当前系统的内核名称、主机名、内核发行版本、节点名、系统时间、硬件名称、硬件平台、处理器类型以及操作系统名称等信息。

image-20210302160033145

如果要查看当前系统版本的详细信息,则需要查看相关文件

1)RedHat : redhat-release

2)Ubuntu : lsb-release

image-20210302225316902

  • uptime命令

用途:查看系统的负载信息

格式:uptime

注:显示的信息为 当前系统时间、系统已运行时间、启用终端数量、平均负载值(最近1分钟、5分钟、15分钟)等信息

image-20210302225928680

  • free命令

用途:显示当前系统中内存的使用量信息

格式:free [-h]

-h参数以更人性化的方式输出当前内存的实时使用量信息

image-20210302230320981

  • who命令

用途:查看当前登入主机的用户终端信息

格式:who [参数]

image-20210302230516173

  • last命令

用途:查看所有系统的登录记录

格式:last [参数]

image-20210302230725884

  • history命令

用途:显示历史执行过的命令

格式:history [-c]

注:-c 参数会清空所有的命令历史记录

image-20210302231011872

注:默认显示1000条记录,可以自定义 /etc/profile 文件中 HISTSIZE 的变量值,历史命令会保存在用户家目录中的 .bash_history 文件中

image-20210302231434403

  • sosreport命令

用途:收集系统配置及架构信息并输出诊断文档

格式:sosreport

注:当Linux系统出现故障时,可以使用此命令将信息收集,会生成文档和校验码,发送给技术支持人员即可

07. 工作目录切换命令

  • pwd命令

用途:显示用户当前所处的工作目录

格式:pwd [选项]

image-20210307124957080

  • cd命令

用途:切换工作路径

格式:cd [目录名称]

常用形式 含义
cd - 返回到上一次所处的目录
cd .. 进入上级目录
cd ~ 切换到当前用户的home目录
cd ~username 切换到其他用户的home目录

image-20210307125642978

  • ls命令

用途:显示目录中的文件信息

格式:ls [选项] [文件]

注:可以添加不同参数来查看想看到的信息

常用参数 含义
-a 查看全部文件(包括隐藏文件)
-l 查看文件的属性、大小等详细信息
-s 查看文件的大小
-h 配合 -l 或 -s 参数显示文件的大小(k、M、G),方便我们感知
-d 用来查看目录的权限与属性信息

image-20210307131827134

08. 文本文件编辑命令

  • cat命令

用途:查看纯文本文件(内容较少的)

格式:cat [选项] [文件]

注:-n 参数可以显示文件的行号

image-20210307131739113

  • more命令

用途:查看纯文本文件(内容较多的)

格式:more [选项] 文件

注:可以使用空格键或回车键向下翻页

image-20210307133216086

  • head命令

用途:查看出文本文档的前N行

格式:head [选项] [文件]

image-20210307133636761

  • tail命令

用途:查看纯文本文档的后N行或持续刷新内容

格式:tail [选项] [文件]

注:tail命令最强悍的功能是可以持续刷新一个文件的内容,当想要实时查看最新日志文件时,这特别有用,此时的命令格式为 tail -f 文件名

image-20210307134608310

  • tr命令

用途:替换文本文件中的字符

格式:tr [原始字符] [目标字符]

注:可以配合cat命令和管道符一起使用

image-20210307135517560

  • wc命令

用途:统计指定文本的行数、字数、字节数

格式:wc [参数] 文本

参数 作用
-l 只显示行数
-w 只显示单词数
-c 只显示字节数

image-20210307140036880

  • stat命令

用途:查看文件的具体存储信息和时间等信息

格式:stat 文件名称

注:此命令会显示文件的三种时间状态 Access 、Modify 、 Change

状态 含义
Access 文件的读取时间
Modify 文件内容的修改时间
Change 文件权限或属性的更改时间

image-20210307181237777

  • cut命令

用途:按“列”提取文本字符

格式:cut [参数] 文本

参数 含义
-f 查看的列数
-d 设置间隔符

image-20210307182626497

  • diff命令

用途:比较多个文本文件的差异

格式:diff [参数] 文件

参数 含义
–brief 确认两个文件是否不同
-c 详细比较多个文件的差异之处

image-20210307183526248

09. 文件目录管理命令

  • touch命令

用途:创建空白文件或设置文件的时间

格式:touch [选项] [文件]

参数 含义
-a 仅修改“读取时间”(atime)
-m 仅修改“修改时间”(mtime)
-d 同时修改atime与mtime

注:文件内容的修改时间(mtime)、文件权限或属性的更改时间(ctime)、文件的读取时间(atime)

image-20210307185656740

image-20210307190510772

  • mkdir命令

用途:创建空白的目录

格式:mkdir [选项] 目录

注:-p参数可以递归创建出具有嵌套叠层关系的文件目录

image-20210307191242918

  • cp命令

用途:复制文件或目录

格式:cp [选项] 源文件 目标文件

注:复制操作分为三种情况

​ 1)如果目标文件是目录,则会把源文件复制到该目录中

​ 2)如果目标问价也是普通文件,则会询问是否要覆盖它

​ 3)如果目标文件不存在,则执行正常的复制操作

参数 含义
-p 保留原始文件的属性
-d 若对象为“链接文件”,则保留该“链接文件”的属性
-r 递归持续复制(用于目录)
-i 若目标文件存在则询问是否覆盖
-a 相当于-pdr(p、d、r为上面的参数)

image-20210307192354048

  • mv命令

用途:剪切文件或将文件重命名

格式:mv [选项] 源文件 [目标路径/目标文件名]

image-20210307192707662

  • rm命令

用途:删除文件或目录

格式:rm [选项] 文件

参数 含义
-f 不需要反复确认信息,强制删除
-r 用于删除目录

image-20210307194223846

  • dd命令

用途:按照指定大小和个数的数据块来复制文件或转换文件

格式:dd [参数]

注:dd命令是一个比较重要而且比较有特色的一个命令,它能够让用户按照指定大小和个数的数据块来复制文件的内容。还可以在复制过程中转换其中的数据。/dev/zero 是一个设备文件,它充满哲学色彩,这个文件不会占用系统存储空间,但却可以提供无穷无尽的数据。

参数 含义
if 输入的文件名称
of 输出的文件名称
bs 设置每个“块”的大小
count 设置要复制“块”的个数

image-20210307202810197

注:还可以使用dd命令来压制出光盘镜像文件,将它编程一个可立即使用的iso镜像

image-20210307203551825

  • file命令

用途:查看文件的类型

格式:file 文件名

image-20210307204117618

10. 打包压缩与搜索命令

  • tar命令

用途:对文件进行打包压缩或解压

格式:tar [选项] [文件]

注:在Linux系统中,常见的文件格式比较多,其中主要使用的是 .tar、**.tar.gz.tar.bz2**格式

参数 含义
-c 创建压缩文件
-x 解开压缩文件
-t 查看压缩包内有哪些文件
-z 用Gzip压缩或解压
-j 用bzip2压缩或解压
-v 显示压缩或解压的过程
-f 目标文件名
-p 保留原始的权限与属性
-P(大写) 使用绝对路径来压缩
-C 指定解压到的目录

注:一般常使用 tar -czvf压缩包名称**.tar.gz要打包的目录,使用tar xzvf解压缩.tar.gz**的压缩包

image-20210307213611721

image-20210307213642177

  • grep命令

用途:在文本中执行关键词搜索,并显示匹配的结果

格式:grep [选项] [文件]

参数 含义
-b 将可执行文件(binary)当作文本文件(text)来搜索
-c 仅显示找到的行数
-i 忽略大小写
-n 显示行号
-v 反向选择—-仅列出没有“关键词”的行

image-20210307215338294

  • find命令

用途:按照指定条件来查找文件

格式:find [查找路径] 寻找条件 操作

参数 含义
-name 匹配名称
-perm 匹配权限(mode为完全匹配,-mode为包含即可)
-user 匹配所有者
-group 匹配所有组
-mtime -n +n 匹配修改内容的时间(-n指n天以内,+n指n天以前)
-atime -n +n 匹配访问文件的时间(-n指n天以内,+n指n天以前)
-ctime -n +n 匹配修改文件权限的时间(-n指n天以内,+n指n天以前)
-nouser 匹配无所有者的文件
-nogroup 匹配无所有组的文件
-newer f1 !f2 匹配比文件f1 新但比 f2 旧的文件
–type b/d/c/p/l/f 匹配文件类型(后面的字母参数依次表示块设备、目录、字符设备、管道、链接文件、文本文件)
-size 匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件)
-prune 忽略某个目录
-exec ······ {} \ 后面可跟用于进一步处理搜索结果的命令

image-20210307221711231