目录
[1、ctrl + c强制停止](#1、ctrl + c强制停止)
[2、ctrl + d退出或登出](#2、ctrl + d退出或登出)
一、快捷键
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,安装wget
- apt remove wget,移除wget
- apt 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     | 指定刷新次数,比如top -n 3,刷新3次后退出                                                           |
| -b     | 以非交互非全屏模式运行,以批次的方式执行top,一般配和-n指定输出几次统计信息,将输出重定向到指定文件,比如top -b -n 3 > /tmp/top.tmp |
| -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压缩包文件
