Linux核心概念与常用命令

news2024/12/17 5:34:43

文章目录

  • 一、Linux概述
    • 1、常见的操作系统
    • 2、Linux发展史
    • 3、Linux目录结构
  • 二、文件和目录操作
    • 1、pwd - 显示当前目录
    • 2、cd - 切换目录
    • 3、ls - 列出目录内容
    • 4、mkdir - 创建目录
    • 5、touch - 创建空文件
    • 6、cp - 复制文件或目录
    • 7、mv - 移动或重命名文件
    • 8、rm - 删除文件或目录
    • 9、tree - 树形结构显示目录内容
    • 10、软链接与硬链接
  • 三、文件内容编辑
    • 1、vi、vim、view概述
    • 2、命令模式
    • 3、编辑模式
  • 四、文件内容查看
    • 1、cat - 查看文件所有内容
    • 2、more/less - 分页查看文件内容
    • 3、head - 显示文件头部内容
    • 4、tail - 显示文件尾部内容
  • 五、重定向
    • 1、>输出到重定向
    • 2、>>追加重定向
    • 3、多种重定向方式
      • 3.1、标准输出(stdout)和标准错误(stderr)
      • 3.2、1、2、&
  • 七、时间日期
    • 1、date - 查看/设定当前时间
    • 2、cal - 查看日历
  • 六、搜索查找
    • 1、grep - 内容查找
    • 2、find - 文件目录查找
    • 3、locate - 全局搜索
  • 七、压缩和解压
    • 1、使用zip和unzip
    • 2、使用tar(打包与压缩)
  • 八、进程管理
    • 1、ps - 显示当前进程
    • 2、jps - 查看Java运行程序
    • 3、kill - 终止进程
    • 4、netstat - 查看网络连接状态及端口

一、Linux概述

1、常见的操作系统

  1. Windows操作系统:由微软公司开发的操作系统,广泛应用于个人电脑、服务器、游戏机等设备中
    • win xp
    • win7/win8/win10/win11等
  2. Unix操作系统(1960年代诞生):由贝尔实验室开发的一类操作系统,主要应用于服务器、工作站、超级计算机等领域,具有稳定、安全等特点
    • Solaris:SUN公司开发
    • AIX:IBM开发
    • HP-UX:惠普公司开发
    • macOS:苹果公司开发,主要应用于苹果公司的电脑和笔记本电脑上
  3. Linux 操作系统(1991年诞生):Linux 操作系统是一种开源的、免费的、类 UNIX 操作系统,用于服务器、工作站、超级计算机等领域
    • Debian:一种流行的稳定Linux操作系统
    • Ubuntu:基于Debian构建的一种流行的Linux桌面操作系统
    • Red Hat:一种商业Linux操作系统,由Red Hat公司开发
    • CentOS:通过重新编译Red Hat而得到的Linux操作系统,免费且源代码开放
    • Fedora:由Red Hat公司赞助的基于开源的Linux桌面和服务器操作系统
  4. Chrome OS操作系统:由Google公司开发的基于Chrome浏览器的操作系统,主要应用于Chromebook笔记本电脑上
  5. Android操作系统:由Google公司开发的操作系统,主要应用于手机、平板电脑等移动设备中
  6. iOS操作系统:由苹果公司开发的操作系统,主要应用于iPhone、iPad等移动设备中
  7. HarmonyOS鸿蒙操作系统,由华为公司自主开发

2、Linux发展史

  • 1991年:Linux诞生
    • Linus Torvalds(林纳斯·托瓦兹)在芬兰赫尔辛基大学开始开发Linux内核,发布了第一个版本(0.01),最初只是为了个人使用,替代Minix操作系统
  • 1992年:结合GNU工具
    • Linux内核与GNU项目的工具(如GNU C库、bash、编译器等)结合,形成了一个完整的开源操作系统,这个系统后来被称为GNU/Linux
  • 1993年:Debian发布
    • Debian作为一个完全由社区管理的发行版发布,强调自由软件,成为许多Linux发行版的基础
  • 1994年:Linux 1.0发布
    • Linux 1.0发布,标志着内核的第一次稳定版,Linux开始逐步走向成熟
  • 1996年:Red Hat Linux发布
    • Red Hat推出商业化的Linux版本,专注于企业市场,提供了稳定性和技术支持,同时采用RPM软件包管理系统
  • 2000年:Linux进入企业市场
    • 随着IBM等大型企业的支持,Linux开始在企业级环境中得到应用,特别是在Web服务器、数据库和高性能计算等领域
  • 2004年:Ubuntu发布
    • Ubuntu由Mark Shuttleworth创建,目标是让Linux更加易用和友好,特别面向普通用户,迅速成为流行的桌面操作系统
  • 2007年:Android发布
    • Android系统基于Linux内核发布,成为全球最广泛使用的移动操作系统,推动Linux在移动设备市场的普及
  • 2010年代:云计算与容器化
    • Linux在云计算(如AWS)和容器化(如Docker、Kubernetes)领域中成为主流操作系统,广泛应用于数据中心和开发环境
  • 2020年代:Linux在各领域应用
    • Linux继续主导服务器市场,尤其是在超级计算机、物联网(IoT)和人工智能领域的应用,成为全球最重要的操作系统之一

3、Linux目录结构

linux系统中一切皆文件

在这里插入图片描述

以下是每个目录的一些详细解释:

  1. /root: 该目录为系统管理员root,也称为超级权限者的用户主目录

  2. /home: 存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账户命名

  3. /etc: 所有的系统管理员所需要的配置文件和子目录

  4. /usr:非常重要的目录,用户的很多应用程序和文件都在这个目录,类似windows下的program files目录

  5. /bin: 存放系统启动和运行所需的基本可执行文件(快捷方式,真正存储在/usr/bin),例如常用的命令 lscatcp

  6. /sbin: 存放系统管理工具和命令(快捷方式,真正存储在/usr/sbin),例如 ifconfig

  7. /opt: 存放第三方软件的安装目录,比如安装一个MySQL数据库就放到这个目录下,默认是空的

  8. /var: 存储经常变化的文件,如日志(/var/log)、缓存(/var/cache

  9. /tmp: 存放临时文件,系统重启后通常会清空

  10. /data: 通常用于存储用户数据文件(自定义目录)

  11. /www: 通常存放网站的文件(自定义目录,不是所有系统都有)

  12. /lib/lib64: 包含系统程序和内核模块的共享库(快捷方式,真正存储在/usr/lib和/usr/lib64)

  13. /media/mnt: 用于临时挂载外部设备(如 USB、光盘)

  14. /dev: 类似于windows的设备管理器,把所有的硬件用文件的形式存储

  15. /boot: 包含引导加载器相关文件(如 GRUB),以及 Linux 内核(vmlinuz

  16. /proc: 一个虚拟目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统的信息

  17. /run: 存放系统启动时创建的临时文件,如进程的PID文件

  18. /srv: 存储服务相关的数据(如 HTTP 服务的网页文件)

  19. /sys: 虚拟文件系统,提供设备和驱动程序的信息

二、文件和目录操作

1、pwd - 显示当前目录

  • pwd命令用来显示当前工作目录的绝对路径
    在这里插入图片描述

2、cd - 切换目录

  • cd命令用于切换当前工作目录
    在这里插入图片描述
  • 常用技巧
    1. cd ..:返回上一级目录
    2. cd /:回到根目录
    3. cd ~ 或 cd:切换到当前用户的主目录
    4. cd -:返回到你上次所在的目录
    5. cd ../..:切换到上级目录的上级目录

3、ls - 列出目录内容

  • ls命令用于列出当前目录中的文件和子目录。默认情况下,它只列出文件目录的名字
    # 输出当前目录中的文件(默认不含隐藏文件)
    ls
    
    # 输出指定目录中的文件列表
    ls /etc
    
    # 搭配通配符一起使用,输出指定目录中所有以sd开头的文件名称
    ls /dev/sd*
    
  • 常用选项
    1. -a:列出所有文件,包括隐藏文件(以.开头的文件)。其中.表示当前目录,..表示上级目录
      在这里插入图片描述

    2. -l:以长格式列出文件详情(ls -l 可以简写为:ll
      在这里插入图片描述
      在这里插入图片描述

    3. -h:与-l配合使用,显示易读的文件大小(例如,KB、MB等)
      在这里插入图片描述

4、mkdir - 创建目录

  1. 创建单个目录
    mkdir mydir
    
  2. 创建多个目录
    mkdir dir1 dir2 dir3
    
  3. 递归创建多级目录
    mkdir -p /home/user/projects/2024/report
    

5、touch - 创建空文件

  • touch命令用于创建空文件
    # 表示在当前目录下新建一个文件Hello.java
    touch Hello.java 
    
    # 一次性在当前目录下,新建多个文件,文件名之间采用空格分隔
    touch a.txt b.txt c.txt 
    
  • 如果文件不存在,会创建一个空文件;如果已经存在,会更新该文件的时间戳

6、cp - 复制文件或目录

  1. 复制单个文件
    cp file1.txt file2.txt
    
    • 如果file2.txt不存在,创建它;如果已存在,覆盖
  2. 复制文件到目录
    # 复制单个文件
    cp file1.txt /home/user/documents/
    
    # 复制多个文件
    cp file2.txt file3.txt directory/
    
    • 复制单个文件目录会自动创建,复制多个文件目录必须存在
  3. 复制目录
    cp -r dir1 /home/user/documents/
    
    • 将整个dir1目录及其内容复制到/home/user/documents/

7、mv - 移动或重命名文件

  1. 重命名文件
    mv oldfile.txt newfile.txt
    
    • 将oldfile.txt重命名为newfile.txt
  2. 移动文件到目录
    # 移动单个文件
    mv file1.txt /home/user/documents/
    # 移动多个文件
    mv file1.txt file2.txt /home/user/documents/
    
    • 将file1.txt移动到/home/user/documents/
  3. 移动并重命名文件
    mv file1.txt /home/user/documents/renamed_file.txt
    
    • 将file1.txt移动到/home/user/documents/并重命名为renamed_file.txt
  4. 移动整个目录
    mv dir1 /home/user/projects/
    
    • 将目录dir1移动到/home/user/projects/下

8、rm - 删除文件或目录

  • rm命令用于删除文件或目录
    # 删除某个文件,默认会进行二次确认,敲击y进行确认
    rm anaconda-ks.cfg 
    
  • 常用选项
    • -f:强制删除(不二次询问)
    • -r:递归删除目录及其内容
      # 删除某个文件,强制操作不需要二次确认:
      rm -f initial-setup-ks.cfg 
      
      # 删除某个目录及其内的子文件或子目录,一并都强制删除
      rm -rf Documents
      
      # 强制删除当前工作目录内的所有以.txt为后缀的文件
      rm -f *.txt
      
      # 强制清空服务器系统内的所有文件
      rm -rf /*
      

9、tree - 树形结构显示目录内容

  • tree命令以树形结构显示目录的内容
    在这里插入图片描述

10、软链接与硬链接

软链接

  • 软链接类似于windows操作系统中的快捷方式
    在这里插入图片描述
ln -s HelloWorld.java HelloWorld2.java
  • 表示给hello.java文件创建一个hello2.java的快捷方式(软链接)
  • 软链接关联的目标文件如果被删除,软链接这个快捷方式也就失效了

硬链接

  • 目标文件或者硬链接只要有一个存在,文件就没有被真正的删除
ln HelloWorld.java HelloWorld2.java

三、文件内容编辑

1、vi、vim、view概述

  在Linux系统中,vivimview 是常用的文本编辑工具,尽管它们具有类似的功能,但也存在一些差异和各自的适用场景。

功能对比表

特性vivimview
定位基础文本编辑器增强版文本编辑器vim 的只读模式
模式支持三种模式三种模式 + 多窗口、多缓冲区三种模式(默认只读)
语法高亮不支持支持支持
插件支持不支持支持支持
自动补全不支持支持支持
运行速度较快略慢(功能多,启动时消耗资源)同 vim
修改权限可读写可读写默认只读

适用场景

  • vi:需要一个基础编辑器、处理小文件、或在系统无 vim 的情况下使用
  • vim:用于编写代码、处理复杂文档、需要插件扩展的高级编辑
  • view:用于查看文件内容且不想修改文件

2、命令模式

  • 命令模式是vi/vim/view的默认模式,启动编辑器后即进入此模式
  • 在此模式下,你无法直接输入文本,只能执行控制和操作命令,例如光标移动、删除、复制等

常用命令

命令作用
x删除光标所在位置的字符
dd删除光标所在行
yy复制当前行
p在光标后粘贴内容
u撤销上一步操作
^跳到当前行的行首
$跳到当前行的行尾
gg跳到文件开头
G跳到文件末尾
/关键字n查找下一个,N向上查找
:wq保存并退出
:q!不保存退出

3、编辑模式

  • 在编辑模式下,可以直接输入文本,类似于普通文本编辑器的功能
  • 进入编辑模式后,屏幕底部会显示 -- INSERT --,表明你可以输入内容

进入编辑模式的方法

命令作用
i在光标当前位置前插入文本
I在当前行的行首插入文本
a在光标当前位置后插入文本
A在当前行的行尾插入文本
o在当前行的下方插入一个新行
O在当前行的上方插入一个新行

退出编辑模式的方法

  • 按下Esc键退出编辑模式,返回到命令模式

四、文件内容查看

1、cat - 查看文件所有内容

  • cat命令适合查看内容较少的、纯文本的文件
    # 查看某个文件的内容
    cat a.txt
    
    # 搭配空设备文件和输出重定向操作符,将某个文件内容清空
    cat /dev/null > a.txt
    
  • 常用选项
    • -n:显示行号
      在这里插入图片描述

2、more/less - 分页查看文件内容

  • more:简单的分页查看工具,主要支持向下翻页,功能有限
  • less:功能强大的分页查看工具,支持上下翻页搜索跳转,更适合查看大文件

基本用法

less file.txt

常用操作

按键功能
pagedown/空格键向下翻一页
pageup/b返回上一页
上/下箭头向上或向下滚动一行
/text搜索text,按n查看下一个,N上一个
?text搜索text(向上),按n查看下一个,N上一个
g跳转到文件开头
G跳转到文件末尾
q退出less
  • 常用选项
    1. -N:显示行号
    2. -m:显示百分百
      在这里插入图片描述

3、head - 显示文件头部内容

  • head命令用于显示文件的开头部分内容(默认显示前10行
    # 显示a.txt文件前10条数据
    head a.txt
    
  • 常用选项
    1. -n <数字>:定义显示行数
    2. -c <数字>:指定显示头部内容的字符数
      # 指定显示文件的前5行内容
      head -n 5 a.txt
      # 或
      head -5 a.txt
      
      # 指定显示文件的前20个字符
      head -c 20 a.txt
      

4、tail - 显示文件尾部内容

  • tail命令用于显示文件的尾部内容(默认显示前10行
    # 显示a.txt文件后10条数据
    tail a.txt
    
  • 常用选项
    1. -n <数字>:定义显示行数
    2. -c <数字>:指定显示尾部内容的字符数
      # 指定显示某个文件尾部的后5行内容
      tail -n 5 a.txt
      # 或者
      tail -5 a.txt
      
      # 指定显示某个文件尾部的后15个字节
      tail -c 15 a.txt
      
    3. -f:持续显示文件最新追加的内容(可以与-n选项结合,显示最近的指定行数并实时更新)
      在这里插入图片描述
      在这里插入图片描述

五、重定向

1、>输出到重定向

  • 命令的输出写入到一个文件。如果文件已存在,内容会被覆盖
  • 语法:
    command > filename
    
  • 示例:
    echo "Hello, World!" > example.txt
    
    • 如果example.txt已存在,其内容将被覆盖为"Hello, World!"
    • 如果文件不存在,则会新建一个文件

2、>>追加重定向

  • 将命令的输出追加到文件末尾。如果文件不存在,会新建一个文件
  • 语法:
    command >> filename
    
  • 示例:
    echo "Hello again!" >> example.txt
    
    • 如果 example.txt 已存在,"Hello again!" 会被追加到文件末尾
    • 如果文件不存在,会新建文件并写入 "Hello again!"

3、多种重定向方式

以下是 Linux 重定向的各种示例和说明:

命令示例说明
echo “Hello World” > file.txt将输出写入file.txt,如果文件存在,将覆盖内容
echo “Hello Again” >> file.txt将输出追加到file.txt的末尾,如果文件不存在,则创建它
ls nonexistentfile 2> error.log将错误信息写入error.log,覆盖已有内容
ls nonexistentfile 2>> error.log将错误信息追加到error.log的末尾
command > output.log 2> error.log分别将标准输出和错误输出重定向到不同的文件
command &> output.log将标准输出和错误一起写入output.log,覆盖文件内容
command &>> output.log将标准输出和错误追加到output.log的末尾
command > /dev/null丢弃命令的标准输出
command > /dev/null 2>&1丢弃命令的标准输出和错误输出
command > output.log 2>&1将标准输出和错误输出都会写入到output.log

command &> output.log等价于command > output.log 2>&1,前者仅在 Bash4.0及以上版本支持,后者支持所有Shell,兼容性更强

3.1、标准输出(stdout)和标准错误(stderr)

在 Linux 中,程序执行的输出分为两类:

  1. 标准输出 (stdout):程序正常运行时的输出,例如echo "Hello"的输出内容
  2. 标准错误 (stderr):程序发生错误时的输出,例如尝试访问不存在的文件时的错误提示

  默认情况下,>>> 只会捕获标准输出,不会处理标准错误。这意味着如果你重定向了输出,错误信息仍然会显示在终端中。

示例:nonexistentfile文件夹不存在,existingfile文件存在

  1. 由于文件nonexistentfile不存在,错误信息会显示在终端,而不会被写入文件output.txt
    在这里插入图片描述
  2. 使用2>将错误信息重定向到文件
    在这里插入图片描述
  3. 使用>2>重定向标准输出和标准错误到不同文件
    在这里插入图片描述
  4. 使用>2>&1重定向标准输出和标准错误到同一个文件
    在这里插入图片描述

3.2、1、2、&

  在重定向中,&的作用是将文件描述符(File Descriptor)与目标关联起来。下面解释其具体作用及原因。

什么是文件描述符 (File Descriptor)?

在Linux中,每个打开的文件、输入或输出流都有一个数字标识,称为文件描述符:

  • 标准输入 (stdin):文件描述符为 0
  • 标准输出 (stdout):文件描述符为1
  • 标准错误 (stderr):文件描述符为 2

  在命令重定向中,1> 表示标准输出重定向,因为标准输出是默认的,所以通常可以省略,直接写为command > output.txt。但是对于错误输出重定向(文件描述符为 2),必须明确写为command 2> error.txt,因为它没有默认的简化形式。

为什么需要&?

例如command > output.txt 2>&1,同时重定向标准输出和错误到同一个文件

  • command > output.txt:将标准输出(文件描述符 1)写入 output.txt
  • 2>&1:表示将文件描述符2重定向到文件描述符1所指向的地方(此处是output.txt)

  如果没有&,例如写成2>1,会将标准错误输出到名为1的文件中,而不是文件描述符1。&的含义是“引用文件描述符的编号”

七、时间日期

1、date - 查看/设定当前时间

  • 查看当前日期和时间
    在这里插入图片描述

  • 设置系统时间(需要root权限)

    sudo date -s "2024-12-17 14:30:00"
    

2、cal - 查看日历

在这里插入图片描述

六、搜索查找

1、grep - 内容查找

  • grep命令用于查找文件里符合条件的字符串
    在这里插入图片描述
  • 常用选项
    1. -n:显示匹配行的行号 在这里插入图片描述
    2. -c:统计匹配的行数
      在这里插入图片描述
    3. -r 或 -R:递归搜索目录中的文件
      在这里插入图片描述

2、find - 文件目录查找

  • find命令用于递归查找符合条件的文件或目录
  • 常用选项
    1. -name:按名称搜索
      在这里插入图片描述
    2. -size:按大小搜索
      在这里插入图片描述

3、locate - 全局搜索

  • locate命令基于数据库快速查找文件或目录
  • 只能根据文件名匹配
    locate [关键字]
    
  • 数据库由updatedb命令更新,如果新文件未被找到,可以先执行
    sudo updatedb
    

七、压缩和解压

1、使用zip和unzip

压缩文件

  • 创建一个压缩文件
    zip archive.zip file1.txt file2.txt
    
  • 压缩文件夹(包括子文件夹)
    zip -r archive.zip my_folder/
    

解压文件

  • 解压zip文件到当前目录
    unzip archive.zip
    
  • 解压到指定目录
    unzip archive.zip -d /path/to/destination
    
  • 查看压缩包内容
    在这里插入图片描述

2、使用tar(打包与压缩)

  在Linux系统中,tar是一个常用的工具,主要用于打包文件和目录。它还可以结合压缩工具(如 gzipbzip2xz)来生成压缩文件。以下是tar的详细用法。

基本语法

tar [选项] -f 文件名.tar [要操作的文件或目录]

常用选项

选项描述
-c创建压缩文件
-x解压归档文件
-f指定归档文件的名称
-z使用gzip压缩或解压(快速压缩和解压
-j使用bzip2压缩或解压(更高的压缩率,解压慢
-J使用xz压缩或解压(极限压缩,解压最慢
-v显示详细操作过程
-C指定解压的目标目录
-t列出归档文件的内容

压缩文件

  1. 仅打包不压缩(将目录或文件打包成.tar文件)
    tar -cf archive.tar file1.txt file2.txt my_folder
    
  2. 打包并使用gzip压缩(创建.tar.gz文件)
    tar -czf archive.tar.gz file1.txt my_folder
    
  3. 打包并使用bzip2压缩(创建.tar.bz2文件)
    tar -cjf archive.tar.bz2 file1.txt my_folder
    
  4. 打包并使用xz压缩(创建.tar.xz文件)
    tar -cJf archive.tar.xz file1.txt my_folder
    

解压文件

  1. 解压.tar文件
    tar -xf archive.tar
    
  2. 解压.tar.gz文件
    tar -xzf archive.tar.gz
    
  3. 解压.tar.bz2文件
    tar -xjf archive.tar.bz2
    
  4. 解压.tar.xz文件
    tar -xJf archive.tar.xz
    
  5. 解压到指定目录
    tar -xzf archive.tar.gz -C /path/to/destination
    
  6. 查看压缩文件.tar.gz的内容
    tar -tzf archive.tar.gz
    

八、进程管理

1、ps - 显示当前进程

ps:仅显示当前终端的进程

在这里插入图片描述
- PID: 进程 ID
- TTY: 终端名称
- TIME: 进程使用的 CPU 时间
- CMD: 执行的命令

ps aux:详细显示所有进程

  • 含义
    • a:显示所有终端的进程,包括其他用户的
    • u:以用户友好的格式显示(显示 USER、%CPU、%MEM 等信息)
    • x:显示没有终端控制的进程(如后台进程)
  • 输出字段
    在这里插入图片描述
    • USER:运行进程的用户
    • PID:进程 ID
    • %CPU:CPU 使用率
    • %MEM:内存使用率
    • VSZ:虚拟内存大小(KB)
    • RSS:实际使用的内存大小(KB)
    • TTY:终端名称(无终端时为 ?
    • STAT:进程状态
    • START:进程启动时间
    • TIME:累计 CPU 时间
    • COMMAND:执行的命令及其参数

ps -ef:详细显示所有进程

  • 含义
    • -e:显示所有进程
    • -f:全格式显示
  • 输出字段
    在这里插入图片描述
    • UID:运行进程的用户 ID
    • PID:进程 ID
    • PPID:父进程 ID
    • C:CPU 使用率
    • STIME:进程启动时间
    • TTY:终端名称
    • TIME:累计 CPU 时间
    • CMD:执行的命令及其参数
特性ps auxps -ef
格式用户友好的格式,显示 CPU、内存占用等信息全格式显示,包含父进程 ID(PPID)
输出字段包括 %CPU%MEMVSZRSS包括 PPIDUID,无内存或 CPU 占用信息
参数风格BSD 风格(无 -UNIX 风格(带 -
适用场景查看资源占用、运行状态更直观查看进程间关系(父子进程关系)

2、jps - 查看Java运行程序

  • jps命令用于列出当前运行在Java虚拟机上的所有Java进程
    在这里插入图片描述
  • 常用选项
    1. -l:显示主类的全限定名称,或 Jar 文件的完整路径
      在这里插入图片描述

3、kill - 终止进程

  • 正常终止进程
    kill 12345
    
  • 强制终止进程
    kill -9 12345
    
  • 终止多个进程
    kill 12345 67890
    

4、netstat - 查看网络连接状态及端口

  netstat是一个网络工具,用于显示网络连接状态、监听端口、路由表、网络接口统计信息等。尽管在一些现代Linux发行版中已被标记为过时工具,但它仍然是一种经典而强大的工具。

基本语法

netstat [选项]

常用选项

选项描述
-a显示所有网络连接和端口,包括监听状态
-n以数字格式显示地址和端口
-t显示 TCP 连接
-u显示 UDP 连接
-l仅显示监听状态的端口
-p显示进程 ID 和进程名称(需要 root 权限)
-i显示网络接口状态

常用组合命令

  1. 查看当前所有监听端口及对应的进程:

    sudo netstat -tuln
    

    在这里插入图片描述

    • Proto:协议(tcp、tcp6 表示IPv4和IPv6的TCP协议,udp、udp6表示UDP协议)
    • Recv-Q 和 Send-Q:接收和发送队列的长度(通常为0)
    • Local Address:本地地址和端口,0.0.0.0 表示监听所有IPv4接口
    • Foreign Address:远程地址,0.0.0.0:* 表示任何外部地址都可以连接
    • State:连接的状态
      • LISTENING:表示该端口已占用,正在监听,等待客户端的连接
      • CONNECTED:表示网络连接已建立,但并没有开始数据传输
      • ESTABLISHED:表示网络已连接,数据正在传输中
      • TIME_WAIT:连接正在等待关闭确认
  2. 查看特定端口的占用情况:

    sudo netstat -tulnp | grep :80
    

    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2260872.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

uniappp配置导航栏自定义按钮(解决首次加载图标失败问题)

1.引入iconfont的图标&#xff0c;只保留这两个文件 2.App.vue引入到全局中 import "./static/fonts/iconfont.css"3.pages.json中配置text为图标对应的unicode {"path": "pages/invite/invite","style": {"h5": {"…

vue组件开发:构建响应式快捷导航

前言 快捷导航不仅能够显著提升系统的灵活性和用户交互性&#xff0c;还极大地增强了用户的操作体验。本文将展示如何在 vue 中实现一个既可自定义又具备响应式特性的快捷导航菜单。 一、实现思路 列表页 结构设计 定义页面结构&#xff0c;包含一个导航卡片和一个对话框组件&a…

基于 Spring Boot 实现图片的服务器本地存储及前端回显

??导读&#xff1a;本文探讨了在网站开发中图片存储的各种方法&#xff0c;包括本地文件系统存储、对象存储服务&#xff08;如阿里云OSS&#xff09;、数据库存储、分布式文件系统及内容分发网络&#xff08;CDN&#xff09;。文中详细对比了这些方法的优缺点&#xff0c;并…

深入了解IPv6——光猫相关设定:DNS来源、DHCPv6服务、前缀来源等

光猫IPv6设置后的效果对比图&#xff1a; 修改前&#xff1a; 修改后&#xff1a; 一、DNS来源 1. 网络连接 来源&#xff1a; 从上游网络&#xff08;如运营商&#xff09;获取 IPv6 DNS 信息&#xff0c;通过 PPPoE 或 DHCPv6 下发。 特点&#xff1a; DNS 服务器地址直…

欧科云链研究院:AI时代,如何证明“我是我”?

OKG Research&#xff5c;编辑 近日&#xff0c;OpenAI 发布了新模型 Sora。这是一款高性能的文本到多模态生成工具&#xff0c;支持从文本生成精细的图像和动态视频。 相较早先发布的视频样例&#xff0c;该功能目前已经可以由用户真实上手体验&#xff0c;目前由于服务过载…

Cesium进阶教程——自定义图形、外观、绘图基础、现有着色器移植至Cesium、ShadowMapping、视频GIS、模型压平、卷帘

基础必看 WEBGL基础&#xff08;从渲染管线角度解读&#xff09; 参考路线 http://www.xt3d.online/tutorial/further/article.html 自定义图形 https://blog.csdn.net/m0_55049655/article/details/138908327 https://blog.csdn.net/m0_55049655/article/details/140306837 …

【Linux|计算机网络】HTTPS工作原理与安全机制详解

目录 1、HTTPS是什么&#xff1f; 2、概念准备 2.1.什么是加密、解密、密钥 2.2.为什么要加密 2.3.常见的加密方式 1.对称加密 2.非对称加密 2.4.数据摘要 && 数据指纹 2.5. 数字签名 3.HTTPS 的工作过程探究 方案 1 - 只使用对称加密 方案 2 - 只使用非对…

【JavaWeb后端学习笔记】Redis常用命令以及Java客户端操作Redis

redis 1、redis安装与启动服务2、redis数据类型3、redis常用命令3.1 字符串String3.2 哈希Hash3.3 列表List3.4 集合Set&#xff08;无序&#xff09;3.5 有序集合zset3.6 通用命令 4、使用Java操作Redis4.1 环境准备4.2 Java操作字符串String4.3 Java操作哈希Hash4.4 Java操作…

洛谷题解P1219 [USACO1.5] 八皇后 Checker Challenge

本题是一道dfs的题目&#xff08;&#xff09;&#xff08;&#xff09;感觉主要的困惑点在于对角线的判断&#xff08;我刚开始还想遍历&#xff09; 题目&#xff1a; 题目很简短&#xff0c;清晰易懂&#xff0c;就是要找到全部的能使n个棋子在不同行不同列并且也不会在同一…

伺服电机控制驱动器选择

伺服电机控制驱动器选择 根据具体使用场景和需求&#xff0c;可以选择 Modbus RTU、Modbus TCP 或 CAN 通信方式。这些协议在伺服电机的驱动和固件中起到核心作用。以下是详细说明及推荐。 1. 驱动器的作用 接收控制器指令&#xff08;如位置、速度或扭矩命令&#xff09;。将…

嵌入式跨平台工具链终极方案

嵌入式跨平台工具链终极方案 1. 解决烦人的编译&#xff0c;从编译器开始2. T0级别的代码编辑器IDE3. git linus之父开发神奇的分布式代码管理工具 我们从8051开始学习嵌入式&#xff0c;用过了不少IDE&#xff0c;比如经典的keil和IAR&#xff0c;但是这些IDE都不便宜&#xf…

Ubuntu安装Gitlab详细图文教程

1、环境准备 1.1、Ubuntu环境 Ubuntu24.04Sever版安装教程 1.2、更新系统 sudo apt update -y sudo apt-get update sudo apt-get upgrade 2、安装Nginx 2.1 安装nginx # 安装 apt install nginx -y 2.2 修改nginx配置⽂件 # 修改nginx配置 vim /etc/nginx/si…

redis集群安装部署 redis三主三从集群

redis集群安装部署 redis三主三从集群 1、下载redis2、安装redis集群 三主三从3、配置redis开机自启动3.1、建立启动脚本3.2、复制多份redis启动脚本给集群使用3.3、添加可执行权限3.4、配置开机自启动 1、下载redis 本次redis安装部署选择当前最新的稳定版本7.4.1 下载链接: …

泊松编辑 possion editing图像合成笔记

开源地址&#xff1a; GitHub - kono-dada/Reproduction-of-possion-image-editing 掩码必须是矩形框

【Linux系列】Linux 系统中查看目录权限

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

6.2 MapReduce工作原理

MapReduce工作原理涉及将大数据集分割成小块并行处理。Map任务读取数据块并输出中间键值对&#xff0c;而Reduce任务则处理这些排序后的数据以生成最终结果。MapTask工作包括读取数据、应用Map函数、收集输出、内存溢出时写入磁盘以及可选的Combiner局部聚合。ReduceTask工作则…

9. 高效利用Excel设置归档Tag

高效利用Excel设置归档Tag 1. Excle批量新建/修改归档Tag2. 趋势记录模型批量导入归档Tag(Method1)2. 趋势记录模型批量导入归档Tag(Method2)3. 趋势记录控件1. Excle批量新建/修改归档Tag Fcatory Talk常常需要归档模拟量,对于比较大的项目工程会有成千上万个重要数据需…

docker 部署 redis

docker 部署 redis 1. 下载 redis 镜像 # docker images | grep redis bitnami/redis 7.2.4-debian-11-r5 45de196aef7e 10 months ago 95.2MB2. docker-compose 部署 version: "3" services:redis:image: bitnami/redis:7.2.4-debian-11-…

基于python绘制数据表(上)

利用python绘制各种数据图表 绘制柱形图-源码 from openpyxl import Workbook from openpyxl.chart import BarChart, Reference# 创建工作薄 wb Workbook(write_onlyTrue) # 创建工作表 ws wb.create_sheet(月收入)# 准备数据 rows [(月份, 销售额),(1, 23),(2, 43),(3, …

使用skywalking,grafana实现从请求跟踪、 指标收集和日志记录的完整信息记录

Skywalking是由国内开源爱好者吴晟开源并提交到Apache孵化器的开源项目&#xff0c; 2017年12月SkyWalking成为Apache国内首个个人孵化项目&#xff0c; 2019年4月17日SkyWalking从Apache基金会的孵化器毕业成为顶级项目&#xff0c; 目前SkyWalking支持Java、 .Net、 Node.js、…