1.shell的四个优势
- 通过上下方向键可以调取执行过的命令.
- 命令参数可以通过tab补全.
- 具有强大的批处理脚本.
- 具有使用的环境变量等功能.
2.man命令
1.man命令简介
man命令是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。
2.man命令中常用的按键及用途
按键 | 用途 |
---|---|
空格键 | 向下翻一页 |
page down | 向下翻一页 |
page up | 向上翻一页 |
home | 直接前往首页 |
end | 直接前往尾页 |
/ | 从上至下搜索某个关键词,如”linux” |
? | 从下至上搜索某个关键词,如”?linux” |
n | 定位到下一个搜索到的关键词 |
N | 定位到上一个搜索到的关键词 |
q | 推出帮助文档 |
3.man命令的帮助信息的结构及意义
结构名称 | 代表意义 |
---|---|
NAME | 命令名称 |
SYNOPSIS | 参数的大致使用方法 |
DESCRIPTION | 介绍说明 |
EXAMPLES | 演示(附带简单说明) |
OVERVIEW | 概述 |
DEFAULTS | 默认的功能 |
OPTIONS | 具体的可用选项(带介绍) |
ENVIRONMENT | 环境变量 |
FILES | 用到的文件 |
SEE ALSO | 相关的资料 |
HISTORY | 维护历史与联系方式 |
3.echo命令
echo命令用于向终端输出一些信息
eg:
1 | echo $shell |
4.date命令
date命令用于显示及设置系统的时间或日期,格式"date+[选项]+[指定的格式]"
date命令中的参数及作用:
参数 | 作用 |
---|---|
%t | tab键 |
%H | 小时(00-23) |
%I | 小时(00-12) |
%M | 分钟(00-59) |
%S | 秒(00-59) |
%j | 今年中的第几天 |
eg:
- 按照默认格式查看当前系统时间:
date
- 按照”年-月-日 小时:分钟:秒”格式查看当前系统时间:
date "+%Y-%m-%d %H:%M:%S"
- 设置当前系统时间:
date -s "20190923 3:00:22"
- date命令中的参数%j用于查看今天是当年中的第几天
date "+%j"
5.reboot命令
reboot用于重启系统(用于重启涉及文件及资源的权限,因此该命令默认由管理员进行操作)。
6.poweroff命令
poweroff 用于关闭系统,默认由管理员进行操作。
7.wget命令
wget用于在终端中下载网络文件,默认格式为wget+[参数]+下载地址
wget的参数及作用
参数 | 用途 |
---|---|
-b | 后台下载模式 |
-p(小写) | 下载到指定目录 |
-t | 最大尝试次数 |
-c | 断点续传 |
-P(大写) | 下载页面内容所有资源,包括图片、视频等 |
-r | 递归下载 |
8.ps命令
ps命令用于查看系统中的进程状态,格式PS+参数
ps命令的参数及作用
参数 | 作用 |
---|---|
-a | 显示所有进程(包括其他用户的进程) |
-u | 用户以及其他详细信息 |
-x | 显示没有控制终端的进程 |
linux中进程的几种状态及意义
进程状态 | 意义 |
---|---|
R(运行) | 进程正在运行或者在运行队列中等待 |
S(中断) | 进程处于休眠中,当某个条件形成后或者接收到信号后,则脱离该状态 |
D(不可中断) | 进程不响应系统异步信号,即使用kill命令也不能将其中断 |
Z(僵死) | 进程已经终止,但进程描述符依然存在,直到父进程调用wait4()系统函数后进程释放 |
T(停止) | 进程收到停止信号后停止运行 |
执行ps aux后进程的状态及意义
USER | PID | %CPU | %MEM | VSZ | RSS | TTY | STAT | START | TIME | COMMAND |
---|---|---|---|---|---|---|---|---|---|---|
进程所有者 | 进程ID | 运算器占有率 | 内存占有率 | 虚拟内存使用量(单位是KB) | 占用的固定内存量(单位是KB) | 所在终端 | 进程状态 | 被启动的时间 | 实际使用CPU的时间 | 命令名称和参数 |
9.top命令
top命令用于动态的监视进程活动与系统负载信息。格式为:top,可以将top当作加强版的windows任务管理员。
top说明
第一行:系统时间、运行时间、登录终端数、系统负载(三个数值分别为1分钟、5分钟、15分钟的平均值,数值越小意味着负载越低)。
第二行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。
第三行:用户占用资源的百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等(该行数据均为CPU数据并以百分比显示)。
第四行:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。
虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、已被提前加载的内存量。
10.pidof命令
pidof命令用于查询某个指定服务进程的PID值,格式为pidof+[参数]+[服务名称]
eg:
pidof java
11.kill命令
kill命令用于终止某个指定PID的服务进程,命令格式:kill [参数] [进程PID]
12.killall命令
killall命令用于终止某个指定名称服务对应的全部进程,格式:killall [参数] [服务名称]
13.ifconfig命令
ifconfig命令用于获取网卡配置与网络状态等信息,格式为:ifconfig [网络参数] [参数],使用ifconfig命令来查看本机当前的网卡配置与网络状态等信息,其次主要查 看的就是网卡名称、inet参数后的IP地址、ehter参数后面的网卡物理地址(又称MAC地址)。以及RX、TX的接收数据包与发送数据包的个数及累计流量。(下面加粗的信息内容)
ifconfig
14.uname命令
uname命令用于查看系统的内核及系统的版本等信息。uname -a
15.uptime命令
uptime命令用于查看系统的负载信息,格式为uptime
uptime真的很棒,它可以显示当前的系统时间、系统已运行时间、启用终端数量以及平均负载值等信息。负载值尽量不要长期超过1,生产环境中不要超过5.uptime
16.free命令
free命令用于显示当前系统中的内存的使用情况,格式为free -h
执行结果
内存总量 | 已用量 | 可用量 | 进程共享内存 | 磁盘缓存的内存量 | 缓存内存量 | |
---|---|---|---|---|---|---|
toal | used | free | shared | buffers | cached | |
Mem | 1.8GB | 1.3GB | 542MB | 9.8MB | 1.6MB | 413MB |
-/+buffers/cached | 869MB | 957MB | ||||
Swap | 2.0GB | 0 | 2.0GB |
17.who命令
who命令用于查看当前登入主机的用户终端信息,格式为who [参数]
18.last命令
last命令用于查看系统所有的登录记录,格式为last [参数]
eg:last -2
19.history命令
history命令用于显示执行过得命令。格式:history [参数]。
history默认显示得命令得条数为1000,可以通过自定义/etc/profile中得HISTRIZE变量值。
history !序号 用于执行执行过得命令。
history -c 用于清除本机的history命令。
20.sosreport命令
sosreport命令用于收集系统配置及交媾信息并输出文为诊断文档,格式为sosreport。
当linux系统出现故障需要联系技术支持人员时,大多数时候都要先使用这个命令来简单收集系统的运行状态和服务配置信息,以便让技术人员能够远程解决一些小问题,亦或让他们能够提前了解某些复杂问题。
21.pwd命令
pwd命令用于显示当前的工作空间。
22.cd命令
cd 命令用于切换工作路径。格式:cd [目录名]
cd ~ 用于快速回到当前登录用户名的根目录下
23.ls命令
ls命令用于显示目录中的文件信息,格式文ls [选项] [文件]
ls参数及作用
参数 | 作用 |
---|---|
-a | 查看全部文件(包括隐藏文件) |
-l | 可以查看文件的属性、大小等详细信息 |
24.cat命令
cat 命令用于查看纯文本文件。(内容较少的),格式:cat [选项] [文件]
25.more命令
more命令用于查看纯文本文件。(内容较多的),格式:more [选项] [文件]
26.head命令
head命令用于查看纯文本文档的前N行,格式:head [选项] [文件]
27.tail命令
tail命令用于查看纯文本文档的后N行,格式:tail [选项] [文件]
28.tr命令
tr命令用于替换文本文件中的字符,格式为tr [原始字符] [目标字符]
eg cat a.txt|tr [a-z] [A-Z]
29.wc命令
wc命令用于统计指定文本的行数、字数、字节数。格式为:wc [参数] 文本
wc参数及作用
参数 | 作用 |
---|---|
-l | 只显示行数 |
-w | 只显示单词数 |
-c | 只显示字节数 |
30.stat命令
stat命令可以用于查看文件的具体存储信息和时间等信息。
31.cut命令
cut命令哟弄个与按列提取文本字符,格式:cut [参数] [文本]
32.diff命令
diff命令用于比较多个文本文件的差异,格式:diff [参数] 文件
参数–brief用于确认两个文件是否不同
参数-c用于详细比较多个文件的差异
33.touch命令
touch命令用于创建空白文件或者设置文件的时间,格式为touch [参数] [文件]
touch命令的参数和作用
参数 | 作用 |
---|---|
-a | 仅修改读取时间(atime) |
-m | 仅修改修改时间(mtime) |
-d | 同时修改atime与mtime |
34.mkdir命令
mkdir命令用于创建空白的目录,格式为 mkdir [参数] [目录]
mkdir -p 可以创建包含嵌套关系的文件夹mkdir -p a/b/c
35.cp命令
cp命令用于复制文件或目录,格式为cp [选项] 源文件 目标文件
linux中复制的三种情况:
- 如果目标文件是目录,则会把源文件复制到该目录中。
- 如果目标文件也是普通文件,则会询问是否覆盖它。
- 如果目标文件不存在,则执行正常的复制操作。
cp命令的参数及作用
参数 | 作用 |
---|---|
-p | 保留原始文件的属性 |
-d | 若对象为”链接文件”,则保留该”链接文件”的属性 |
-r | 递归持续复制(用于目录) |
-i | 若目标文件存在询问是否覆盖 |
-a | 相当于-pdr |
36.mv命令
mv命令用于剪贴文件或者将文件重命名,格式:mv [参数] 源文件 [目标路径|目标文件名]
剪贴操作默认会把源文件删掉,只保留剪贴后的文件
37.rm命令
rm命令用于删除文件或目录,格式为rm [选项] [文件]
38.dd命令
dd命令用于按照指定大小和个数的数据块来复制文件或者转换文件,格式:dd [参数]
dd命令是一个比较重要而且比较有特色的命令,它能够让用户按照指定大小和个数的数据块来复制文件的内容。
dd命令的作用和参数
参数 | 作用 |
---|---|
if | 输入的文件名称 |
of | 输出的文件名称 |
bs | 设置每个”块”的大小 |
count | 设置要复制”块”的个数 |
eg:
39.file命令
file命令用于查看文件的类型,格式:file [文件名]
40.tar命令
tar命令用于对文件进行打包压缩或者解压,格式:tar [选项] [文件]
tar命令的参数及作用:
参数 | 作用 |
---|---|
-c | 创建压缩文件 |
-x | 解开压缩文件 |
-t | 查看压缩包内有哪些文件 |
-z | 用Gzip压缩或者解压 |
-j | 用bzip2压缩或解压 |
-v | 显示压缩或解压 |
-f | 目标文件名 |
-p | 保留原始的权限与属性 |
-P | 使用绝对路径来压缩 |
-C | 指定解压到的目录 |
由于-c是用于创建压缩文件,-x是用于解压文件,因此这两个参数不可以同时使用
-f参数特别重要,必须放在参数的最后,代表要压缩或解压缩的软件包名称
一般使用tar -czvf压缩包名称.tar ,gz要打包的目录命令把指定的文件进行打包压缩
41.grep命令
grep命令用于在文本中执行关键词搜索,并显示匹配的结果。格式:grep [选项] [文件]
grep命令的参数及作用
参数 | 作用 |
---|---|
-b | 将可执行文件(binary)当作文本文件(text)来搜索 |
-c | 仅显示找到的行数 |
-i | 忽略大小写 |
-n | 显示行号 |
-v | 反向选择-仅列出没有”关键词”的行 |
42.find命令
find命令用于按照指定条件来查找文件,格式: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为查找小于KB的文件) |
-prune | 忽略某个目录 |
-exec ….{}\; | 后面可以进一步处理搜索结果的命令 |
理解exec参数
eg:find / -user linuxprobe -exec cp -a{} /root/findresults/ \
其中{}表示find命令搜索出的每一个文件,并且命令的结尾必须是”\”;