Linux03
使用操作
各类小技巧(快捷键)
强制停止
ctrl + c
- 强制停止程序的运行
- 退出程序的输入
ctrl + d
- 退出当前切换的用户
- 退出某些程序的专属页面(如python)
查看历史命令
history
- 最速匹配命令
可以先输入!然后输入前缀 会自动根据最近所输入的命令来匹配前缀 - 搜索命令
ctrl + r 可以搜索命令 如果要执行 直接回车 如果想要修改 就按左右键就会得到该命令
光标移动快捷键
- ctrl + a 跳到命令开头
- ctrl + e 跳到命令结尾
- ctrl + 左箭头 向左跳一个单词
- ctrl + 右箭头 向右跳一个单词
清屏
- ctrl + L 清屏
clear
软件安装
通过yum命令来安装软件
yum命令
yum:RPM包软件管理器 用于自动化安装配置Linux软件 并且可以自动解决依赖问题
语法:yum [-y] [install | remove | search] 软件名称
- y:自动确认 无需手动确认安装卸载的过程
- install:安装
- remove:卸载
- search:搜索
yum命令需要root权限和联网
在最初的yum search wget
中发生错误 显示是DNS域名解析错误 具体成功搜豆包Yum搜索及镜像源问题
systemctl
Linux中很多软件(内置或者第三方)都支持systemctl命令控制:启动 停止 开机自启
能够被systemctl管理的软件 叫做服务
语法:systemctl start | stop | status | disable | enable 服务名
系统内置服务较多 比如
- NetworkManager 主网络服务
- network 副网络服务
- firewalld 防火墙服务
- sshd ssh服务
软链接
使用ln命令创建软链接 软链接就是类似于Windows的快捷方式 一个软件指向其本体 Windows叫快捷方式 Linux叫软链接
语法:ln -s 参数1 参数2
- -s 要创建软链接
- 参数1 被链接的文件/文件夹
- 参数2 要连接去的目的地
日期和时区
-
date命令
使用该命令可以在命令行中查看系统时间
语法:date [-d] [+格式化字符串]
- d按照给定的字符串显示日期 一般用于日期的计算
year
month
day
hour
minute
second - 格式化字符串一般包括
%Y 年
%y 年份后两位数字(00-99)
%m 月份
%d 日
%H 小时
%M 分钟
%S 秒
%s 从1970-1-1 到现在的秒数 时间戳
- d按照给定的字符串显示日期 一般用于日期的计算
-
修改Linux时区
可以使用root用户 来修改时区到东八区 但是目前好像有问题 只能改上海 改北京中间隔着八小时
root权限下rm -f /etc/localtime ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
如此便可更改时区到东八区
-
ntp程序
可以通过ntp程序来自动校准时间
首先安装ntp
yum -y install ntp
启动开机自启
systemctl start ntpd
systemctl enable ntpd
这样设置之后ntp就会定期帮我们校准系统时间
也可以手动校准(要root权限)ntpdate -u ntpaliyun.com
ip地址 主机名
-
ip
ipv4的格式是:a.b.c.d 每个字母都表示0-255的数字 如192.168.147.130就是一个标准的ipv4的ip地址 ipv6等待学习更新
还有一些特殊ip
127.0.0.1:这个ip地址指代本机 通讯自己 做回环测试
0.0.0.0- 用于指代本机
- 可以在端口绑定中来确定绑定关系
- 在一些ip地址限制中 表示所有ip的意思 比如如果放行0.0.0.0ip 则代表放行所有IP
-
主机名
Linux可以通过hostname
来得到主机名
同样可以修改主机名通过hostnamectl set-hostname 主机名
便可以修改主机名(需要root权限) -
域名解析
其实就是用一个域名来映射一个ip地址
根据网址登录流程就两步- 先查看本机记录有没有输入网址的对应ip
Linux系统在:/etc/hosts
Windows在:C:\Windows\System32\dirvers\etc\hosts - 如果没有就去DNS服务器(如114.114.114.114,8.8.8.8)中询问
- 先查看本机记录有没有输入网址的对应ip
-
配置主机名映射
首先可以在Windows中修改主机名映射
先用管理员身份打开记事本 然后打开位于C:\Windows\System32\dirvers\etc\hosts中的host文件 直接写就行 ip地址 + 空格 + 主机名 -
虚拟机配置固定ip
虚拟机的操作系统 ip地址都是通过DHCP服务获取的
DHCP:动态获取ip地址 每次重启设备之后 都会进行ip的变更 导致ip地址转换频繁
- 打开VMware Workstation 点击编辑-虚拟网络编辑器-选中VMnet8-选中net模式-将子网ip设置为192.168.xx.0-确认子网掩码是255.255.255.0-点击net设置-将网关ip设置为192.168.xx.2同子网ip一样
- 使用vim编辑打开/etc/sysconfig/network-scripts/ifcfg-ens33
然后按照图片中更改
网络请求和下载
-
ping命令
可以通过ping命令 检查指定的网络服务器是否是可以联通的
语法:ping [-c num] ip/主机名
- c表示检查的次数 如果不加 就会无限次ping
-
wget命令
wget是非交互式的文件下载器 可以在命令行内下载网络文件
语法:wget [-b] url
- b表示后台下载 会将日志写入到当前工作目录下的wget-log文件中
-
curl
curl命令可以发送http请求 用于下载文件 获取信息等
语法:curl [-O] url- O用于下载文件 当url是下载链接时 可以用此选项保存文件
端口
端口就是设备和外部沟通交流的出入口 分为两大类
- 物理端口 就是接口USB接口 RJ45网口 HDMI端口
- 虚拟端口 计算机内部的端口 不可见 是操作系统和外部进行交互使用的 也就是说ip地址只能锁定具体的计算机 但是无法锁定到计算机内的某一个程序 通过虚拟端口就可以锁定到计算机内部的某一个程序
- 端口
Linux支持65535个端口 2的16次方 主要被分为三大类- 公认端口 1-1023 通常用于一些系统内置或者知名程序预留使用 如SSH的22端口 HTTPS的443端口 非特殊服务 不要占用这个端口
- 注册端口 1024-49151 可以随意使用 通常绑定一些程序/服务
- 动态端口 49152-65535 不会固定绑定程序 而是当程序对外进行网络连接时 用于临时使用
- 查看端口占用
可以使用nmap命令查看ip地址下的端口
语法:nmap IP地址
前提是先通过yum下载nmap
还可以通过netstat查看指定端口的占用情况
语法:netstat -anp | grep 指定端口号
同样需要通过yum安装net-tools
进程管理
-
进程
程序运行在操作系统中 被操作系统所管理 而为了管理程序 每一个程序在运行的时候 便被操作系统注册为系统的一个进程 并为每个进程分配一个进程ID -
查看进程
通过ps命令来查看进程
语法:ps [-e -f]
- e显示出全部的进程
- f展示全部信息
固定用法就是
ps -ef
从左到右以此是- UID 进程所属的用户ID
- PID 进程的进程号ID
- PPID 该进程的父ID 启动此进程的其他进程
- C 此进程的CPU占比率
- STIME 进程的启动时间
- TTY 启动此进程的终端序号 如果显示? 则表示为非终端启动
- TIME 进程占用CPU的时间 是从启动开始 到现在总共占用了CPU多久
- CMD 进程对应的名称或启动命令或者启动路径
-
关闭进程
可以通过kill命令来关闭某个进程
语法:kill [-9] 进程ID
- 9表示强制关闭 不会询问进程
主机状态监控
查看系统资源占用
语法:top
通过该命令查看CPU 内存的使用情况 类似于Windows的资源管理器
第一行:top---命令名称 15:46:24---系统时间 up 2:46---当前系统运行了两小时四十六分钟 3 users---当前系统登录了两个用户 load average---一分钟 五分钟 十五分钟负载
第二行: tasks---总共有多少进程 running---正在运行多少进程 sleeping---多少进程休眠 stopped---多少进程停止 zombie---僵尸进程
第三行:%Cpu(s) us---用户进程的CPU占用率 sy---系统进程的CPU占用率 ni---高优先级进程占用CPU的时间百分比 id---空闲CPU率 wa---io等待CPU占用率 hi---CPU硬件中断率 si---CPU软件中断率 st---强制等待占用CPU率
第四 五行:KiB Mem:物理内存 KiB Swap:虚拟内存 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命令非交互式选项
- p 只显示某个进程的信息
- d 设置刷新时间 默认是5s
- c 显示产生进程的完整命令 默认是进程名
- n 指定刷新次数 比如
top -n 3
刷新输出三次后退出 - b 以非交互非全屏模式运行 以批次的方式执行top 一般配合-n指定输出几次统计信息 将输出重定向到指定文件 比如
top -b -n 3 > /tmp/top.tmp
- i 不显示任何闲置(idle)或无用(zombie)的进程
- u 查找特定用户启动的进程
top命令交互式选项
- 按下h键 会显示帮助画面
- 按下c键 会显示产生进程的完整命令 等同于-c参数 再次按下c键 变为默认显示
- 按下f键 可以选择需要展示的项目
- 按下M键 根据驻留内存大小(RES)排序
- 按下P键 根据CPU使用百分比大小进行排序
- 按下T键 根据时间/累计时间进行排序
- 按下E键 切换顶部内存显示单位
- 按下e键 切换进程内存显示单位
- 按下l键 切换显示平均负载和启动时间信息
- 按下i键 不显示限制或无用的进程 等同于-i参数 再次按下 变为默认显示
- 按下t键 切换显示CPU状态信息
- 按下m键 切换显示内存信息
磁盘信息监控
-
使用df命令可以监控磁盘信息
语法:df [-h]
- h是切换显示单位
-
还可以使用iostat来监控CPU 磁盘信息
语法:iostat [-x][num1][num2]
- x 显示更多信息
- num1 刷新间隔
- num2 刷新几次
tps:每秒传输次数
网络监控
-
网络状态监控
使用sar命令固定写法
语法:sar -n DEV num1 num2
- n 查看网络 DEV表示网络接口
- num1 刷新间隔 num2 刷新次数
环境变量
环境变量是操作系统在运行的时候 记录的一些关键信息 用以辅助系统运行
env命令可以在Linux系统中检查环境变量 环境变量是一种key-value结构
环境变量PATH
无论工作目录是什么 都可以准确执行cd这个程序 就是因为借助了环境变量中的PATH这个项目的值来做到的
PATH记录了系统执行任何命令的搜索路径(路径之间以:隔开)
$符号
在Linux系统中 $符号是用来取变量的值的 比如PATH变量 输入$PATH
就可以得到这个key对应的值了
和其他内容混在一起的时候 用{}隔开 ${PATH}ABD
直接输出有点问题 所以需要搭配echo来将结果输出出来 echo $PATH
自行设置环境变量
- 临时设置
语法:export 变量名=变量值
- 永久生效
- 针对当前用户生效 配置在当前用户的 ~/.bashrc文件中
- 针对所有用户生效 配置在系统的 /etc/profile文件中
- 并通过语法
source 配置文件
进行立刻生效 或者重启系统
自定义环境变量PATH
环境变量PATH记录了系统执行命令的搜索路径 这些路径我们也可以自己添加到PATH中去
测试
- 在当前HOME目录内创建文件夹 myenv 在文件夹内创建文件mkhaha
- 通过vim编辑器 在mkhaha中填入
echo 哈哈哈哈
- 临时修改PATH
export PATH=$PATH:/home/big4mart/myenv
上传 下载
在Xsheel中的文件管理器 直接选中文件右键下载就可以下载 或者在Windows中拖拽文件到Xshell目录中 也可以进行上传
rz sz命令
sz下载 sz 某个文件/文件夹
rz上传 rz
选择文件
压缩 解压
Windows常用zip 7zip rar
Linux常用tar gzip
tar命令
- .tar 称之为tar包 归档文件 就是没有明显的体积减少 就是简单的文件封装
- .gzip 也常见为.tar.gz gzip压缩用了压缩算法 很大减少了体积
使用tar命令均可以对这两种进行压缩 解压
语法:tar [-c -b -x -f -z -C] 参数1 参数2...
- c 创建压缩文件用于压缩模式
- v 显示压缩解压过程 用于显示进度
- x 解压模式
- f 要创建的文件 要解压的文件 f选项必须在所有选项的最后一个
- z gzip模式 不适用z选项就是简单的tarball模式
- C 选择解压的目的地 用于解压模式

z选项一般来说都是第一个

一般来说 f是最后一个 z要在开头 C单独使用
zip命令压缩文件
语法:zip [-r] 参数1 参数2...
- r 被压缩的包含文件夹的时候用r 也就是参数中有文件夹 就用r
unzip解压
语法:unzip [-d] 参数
- d表示解压去的位置