近期工作时不时会用到在服务器上巡检,但是打开服务器的的黑色小屏,一脸懵。故想学习并总结下Linux的常用命令。在正式介绍Linux命令之前,先介绍一些基本的概念。
- 计算机硬件=运算器+控制器+存储器+输入/输出设备
- 系统内核负责完成对硬件资源的分配、调度等管理任务
- 用户不直接接触硬件,也不直接接触内核。
- 用户可通过shell命令行工具,调用相应的程序或服务去完成某些工作。
Bash(Bourne-Again SHell)解释器的优势:
- 通过上下方向键反复调取执行过的Linux命令;
- tab代码补全;
- 具有强大的批处理脚本;
- 具有使用的环境变量功能;
Linux命令格式
命令名称 【命令参数】【命令对象】
- 命令对象一般指要处理的文件、目录、用户等资源;
- 命令参数可以用长格式(–全名),也可以用短格式(-单个字母)
- 如: 长格式:man --help 短格式:man -h
- 仅限短格式和短格式合并
Linux常用命令
1、利用man命令获取帮助信息
用法:man 命令名称
作用:查看命令的帮助文档
运行后,会出现一大篇文档。为了能更好的阅读帮助文档,下面介绍阅读方式和文档结构。
阅读方式:
按键 | 效果 |
---|---|
空格 | 向下翻一页 |
PgUp | 向上翻一页 |
PgDn | 向下翻一页 |
home | 回到首页 |
end | 去到最后一页 |
/ | 从上往下搜索 |
? | 从下往上搜索 |
n | 定位到下一个搜索的关键词 |
N | 定位到上一个搜索的关键词 |
q | 退出文档 |
文档结构:
文档结构 | 具体含义 |
---|---|
name | 命令的名称 |
synopsis | 参数的大致使用方法 |
description | 参数介绍说明 |
examples | 演示示例 |
overview | 概述 |
defaults | 默认的功能 |
options | 具体的可选选项 |
environment | 环境变量 |
files | 用到的文件 |
see also | 相关的资料 |
history | 维护历史与联系方式 |
2、常见系统工作命令
- echo 命令
用法:echo[字符串|变量]
作用:在terminal终端屏幕上显示字符串或变量的值
- date 命令
用法:date “+指定时间格式”、date -s “指定时间” 、date、date “+%j”
作用:显示当前时间、设置当前时间、按指定格式显示时间、显示当天是当年的第几天。
指定格式 | 含义 |
---|---|
%Y | 年 |
%m | 月 |
%d | 日 |
%H | 24小时制 |
%l | 12小时制 |
%M | 分钟 |
%S | 秒 |
%j | 今年的第几天 |
%t | tab(跳格) |
- reboot 命令
用法:reboot
作用:重启系统,默认root管理员才可重启。(重启) - poweroff 命令
用法:poweroff
作用:关闭系统,默认root管理员才可关闭。(关机) - wget 命令
用法:wget [参数] 文件地址
作用:从终端下载网络文件。理论上网络上有什么文件,都可以下载。
参数 | 作用 |
---|---|
-b | 后台下载 |
-P | 下载到指定目录 |
-t | 最大尝试次数 |
-c | 断点续传 |
-p | 下载页面内所有资源,包括图片、视频等 |
-r | 递归下载 |
- ps 命令
用法:ps [参数]
作用:用于查看系统中的进程状态。ps命令允许参数省略-
参数 | 作用 |
---|---|
-a | 显示所有进程(常用) |
-u | 显示用户及其他详细信息 |
-x | 显示没有控制终端的进程 |
进程状态 | 具体描述 |
---|---|
R(运行) | 进程正在运行或在运行队列中等待 |
S(中断) | 进程处于休眠,当接收到某个信号会脱离该状态 |
D(不可中断) | 进程无法中断 |
Z(僵死) | 进程已经终止,但是进程描述符仍然存在。理论上终止了,系统中仍存在。 |
T(停止) | 进程收到停止信号后停止运行 |
- top 命令
用法:top
作用:动态的监视进程活动与系统负载等信息
- pidof 命令
用法:pidof 服务名
作用:查询某个服务所对应的所有进程的pid值
- kill 命令
用法:kill pid值
作用:杀死某个服务所对应的某个进程
- killoff 命令
用法:killall 服务名
作用:杀死某个服务所对应的所有进程,重启服务可恢复进程
3、系统状态检测命令
- ifconfig 命令
用法:ifconfig
作用:查询网卡配置与网络状态信息
- uname 命令
用法:uname -a
作用:查看系统内核与系统版本信息- 当前系统的内核名称
- 主机名
- 内核发行版本
- 节点名
- 系统时间
- 硬件名称、硬件平台、处理期类型
- 操作系统名称
- uptime 命令
用法:uptime
作用:查看系统的负载信息- 当前系统时间
- 系统已运行时间
- 启用终端数量(当前终端和桌面)
- 平均负载值(1分钟内、5分钟内、15分钟内)【越来越低】【值的取值范围:0-1-5】
- free 命令
用法:free -h
作用:查看当前系统的内存使用量情况
- who 命令
用法:who
作用:查看当前登入主机的用户终端信息【whoami命令可显示当前用户名】
时间为登入系统时间
- last 命令
用法:last
作用:显示系统所有的登录记录
- history 命令
用法:history
作用:查看历史执行过的命令
- sosreport 命令
用法:sosreport
作用:收集系统配置和架构信息,输入诊断文档【要按3次enter】
4、工作切换命令
- pwd 命令
用法:pwd
作用:查看用户当前所在目录
- cd 命令
用法:cd 目录名称
作用:切换工作目录
- ls 命令
用法:ls [参数] [文件]
作用:显示当前目录中的文件信息
参数 | 作用 |
---|---|
-a | 查看全部文件(包括隐藏文件【以.开头的文件名为隐藏文件】) |
-l | 查看文件的属性、大小等详细信息 |
-d | 查看目录的属性等详细信息 |
5、文本文件编辑命令
- cat 命令
用法:cat 文件
作用:查看小文件的内容,只能滚动鼠标往下
不显示行数:
显示行数:
- more 命令
用法:more 文件
作用:查看大文件的内容,按enter往下
建议:不论小文件还是大文件都建议用more查看 - head 命令
用法:head 文件
作用:查看文件的前n行
- tail 命令
用法:tail 文件
作用:查看文件的后n行
- tr 命令
用法:cat 文件 | tr [a-z] [A-Z]
作用:文本替换,按字符对应替换,可用正则表达式
- wc 命令
用法:wc 参数 文件
作用:统计文本的行数l、字数w、字节数c
- stat 命令
用法:stat 文件名
作用:统计3个时间(atime\mtime\ctime)
时间 | 含义 |
---|---|
atime | 最后一次查看文件内容的时间 |
mtime | 最后一次修改文件内容的时间 |
ctime | 最后一次修改文件权限的时间 |
- cut 命令
用法:cut [-d分隔符] [-f第几列] 文本
作用:指定分隔符和指定第几列提取文本内容
如提取/etc/passwd文件的第一列的用户信息
- diff 命令
用法:diff 参数 文本A 文本B
作用: 可以判断两个文本是否相同(–brief),还可以判断两个文本有哪些不同(-c)
6、文件目录管理命令
- touch 命令
用法:touch 参数 文件
作用:修改文件的atime和mtime【时间格式:yyyy-mm-dd hh:mi】或者创建一个空白文件
- mkdir 命令
用法:mkdir 参数 目录
作用:在当前目录下创建子目录,若上级目录不存在,可使用-p参数创建具有嵌套叠层关系的目录
- cp 命令
用法:cp 参数 源文件 目标文件
作用:复制文件,并保留源文件- 复制文件(重命名,并保留源文件)
- 复制文件到指定目录
- 复制目录(-r)
- 复制文件(重命名,并保留源文件)
参数 | 作用 |
---|---|
-r | 递归持续复制(用于目录) |
-p | 保留原始文件的属性 |
-d | 保留链接文件的属性 |
-i | 如目标文件已存在,询问是否覆盖 |
-a | 相当于-pdr |
- mv 命令
用法:mv 源文件 [目标文件名|目标目录]
作用:源文件可以是文件也可以是目录-
重命名一个文件,不保留源文件
-
剪切一个文件或者目录到指定目录
-
- rm 命令
用法:rm 参数[-r|-f] 文件名
作用:删除一个文件或目录【-r用于删除一个目录 | -f不询问直接删除】
- dd 命令
用法:dd if=被复制文件 of=生成文件 bs=数据块大小[M] count=数据块个数
作用:从一个文件中复制指定大小的内容(大小=bs*count)或者压制光盘镜像文件(iso文件)
黑洞文件:/dev/zero
- file 命令
用法:file 文件名
作用:查看文件的类型
7、打包压缩与搜索命令
-
tar 命令
用法:扫描二维码关注公众号,回复: 9253521 查看本文章- 压缩:tar 参数(czvf) 压缩文件名 被压缩的文件夹
- 解压:tar 参数(xzvf) 压缩文件名 [-C 解压到指定目录]
作用:解压和压缩文件,压缩格式:.tar .tar.gz(常用) .tar.bz2
参数 | 作用 |
---|---|
-c | 压缩文件 |
-x | 解压文件 |
-z | 用Gzip压缩或解压 |
-v | 显示压缩或解压的过程 |
-f | 目标文件名 |
-C | 指定解压到的目录 |
-t | 查看压缩包内有什么文件 |
-j | bzip2压缩或解压 |
-P | 保留原始的权限和属性 |
-p | 使用绝对路径来压缩 |
- grep 命令
用法:grep 参数 关键词 文件名
作用:关键词搜索,显示匹配上的关键词所在行的内容
参数 | 作用 |
---|---|
-v | 反选,选出不包含关键词的行 |
-i | 忽略大小写 |
-n | 显示行号 |
-c | 仅显示找到的行数 |
-b | 将可执行文件(binary)当作文本(text)来搜索 |
- find 命令
用法:find 目录 参数
作用:按指定条件搜索某个目录下的文件- 匹配文件名
- 匹配所有者
- 匹配所属组
- 匹配atime和mtime
- 匹配结果进一步处理
- 匹配文件名
参数 | 作用 |
---|---|
-name | 匹配文件名 |
-user | 匹配所有者 |
-group | 匹配所属组 |
-perm | 匹配权限(mode完全匹配,不多不少 -mode 包含即可) |
-mtime -n/+n | 匹配修改内容的时间(-n n天内 ,+n n天以前) |
-atime -n/+n | 匹配访问文件的时间(-n n天内 ,+n n天以前) |
-ctime -n/+n | 匹配修改文件权限的时间(-n n天内 ,+n n天以前) |
-nouser | 匹配无所有者的文件 |
-nogroup | 匹配无所属组的文件 |
-size -50KB/+50KB | 匹配文件的大小(-50KB指文件大小在50KB以内 +50KB指文件大小大于50 KB ) |
-prune | 忽略某个目录,即不查找该目录 |
-newer f1 !f2 | 匹配创建时间在f1和f2之间的文件 |
–type b/d/c/p/l/f | 匹配文件类型(b/d/c/p/l/f 依次为:块设备、目录、字符设备、管道、链接文件、文本文件) |
-exec … {} \; | 对于find命令得到的结果进行进一步的处理。{}表示find命令得到的文件集,且必须以\;结尾 |
8、拓展
可通过pwd命令查询当前所在目录
- 绝对路径:以根目录/为起始
- 相对路径:以当前所在目录为起始