知识点积累系列(六)操作系统(Linux+Windows+MacOS)篇【持续更新】

云原生学习路线导航页(持续更新中)

本文是 知识点积累 系列文章的第六篇,记录日常学习中遇到的 操作系统相关 的知识点,包括 Linux、Windows、MacOS等

1.Linux相关

1.1.shell脚本

1.2.命令相关

1.2.1.vim命令

1.2.2.nslookup命令

1.2.3.curl命令

1.2.4.nano命令

1.2.5.ls命令

  • ls怎么查看文件大小

    sh 复制代码
    ls [-lh] [-s]
    -l:以长格式显示文件和目录的列表,以字节为单位显示大小。(请参见下面的示例。)
    -h:文件或目录大小大于 1024 字节时,请以 KB、MB、GB 或 TB 来表示文件大小和目录大小。此选项还可以修改 -o、-n、-@ 和 -g 选项显示的输出,以使用新格式显示文件或目录大小。有关更多信息,请参见 ls(1) 手册页。
    -s:显示文件和目录(以块为单位)的列表。

1.2.6.make命令

  • make是最常用的构建工具,诞生于1977年,主要用于C语言的项目。可以用来编译和安装 各种内核和开源项目。
  • makefile:描述项目代码的依赖关系,make命令就是依赖这个文件,对项目进行编译的
  • 学习博客:https://www.ruanyifeng.com/blog/2015/02/make.html

1.2.7.netstat命令

  • netstat命令用于显示网络状态,学习博客:https://www.runoob.com/linux/linux-comm-netstat.html

  • netstat输出结果默认有6列

    sh 复制代码
    Proto   Recv-Q   Send-Q   Local Address  Foreign Address  State
    • Proto:协议,TCP/UDP

    • Local Address:网络连接是有2方参与,Local Address表示自己这方的地址 ip:port

    • Foreign Address:网络连接是有2方参与,Foreign Address表示对面那方的地址 ip:port

    • State :表示当前的网络连接中,自己这方处于出于什么阶段。

      • 这就是3次握手、4次挥手的那些状态
      • 比如:客户端关闭连接,我们立马执行netstat,可以看到客户端的tcp连接,处于TIME_WAIT状态,这就是在等待2个MSL后,才能关闭连接
      sh 复制代码
      root@graham-virtual-machine:~# netstat | grep 34819
      tcp        0      0 localhost:51908         localhost:34819         TIME_WAIT

1.2.8.ps命令

1.2.9.ufw命令

  • ufw 是 Uncomplicated Firewall 的简称,是linux用来管理防火墙的命令

  • 常用操作:

    • 查看 当前防火墙 开放端口的情况

      sh 复制代码
      sudo ufw status
    • 开放指定端口

      sh 复制代码
      sudo ufw allow 12345
  • 具体的学习博客:https://www.zzxworld.com/posts/linux-ufw-firewall-command

1.2.10.telnet命令

  • telnet 通常用于远程登录,或者用于测试一个ip+port是否畅通

  • 常用命令:

    • 远程登录,能登录上就说明是畅通的

      sh 复制代码
      telnet ip port
  • windows下没有telnet的问题

    • windows下默认没有开启telnet,需要在控制面板->windows功能->telnet客户端开启
    • 如果还不能远程连接,再按win+R,打开运行窗口,输入services.msc,打开服务窗口,把这个服务开启
  • telnet学习博客:

1.2.11.iptables命令

1.3.Linux琐碎知识点

1.3.1.GNU 是什么,和 Linux 是什么关系?

  • 以下内容是从 https://www.zhihu.com/question/319783573/answer/656033035 拷贝的一个匿名评论,说的很清楚
    • Unix 系统被发明之后,大家用的很爽。但是后来开始收费和商业闭源了。
    • 一个叫 RMS 的大叔觉得很不爽,于是发起 GNU 计划(GNU's Not Unix),模仿 Unix 的界面和使用方式,从头做一个开源的版本。
    • 然后他自己做了编辑器 Emacs 和编译器 GCC。因此,GNU 是一个计划或者叫运动。
    • 在这个旗帜下成立了 FSF,起草了 GPL 等。
    • 接下来大家纷纷在 GNU 计划下做了很多的工作和项目,基本实现了当初的计划。包括核心的 gcc 和 glibc。
    • 但是 GNU 系统缺少操作系统内核。原定的内核叫 HURD,一直完不成。同时 BSD(一种 UNIX 发行版)陷入版权纠纷,x86 平台开发暂停。
    • 然后一个叫 Linus 的同学为了在 PC 上运行 Unix,在 Minix 的启发下,开发了 Linux。注意,Linux 只是一个系统内核,系统启动之后使用的仍然是 gcc 和 bash 等软件。
    • Linus 在发布 Linux 的时候选择了 GPL,因此符合 GNU 的宗旨。
    • 最后,大家突然发现,这玩意不正好是 GNU 计划缺的么。于是合在一起打包发布叫 GNU / Linux。然后大家念着念着省掉了前面部分,变成了 Linux 系统。

1.3.2.什么是GPL协议

2.windows相关

2.1.查看端口占用

3.MacOS相关

相关推荐
Vcaker2 小时前
Linux学习28-Kubernetes service
linux·运维·学习
有梦想的咕噜2 小时前
Newtonsoft.Json (Json.NET) 常用方法汇总
linux·json·.net
码农小韩2 小时前
Linux应用开发(五)——线程
linux·操作系统·linux驱动·嵌入式软件开发·嵌入式操作系统·linux应用
Polevne3 小时前
C# GRPC 一元与双向流
linux·算法·c#
拂拉氏3 小时前
【知识讲解】 Linux程序替换相关接口讲解
linux·程序替换
那年窗外下的雪.3 小时前
AIDC 学习日志|第 25 天|设备输出反推、MAC Flapping 与 EAD 撤销
前端·网络·git·学习·macos
星源~3 小时前
zephyr-Linux环境下搭建步骤
linux·mcu·嵌入式开发·zephyr
Huangjin007_3 小时前
【Linux 系统篇(二十)】进程(八):进程创建、进程退出
linux·运维·服务器
星辰即远方3 小时前
RunLoop初步了解
macos·objective-c·cocoa
吴声子夜歌3 小时前
Shell编程——开发规范
linux·运维·shell