Linux入门2(2/3)

Linux实用技巧全解析

四、零散技巧

1、常用快捷键

1.1、强制停止/退出
  • ctrl+c:强制停止当前操作

  • ctrl+d:退出当前登录用户或用于某些特定场景的退出(不能用于退出vi/vim编辑器)

1.2、历史命令搜索
  • history:可以查看历史输入过的命令

  • !+命令前缀:等同于在你输入过的历史命令中,从最近输入到最久远输入去查询以你加上的命令前缀开头的命令,并且使用,如果太久远可能会命中错误比如:你之前输入过python,即Linux默认自带的python编辑器,这时候你输入!p就会从你最近的输入向最久的输入进行查询,查询到了python,然后直接帮你输入python,你久也可以进入python的编辑界面

  • ctrl+r+模糊的部分命令:搜索出来后,如果是你需要的命令直接回车即可使用(执行命令),如果不是可以进行键盘左右键的切换(不执行搜索出来的命令)

1.3、光标移动
  • ctrl+a:直接移动到当前命令的最左端

  • ctrl+e:直接移动到当前命令的最末端

  • ctrl+鼠标左键:向左移动一个完整单词

  • ctrl+鼠标右键:向右移动一个完整单词

  • 普通键盘左移:向左移动一个单一字母

  • 普通键盘右移:向右移动一个单一字母

1.4、清屏
  • ctrl+l

  • clear

2、软件安装

操作系统安装软件有许多种方式,一般分为:

  • 下载安装包自行安装

    • 如 Win 系统使用 exe 文件、Msi 文件等

    • 如 Mac 系统使用 dMg 文件、pkg 文件等

  • 系统的应用商店内安装

    • 如 Win 系统有 Microsoft Store 商店

    • 如 mac 系统有 AppStore 商店

Linux 系统同样支持这两种方式,但是在不同的发行版,其对应的安装命令有些许不同,接下来主要介绍其中两种

2.1、centOS系统

我们首先来学习使用:Linux 命令行内的“应用商店”,yum 命令安装软件。

yum(Yellowdog Updater, Modified)是 RPM-based Linux 发行版(如 CentOS、RHEL、Fedora 等)中的 包管理工具,用于安装、更新、删除和管理软件包。它通过自动解决依赖关系简化了软件管理过程。

以下是常见命令:

 
  # 安装软件包
  yum install 包名
  # 更新软件包
  yum update 包名  # 更新指定包
  yum update       # 更新所有可更新的包
  # 删除软件包
  yum remove 包名
  # 搜索软件包
  yum search 关键词
  # 列出已安装的包
  yum list installed
  # 查看包信息
  yum info 包名
  # 清理缓存
  yum clean all      # 清理所有缓存
  yum makecache      # 重建元数据缓存
  ​
  # 如果在yum命令中加入 -y 选项,则是默认自动回答yes,同意安装

注意:使用yum命令需要较大的权限,可以su到超级管理员root用户后再yum安装软件,同时yum需要联网才可以进行软件安装的操作

2.2、Ubuntu系统

相对于centOS系统的yum命令,在Ubuntu中安装软件就是使用apt命令进行安装

以下是常见命令(可和上面的yum的常见命令进行对比):

  
  # 安装软件包
  apt install 包名
  # 更新软件包
  apt update 包名  # 更新指定包
  apt upgrade       # 更新所有可更新的包
  # 删除软件包
  apt remove 包名
  # 搜索软件包
  apt search 关键词
  # 列出已安装的包
  apt list installed
  # 查看包信息
  apt show 包名
  # 清理缓存
  apt clean      # 清理所有缓存
  ​
  # 如果在yum命令中加入 -y 选项,则是默认自动回答yes,同意安装

注意:同理使用apt命令需要较大的权限,可以su到超级管理员root用户后再apt安装软件,同时apt需要联网才可以进行软件安装的操作

3、systemctl

systemctlSystemd(现代 Linux 系统的初始化和管理工具)的核心命令,用于管理系统服务(守护进程)、挂载点、设备等。它替代了传统的 servicechkconfig 命令,成为大多数主流 Linux 发行版(如 RHEL/CentOS 7+、Ubuntu 16.04+、Debian 9+)的标准服务管理工具。

命令作用
systemctl start 服务名启动服务(如 nginx
systemctl stop 服务名停止服务
systemctl restart 服务名重启服务
systemctl reload 服务名重新加载配置(不中断服务)
systemctl status 服务名查看服务状态(含日志片段)
systemctl enable 服务名设置开机自启
systemctl disable 服务名禁用开机自启
systemctl is-enabled 服务名检查是否开机自启

如果使用的wsl,而不是虚拟机,那么你在使用systemctl的时候可能会不成功,原因是wsl默认是不使用systemctl,我们可以使用旧版本的service进行替代:

  • 原:systemctl start/stop/restart/status/enable等 服务名

  • 改:service 服务名 start/stop/restart/status/enable等

4、软连接

在 Linux 和 WSL(Windows Subsystem for Linux)中,软连接(Symbolic Link,符号链接)是一种特殊的文件类型,它指向另一个文件或目录(类似于 Windows 的创建快捷方式)。

  
  # 基本语法
  ln -s <源文件/目录路径> <软连接路径>
  # -s:表示创建符号链接(软连接)。
  # 如果省略 -s,则创建的是硬链接(Hard Link)。
  ​
  # 创建文件的软连接
  ln -s /path/to/original/file.txt /path/to/symlink
  # 如果 file.txt 是文件,symlink 将指向它。
  # 即通过 symlink 也可访问原 file.txt 文件
  ​
  # 创建目录的软连接
  ln -s /path/to/original/directory /path/to/symlink_dir
  # 如果 directory 是目录,symlink_dir 将指向它。
  # 即通过 symlink——dir 也可访问原 directory 文件夹中的内容
  ​
  # 在当前目录创建软连接
  ln -s /etc/nginx/nginx.conf nginx_conf_link
  # 会在当前目录下创建一个 nginx_conf_link,指向 /etc/nginx/nginx.conf。

5、日期和时区

在 Linux 和 WSL(Windows Subsystem for Linux)中,date 命令用于 显示或设置系统时间和日期

5.1、基本用法

date 【-d】【时间标识】【+常用的格式选项】

  # 显示当前日期和时间
  date
  # 输出示例: Sat Oct 25 12:52:43 CST 2025
  ​
  # 自定义输出格式,使用date [+常用的格式选项] 即可
  # 若你要自定义的时间形式中包含空格,建议使用双引号将整体包围
  date "+%Y-%m-%d %H:%M:%S"
  # 输出示例: 2025-10-25 12:54:40

常用格式选项

格式符说明示例
%Y年份(4位)2024
%m月份(01-12)10
%d日期(01-31)25
%H小时(00-23)15
%M分钟(00-59)30
%S秒(00-59)45
%A星期全名Monday
%a星期缩写Mon
%B月份全名October
%b月份缩写Oct
%Z时区CST

注意:WSL 默认 继承 Windows 系统时间,直接运行 date 会显示 Windows 时间

如果需要修改时间:推荐直接在 Windows 中调整时间(WSL 会同步)。

5.2、时间计算

date 【-d】【时间标识】【+常用的格式选项】其中的-d和时标识多用于时间计算

  # 在当前的日期的基础上加上两天
  date -d "+2 day" "+%Y-%m-%d %H:%M:%S"
  # 在当前的日期的基础上减去2年
  date -d "-2 year" "+%Y-%m-%d %H:%M:%S"

可用的时间标识如下:

  • year年

  • month月

  • day日

  • hour小时

  • minute分钟

  • second秒

如果觉得时间不准确,可以下载ntp(yum/apt -y install ntp)进行时间校准,这个软件每隔一段时间会进行自动的时间校准,当然也可以手动校准

6、IP和主机名

6.1、IP
①、查看IP

查看IP常用的命令是ifconfig,ifconfig 是net-tools包中一个传统的网络配置工具,用于显示或配置网络接口的网络参数。然而,从较新的Linux 系统版本开始,ifconfig 已被逐渐废弃(当然也可以用如下命令:

  
  sudo apt update
  sudo apt install net-tools

下载net-tools包进而使用ifconfig),取而代之的是更强大的 ip 命令:

  Ip addr show 
②、常见网络接口
1. lo(Local Loopback)
  • 作用:本地回环接口,用于本机内部通信

  • IP 地址:通常为 127.0.0.1(IPv4)和 ::1(IPv6)。

  • 用途:

    • 测试本机服务(如 ping 127.0.0.1)。

    • 本地运行的应用程序通过 localhost 互相通信。

  • 特点:

    • 不依赖物理网卡,始终存在。

    • 数据不会经过物理网络。

2. eth0(Ethernet 0)
  • 作用物理以太网接口(或虚拟化环境中的虚拟网卡)。

  • 命名规则:

    • 传统命名:eth0eth1(按顺序编号)。

    • 现代命名(如 Ubuntu 18.04+):enp3s0(基于 PCI 位置)。

  • IP 地址:由 DHCP 分配或手动配置(如 192.168.1.100)。

  • 用途:

    • 连接外部网络(如路由器、互联网)。

    • 服务器间通信。

3. wlan0(Wireless LAN)
  • 作用无线网卡接口

  • 命名规则wlan0wlp2s0(现代命名)。

  • IP 地址:由无线路由器分配(如 192.168.1.101)。

  • 用途:连接 Wi-Fi 网络。

4. docker0
  • 作用:Docker 默认创建的虚拟网桥

  • IP 地址:通常为 172.17.0.1

  • 用途:

    • 为 Docker 容器提供网络连接。

    • 容器通过 docker0 与宿主机或其他容器通信。

  • 特点:

    • 使用 NAT 规则实现容器与外部网络通信。

    • 可通过 docker network 命令自定义。

5. vethXXX(Virtual Ethernet Pair)
  • 作用虚拟以太网设备对,用于连接容器与 docker0 网桥。

  • 命名规则vetha1b2c3(随机后缀)。

  • 特点:

    • 每启动一个 Docker 容器,会创建一对 veth 设备(一端在容器内,一端在宿主机)。

    • 数据通过 veth 设备转发到 docker0

6. br-XXX(自定义网桥)
  • 作用:用户通过 docker network create 创建的自定义 Docker 网桥

  • IP 地址:如 172.18.0.1

  • 用途:

    • 实现更复杂的容器网络隔离(如多个容器组通信)。

7. tun/tap
  • 作用虚拟隧道接口,用于 VPN 或虚拟网络。

  • 示例:

    • tun0:OpenVPN 创建的隧道接口。

    • tap0:用于虚拟机的桥接网络。

8. virbr0(Libvirt 网桥)
  • 作用:Libvirt(KVM/QEMU)默认创建的虚拟网桥,用于虚拟机网络。

  • IP 地址:通常为 192.168.122.1

  • 用途:

    • 为虚拟机提供 NAT 网络访问。

9. lxcbr0(LXC 网桥)
  • 作用桥)

  • 作用:LXC 容器默认的虚拟网桥(类似 docker0)。

  • IP 地址:如 10.0.3.1

总结表
接口名类型典型 IP 地址用途
lo回环接口127.0.0.1本机内部通信
eth0物理以太网192.168.1.100有线网络连接
wlan0无线网卡192.168.1.101Wi-Fi 连接
docker0Docker 网桥172.17.0.1Docker 容器网络
vethXXX虚拟以太网对-连接容器与 docker0
br-XXX自定义网桥172.18.0.1用户定义的 Docker 网络
tun0VPN 隧道10.8.0.1OpenVPN 等 VPN 连接
virbr0Libvirt 网桥192.168.122.1KVM/QEMU 虚拟机网络

以下给出我的网络接口:

③、特殊IP地址
Ⅰ、本地回环地址(Loopback Address)
  • IPv4127.0.0.1(通常用 localhost 表示)

  • IPv6::1

  • 作用:

    • 用于本机内部通信,测试本机服务(如 ping 127.0.0.1)。

    • 数据不会经过物理网卡,仅在操作系统内部流转。

  • 范围:

    • IPv4:127.0.0.0/8127.0.0.1 ~ 127.255.255.254)都是回环地址,但通常只用 127.0.0.1

Ⅱ、0.0.0.0

表示“所有网络接口”,在服务器监听时(如 Web 服务、SSH):

  • 如果服务绑定到 0.0.0.0,表示监听本机所有可用网络接口(包括 eth0wlan0lo 等)。

  • 示例

  # Nginx 监听所有接口的 80 端口
  listen 0.0.0.0:80;
  • 此时,通过本机任何 IP(如 192.168.1.100127.0.0.1)均可访问该服务。

  • 对比

    • 127.0.0.1:80:仅允许本机访问(回环接口)。

    • 192.168.1.100:80:仅允许通过该特定 IP 访问。

表示默认路由(Default Route)

  • 在路由表中,0.0.0.0表示默认网关,即“所有未明确指定的目标网络”的出口。

  • 示例

  
  ip route show
  # 输出:
  # default via 192.168.1.1 dev eth0  # 所有非本地流量通过 192.168.1.1 转发
  # 等价于:route add default gw 192.168.1.1

表示无效/未知地址

在某些场景下,0.0.0.0表示:

  • 未分配 IP:如 DHCP 客户端尚未获取到 IP 时可能临时显示为 0.0.0.0

  • 无效目标:用于表示“无地址”或“任意地址”。

6.2、主机名

在 Linux 和 Windows 系统中,主机名(Hostname) 是用于标识网络中设备的名称。它在局域网内帮助识别不同的计算机或服务器。

①、查看主机名
②、修改主机名

修改主机名需要较大权限,故要使用sudo或者直接切换到root超级管理员

Ⅰ、临时修改
  
  sudo hostname "new-hostname"  # 临时生效(重启后恢复)
Ⅱ、永久修改
  
  sudo hostnamectl set-hostname "new-hostname"
6.3、域名解析

域名解析(DNS Resolution)是将人类可读的 域名(如 www.example.com)转换为计算机可识别的 IP 地址(如 192.0.2.1)的过程。

①、域名解析基本流程

当你在浏览器输入 www.example.com 时,DNS 解析过程如下:

  1. 本地缓存查询

    • 系统首先检查 本地 Hosts 文件(如 /etc/hostsC:\Windows\System32\drivers\etc\hosts)。

    • 如果没有记录,则查询 本地 DNS 缓存(如 Windows 的 DNS Client 或 Linux 的 systemd-resolved)。

  2. 递归查询(Recursive Query)

    • 如果本地没有缓存,请求会发送到 ISP 的 DNS 服务器(如 8.8.8.81.1.1.1)。

    • 递归 DNS 服务器会从根域名服务器(Root DNS)开始逐级查询:

      • 根域名服务器(.)顶级域(TLD,如 .com)权威 DNS(如 example.com 的 NS 记录)

      • 最终返回目标 IP。

  3. 返回 IP 地址

    • 递归 DNS 服务器将 IP 返回给客户端,并缓存结果。

②、查询域名
Ⅰ、现在私人地址本查询

Windows中的地址本位于:"C:\Windows\System32\drivers\etc\hosts"

Linux中的地址本位于:"/etc/hosts"

Ⅱ、再联网去DNS服务器中查询

不需要我们手动去进行,电脑会自动去查询

③、配置伪域名

和我们在进行nginx的反向代理负载均衡时对于目标IP进行的域名配置相同,详情可见我的第1、2篇笔记

Ⅰ、打开文件

先以管理员的身份打开 C:\Windows\System32\drivers\etc\hosts文件

Ⅱ、域名映射的配置

在文件中的后面空白处添加:需要配置的IP 要配置的域名

如:123.123.123.123 www.example.com

Ⅲ、保存文件

之后我们便可以通过访问www.example.com 这个网址,进而访问123.123.123.123这个IP对应的网页

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值