目录
一、快捷键
1、ctrl + c
强制停止
- Linux某些程序的运行,如果想要强制停止它,可以使用快捷键
ctrl + c
- 命令输入错误,也可以通过快捷键
ctrl + c
,退出当前输入,重新输入
2、ctrl + d
退出或登出
- 可以通过快捷键:
ctrl + d
,退出账户的登录
- 或者退出某些特定程序的专属页面
ps:不能用于退出vi/vim
3、历史命令搜索history
- 可以通过history命令,查看历史输入过的命令
- 可以通过:
!
命令前缀,自动执行上一次匹配前缀的命令
- 可以通过快捷键:
ctrl + r
,输入内容去匹配历史命令
- 如果搜索到的内容是你需要的,那么:
回车键可以直接执行
键盘左右键,可以得到此命令(不执行)
4、光标移动快捷键
- ctrl + a,跳到命令开头
- ctrl + e,跳到命令结尾
- ctrl +键盘左键,向左跳一个单词
- ctrl +键盘右键,向右跳一个单词
5、清屏
- 通过快捷键
ctrl + l
,可以清空终端内容 - 或通过命令
clear
得到同样效果
二、软件安装
1、CentOS的yum命令
yum
:RPM(类似window里的.exe
文件)包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题。
语法:yum [-y] [install | remove | search] 软件名称
- 选项:
-y
,自动确认,无需手动确认安装或卸载过程• install
:安装
remove
:卸载
search
:搜索
yum命令需要root权限,可以su切换到root,或使用sudo提权。
yum命令需要联网
2、Ubantu的apt命令
语法:apt [-y] [install | remove | search] 软件名称
用法和yum
一致,同样需要root权限
apt install wget
,安装wgetapt remove wget
,移除wgetapt search wget
,搜索wget
三、systemctl命令
可以控制软件(服务)的启动、关闭、开机自启动
- 系统内置服务均可被systemctl控制
- 第三方软件,如果自动注册了可以被systemctl控制
- 第三方软件,如果没有自动注册,可以手动注册
语法:systemctl start | stop | status | enable | disable 服务名
start
启动
stop
关闭
status
查看状态
enable
开机自启动
disable
关闭开机自启
四、软连接
将文件、文件夹链接到其它位置。
链接只是一个指向,并不是物理移动,类似windows系统中的快捷方式
语法:ln -s 参数1 参数2
-s
选项,创建软连接参数1
,被链接的文件或文件夹参数2
,要链接去的目的地
将/etc/yum.conf
链接到~/yum.conf
将/etc/yum
链接到~/yum
五、日期、时区
1、date命令
date
命令可以查看日期时间,并可以格式化显示格式以及做日期计算
语法:date [-d] [+格式化字符串]
%Y
年%y
年份后两位数字(00,99,22)%m
月份(01,10)%d
日(01,31)%H
小时(00,23)%M
分钟(00,59)%S
秒(00,60)%s
自1970-01-01 00:00:00 UTC
到现在的秒数
2、修改Linux时区为东八区
rm -f /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
3、ntp
可以通过ntp
程序自动校准系统时间
安装ntp
:yum -y install ntp
systemctl start ntpd
systemctl enable ntpd
当ntpd启动后会定期的帮助我们联网校准系统的时间
- 也可以手动校准(需root权限):
ntpdate -u ntp.aliyun.com
通过阿里云提供的服务网址配合ntpdate(安装ntp后会附带这个命令)命令自动校准
六、IP地址、主机
1、IP地址
IP地址是联网计算机的网络地址,用于在网络中进行定位
格式是:a.b.c.d
,其中abcd是0~255的数字
特殊IP有:127.0.0.1
,本地回环IP,表示本机
0.0.0.0
:也可表示本机,也可以在一些白名单中表示任意IP
可以通过命令:ifconfig
,查看本机的ip地址,如无法使用ifconfig
命令,可以安装:yum -y install net-tools
2、主机名
每一台电脑除了对外联络地址(IP地址)以外,也可以有一个名字,称之为主机名无论是Windows或Linux系统,都可以给系统设置主机名
- Windows系统主机名
- Linux系统主机名
在Linux中修改主机名
- 可以使用命令:
hostname
查看主机名
- 可以使用命令:
hostnamectl set-hostname 主机名
,修改主机名(需root)
- 重新登录FinalShell即可看到主机名已经正确显示
3、域名解析
可以通过主机名找到对应计算机的IP地址,这就是主机名映射(域名解析)
先通过系统本地的记录去查找,如果找不到就联网去公开DNS服务器去查找
先查看本机的记录(私人地址本机)
- Windows看:
C:\Windows\System32\drivers\etc\hosts
- Linux看:
/etc/hosts
- 再联网去DNS服务器(如114.114.114.114,8.8.8.8等)询问
4、虚拟机配置固定IP
当前我们虚拟机的Linux操作系统,其IP地址是通过DHCP服务获取的。
DHCP
:动态获取IP地址,即每次重启设备后都会获取一次,可能导致IP地址频繁变更
配置固定IP需要2个大步骤:
1.在VMware Workstation(或Fusion)中配置IP地址网关和网段(IP地址的范围)
编辑
-> 虚拟网络编译器
-> VMnet8
2.在Linux系统中手动修改配置文件,固定IP首先让我们,先进行第一步,跟随图片进行操作
- 使用vim编辑
/etc/sysconfig/network-scripts/ifcfg-ens33
文件,填入如下内容
纠错
:图中DNS1
应该是192.168.200.2
,与网关一致,否则无法正常解析
- 执行:
systemctl restart network
重启网卡,执行ifconfig
即可看到ip地址固定为192.168.200.129
了
可以通过快捷键:ctrl + d,退
出账户的登录qi
七、网络传输
1、ping命令
可以通过ping命令,检查指定的网络服务器是否是可联通状态
语法:ping [-c num] ip或主机名
- 选项:
-c
,检查的次数,不使用-c
选项,将无限次数持续检查 - 参数:ip或主机名,被检查的服务器的ip地址或主机名地址
检查到baidu.com是否联通结果表示联通,延迟43ms左右
2、wget命令
wget是非交互式的文件下载器,可以在命令行内下载网络文件
语法:wget [-b] url
- 选项:
-b
,可选,后台下载,会将日志写入到当前工作目录的wget-log
文件 - 参数:
url
,下载链接
示例:
- 下载apache-hadoop 3.3.0版本:
wget http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
- 在后台下载:
wget -b http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
- 通过tail命令可以监控后台下载进度:
tail -f wget-log
注意:无论下载是否完成,都会生成要下载的文件,如果下载未完成,请及时清理未完成的不可用文件。
3、curl命令
curl可以发送http网络请求,可用于:下载文件、获取信息等
语法:curl [-O] url
- 选项:
-O
,用于下载文件,当url是下载链接时,可以使用此选项保存文件 - 参数:
url
,要发起请求的网络地址
4、端口
端口是指计算机和外部交互的出入口,可以分为物理端口和虚拟端口
- 物理端口:USB、HDMI、DP、VGA、RJ45等
- 虚拟端口:操作系统和外部交互的出入口IP只能确定计算机,通过端口才能锁定要交互的程序
公认端口:1~1023
,用于系统内置或常用知名软件绑定使用
注册端口:1024~49151
,用于松散绑定使用(用户自定义)
动态端口:49152~65535
,用于临时使用(多用于出口)
查看端口占用:
可以通过Linux命令去查看端口的占用情况
- 使用nmap命令,安装nmap:
yum -y install nmap
- 语法:
nmap 被查看的IP地址
- 可以看到,本机(127.0.0.1)上有4个端口现在被程序占用了。
可以通过netstat
命令,查看指定端口的占用情况
语法:netstat -anp | grep 端口号
,安装netstat:yum -y install net-tools
八、进程管理
进程是指查询在操作系统内运行后被注册为系统内的一个进程,并拥有独立的进程ID(进程号)
查看进程
可以通过ps命令查看Linux系统中的进程信息
语法:ps [-e -f]
选项:-e
,显示出全部的进程
选项:-f
,以完全格式化的形式展示信息(展示全部信息)
一般来说,固定用法就是:ps -ef
列出全部进程的全部信息
从左到右分别是:
- UID:进程所属的用户ID
- PID:进程的进程号ID
- PPID:进程的父ID(启动此进程的其它进程)
- C:此进程的CPU占用率(百分比)
- STIME:进程的启动时间
- TTY:启动此进程的终端序号,如显示为
?
,表示非终端启动 - TIME:进程占用CPU的时间
- CMD:进程对应的名称或启动路径或启动命令
查看指定进程:
使用tail
命令程序堵塞
新开一个标签,查询tail
命令
过滤不仅仅过滤名称,进程号,用户ID等等,都可以被grep过滤哦
关闭进程
在Windows系统中,可以通过任务管理器选择进程后,点击结束进程从而关闭它。
同样,在Linux中,可以通过kill
命令关闭进程。
语法:kill [-9] 进程ID
选项:-9
,表示强制关闭进程。不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制。
或
九、主机状态监控
1、查看系统资源占用
- 可以通过top命令查看CPU、内存使用情况,类似Windows的任务管理器默认每5秒刷新一次,语法:直接输入top即可,按
q
或ctrl + c
退出
2、top
命令详解
第一行:
top
:命令名称,20:19:01:当前系统时间,up 4:55:启动了4小时55分钟,5users:5个用户登录,load:1、5、15分钟负载
第二行:
Tasks:242个进程,1 running:1个进程子在运行,241 sleeping:241个进程睡眠,0个停止进程,0个僵尸进程
第三行:
%Cpu(s)
:CPU使用率,us
:用户CPU使用率,sy
:系统CPU使用率,ni
:高优先级进程占用CPU时间百分比,id
:空闲CPU率,wa
:IO等待CPU占用率,hi
:CPU硬件中断率,si
:CPU软件中断率,st
:强制等待占用CPU率
第四、五行:
Kib Mem
:物理内存,total
:总量,free
:空闲,used
:使用,buf/cache
:buf和cache占用KibSwap
:虚拟内存(交换空间),total
:总量,free
:空闲,used
:使用,buf/cache
:buf和cache占用
- PID:进程id
- USER:进程所属用户
- PR:进程优先级,越小越高
- NI:负值表示高优先级,正表示低优先级
- VIRT:进程使用虚拟内存,单位KB
- RES:进程使用物理内存,单位KB
- SHR:进程使用共享内存,单位KB
- S:进程状态(S休眠,R运行,Z僵死状态,N负数优先级,I空闲状态)
- %CPU:进程占用CPU率
- %MEM:进程占用内存率
- TIME+:进程使用CPU时间总计,单位10毫秒
- COMMAND:进程的命令或名称或程序文件路径
top命令也支持选项:
选项 | 功能 |
-p | 只显示某个进程的信息 |
-d | 设置刷新时间,默认是5s |
-c | 显示产生进程的完整命令,默认是进程名 |
-n | 指定刷新次数,比如 |
-b | 以非交互非全屏模式运行,以批次的方式执行top,一般配和 |
-i | 不显示任何闲置(idle)或无用(zombie)的进程 |
-u | 查找特定用户启动进程 |
登出trl
top交互式选项
按键 | 功能 |
h键 | 按下h键,会显示帮助画面 |
c键 | 按下c键,会显示产生进程的完整命令,等同于-c多数,再次按下c键,变为默认显示 |
f键 | 按下f键,可以选择需要展示的项目 |
m键 | 按下m键,根据驻留内存大小(res)排序 |
p键 | 按下p键,根据cpu使用百分比大小进行排序 |
t键 | 按下t键,根据时间/累计时间进行排序 |
e键 | 按下e键,切换顶部内存显示单位 |
e键 | 按下e键,切换进程内存显示单位 |
1键 | 按下1键,切换显示平均负载和启动时间信息 |
i键 | 按下i键,不显示闲置或无用的进程,等同于-i参数,再次按下,变为默认显示 |
t键 | 按下t键,切换显示cpu状态信息 |
m键 | 按下m键,切换显示内存信息 |
3、磁盘信息监控
使用df命令,可以查看硬盘的使用情况
- 语法:
df [-h]
- 选项:
-h
,以更加人性化的单位显示
可以以使用iostat查看CPU、磁盘的相关信息
- 语法:
iostat [-x] [num1] [num2]
• - 选项:-x,显示更多信息
- num1:数字,刷新间隔,num2:数字,刷新几次
tps:该设备每秒的传输次数(Indicate the number of transfers per second that were issued to thedevice.)。"一次传输"意思是"一次I/O请求"。多个逻辑请求可能会被合并为"一次I/O请求"。"一次传输"请求的大小是未知的。
- rrqm/s:每秒这个设备相关的读取请求有多少被Merge了(当系统调用需要读取数据的时候,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge,提高IO利用率,避免重复调用);
- wrqm/s:每秒这个设备相关的写入请求有多少被Merge了。
- rsec/s:每秒读取的扇区数;sectorswsec/:每秒写入的扇区数。
- rKB/s:每秒发送到设备的读取请求数wKB/s:每秒发送到设备的写入请求数avgrq-sz平均请求扇区的大小avgqu-sz平均请求队列的长度。毫无疑问,队列长度越短越好。
- await:每一个IO请求的处理的平均时间(单位是微秒毫秒)。
- svctm表示平均每次设备I/O操作的服务时间(以毫秒为单位)
- %util:磁盘利用率
4、网络状态监控
可以使用sar
命令查看网络的相关统计(sar命令非常复杂,这里仅简单用于统计网络)
- 语法:
sar -n DEV num1 num2
- 选项:
-n
,查看网络,DEV表示查看网络接口 num1
:刷新间隔(不填就查看一次结束),num2
:查看次数(不填无限次数)
- IFACE本地网卡接口的名称
- rxpck/s每秒钟接受的数据包
- txpck/s每秒钟发送的数据包
- rxKB/S每秒钟接受的数据包大小,单位为KB
- txKB/S每秒钟发送的数据包大小,单位为KB
- rxcmp/s每秒钟接受的压缩数据包
- txcmp/s每秒钟发送的压缩包
- rxmcst/s每秒钟接收的多播数据包
十、环境变量
环境变量是一组信息记录,类型是KeyValue型(名称=值),用于操作系统运行的时候记录关键信息
通过env命令可以查看当前系统配置的环境变量信息
通过$符号,可以取出环境变量的值
环境变量PATH
环境变量PATH会记录一组目录,目录之间用:
隔开。这里记录的是命令的搜索路径,当执行命令会从记录中记录的目录中挨个搜索要执行的命令并执行。
可以通过修改这个项目的值,加入自定义的命令搜索路径如export PATH=$PATH:自定义路径
修改环境变量
- 临时生效:export名称=值
- 永久生效:
针对用户:~/.bashrc文件中配置
针对全部用户:/etc/profile文件中配置
配置完成,可以通过source命令立刻生效
十一、上传下载
1、使用FInalShell等远程连接工具进行拖拽上传
2、rz、sz命令
- rz进行文件上传
- sz 文件,进行文件下载
十二、压缩和解压
1、Linux系统常用的压缩格式有:
- tar格式,归档文件,简单的将文件整合到一个文件内,无压缩效果
- gzip格式,gzip压缩文件,不仅能整合到一个文件,同时有体积压缩效果
2、tar命令
Linux和Mac系统常用有2种压缩格式,后缀名分别是:•
.tar
,称之为tarball,归档文件,即简单的将文件组装到一个.tar的文件内,并没有太多文件体积的减少,仅仅是简单的封装.gz
,也常见为.tar.gz,gzip格式压缩文件,即使用gzip压缩算法将文件压缩到一个文件内,可以极大的减少压缩后的体积
针对这两种格式,使用tar命令均可以进行压缩和解压缩的操作
语法:tar [-c -v -x -f -z -C] 参数1 参数2 ... 参数n
- -c,创建压缩文件,用于压缩模式
- -v,显示压缩、解压过程,用于查看进度
- -x,解压模式
- -f,要创建的文件,或要解压的文件,-f选项必须在所有选项中位置处于最后一个
- -z,gzip模式,不使用-z就是普通的tarball格式
- -C,选择解压的目的地,用于解压模式
压缩:
注意:
-z
选项如果使用的话,一般处于选项位第一个-f
选项,必须在选项位最后一个
解压:
注意:
-f
选项,必须在选项组合体的最后一位-z
选项,建议在开头位置-C
选项单独使用,和解压所需的其它参数分开
3、zip命令压缩文件
可以使用zip命令,压缩文件为zip压缩包
语法:zip [-r] 参数1 参数2 ... 参数n
- -r,被压缩的包含文件夹的时候,需要使用-r选项,和rm、cp等命令的-r效果一致
4、unzip命令解压文件
使用unzip命令,可以方便的解压zip压缩包
语法:unzip [-d] 参数
- -d,指定要解压去的位置,同tar的-C选项
- 参数,被解压的zip压缩包文件