知识点积累系列(六)操作系统(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相关

相关推荐
梓仁沐白1 小时前
ubuntu+windows双系统切换后蓝牙设备无法连接
windows·ubuntu
内核程序员kevin1 小时前
TCP Listen 队列详解与优化指南
linux·网络·tcp/ip
九鼎科技-Leo5 小时前
什么是 WPF 中的依赖属性?有什么作用?
windows·c#·.net·wpf
小江村儿的文杰5 小时前
XCode Build时遇到 .entitlements could not be opened 的问题
ide·macos·ue4·xcode
朝九晚五ฺ6 小时前
【Linux探索学习】第十四弹——进程优先级:深入理解操作系统中的进程优先级
linux·运维·学习
自由的dream6 小时前
Linux的桌面
linux
xiaozhiwise6 小时前
Makefile 之 自动化变量
linux
Yang.997 小时前
基于Windows系统用C++做一个点名工具
c++·windows·sql·visual studio code·sqlite3
我不瘦但很逗8 小时前
Windows下使用DBeaver连接云数据库(MySQL)
数据库·windows