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 [字符串|$变量]
- date 命令
用途:显示及设置系统的时间或日期
格式:date [选项] [+指定的格式]
参数 | 作用 |
---|---|
%t | 跳格[Tab键] |
%H | 小时(00~23) |
%I(大写i) | 小时(00~12) |
%M | 分钟(00~59) |
%S | 秒(00~59) |
%j | 今年中的第几天 |
- reboot命令
用途:重启系统
格式:reboot [选项]
需要管理员权限,sudo
选项 | 含义 |
---|---|
w | 仅作模拟重启系统,只有记录,不会真重启 |
f | 强制重启 |
- poweroff命令
用途:关闭系统
格式:poweroff
需要管理员权限,sudo
- wget命令
用途:在终端中下载网络文件
格式:wget [参数] 下载地址
参数 | 作用 |
---|---|
-b | 后台下载模式 |
-P | 下载到指定目录 |
-t | 最大尝试次数 |
-c | 断点续传 |
-p | 下载页面内所有资源,包括图片、视频等 |
-r | 递归下载 |
- ps命令
用途:查看系统中的进程状态(通常结合管道使用)
格式:ps [参数]
参数 | 作用 |
---|---|
-a | 显示所有进程(包括其他用户的进程) |
-u | 用户以及其他详细信息 |
-x | 显示没有控制终端的进程 |
- top命令
用途:动态地监视进程活动与系统负载等信息(相当于强化版的Windows任务管理器)
格式:top
前五行为系统整体的统计信息,其代表的含义如下:
1)第1行:系统时间、运行时间、登陆终端数、系统负载(三个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低)
2)第2行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数
3)第3行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等
4)第4行:物理内存总量、内存空闲量、内存使用量、作为内核缓存的内存量
5)第5行:虚拟内存总量、虚拟内存空闲量、虚拟内存使用量、已被提前加载的内存量
- pidof命令
用途:查询某个指定服务进程的PID值(每个进程的进程号码值PID是唯一的,因此可以通过PID来区分不同的进程)
格式:pidof [参数] [服务名称]
- kill命令
用途:终止某个指定PID的服务进程
格式:kill [参数] [进程PID]
- killall命令
用途:终止某个指定名称的服务所对应的全部进程
格式:killall [参数] [进程名称]
06. 系统状态检测命令
- ifconfig命令
用途:获取网卡配置与网络状态等信息
格式:ifconfig [网络设备] [参数]
注:主要查看的是网卡名称、inet参数后面的IP地址、ether参数后面的网卡物理地址(MAC地址)以及RX、TX的接收数据包与发送数据包的个数及累计流量等
- uname命令
用途:查看系统内核与系统版本等信息
格式:uname [-a]
注:一般会固定搭配上-a
参数来完整地查看当前系统的内核名称、主机名、内核发行版本、节点名、系统时间、硬件名称、硬件平台、处理器类型以及操作系统名称等信息。
如果要查看当前系统版本的详细信息,则需要查看相关文件
1)RedHat : redhat-release
2)Ubuntu : lsb-release
- uptime命令
用途:查看系统的负载信息
格式:uptime
注:显示的信息为 当前系统时间、系统已运行时间、启用终端数量、平均负载值(最近1分钟、5分钟、15分钟)等信息
- free命令
用途:显示当前系统中内存的使用量信息
格式:free [-h]
-h参数以更人性化的方式输出当前内存的实时使用量信息
- who命令
用途:查看当前登入主机的用户终端信息
格式:who [参数]
- last命令
用途:查看所有系统的登录记录
格式:last [参数]
- history命令
用途:显示历史执行过的命令
格式:history [-c]
注:-c 参数会清空所有的命令历史记录
注:默认显示1000条记录,可以自定义 /etc/profile 文件中 HISTSIZE 的变量值,历史命令会保存在用户家目录中的 .bash_history 文件中
- sosreport命令
用途:收集系统配置及架构信息并输出诊断文档
格式:sosreport
注:当Linux系统出现故障时,可以使用此命令将信息收集,会生成文档和校验码,发送给技术支持人员即可
07. 工作目录切换命令
- pwd命令
用途:显示用户当前所处的工作目录
格式:pwd [选项]
- cd命令
用途:切换工作路径
格式:cd [目录名称]
常用形式 | 含义 |
---|---|
cd - | 返回到上一次所处的目录 |
cd .. | 进入上级目录 |
cd ~ | 切换到当前用户的home目录 |
cd ~username | 切换到其他用户的home目录 |
- ls命令
用途:显示目录中的文件信息
格式:ls [选项] [文件]
注:可以添加不同参数来查看想看到的信息
常用参数 | 含义 |
---|---|
-a | 查看全部文件(包括隐藏文件) |
-l | 查看文件的属性、大小等详细信息 |
-s | 查看文件的大小 |
-h | 配合 -l 或 -s 参数显示文件的大小(k、M、G),方便我们感知 |
-d | 用来查看目录的权限与属性信息 |
08. 文本文件编辑命令
- cat命令
用途:查看纯文本文件(内容较少的)
格式:cat [选项] [文件]
注:-n 参数可以显示文件的行号
- more命令
用途:查看纯文本文件(内容较多的)
格式:more [选项] 文件
注:可以使用空格键或回车键向下翻页
- head命令
用途:查看出文本文档的前N行
格式:head [选项] [文件]
- tail命令
用途:查看纯文本文档的后N行或持续刷新内容
格式:tail [选项] [文件]
注:tail命令最强悍的功能是可以持续刷新一个文件的内容,当想要实时查看最新日志文件时,这特别有用,此时的命令格式为 tail -f 文件名
- tr命令
用途:替换文本文件中的字符
格式:tr [原始字符] [目标字符]
注:可以配合cat命令和管道符一起使用
- wc命令
用途:统计指定文本的行数、字数、字节数
格式:wc [参数] 文本
参数 | 作用 |
---|---|
-l | 只显示行数 |
-w | 只显示单词数 |
-c | 只显示字节数 |
- stat命令
用途:查看文件的具体存储信息和时间等信息
格式:stat 文件名称
注:此命令会显示文件的三种时间状态 Access 、Modify 、 Change
状态 | 含义 |
---|---|
Access | 文件的读取时间 |
Modify | 文件内容的修改时间 |
Change | 文件权限或属性的更改时间 |
- cut命令
用途:按“列”提取文本字符
格式:cut [参数] 文本
参数 | 含义 |
---|---|
-f | 查看的列数 |
-d | 设置间隔符 |
- diff命令
用途:比较多个文本文件的差异
格式:diff [参数] 文件
参数 | 含义 |
---|---|
–brief | 确认两个文件是否不同 |
-c | 详细比较多个文件的差异之处 |
09. 文件目录管理命令
- touch命令
用途:创建空白文件或设置文件的时间
格式:touch [选项] [文件]
参数 | 含义 |
---|---|
-a | 仅修改“读取时间”(atime) |
-m | 仅修改“修改时间”(mtime) |
-d | 同时修改atime与mtime |
注:文件内容的修改时间(mtime)、文件权限或属性的更改时间(ctime)、文件的读取时间(atime)
- mkdir命令
用途:创建空白的目录
格式:mkdir [选项] 目录
注:-p参数可以递归创建出具有嵌套叠层关系的文件目录
- cp命令
用途:复制文件或目录
格式:cp [选项] 源文件 目标文件
注:复制操作分为三种情况
1)如果目标文件是目录,则会把源文件复制到该目录中
2)如果目标问价也是普通文件,则会询问是否要覆盖它
3)如果目标文件不存在,则执行正常的复制操作
参数 | 含义 |
---|---|
-p | 保留原始文件的属性 |
-d | 若对象为“链接文件”,则保留该“链接文件”的属性 |
-r | 递归持续复制(用于目录) |
-i | 若目标文件存在则询问是否覆盖 |
-a | 相当于-pdr(p、d、r为上面的参数) |
- mv命令
用途:剪切文件或将文件重命名
格式:mv [选项] 源文件 [目标路径/目标文件名]
- rm命令
用途:删除文件或目录
格式:rm [选项] 文件
参数 | 含义 |
---|---|
-f | 不需要反复确认信息,强制删除 |
-r | 用于删除目录 |
- dd命令
用途:按照指定大小和个数的数据块来复制文件或转换文件
格式:dd [参数]
注:dd命令是一个比较重要而且比较有特色的一个命令,它能够让用户按照指定大小和个数的数据块来复制文件的内容。还可以在复制过程中转换其中的数据。/dev/zero 是一个设备文件,它充满哲学色彩,这个文件不会占用系统存储空间,但却可以提供无穷无尽的数据。
参数 | 含义 |
---|---|
if | 输入的文件名称 |
of | 输出的文件名称 |
bs | 设置每个“块”的大小 |
count | 设置要复制“块”的个数 |
注:还可以使用dd命令来压制出光盘镜像文件,将它编程一个可立即使用的iso镜像
- file命令
用途:查看文件的类型
格式:file 文件名
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**的压缩包
- grep命令
用途:在文本中执行关键词搜索,并显示匹配的结果
格式:grep [选项] [文件]
参数 | 含义 |
---|---|
-b | 将可执行文件(binary)当作文本文件(text)来搜索 |
-c | 仅显示找到的行数 |
-i | 忽略大小写 |
-n | 显示行号 |
-v | 反向选择—-仅列出没有“关键词”的行 |
- 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 ······ {} \ | 后面可跟用于进一步处理搜索结果的命令 |