目录
1.ctrl+c强制退出
2.ctrl + d 退出或登出
不能用于退出vi/vim
3.history:历史命令搜索
4.ctrl + r,输入内容去匹配历史命令
如果搜索到的内容是你需要的,那么:
回车键可以直接执行
键盘左右键,可以得到此命令(不执行)
5.光标移动快捷键
- ctrl + a,跳到命令开头
- ctrl + e,跳到命令结尾
- ctrl + 键盘左键,向左跳一个单词
- ctrl + 键盘右键,向右跳一个单词
6.清屏
- 通过快捷键ctrl + l,可以清空终端内容
- 或通过命令clear得到同样效果
7.软件安装
软件安装,CentOS系统和Ubuntu是使用不同的包管理器。CentOS使用yum管理器,Ubuntu使用apt管理器,但是两者都需要root权限
1)apt命令:Ubuntu
- 基础格式:apt [-y] [install | remove | search] 软件名称
其中,-y选项表示自动确认,无需手动确认安装或卸载过程
以下命令可以更新apt,没更新的话可能有一些软件安装不了:
安装vim:
2)yum命令: RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题,适用于CentOS。另外,yum命令需要联网
- 基础格式:yum [-y] [install | remove | search] 软件名称
其中,-y选项表示自动确认,无需手动确认安装或卸载过程
apt install wget
apt remove wget
apt search wget
8.systemctl命令:控制服务/软件的启动/关闭
- 基础格式:systemctl start |stop |status |enable |disable 服务名
1)start 启动
2)stop 关闭
3)status 查看状态
4)enable 开启开机自启
5)disable 关闭开机自启
- 系统内置的服务均可被systemctl控制,比如:
1)NetworkManager,主网络服务
2)network,副网络服务
3)firewalld,防火墙服务
4)sshd,ssh服务(FinalShell远程登录Linux使用的就是这个服务)
- 部分第三方软件安装后也可以以systemctl进行控制
1)yum install -y ntp,安装ntp软件,可以通过ntpd服务名,配合systemctl进行控制
2)yum install -y httpd,安装apache服务器软件,可以通过httpd服务名,配合systemctl进行控制
- 部分软件安装后没有自动集成到systemctl中,我们可以手动添加
9.软连接
- 基础格式:ln -s Linux文件/文件夹路径1 Linux文件/文件夹路径2
1)-s选项,创建软连接
2)Linux文件/文件夹路径1:被链接的文件或文件夹
3)Linux文件/文件夹路径2:要链接去的目的地
10.date命令:查看日期时间
- 基础格式:date [-d] [格式化字符串]
-d选项:按照给定的字符串显示日期,一般用于日期计算
格式化字符串:通过特定的字符串标记,来控制显示的日期格式
1)%Y 年
2)%y 年份后两位数字 (00..99)
3)%m 月份 (01..12)
4)%d 日 (01..31)
5)%H 小时 (00..23)
6)%M 分钟 (00..59)
7)%S 秒 (00..60)
8)%s 自 1970-01-01 00:00:00 UTC 到现在的秒数
由于中间带有空格,所以使用双引号包围格式化字符串,作为整体:
11. 修改Linux时区
1)通过软连接修改Linux时区
- 使用root权限,执行如下命令,修改时区为东八区时区
- 将系统自带的localtime文件删除,并将/usr/share/zoneinfo/Asia/Shanghai文件链接为localtime文件
2)通过ntp程序自动校准系统时间
- 安装ntp:
yum -y install ntp
- 启动并设置开机自启,当ntpd启动后会定期的帮助我们联网校准系统的时间:
systemctl start ntpd
systemctl enable ntpd
3)手动校准时间(需root权限):
ntpdate -u ntp.aliyun.com
12.IP地址和主机名
IP地址主要有2个版本,V4版本和V6版本(V6很少用)
IPv4版本的地址格式是:a.b.c.d,其中abcd表示0~255的数字,如192.168.88.101就是一个标准的IP地址
可以通过命令:ifconfig,查看本机的ip地址,如无法使用ifconfig命令,可以安装:yum -y install net-tools
- 127.0.0.1,这个IP地址用于指代本机
- 0.0.0.0,特殊IP地址:
- 可以用于指代本机
- 可以在端口绑定中用来确定绑定关系
- 在一些IP地址限制中,表示所有IP的意思,如放行规则设置为0.0.0.0,表示允许任意IP访问
1)查看主机名:hostname
2)修改主机名:hostnamectl set-hostname 主机名
修改主机名需要root权限
13.域名解析
数字化的IP地址难以记忆,域名解析可以帮助我们通过字符化的地址去访问服务器:
即:
- 先查看本机的记录(私人地址本) Windows看:C:\Windows\System32\drivers\etc\hosts Linux看:/etc/hosts
- 再联网去DNS服务器(如114.114.114.114,8.8.8.8等)询问
我们可以设置用finalshell通过域名(主机名)连接我们的Linux服务器:
- 打开C:\Windows\System32\drivers\etc\hosts
- 修改文件:
14.固定Linux服务器的IP地址
当前我们虚拟机的Linux操作系统,其IP地址是通过DHCP服务获取的。 DHCP:动态获取IP地址,即每次重启设备后都会获取一次,可能导致IP地址频繁变更
15.ping命令
- 基础格式:ping [-c num] ip或主机名
1)-c选项:检查num次,不适用-c选项将无限次持续检查
16.文件下载
1)wget命令:非交互式文件下载,可以下载网络文件
- 基础格式:wget [-b] 下载url
-b选项:后台下载,会将日志写入到当前工作目录的wget-log文件
- 例子:
下载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
- 无论下载是否完成,都会生成要下载的文件,如果下载未完成,要及时清理未完成下载的不可用文件
2)curl命令:可以发送http网络请求,可用于:下载文件、获取信息
- 基础语法:curl [-0] url
-0选项:用于下载文件,当url是下载链接时,可以使用此选项保存文件
- 例子:
通过curl下载hadoop-3.3.0安装包:
curl -O http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
17.端口(虚拟)
Linux系统支持65535个端口,分为3类:
1)公认端口:1~1023,通常用于一些系统内置或知名程序的预留使用,如SSH服务的22端口,HTTPS服务的443端口 非特殊需要,不要占用这个范围的端口
2)注册端口:1024~49151,通常可以随意使用,用于松散的绑定一些程序/服务
3)动态端口:49152~65535,通常不会固定绑定程序,而是当程序对外进行网络链接时,用于临时使用
- nmap命令(查看所有的端口占用情况):nmap IP地址
可以看到22和631端口开启了
- netstat命令(查看指定端口的占用情况):netstat -anp | grep 端口号
可以看到当前系统22端口被程序(端口号746)占用了
其中,0.0.0.0.0:22,表示端口绑定在0.0.0.0这个IP地址上,表示允许外部访问
18.进程的查看和关闭
- ps命令(查看Linux系统中的进程信息):ps [-e -f]
-e选项:显示全部的进程
-f选项:以完全格式化的形式展示信息(展示全部信息)
一般来说,固定用法就是: ps -ef 列出全部进程的全部信息
- 查看指定进程: ps -ef | grep 命令
过滤不仅仅过滤名称,进程号,用户ID等等,都可以被grep过滤
过滤tail命令的信息
过滤带有30001关键字的进程信息(一般指代过滤30001进程号)
- 关闭进程:kill [-9] 进程ID
-9选项:表示强制关闭进程。不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制
在Windows系统中,可以通过任务管理器选择进程后,点击结束进程从而关闭它
19.主机状态---查看主机运行状态的监控命令
1)top命令(查看系统资源占用):top
类似Windows的任务管理器
默认每5秒刷新一次,按q或ctrl + c退出
其中:
第一行:
top:命令名称,14:39:58:当前系统时间,up 6 min:启动了6分钟,2 users:2个用户登录,load:1、5、15分钟负载
第二行:
Tasks:175个进程,1 running:1个进程子在运行,174 sleeping:174个进程睡眠,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:使用,buff/cache:buff和cache占用 KibSwap:虚拟内存(交换空间),total:总量,free:空闲,used:使用,buff/cache:buff和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命令选项:
- top交互式选项:
当top以交互式运行(非-b选项启动),可以用以下交互式命令进行控制
2)df命令(查看硬盘的使用情况):df [-h]
- -h选项:以更加人性化的单位显示
3)iostat命令(磁盘IO信息监控):iostat [-x] [-k] [num1] [num2]
- -x选项:显示更多信息
- -k选项:以k为单位展示磁盘数据
- num1:数字,刷新间隔,num2:数字,刷新几次
tps:该设备每秒的传输次数(Indicate the number of transfers per second that were issued to the device.)。"一次传输"意思是"一次I/O请求"。多个逻辑请求可能会被合并为"一次I/O请求"。"一次传输"请求的大小是未知的。
其中:
device段的结果中:
rrqm/s:每秒这个设备相关的读取请求有多少被Merge了(当系统调用需要读取数据的时候,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge, 提高IO利用率, 避免重复调用);
wrqm/s:每秒这个设备相关的写入请求有多少被Merge了。
rsec/s:每秒读取的扇区数
sectors wsec/:每秒写入的扇区数
r/s:每秒读请求数
w/s:每秒写请求数
rKB/s:每秒发送到设备的读取请求数
wKB/s:每秒发送到设备的写入请求数
rkb:每秒写磁盘字节数
wkb:每秒读磁盘字节数
avgrq-sz :平均请求扇区的大小
avgqu-sz :平均请求队列的长度。毫无疑问,队列长度越短越好。
await:每一个IO请求的处理的平均时间(单位是微秒毫秒)。
svctm:表示平均每次设备I/O操作的服务时间(以毫秒为单位)
%util:磁盘利用率,反馈磁盘的繁忙程度
avg-cpu段的结果中:
%user:运行使用的CPU百分比
%nice:nice操作所使用的CPU的百分比
%system:在系统级别(kernel)运行所使用CPU的百分比
%iowait:CPU等待硬件I/O时,所占用CPU百分比
%idle:CPU空闲时间的百分比
4)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 每秒钟接收的多播数据包
5)free命令(内存监控):free [-m]/[-g]/[-k]
- -m选项:以MB为单位显示系统的内存使用情况,[-g]、[-k]用法同理
20、环境变量
Linux的一系列命令其实本质上就是一个个的可执行程序。但是无论当前工作目录在哪里,都能执行到Linux命令对应的程序,这都是环境变量的作用。环境变量是操作系统(Windows、Linux、Mac)在运行的时候,记录的一些关键性信息,用以辅助系统运行,环境变量是一种KeyValue型结构,即名称和值。
- env命令(查看环境变量):env
其中:
HOME:/home/liu,用户的HOME路径
USER:liu,当前的操作用户
PWD:当前工作路径 ......
等等一系列信息,用于辅助系统在运行的时候从环境变量中获取关键信息
- PATH:记录了系统执行任何命令的搜索路径(路径之间以:隔开)
- $符号(取环境变量的值)
环境变量记录的信息,除了给操作系统自己使用外,如果我们想要取用,也可以使用。
基础格式:$环境变量名
echo $PATH 就可以取得PATH这个环境变量的值,并通过echo语句输出出来
echo ${PATH}ABC 当和其它内容混合在一起的时候,可以通过{}来标注取的变量是哪个
- 自行设置环境变量的值
临时设置(终端重新开就不会再生效)环境变量语法:export 变量名=变量值
永久生效: 针对当前用户生效,配置在当前用户的: ~/.bashrc文件中
针对所有用户生效,配置在系统的: /etc/profile文件中
通过语法:source 配置文件,进行立刻生效,或重新登录FinalShell生效
环境变量PATH这个项目里面记录了系统执行命令的搜索路径。 这些搜索路径我们也可以自行添加到PATH中去。
测试: 在当前HOME目录内创建文件夹,myenv,在文件夹内创建文件mkhaha 通过vim编辑器,在mkhaha文件内填入:echo 哈哈哈哈哈
完成上述操作后,随意切换工作目录,执行mkhaha命令尝试一下,会发现无法执行
修改PATH的值 临时修改PATH:export PATH=$PATH:/home/itheima/myenv,
再次执行mkhaha,无论在哪里都能执行了
或将export PATH=$PATH:/home/itheima/myenv,填入用户环境变量文件或系统环境变量文件中去
21、上传、下载
1)通过finalshell下方的文件系统视图
2)rz、sz命令(安装命令:yum -y install lrzsz,需要终端软件支持才可正常运行)
- rz命令(上传):rz
- sz命令(下载,自动下载到桌面的:fsdownload文件夹中):sz 要下载的文件
22.压缩、解压
市面上有非常多的压缩格式:
zip格式:Linux、Windows、MacOS,常用
7zip:Windows系统常用
rar:Windows系统常用
tar:Linux、MacOS常用
gzip:Linux、MacOS常用
1)tar命令