Linux入门2(3/3)

7、配置固定IP

原来我们每次重启设备,我们的ip都会进行变化,这是因为我们每次重启设备都会通过dhcp获取动态ip,这样每次重新查看并识别IP较麻烦,于是我们便需要进行固定IP,即为当前设备配置静态IP

如果使用的是wsl,WSL 2 的 IP 是动态的:每次重启 WSL 或 Windows 后,eth0 的 IP 会变化,如果要进行静态IP的配置建议使用的是虚拟机,故接下来我将以VMware虚拟机的静态IP配置为例:

首先确定以下三个部分:

  • 子网,如果配置的是1.1.1.0,则你之后在文件中配置的静态IP要在这个子网范围(1.1.1.0--1.1.1.255)内

  • 子网掩码,确认是255.255.255.0

  • 网关:在子网范围内,且通常不能是子网中的第一个或最后一个可用 IP(即不能是网络地址或广播地址),即在(1.1.1.0--1.1.1.255)范围内,且不建议是1.1.1.0和1.1.1.255

之后编辑配置文件(一般在/etc/sysconfig/network-scripts/ifcfg-eth0):

将其中内容修改和添加

     DEVICE=eth0
     BOOTPROTO=static       # 静态 IP,由原来的 dhcp 改为 static
     ONBOOT=yes
     IPADDR=1.1.1.123       # 添加你要设置的静态IP,数值任意,只要在子网范围内且不和网关相同均可
     NETMASK=255.255.255.0   # 添加子网掩码
     GATEWAY=192.168.1.1     # 添加网关,在子网范围内,且通常不能是子网中的第一个或最后一个可用 IP
     DNS1=8.8.8.8
     # DNS 服务器通常是独立的网络设备或公共服务(如 8.8.8.8、1.1.1.1),可达且合法即可

8、网络传输

8.1、下载文件和网络请求
①、ping命令
  ping [-c num] IP/主机名
  # 默认不使用-c则是无限次数进行网络联通测试
  ​
  ping -c 3 123.123.123.123
  # 即向 IP 为 123.123.123.123 的网站发送3次请求,查看是否网络联通
②、wget命令

wget 是 Linux/Unix 系统中一个强大的 命令行下载工具,支持 HTTP、HTTPS、FTP 等协议,能递归下载、断点续传、批量抓取文件等。

  # 普通下载
  wget https://example.com/file.zip # 下载文件到当前目录,保留原始文件名。
  ​
  # 指定保存路径和文件名
  wget -O /path/to/save/new_name.zip https://example.com/file.zip
  # -O:指定保存路径和文件名(可重命名)。
  ​
  # 断点续传
  wget -c https://example.com/big_file.iso
  # -c:继续未完成的下载(适合大文件中断后恢复)。
  ​
  # 后台下载
  wget -b https://example.com/large_file.tar.gz
  # -b:后台运行,日志默认写入 wget-log。
  ​
  # 限速下载
  wget --limit-rate=500k https://example.com/file.iso
  # --limit-rate=500k:限制下载速度为 500KB/s(避免占用全部带宽)。

不论下载的文件是否成功,即下载到一半因为某些不知名原因下载失败,也会生成对应的文件名

③、curl命令

curl 是一个功能强大的 命令行数据传输工具,支持 HTTP、HTTPS、FTP、SFTP、SCP 等多种协议,常用于 API 调试、文件下载/上传、请求发送等场景

  
  # 发送 GET 请求
  curl https://example.com
  # 获取网页内容并输出到终端。
  ​
  # 保存输出到文件
  curl -o https://example.com/file.zip  # 保存为原文件名
  curl -o custom_name.zip https://example.com/file.zip  # 自定义文件名
  # -o:指定保存文件名(类似 wget)。
8.2、端口

端口可分为物理端口(比如我们可见的usb端口、html端口等等)和虚拟端口(计算机内部不可见的)

端口(Port)是计算机网络中用于区分不同服务或应用程序的逻辑通道,在Linux系统中其范围是 0~65535。每个端口对应一个特定的服务(如 HTTP 80、SSH 22),确保数据能正确送达目标应用。

我们通过IP可以锁定一台计算机,通过端口可以锁定计算机内部的一个服务程序

①、端口分类
Ⅰ、公认端口(Well-Known Ports,0~1023)

IANA 分配,用于系统级服务(需 root 权限绑定):

端口协议用途
20/21FTP文件传输(数据/控制)
22SSH安全远程登录
80HTTP网页访问
443HTTPS加密网页访问
53DNS域名解析
25SMTP邮件发送
3306MySQL数据库服务

我们在finalshell中进行ssh远程连接就是默认使用的是port:22端口

Ⅱ、注册端口(Registered Ports,1024~49151)**

用于用户级应用或常见软件,可以由我们自由分配:

端口协议用途
8080HTTP替代 80 的 Web 服务
3389RDPWindows 远程桌面
5432PostgreSQLPostgreSQL 数据库
27017MongoDBMongoDB 数据库
Ⅲ、动态/私有端口(Dynamic/Ephemeral Ports,49152~65535)

客户端临时使用,操作系统动态分配(如浏览器访问网站时随机生成),用于临时使用。

②、查看端口
  
  # Linux/macOS
  netstat -tuln       # 显示所有监听端口,需要yum/apt下载net-tools
  ss -tuln            # 更快的替代命令(推荐)
  ​
  # Windows
  netstat -ano        # 显示所有端口及进程PID

9、进程管理

进程(Process)是运行中的程序实例,掌握进程管理是系统运维和开发调试的核心技能。

9.1、查看进程
  ps aux       # 查看所有用户的所有进程
  ps -ef       # 完整格式列表
  ps -u root   # 查看root用户的进程
  ps aux | grep nginx    # 过滤特定进程
9.2、终止进程
kill -9 PID强制终止(SIGKILL)
kill -15 PID优雅终止(SIGTERM)
pkill nginx按名称终止
killall httpd终止所有同名进程

10、主机状态监控

10.1、top命令
  • PID:进程id

  • USER:进程所属用户

  • PR:进程优先级,越小越高

  • NI:负值表示高优先级,正表示低优先级

  • VIRT:进程使用虚拟内存,单位KB

  • RES:进程使用物理内存,单位KB

  • SHR:进程使用共享内存,单位KB

  • S:进程状态(S休眠,R运行,Z僵死状态,N负数优先级,I空闲状态)

  • %CPU:进程占用CPU率

  • %MEM:进程占用内存率

  • TIME+:进程使用CPU时间总计,单位10毫秒

  • COMMAND:进程的命令/名称/程序文件路径

①、top可用选项:
选项说明
-d设置刷新间隔时间(单位:秒),例如 top -d 2 表示每 2 秒刷新一次。
-p只监控指定的进程 ID,例如 top -p 1234
-u只显示指定用户的进程,例如 top -u root
-n设置刷新次数后退出,例如 top -n 5 表示刷新 5 次后自动退出。
-b批处理模式,适合将输出重定向到文件或其他程序,例如 top -b -n 1 > top.log
-i不显示空闲(idle)或无用的进程。
-H显示线程信息,而不是进程。
-c显示完整的命令行路径(默认是简写)。
-M按照内存使用率排序(部分系统支持)。
-P按照 CPU 使用率排序(部分系统支持)。
②、可用交互式命令
按键功能
P按 CPU 使用率排序
M按内存使用率排序
T按运行时间排序
k杀死一个进程(输入 PID)
r修改进程优先级(renice)
q退出 top
h?显示帮助信息
10.2、磁盘监控和网络监控
  # 查看硬盘使用情况
  df [-h]
  # -h 更人性化
  ​
  iostat [-x] [num1] [num2]
  # -x显示更多信息,num1刷新间隔,num2刷新次数
  ​
  # 网络状态监控,主要看接收和发送的网卡速率
  sar -n DEV [num1] [num2]
  # num1刷新间隔,num2刷新次数

11、环境变量

环境变量(Environment Variables)是操作系统和应用程序用来存储配置信息的键值对,它们在Shell会话和子进程中全局可用。

注意区分变量大小写

11.1、查看环境变量
  
  # 显示所有环境变量
  env       # 显示所有环境变量
  printenv  # 同上(更清晰的输出)
  ​
  # 查看特定变量
  echo $PATH         # 查看PATH变量
  printenv HOME      # 查看HOME变量
11.2、设置环境变量
①、临时设置(仅当前Shell有效)
  
  export VAR_NAME="value"   # 设置变量(子进程可继承)
  MY_VAR="hello"           # 仅当前Shell可用(子进程不可见)
  # 示例:export JAVA_HOME="/usr/lib/jvm/java-11
②、永久设置
  # 当前用户生效
  # 写入 ~/.bashrc(bash)或 ~/.zshrc(zsh)
  echo 'export PATH="$PATH:/my/custom/path"' >> ~/.bashrc
  source ~/.bashrc  # 立即生效
  ​
  # 对所有用户生效
  # 写入 /etc/environment(系统级,无需export)
  sudo nano /etc/environment
  # 添加:PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"

当然也可以直接在Windows的桌面端直接添加

11.3、管理环境变量
  # 追加变量
  export PATH="$PATH:/new/path"  # 将 /new/path 追加到原 PATH 末尾
  ​
  # 替换变量
  export PATH="/new/path"  # 将 /new/path 追加到原 PATH 末尾
  ​
  # 删除变量
  unset VAR_NAME
  ​
  # 赋予变量默认值
  # 如果VAR未设置,则使用默认值
  echo ${VAR:-"default_value"}  

12、上传下载压缩解压

上传和下载基于finalshell可以直接选中文件后右键下载,或直接将目标Windows文件拖取到finalshell中,这里就不多赘述了,主要讲解压缩和解压

12.1、tar命令
①、仅打包(不压缩)

即最终打包出来的文件其体积并不比原要打包的文件之和小

  tar -cvf archive.tar file1 file2 # 将 file1和file2 压缩打包到 archive.tar
  tar -tvf archive.tar           # 查看内容
  tar -xvf archive.tar           # 解包
  • -c:创建归档

  • -x:解压包(不可和-c一起用,一个文件不能既压缩又同时解压)

  • -v:显示过程

  • -f:指定文件名,一般放在最后以接收你最终压缩或解压的包名

  • -z:gzip模式,不使用就是最基本的tar包模式

  • -C:单独使用,和解压的其他参数分开,解压的目标路径

②、打包后压缩

即最终压缩出来的文件,其体积比要压缩打包的文件之和小

压缩类型命令(创建)命令(解压)
gziptar -czvf archive.tar.gz files/tar -xzvf archive.tar.gz
bzip2tar -cjvf archive.tar.bz2 files/tar -xjvf archive.tar.bz2
xztar -cJvf archive.tar.xz files/tar -xJvf archive.tar.xz
12.2、zip、uzip命令

zip压缩,uzip解压

  # 压缩
  zip archive.zip file1 file2 -r dir/  # -r 要压缩的文件中包含文件夹(目录)时使用
  # 将文件file1 file2 和目录 dir/ 一起压缩到archive.zip
  ​
  # 解压
  unzip archive.zip          # 解压到当前目录
  unzip archive.zip -d /path # 解压到指定路径
  # 查看内容
  unzip -l archive.zip       # 列出压缩包内容

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值