【Linux】7、一篇文章学习 Linux 中一些硬核的常用知识

本文涉及的产品
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
简介: 【Linux】7、一篇文章学习 Linux 中一些硬核的常用知识

一、systemctl

📔 Linux 操作系统中的很多软件(内置软件、第三方软件)都可以使用 systemctl 命令进行控制【启动、停止、开机自启】

📔 能够被 systemctl 管理的软件一般也被称为服务

📔 语法:

systemctl start | stop | status | enable | disable 服务名

start:启动

stop:关闭

status:查看状态

enable:启动开机自启

disable:关闭开机自启


系统中内置了很多服务:

🔏① NetworkManager: 主网络服务

🔏② network: 副网络服务

🔏③ firewalld:防火墙服务

🔏④ sshd、ssh:ssh 服务(FinalShell 远程登录 Linux 用的是 ssh 服务)


一些第三方软件的服务也可以使用 systemctl 进行控制管理:

安装 ntp 软件

📔 NTP 指网络时间协议

📔 Network Time Protocol(NTP)是用来使计算机时间同步化的一种协议

yum install -y ntp
systemctl status ntpd

安装 apache 服务器软件

yum install -y httpd
systemctl status httpd

有些软件安装之后没有自动集成到 systemctl 中(需要自己添加)

二、软链接

📔 软链接可将文件或文件夹链接到其他位置(类似 Windows 操作系统中的快捷方式

📔 语法:ln -s 参数1 参数2

  • -s:创建软链接
  • 参数1:别链接的文件或文件夹
  • 参数2:要链接去的目的地

📔 创建的是虚拟文件

把【根目录下的 etc 文件夹下的 yum.conf 文件】软链接到【HOME 目录下的 yum.conf】

ln -s /etc/yum.conf ~/yum.conf
ln -s /etc/yum ~/yum

三、日期(date 命令)

🍀 通过 date 命令可在命令行中查看系统的时间

🍀 语法:date [-d] [+格式化字符串]

🌱 -d:按照给定的字符串显示日期(一般用于日期计算)

🌱 格式化字符串:通过特点的字符串标记(控制显示的日期格式)

字符串 含义
%Y
%y 年份的后两位数字 [0, 99]
%m 月份 [01, 12]
%d [01, 31]
%H 小时 [00, 23]
%M 分钟 [00, 59]
%S 00, 60
%s 时间戳

date


date +"%Y_%m_%d %H:%M:%S"


🍀 -d 选项可按照给定注册显示日期

date -d "+1 day" +%Y_%m_%d # 显示后一天的日期
date -d "-1 day" +%Y_%m_%d # 显示后一天的日期

支持的时间标记:

① year

② month

③ day

④ hour

⑤ minute

⑥ second

四、Linux 的时区

(1) 修改时区

🍀 ① ROOT 权限执行

🍀 ② 删除 /etc/localtime 目录

🍀 ③ 将 /usr/share/zoneinfo/Asia/Shanghai 目录软链接为 /etc/localtime

(2) ntp

🍀 可通过 ntp 软件进行自动校准系统时间

🍀 安装 yum install -y ntp

🍀 启动并设置开机自启

systemctl start ntpd # 启动
systemctl enable ntpd # 开机自启

🍀 ntpd 服务启动后会定期的联网校验系统时间

🍀 手动校验系统时间

sudo ntpdate -u ntp.aliyun.com

五、IP 地址

🌿 每台联网的计算机都会有一个 IP 地址,用于和其他计算机进行通讯

🌿 IP 地址有 v4 和 v6 两个版本

🌿 IPv4 版本的 IP 地址格式: a.b.c.d【其中 abcd[0, 255] 范围的数字】

🌿 可通过命令 ifconfigip addr 查看本机的 IP 地址

🌿 如无法使用 ifconfig 命令,通过 yum install -y net-tools 安装


特殊 IP 地址

🌻① 127.0.0.1: 代指本机

🌻② 0.0.0.0:

  • 可用于代指本机
  • 可在端口绑定中用来确定绑定关系
  • 在限制 IP 的时候,用于表示全部 IP 的意思【如放行规则设置为 0.0.0.0表示允许任何 IP 地址访问】

六、主机名

🌿 每台计算机除了有 IP 地址外,还有主机名

🌿 hostname 命令可查看当前 Linux 操作系统的主机名

🌻 修改主机名:hostnamectl set-hostname 主机名

hostnamectl set-hostname linuxzgq

七、域名解析

🌿 IP 地址用于唯一标识一台计算机

🌿 IP 地址是一串数字

🌿 可读性不好

🌿 把 http://baidu.com (域名)和 IP 地址解析域名解析后,即可通过 http://baidu.com 这个域名访问到 IP 地址指代的计算机


访问 http://baidu.com 的流程:

🌻 ① 检查【Windows: C:\Windows\System32\drivers/etc/hosts 文件;Linux:/etc/hosts 文件】是否有 http://baidu.com 的 IP 地址的记录

🌻 ② 没有:联网访问 DNS 服务器(检查是否有 http://baidu.com 的 IP 地址的记录)【有:打开王;没有:网站不存在】

🌻 ③ 有:打开网站

八、配置 Linux 的固定 IP 地址

🌱 当前虚拟机中的 Linux 操作系统的 IP 地址是通过 DHCP 服务获取的

🌱 DHCP:动态获取 IP 地址(每次重启设备后都会重新刷新一次 IP 地址),会导致 IP 地址频繁变化

在 VMware Workstation 中配置固定 IP

🌻① 在 VMwareWorkstation 中配置 IP 地址网关和网段(IP 地址的范围)

🌻② 在 Linux 系统中手动修改配置文件,固定 IP

(1) 在 VMwareWorkstation 中配置 IP 地址网关和网段(IP 地址的范围)

(2) 在 Linux 系统中手动修改配置文件,固定 IP

🌻 用 ROOT 身份修改 /etc/sysconfig/network-scripts/ifcfg-ens33文件

  • ① 修改第 4 行的 dhcpstatic
  • ② 在文件末尾添加以下内容
ZONE=public
IPADDR="192.168.88.130"
NETMASK="255.255.255.0"
GATEWAY="192.168.88.2"
DNS1="192.168.88.2"

🌻 重启网卡服务

systemctl stop network
systemctl start network

九、ping

🌻 ping 检查指定的网络服务器是否是可联通状态

🌻 语法:ping [-c num] ip或域名

-c num:检查的次数

十、wget

🌴 wget 是非交互式的文件下载器,可用它在命令行内下载网络文件

🌴 语法:wget [-b] url

-b:后台下载,会将日志写入到当前工作目录的 wget-log 文件中

参数: 网络文件的下载地址

wget 是获取网络文件

yum 是安装软件

十一、curl

🌴 curl 用于发送 http 网络请求(可用于下载文件、获取信息)

🌴 curl [-O] url

-O:用于下载文件(当 URL 是下载链接时,可使用它保存文件)

参数: 要发送网络请求的网络地址

十二、端口

🌴 计算机程序之间的通讯,通过 IP 只能锁定计算机,但是无法锁定具体的程序

🌴 通过端口可以锁定计算机上具体的程序,确保程序之间进行沟通

🌴 Linux 支持 65535 个端口

🌴 端口分为三类:

🌻 ① 公认端口【1 - 1023】:被一些系统内置使用或知名程序的预留使用【SSH 服务的端口号是 22;HTTPS 服务的端口号是 443】

🌻 ② 注册端口【1024 - 49151】:可随意使用,用于松散的绑定程序和服务

🌻 ③ 动态端口【49152 - 65535】:通常不会固定绑定程序,当程序对外进行网络链接时临时使用的

十三、nmap 软件

🌻 nmap 可用于查看某个 IP 地址的端口的占用情况

🌻 下载 nmap

yum install -y nmap

🌴 语法:nmap ip地址

十四、netstat 看端口占用情况

🌴 netstat 用于查看指定端口的占用情况

🌴 语法:netstat -anp | grep 端口号

🌴 安装:yum install -y net-tools

十五、查看进程 ps -ef

🌴 ps -ef 用于查看进程

🌴 -e: 查看全部进程

🌴 -f:以完全格式化的形式展示信息

UID:进程所属用户 ID

PID:进程号

PPID:父进程号

C:此进程的 CPU 占有率

STIME:进程启动时间

TTY:启动此进程的终端序号

TIME:进程占用 CPU 的时间

CMD:进程的启动命令

可配合管道符合 grep 过来进程信息

ps -ef | grep 关键字

十六、kill 杀死进程

🌴 kill [-9] 进程号

  • -9 强制杀死进程
相关文章
|
3月前
|
NoSQL 关系型数据库 MySQL
Linux学习记录---(1、基本命令)
该博客文章提供了Linux系统中基本命令的使用记录,包括文件和目录操作、Redis服务管理、MySQL数据库操作以及Tomcat服务器的启动和检查。
Linux学习记录---(1、基本命令)
|
4月前
|
Ubuntu Linux vr&ar
IM跨平台技术学习(十二):万字长文详解QQ Linux端实时音视频背后的跨平台实践
本文详细记录了新版QQ音视频通话在 Linux 平台适配开发过程中的技术方案与实现细节,希望能帮助大家理解在 Linux 平台从 0 到 1 实现音视频通话能力的过程。
158 2
|
16天前
|
Linux 编译器 C语言
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
|
25天前
|
运维 网络协议 安全
Linux安全运维--一篇文章全部搞懂iptables
Linux安全运维--一篇文章全部搞懂iptables
32 1
|
28天前
|
网络协议 Linux
linux学习之套接字通信
Linux中的套接字通信是网络编程的核心,允许多个进程通过网络交换数据。套接字提供跨网络通信能力,涵盖本地进程间通信及远程通信。主要基于TCP和UDP两种模型:TCP面向连接且可靠,适用于文件传输等高可靠性需求;UDP无连接且速度快,适合实时音视频通信等低延迟场景。通过创建、绑定、监听及读写操作,可以在Linux环境下轻松实现这两种通信模型。
28 1
|
15天前
|
Linux 开发工具
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
|
3月前
|
NoSQL Ubuntu Linux
Linux内核学习
Linux内核学习
69 3
|
2月前
|
Linux
使用qemu来学习Linux的休眠和唤醒
使用qemu来学习Linux的休眠和唤醒
|
2月前
|
Linux
linux内核原子操作学习
linux内核原子操作学习
|
2月前
|
Ubuntu Linux
用crash工具学习Linux内核 —— 查看cgroup_roots
用crash工具学习Linux内核 —— 查看cgroup_roots