Linux使用技巧
各类小技巧快捷键
-
强制停止
ctrl + c
强制停止程序的执行 或者 退出当前命令的输入
-
退出或登出
ctrl + d
- 退出账户的登录
- 退出某些特定程序的专属页面,比如python
-
历史命令搜索
history
,可查看历史输入过的命令!
命令前缀,自动执行上一次 匹配前缀的命令ctrl + r
,输入内容去匹配历史命令- 输入回车键直接执行
- 按键盘左右键,可以得到此命令**(不执行)**
-
光标移动快捷键
ctrl + a
,跳到命令开头ctrl + e
,跳到命令结尾ctrl + 键盘左键
,向左跳一个单词ctrl + 键盘右键
,向右跳一个单词
-
清屏
ctrl + l
,清空中断内容clear
命令
软件安装
-
yum命令:RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题,适用于CentOS系统
-
语法:
yum [-y] [install | remove | search] 软件名称
- 选项:-y,自动确认,无需手动确认安装或卸载过程
- install:安装
- remove:卸载
- search:搜索
-
-
apt命令:DEB包软件管理器,适用于Ubuntu系统
- 语法同yum一模一样
systemctl命令
Linux系统很多软件(内置或者第三方)均支持使用systemctl命令控制:启动、停止、开机自启。能够呗systemctl管理的软件,一般也称为服务
-
语法:
systemctl start | stop | status | enable | disable 服务名
- start:启动
- stop:关闭
- status:查看状态
- enable:开启开机自启
- disable:关闭开机自启
-
系统内置的服务较多,举例如下
- NetworkManager,主网络服务
- network,副网络服务
- firewalld,防火墙服务
- sshd,ssh服务
-
除了内置的服务外,部分第三方软件安装后也可以用systemctl控制
-
yum -y install ntp
可通过ntpd服务名,配合systemctl进行控制
-
yum -y install httpd
可通过httpd服务名,配合systemctl进行控制
这是因为这些软件会自动注册服务,对于那些不会自动注册服务的软件,我们可以手动添加,详见后续内容。
-
软链接
在Linux系统中可以使用ln命令创建软链接,可以将文件、文件夹链接到其他位置,类似于Windows系统中的“快捷方式”
- 语法:
ln -s 参数1 参数2
- -s选项,创建软链接
- 参数1,被链接的文件或文件夹
- 参数2,要链接去的目的地
日期和时区
date命令查看日期时间
-
语法:
date [-d] [+格式化字符串]
- -d选项,按照给定的字符串显示日期,一般用于日期计算
- 支持的时间标记为:year, month, day, hour, minute, second
- 如:
date -d "+1 day" +%Y-%m-%d
- 格式化字符串:通过特定的字符串标记,来控制显示的日期格式
- %Y:年
- %y:年份后两位数字(00~99)
- %m:月份(01~12)
- %d:日(1~31)
- %H:小时(00~23)
- %M:分钟(00~59)
- %S:秒(00~60)
- %s:自1970-01-01 00:00:00 UTC到现在的秒数
- -d选项,按照给定的字符串显示日期,一般用于日期计算
-
直接使用date命令本体,直接查看时间
-
按照2023-12-15 9:36:00的格式显示日期
date "+%Y-%m-%d %H:%M:%S"
修改Linux系统的时区
通过date查看的日期,默认不是东八区的时间,修改方式如下。
rm -f /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
使用ntp进行时间同步和校准
- 首先用过yum安装ntp软件
- 启动ntpd服务并设置开机自启
- ntpd会定期联网校准系统的时间,我们也可以通过ntpdate -u ntp.aliyun.com手动校准(需要root权限)
IP地址、主机名
IP和主机名
IP地址
每台联网的电脑都会有一个地址,用于和其他计算机进行通讯。IP地址有2个版本,V4和V6,而V4版本的地址格式为:a.b.c.d,其中a, b, c, d表示0~255的数字,如192.168.88.101就是一个标准的IP地址。
-
查看IP地址
ifconfig命令,若不成功,输入命令
yum -y install net-tools
.如图所示,ens33是主网卡,I地址为192.168.88.130.
-
特殊IP地址
- 127.0.0.1,用于指代本机
- 0.0.0.0
- 用于指代本机
- 可以在端口绑定中用来确定绑定关系
- 在一些IP地址限制中,表示所有IP的意思
主机名
每一台电脑除了对外联络地址(IP地址)以外,也可以有一个名字,称为主机名。
-
查看主机名
命令:
hostname
-
修改主机名
命令:
hostnamectl set-hostname 主机名
域名解析
IP地址难以记忆,有没有什么办法通过其他方式访问数字化的IP地址呢?在生活中,我们可以使用www.baidu.com打开百度的网址,这里我们称之为“域名”。
-
解析流程
-
配置主机名映射
以管理员身份运行记事本打开C:\Windows\System32\drivers\etc\hosts文件进行修改。
配置Linux固定IP地址
首先,当前我们虚拟机的Linux操作系统,其IP地址是通过DHCP(动态获取IP地址,每次重启设备都会获取一次,导致IP地址频繁变更)服务获取的。
-
为什么需要固定IP
- 我们远程连接到Linux系统,如果IP经常变化我们也要频繁修改适配
- IP地址和主机名的映射也要频繁更改
-
如何配置固定IP
-
在VMware Workstation中配置IP地址网关和网段(IP地址的范围)
编辑->虚拟网络编辑器->VMnet8
编辑->虚拟网络编辑器->VMnet8->NAT设置
-
在Linux系统中手动修改配置文件,固定IP
-
使用vim编辑etc/sysconfig/network-scripts/ifcfg-ens33文件,填入如下内容
-
再执行systemctl restart network重启网卡
-
执行ifconfig即可看到固定好的IP
-
-
网络传输
下载和网络请求
ping命令
可以通过ping命令,检查指定的网络服务器是否可联通
- 语法:
ping [-c num] ip或主机名
- 选项-c,检查的次数,若不使用,将无限次数持续检查
- 参数:ip或主机名,被检查的服务器的ip地址或主机名
- 还可以显示域名的IP地址
wget命令
wget是非交互式的文件下载器,可在命令行内下载网络文件
- 语法:
wget [-b] url
- 选项-b,表示后台下载,会将日志写入到当前工作目录下的wget-log文件中
- 参数url,下载链接
curl命令
curl可以发送http网络请求,可用于:下载文件、获取信息等
-
语法:
curl [-O] url
- 选项-O,用于下载文件,当url是下载链接是,可使用此选项保存文件
- 参数url,要发起请求的网络地址
-
示例
-
向cip.cc发起网络请求:curl cip.cc
类似与浏览器去打开网页
-
通过curl下载:curl -O http://archiive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
与wget类似
-
端口
端口,是设备与外界通讯交流的出入口。
-
分类
- 物理端口:又可称为接口,是可见的端口,如USB接口,RJ45网口等
- 虚拟端口:是指计算机内部的端口,是不可见的,是用来操作系统与外部进行交互使用的
-
为什么要有虚拟端口?
计算机程序之间的通讯,通过IP只能锁定计算机,但是无法锁定具体的程序。通过端口可以锁定计算机上具体的程序,确保程序之间进行沟通。
“IP地址相当于小区地址,在小区内可以有许多住户(程序),而门牌号(端口)就是各个住户(程序)的联系地址。”
-
Linux系统——超大号的“小区”
一共支持65535个端口,分为三类。
- 公认端口:1~1023,通常用于一些系统内置或知名程序的预留使用,如SSH服务的22端口,HTTPS服务的443端口,非特殊需要,不要占用这个范围的端口
- 注册端口:1024~49151,通常可以随意使用,用于松散的绑定一些程序或服务
- 动态端口:49152~65535,通常不会固定绑定程序,而是当程序对外进行网络链接时,用于临时使用。
-
查看端口占用(以下两个软件都需要自行安装)
-
nmap (yum install namp):查看指定IP的对外暴露端口
语法:
nmap 被查看的IP地址
-
netstat (yum install net-tools):查看本机端口号的占用情况
语法:
netstat -anp | grep 端口号
-
进程管理
-
进程相关概念
程序运行在操作系统中,是被操作系统所管理的。为了管理运行的程序,每一个程序在运行的时候,便被操作系统注册为系统中的一个“进程”,并会被分配一个独有的进程ID(进程号)
-
查看进程
-
语法:
ps [-e -f]
- 选项-e,显示出全部的进程
- 选项-f,以完全格式化的形式展示信息
-
一般用法就是ps -ef列出全部进程的全部信息
- UID:进程所属的用户ID
- PID:进程的进程号ID
- PPID:进程的父ID(启动此进程的其他进程)
- C:此进程的CPU占用率(百分比)
- STIME:进程的启动时间
- TTY:启动此进程的终端序号,若显示?表示非中断启动
- TIME:进程占用CPU的时间(累计)
- CND:进程对应的名称或启动路径或启动命令
-
查看指定进程
管道符"|"加上grep
-
-
关闭进程
- 语法:
kill [-9] 进程ID
- 选项-9,表示强制关闭进程;若不使用此选项,会向进程发送信号要求关闭,但是否关闭要看进程自身的处理机制。
- 语法:
主机状态监控
-
查看系统资源占用——top命令
查看CPU、内存使用情况,类似与Windows系统的任务管理器,默认每5秒刷新一次,按q或者ctrl + c退出。
-
语法:
top
-
内容详解
- PID:进程id
- USER:进程所属用户
- PR:进程优先级,越小越高
- NI:负值表示高优先级,正值表示低优先级
- VIRT:进程使用虚拟内存,单位KB
- RES:进程使用物理内存,单位KB
- SHR:进程使用共享内存,单位KB
- S:进程状态(S休眠,R运行,Z僵死,N负数优先级,I空闲)
- %CPU:进程占用CPU铝
- %MEM:进程占用内存率
- TIME+:进程使用CPU时间总计,单位10ms
- COMMAND:进程的命令或名称或程序文件路径
-
top命令也支持选项
-
top交互式选项
-
-
监控磁盘信息
-
df命令
语法:
df [-h]
- 选项-h,以更人性化的单位显示
-
iostat命令
语法:iostat [-x] [num1] [num2]
- 选项-x,显示更多信息
- 参数num1,数字,表示刷新间隔
- 参数num2,数字,表示刷新几次
-x选项的内容详解
-
-
网络状态监控——sar命令
-
语法:
sar -n DEV num1 num2
- 选项-n,查看网络
- 参数DEV,表示查看网络接口
- 参数num1,表示刷新间隔
- 参数num2,表示查看次数
-
信息解读
-
环境变量
思考这样一个问题,无论当前的工作目录是什么,都能执行/usr/bin/cd这个程序,这是为什么?
-
环境变量
环境变量是操作系统在运行时记录的一些关键性信息,用以辅助系统运行。
-
环境变量结构:KeyValue型结构
如:HOME = /home/d2iy2
-
env命令
可查看当前系统中记录的环境变量
-
回到上面的问题,原因正是借助了PATH这个环境变量
PATH记录了系统执行任何命令的搜索路径(之间用:隔开),当执行任何命令,都会按照顺序进行搜索,直至找的要执行的程序。
-
-
符号
$
用于取这个“环境变量”的值,通常配合echo来使用,如echo $PATH. 但如果要在后面继续加内容,可用大括号进行标注,如echo ${PATH}abcdefg.
-
在Linux系统中配置环境变量
-
临时设置——export命令
语法:
export 变量名 = 变量值
-
永久生效
-
针对当前用户生效
配置在当前用户的~/.bashrc文件,写入“export 变量名 = 变量值”即可
-
针对所有用户生效
配置在系统的/etc/profile,写入“export 变量名 = 变量值”即可
对于这两种方法,都需要使用命令“source 配置文件”让配置生效。
-
-
上传与下载
-
通过FinalShell进行上传和下载
- 上传:拖拽即可
- 下载:右键->下载
-
rz、sz命令
首先需要通过yum -y install lrzsz进行安装
rz
命令上传,语法:rz(速度较慢)sz
命令下载,语法:sz 要下载的文件
压缩与解压
-
压缩格式
zip:Linux、Windows、MacOS
7zip:Windows
rar:Windows
tar:Linux、MacOS
- .tar,称为tarball,归档文件,即简单的将文件组装到一个.tar的文件内,并没有太多文件体积的减少,仅仅是简单的封装
gzip:Linux、MacOS
- .gz,也常见为.tar.gz,gzip格式压缩文件,即使用gzip压缩算法将文件压缩到一个文件内,可以极大的减少压缩后的体积
-
tar命令
-
语法:
tar [-c -v -x -f -z -C] 参数1 参数2 ... 参数n
- -c选项,创建压缩文件,用于压缩模式
- -v选项,显示压缩、解压过程,用于查看进度
- -x选项,解压模式,与-c选项二选一
- -f选项,要创建的文件或要解压的文件,必须在所有选项中处于最后一个
- -z选项,gzip模式,不使用-z就是普通的tarball格式,一般放第一个
- -C选项,选择解压的目的地,用于解压组合,建议单独使用
-
常用选项组合
-
tar -cvf test.rar 1.txt 2.txt 3.txt
将1.txt 2.txt 3.txt压缩到test.rar文件内
-
tar -zcvf test.rar.gz 1.txt 2.txt 3.txt
将1.txt 2.txt 3.txt压缩到test.rar.gz文件内,使用gzip模式
-
tar -xvf test.rar
解压test.rar,将文件解压至当前目录
-
tar -xvf test.rar -C /home/d2iy2
解压test.rar,将文件解压至指定目录
-
tar -zxvf test.rar.gz -C /home/d2iy2
以gzip模式解压test.rar.gz,将文件解压至指定目录
-
-
-
zip命令
-
语法:
zip [-r] 参数1 参数2 ... 参数n
- -r选项,被压缩的内容包含文件夹
-
示例
-
zip test.zip a.txt b.txt c.txt
将a.txt b.txt c.txt压缩到test.zip文件内
-
zip -r test.zip helloworld a.txt b.txt c.txt
将helloworld文件夹和a.txt b.txt c.txt三个文件压缩到test.zip文件内
-
-
-
unzip命令
-
语法:
unzip [-d] 参数
- -d选项,指定要解压去的位置,同tar的-C选项
- 参数,被解压的zip压缩包文件
-
示例
-
unzip test.zip
将test.zip解压到当前目录
-
unzip test.zip -d /home/d2iy2
将test.zip解压到指定目录
参数2 … 参数n` -
-r选项,被压缩的内容包含文件夹
-
-
示例
-
zip test.zip a.txt b.txt c.txt
将a.txt b.txt c.txt压缩到test.zip文件内
-
zip -r test.zip helloworld a.txt b.txt c.txt
将helloworld文件夹和a.txt b.txt c.txt三个文件压缩到test.zip文件内
-
-
-
unzip命令
-
语法:
unzip [-d] 参数
- -d选项,指定要解压去的位置,同tar的-C选项
- 参数,被解压的zip压缩包文件
-
示例
-
unzip test.zip
将test.zip解压到当前目录
-
unzip test.zip -d /home/d2iy2
将test.zip解压到指定目录
-
-