Linux学习笔记

此笔记内容来自B站Linux教程:
https://www.bilibili.com/video/BV1n84y1i7td?p=1&vd_source=388e32696448d3213345eb43f8785ad1

IP地址和主机名

IP地址

  • ifconfig可以用来查询本机的IP地址,如果不能使用,可以通过install net-tools安装。
  • Centos系统下ens33表示主网卡;inet后表示IP地址;lo表示本地回环网卡;
  • 127.0.0.1表示代指本机;0.0.0.0可以用于代指本机,同时在放行设置中0.0.0.0表示允许任意IP访问。

主机名

  • hostname可以查看主机名。
  • hostnamectl set-hostname可以修改主机名;但是win下WSL Ubuntu系统无法修改;

域名解析

  • 电脑在访问网址时,会首先查询本地的hosts文件,如果本地hosts文件存有该网站和IP地址的对应关系,则直接访问;否则会联网,通过DNS服务器来查询相应网站的IP地址。
  • Win系统的本地hosts文件在C:\windows\System32\drivers\etc\hosts
  • Linux系统的本地hosts文件在/etc/hosts

网络请求和下载

ping命令

  • ping [-c num] ip或主机名;
  • 选项:-c,检查的次数;不指定的情况下会无限次持续检查

wget命令

  • wget是非交互式的文件下载器,可以在命令行内下载文件
  • wget [-b] url选项b可以指定后台下载,会将日志写入当前工作目录wget-log文件
  • 即使下载未完成强制推出后,已下载部分也会存在于工作目录内。
  • 测试:wget https://docs.python.org/3/archives/python-3.11.3-docs-text.tar.bz2 下载python的说明文档

curl命令

  • curl可以发送http请求,用于下载文件,获取信息
  • curl [-O] url
  • 选项O表示用于下载文件,当url是下载链接是,可以用此选项保存文件

端口

  • 端口是设备与外界交流的出入口,可以分为物理端口和虚拟端口两类
  • 物理端口如USB接口、RJ45网口、HDMI端口等
  • 虚拟端口是指计算机内部的端口,是用来操作系统和外部进行交互使用的
  • Linux系统可以支持65535个端口,这6万个端口分为三类进行使用:
  • 公认端口:1-1023,通常用于一些系统内置或知名程序的预留使用;如SSH服务的22端口,HTTPS的443端口;非特殊需要,不要占用这些端口;
  • 注册端口:1024-49151;通常可以随意使用,用于松散的绑定一些程序和服务;
  • 动态端口:49152-65535;通常不会固定保定程序,而是当程序对外进行网络连接时(出口),用于临时使用;

nmap命令

  • nmap ip
  • 可以查看IP地址上哪些端口被占用

netstat命令

  • netstat -anp|grep 端口号
  • 可以查看指定端口的占用情况
  • 端口号也可以改成进程号,从而查询特定进程使用了哪些端口
  • 如果什么都没有返回,则代表该端口没有被使用。

进程

  • 为管理运行程序,每一个程序在运行的时候,都会被操作系统注册为系统中的一个进程,配上一个独有的ID,进程号
  • ps [-e -f]可以查看系统中的进程
  • -e表示显示出全部的进程;-f表示以格式化的形式展示全部信息
  • 返回结果中PID表示进程号,PPID为父ID(启动该进程的其他进程;C表示此进程的CPU占用率;STIME表示进程启动的时间;TIME表示进程占用CPU的时间;CMD表示启动命令或路径
  • 通常配合管道符筛选需要的信息
  • kill [-9] 进程ID可以关闭进程,选项-9表示强制结束,不加则会看进程自身是否会关闭

主机运行状态

  • top命令可以查看系统资源占用情况;每5秒刷新一次
top - 00:41:44 up 73 days, 12:56,  1 user,  load average: 0.00, 0.00, 0.00
Tasks:  95 total,   2 running,  58 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.0 us,  0.3 sy,  0.0 ni, 98.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1004504 total,   161132 free,   283200 used,   560172 buff/cache
KiB Swap:        0 total,        0 free,        0 used.   513212 avail Mem
  • 第一行: top - 00:41:44 up 73 days, 12:56, 1 user, load average: 0.00, 0.00, 0.00
    其中,top表示命令的名称,00:41:44为系统时间;up 73 days表示系统启动时间;load average: 0.00, 0.00, 0.00表示1、5、10分钟的平均负载,如果是1的话表示有1颗CPU百分百繁忙;
  • 第二行: Tasks: 95 total, 2 running, 58 sleeping, 0 stopped, 0 zombie
    其中,Tasks: 95 total表示一共有95个进程,2 running表示2个正在运行,58 sleeping表示58个正在睡眠等等
  • 第三行:%Cpu(s): 1.0 us, 0.3 sy, 0.0 ni, 98.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
    其中, 1.0 us表示用户启动的进程的使用率,0.3 sy表示系统启动的进程的使用率;ni表示高优先级进程占用CPU时间;id空闲CPU率,wa表示IO等待CPU使用率,hi表示CPU硬件中断率,si表示CPU软件中断率,st表示强制等待占用CPU率
  • 第四五行:KiB Mem表示物理内存;buff/cache表示系统缓存;KiB Swap表示虚拟内存;avail Mem表示可用空间。
  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
22739 root      20   0  161984   4448   3812 R  0.3  0.4   0:00.62 top
  • PID表示进程号,PR表示优先级,越小越高;NI负值表示高优先级,正值表示低优先级;VIRT表示进程使用的虚拟内存;RES进程使用物理内存;SHR进程使用的共享内存;S表示进程状态,S为休眠,R为运行,Z为僵尸,N负数优先级;I空闲;TIME+表示进程使用的CPU时间总计,单位是毫秒

  • -p可以只显示某个进程的信息,-d设置刷新时间;-u指定特定用户启动的进程。

  • top -b可以通过非交互式全屏模式显示,一页一页的返回结果,然后配合top -b > name.txt将结果写入文件中

  • top更多的选项(包括交互模式中的快捷键)可以参见 https://manpages.ubuntu.com/manpages/xenial/man1/top.1.html

  • df命令可以查看磁盘的占用情况

  • iostat可以查看CPU、磁盘的相关信息

  • nethogs 网卡名称可以实时查看网络占用情况

环境变量

  • env命令可以查看系统的环境变量;环境变量以Key和Value的形式存储信息
  • $符号被用于取变量的值;比如echo $PATH可以输出PATH的具体信息;
  • echo ${PATH}something{}可以区分环境变量,避免和其他东西混淆
  • 临时设置环境变量:
    export 变量名=变量内容
  • 永久编辑环境变量:
    当前用户的环境变量: ~/.bashrc文件
    所有用户的环境变量: /etc/profile文件
    source 配置文件 立刻生效
  • 自定义PATH变量:在配置文件中添加export PATH=$PATH:something

文件的上传和下载

  • rz可以上传文件;sz可以下载文件;这两个命令需要通过yum install lrzsr进行安装

压缩和解压

  • tar命令
    tar [-c -v -x -f -z- C] 参数1 参数2 参数3...
  • -c创建压缩文件,用于压缩模式;-v用于显示压缩、解压缩的进度;-x解压模式;-f要创建的文件或要解压的文件,-f必须在所有选项的最后一个;-z gzip模式(一种解压算法),不适用-z就是普通的tarball格式,-z如果要用的话一般写在选项第一个;-C选择解压的目的地
  • zip命令可以压缩zip格式的文件
    zip -r 参数1 参数2 参数3 ...
    -r选项用于文件夹
  • unzip可以用于解压zip格式的文件
    unzip -d 参数 -d表示要解压去的目录
posted @ 2023-04-17 23:27  梁书源  阅读(101)  评论(0编辑  收藏  举报