Linux命令

1. Linux 命令

1.1. wget 和 curl

wget 和 curl 都是流行的命令行工具,用于在命令行界面下下载文件或获取网页内容。

1.1.1. 区别

  1. 功能支持:

    • wget 主要用于下载文件,支持递归下载和镜像整个网站。
    • curl 支持多种协议,不仅可以下载文件,还可以用于发送各种类型的 HTTP 请求,如 GET、POST 等。
  2. 协议支持:

    • wget 支持 HTTP、HTTPS 和 FTP 协议。
    • curl 支持更多的协议,包括但不限于 FTP、FTPS、HTTP、HTTPS、SCP、SFTP、TFTP、TELNET、DICT、LDAP、LDAPS、FILE、POP3、IMAP、SMTP、RTSP 等。
  3. 后台下载:

    • wget 可以在后台执行下载任务,即使关闭终端也不会影响下载。
    • curl 通常用于前台操作,不过可以通过其他命令(如 nohup 或 screen)实现后台运行。
  4. 断点续传:

    • wget 支持断点续传功能,可以通过 -c 选项继续未完成的下载。
    • curl 也可以实现类似功能,但需要使用 -C - 选项,并不如 wget 那么直观。
  5. 交互性:

    • wget 是非交互式的,不能发送自定义的 HTTP 头部或执行复杂的 HTTP 操作。
    • curl 允许发送自定义 HTTP 头部,支持 cookies,并能执行复杂的交互式操作。
  6. 默认 HTTP 版本:

    • wget 默认支持 HTTP/1.0。
    • curl 默认支持 HTTP/1.1,但也兼容 HTTP/1.0。

1.1.2. 联系

  • 两者都可以在命令行中使用,易于脚本化。
  • 都是开源软件,广泛用于 Linux 和其他类 Unix 系统。
  • 都可以用于下载网络上的资源。

1.1.3. 常用示例与详解

1.1.3.1. wget 示例

wget http://example.com/file.zip      # 下载文件
wget -c http://example.com/file.zip   # 断点续传下载
wget -r http://example.com             # 递归下载整个网站
wget --mirror -p --convert-links http://example.com # 镜像网站,下载所有内链资源

1.1.3.2. curl 示例

curl http://example.com/file.zip -O          # 下载文件并保存为原始文件名
curl -L http://example.com/redirect           # 跟随重定向
curl -d "key1=value1&key2=value2" -X POST http://example.com/form  # 发送 POST 请求
curl -I http://example.com                    # 获取 HTTP 头部信息

1.2. 磁盘分区

理解这些磁盘分区的概念有助于更好地管理和维护你的操作系统。以下是对 root、swap、boot 和 efi 分区的解释:

1.2.1. root 分区

  • 定义: root 分区,也称为根分区,是文件系统的主要部分。它包含了操作系统的所有核心文件、应用程序和用户数据。
  • 路径: 它通常挂载在路径 / 下,也就是文件系统的根目录。
  • 作用: 操作系统的几乎所有内容都存储在这个分区中,包括系统配置文件、程序、用户数据等。没有这个分区,系统无法正常启动和运行。

1.2.2. swap 分区

  • 定义: swap 分区是 Linux 系统中用于交换内存的区域。
  • 作用: 当物理内存(RAM)不够用时,操作系统会将一些不活跃的数据从内存移到 swap 分区中,从而释放内存空间给当前正在运行的程序。这个过程叫做"交换"。
  • 性能影响: 虽然 swap 提供了额外的"内存",但它的速度比实际的 RAM 要慢得多。因此,依赖 swap 太多可能会导致系统性能下降。

1.2.3. boot 分区

  • 定义: boot 分区是一个特殊的分区,用于存储启动加载器(如 GRUB)以及启动操作系统所需的内核和其他文件。
  • 路径: 通常挂载在路径 /boot 下。
  • 作用: 在系统启动时,计算机会从这个分区加载启动加载器和内核文件,进而启动操作系统。

1.2.4. efi 分区

  • 定义: EFI 分区,也叫 EFI 系统分区(ESP),是一个特殊的分区,存储了 UEFI 固件需要的启动文件。这是现代计算机中取代 BIOS 的启动固件。
  • 路径: 一般情况下不会显式挂载,或挂载在 /boot/efi。
  • 作用: 计算机启动时,UEFI 固件从 EFI 分区读取启动文件,以确定启动哪个操作系统。这对于双启动(例如同时安装 Windows 和 Linux)特别重要,因为每个操作系统都在这个分区中放置它们的启动文件。

1.2.5. 总结

  • root 是操作系统的核心文件存储位置。
  • swap 是内存不够时的后备存储区域。
  • boot 包含系统启动所需的关键文件。
  • efi 用于存放启动 UEFI 固件的启动文件。

理解这些分区对于系统安装、管理和故障排除都非常重要。