注:第一张图与学习记录无关,是为了参与CSDN的AI绘图活动
Ctrl+C强制停止
1、Linux某些程序的运行,如果想要强制停止它,可以使用快捷键Ctrl+C中止
2、在命令输入错误时,也可以通过快捷键Ctrl+C快速退出当前输入
Ctrl+D退出或登出
1、可以通过快捷键:Ctrl+D,退出账户的登录
2、退出某些特定程序的专属页面,vi/vim不适用
历史命令搜索
可以通过history命令,查看历史输入过的命令
!命令前缀
可以通过:!命令前缀,自动执行上一次匹配前缀的命令
!序号
指定历史命令执行
Ctrl+R
可以通过Ctrl+R,输入内容去匹配历史命令
如果搜索到的内容是你需要的,那么:
1、回车键可以直接执行
2、键盘左右键,可以得到此命令(不执行)
光标移动快捷键
1、Ctrl+A,跳到命令开头 Home键也可以
2、Ctrl+E,跳到命令结尾
3、Ctrl+键盘左键,向左跳一个单词
4、Ctrl+键盘右键,向右跳一个单词
清屏
1、通过Ctrl+L,可以清空终端内容
2、通过命令clear得到同样效果
Linux系统的应用商店
Linux命令行内的“应用商店”,yum命令安装软件
yum命令
yum:RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题。
语法:yum [-y] [install|remove|search]软件名称
1、选项:-y,自动确认,无需手动确认安装或卸载过程
2、install:安装
3、remove:卸载
4、search:搜索
注:
1、yum命令需要root权限,可以su切换到root,或者使用sudo提权。
2、yum命令需要联网。
安装wget程序
1、yum search wget,通过yum命令,搜索是否有wget安装包
2、yum [-y] install wget,通过yum命令安装wget程序
systemctl命令
Linux系统很多软件(内置或第三方)均支持使用systemctl命令控制:启动、停止、开机自启
能够被systemctl管理的软件,一般也称之为:服务
语法:systemcl start | stop | status | enable | disable |服务名
系统内置的服务比较多,比如:
1、NetworkManager,主网络服务
2、network,副网络服务
3、firwalld,防火墙服务
4、sshd,ssh服务(FinalShell远程登录Linux使用的就是这个服务)
除了内置的服务以外,部分第三方软件安装后也可以以systemctl进行控制。
1、yum install -y ntp,安装ntp软件
可以通过ntpd服务名,配合systemctl进行控制
2、yum install -y httpd,安装apache服务器软件
可以通过httpd服务名,配合systemctl进行控制
部分软件安装后没有自动集成到systemctl中,我们可以手动添加。
ln命令创建软连接
在系统中创建软连接,可以将文件、文件夹链接到其他位置。类似Windows系统中的“快捷方式”
语法:ln -s 参数1 参数2
1、-s选项,创建软连接
2、参数1:被链接的文件或文件夹
3、参数2:要链接去的目的地
date命令
通过date命令可以在命令行中查看系统的时间
语法:date [-d] [+格式化字符串]
1、-d按照给定的字符串显示日期,一般用于日期计算
2、格式化字符串:通过特定的字符串标记,来控制显示的日期格式
%Y 年
%y 年份后两位数字
%m月份
%d日期
%H小时
%M分钟
%S秒
%s自1970-01-01 00:00:00 UTC 到现在的秒数
1、使用date命令本体,无选项,直接查看时间
2、按照2023-06-29 00:00:00的格式显示日期
由于中间带有空格,所以使用双引号包围格式化字符串,作为整体
date命令进行日期加减
修改Linux时区
使用root权限,执行如下命令,修改时区为东八区时区
rm -f /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
将系统自带的localtime文件删除,并将/usr/share/zoneinfo/Asia/Shanghai文件链接为localtime文件即可
ntp程序
安装了ntp并设置了自启动后,ntpd会定期帮助我们联网校准系统的时间
手动校准(需root权限):ntpdate -u ntp.aliyun.com
通过阿里云提供的服务网配合ntpdate命令自动校准
IP地址
通过ifconfig指令查看本机IP地址。
IPv4版本的地址格式是:a.b.c.d,其中abcd表示0~255的数字,如192.168.0.1就是一个标准的IP地址
特殊IP地址
除了标准的IP地址以外,还有几个特殊的IP地址需要我们了解:
1、127.0.0.1这个IP地址指代本机
2、0.0.0.0,特殊IP地址
可以用于指代本机
可以在端口绑定中用来确定绑定关系
在一些IP地址限制中,表示所有IP的意思,如放行规则设置为0.0.0.0,表示允许任意IP访问
主机名
每一台电脑除了对外联络地址(IP地址)以外,也可以有一个名字,称之为主机名
在Linux中修改主机名
1、修改主机名(需要root):hostnamectl set-hostname 主机名
2、重新登录FinalShell即可看到主机名已经正确显示
域名解析
IP地址实在是难以记忆,有没有什么办法可以通过主机名或替代的字符地址去代替数字化的IP地址呢?
实际上,我们一直都是通过字符化的地址去访问服务器,很少指定IP地址
比如在浏览器输入:www.baidu.com,就会打开百度的网站
这串字符串也被称之为:域名
访问www.baidu.com的流程如下:
截图来自黑马程序员免费教学视频
即:
1、先查看本机的记录(私人地址本)
2、再联网去DNS服务器(如114.114.114.114;8.8.8.8等询问)
问:访问网站会首先去判断etc/hosts文件里有无地址记录,如果没有,通过NDS服务器找到记录后,会将该记录保存在etc/hosts本地,以便下一次再次登录该网站直接从本地调用吗?
答:
对于一般的网站访问,通常不会首先去判断/etc/hosts文件里是否有地址记录。而是通过DNS服务器解析域名获取对应的IP地址,然后再发送请求连接到对应的服务器。
/etc/hosts文件是一个本地的静态映射表,可以手动配置特定的域名和IP地址的映射关系。当访问某个域名时,系统首先会检查/etc/hosts文件,如果文件中有对应的映射记录,则会直接使用该IP地址进行连接,跳过DNS解析过程。
然而,/etc/hosts文件的作用范围只限于本地计算机,无法应用于其他设备。而且,对于大多数常用的网站,其IP地址可能会有变动或者使用负载均衡等技术,因此通过修改/etc/hosts文件来进行网站访问并不是一种可行的长期解决方案。
因此,一般情况下,系统会通过DNS服务器进行域名解析,并将解析结果缓存在本地,下次再次访问该域名时可以直接使用缓存的IP地址,从而提高访问速度。
如何固定虚拟机的IP地址
为什么需要固定IP
当前我们虚拟机的Linux操作系统,其IP地址是通过DHCP服务获取的。
DHCP:动态获取IP地址,即每次重启设备后都会获取一次,可能导致IP地址频繁变更
原因1:办公电脑IP地址变化无所谓,但是我们要远程连接到Linux系统,如果IP地址经常变化我们就需要频繁修改适配很麻烦。
原因2:在刚刚我们配置了虚拟机IP地址和主机名的映射,如果IP频繁更改,我们也需要频繁更新映射关系。
综上所述,我们需要IP地址固定下来,不要变化了。
在VMware Workstation中配置固定IP
配置固定IP需要2个大步骤:
1、在VMware Workstation(或Fusion)中配置IP地址网关和网段(IP地址的范围)
2、在Linux系统中手动修改配置文件,固定IP
现在进行第二步,在Linux系统中修改固定IP
使用VIM编辑/etc/sysconfig/network-scripts/ifcfg-ens32文件,填入如下内容:
执行:systemctl restart network重启网卡,执行ifconfig即可看到ip地址固定为192.168.88.130了。
ping命令
可以通过ping命令,检查指定的网络服务器是否可联通状态
语法:ping [-c num] ip或主机名
1、选项:-c,检查的次数,不使用-c选项,将无限次数持续检查
2、参数:ip或主机名,被检查的服务器的ip地址或主机名地址
检查baidu.com是否联通
区域无法使用的域名:
不存在的IP地址:
错误的IP地址:
wget命令
wget是非交互式的文件下载器,可以在命令行内下载网络文件
语法:wget [-b] url
1、选项:-b,可选,后台下载,会将日志写入到当前工作目录的wget-log文件
2、参数:url,下载链接
curl命令
curl可以发送http网络请求,可用于:下载文件、获取信息等
语法:curl [-O] url
1、选项:-O,用于下载文件,url不是下载链接时,可以使用此选项保存文件
2、参数:url,要发起请求的网络地址
问:有curl命令为什么还需要wget命令?
答:
虽然curl
和wget
都是用于从服务器下载文件的命令行工具,但它们在一些方面有所不同,因此可以根据具体需求选择使用哪个命令。
以下是一些curl
和wget
命令的特点和区别:
特点:
curl
:
- 支持更多的传输协议,包括HTTP、HTTPS、FTP、SFTP、SCP等。
- 可以发送各种HTTP请求(GET、POST、PUT、DELETE等)和自定义请求头。
- 功能更强大,支持更多的选项和操作。
wget
: - 更易于使用,适合简单的下载任务。
- 在下载过程中会显示实时进度。
- 默认情况下会尝试自动扩展链接,递归下载整个网站。
区别: curl
的语法更加灵活和复杂,可以用于处理更复杂的请求和操作,而wget
更注重简单的文件下载。curl
可以使用管道和重定向等技巧,将下载的内容发送到其他命令进行处理。curl
没有内置的递归下载功能,而wget
可以递归下载整个网站。
因此,如果只进行简单的文件下载,wget
可能更适合,而如果需要更多的定制选项和功能,curl
可能更适合。同时,有时候两者结合使用,可以发挥它们各自的优势。具体选择使用哪个命令,取决于你的需求和个人偏好。
端口
端口,是设备与外界通讯交流的出入口。端口可以分为:物理端口和虚拟端口两类
1、物理端口:又可称之为接口,是可见的端口,如USB端口,RJ45网口,HDMI端口等
2、虚拟端口:是指计算机内部的端口,是不可见的,是用来操作系统和外部进行交互使用的
端口(虚拟)
截图转自黑马程序员免费教学视频
计算机程序之间的通讯,通过IP只能锁定计算机,但是无法锁定具体的程序。
通过端口可以锁定计算机上具体的程序,确保程序之间进行沟通。
Linux系统可以支持65535个端口,这6万多个端口分为3类进行使用:
1、公认端口:1~1023,通常用于一些系统内置或知名程序的预留使用,如SSH服务的22端口,HTTPS服务的443端口非特殊需要,不要占用这个范围的端口。
2、注册端口:1024~49151,通常可以随意使用,用于松散的绑定一些程序\服务
3、动态端口:49152~65535,通常不会固定绑定程序,而是当程序对外进行网络链接时,用于临时使用。
查看端口占用
1、可以通过Linux命令去查看端口的占用情况
使用nmap命令,安装nmap:yum -y intstall nmap
语法:namp被查看的IP地址
2、可以通过netstat命令,查看指定端口的占用情况。
语法:netstat -anp | grep端口号,安装netstat:yum -y install net-tools ( |是管道符过滤)
上图可以看到系统111端口被程序(进程号613)占用了
其中,0.0.0.0:111,表示端口绑定在0.0.0.0这个IP地址上,表示允许外部访问
而进程613不仅占用了111端口,也占用了786端口。
上图可以看到,当前系统不存在12345进程,并且12345端口也没有任何程序使用。
问:一般来说打开一个软件后,端口号是由操作性分配的吗?
答:
通常来说,当一个软件启动时,它会尝试绑定一个可用的端口号。这个过程是由操作系统来负责的,操作系统会在一定范围内自动分配可用的端口号给程序使用。
在TCP/IP网络中,有一些保留端口号(如HTTP的80端口、HTTPS的443端口等),通常这些端口号会被特定的协议或服务使用。除了保留端口号以外,大部分端口可以在范围1024-65535之间自由使用。软件开发者可以在代码中指定要使用的端口,也可以选择让系统自动分配一个可用端口。
操作系统分配给程序的可用端口号通常是根据操作系统的配置和网络监听情况决定的。当一个程序绑定到一个端口后,其他程序或服务就无法再使用该端口,除非前一个程序停止运行或释放该端口。
需要注意的是,一些特定的应用程序可能有其特定的默认端口号,这些配置可以在应用程序的配置文件或设置中查看和更改。但是,如果指定端口已被其他程序占用,则程序启动时可能会失败,需要更换一个可用端口。