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

  • nano是一个符终端的文本编辑器,比vi/vim使用更简单些
  • 命令详解:https://wangchujiang.com/linux-command/c/nano.html

1.2.5.ls命令

  • ls怎么查看文件大小
    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列
    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后,才能关闭连接
      root@graham-virtual-machine:~# netstat | grep 34819
      tcp        0      0 localhost:51908         localhost:34819         TIME_WAIT
      

1.2.8.ps命令

  • ps命令能够给出当前系统中进程的快照,注意是执行命令那一时刻的快照。动态的话,需要使用top命令
  • 学习博客参考:
    • https://linux.cn/article-4743-1.html
    • https://www.runoob.com/linux/linux-comm-ps.html

1.2.9.ufw命令

  • ufw 是 Uncomplicated Firewall 的简称,是linux用来管理防火墙的命令
  • 常用操作:
    • 查看 当前防火墙 开放端口的情况
      sudo ufw status
      
    • 开放指定端口
      sudo ufw allow 12345
      
  • 具体的学习博客:https://www.zzxworld.com/posts/linux-ufw-firewall-command

1.2.10.telnet命令

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

  • 常用命令:

    • 远程登录,能登录上就说明是畅通的
      telnet ip port
      
  • windows下没有telnet的问题

    • windows下默认没有开启telnet,需要在控制面板->windows功能->telnet客户端开启
    • 如果还不能远程连接,再按win+R,打开运行窗口,输入services.msc,打开服务窗口,把这个服务开启
      知识点积累系列(六)操作系统(Linux+Windows+MacOS)篇【持续更新】_第1张图片
  • telnet学习博客:

    • https://cloud.tencent.com/developer/article/2113234
    • https://blog.csdn.net/u011561335/article/details/84781236

1.2.11.iptables命令

  • iptables原理:https://zhuanlan.zhihu.com/p/545054578
  • iptables命令学习:https://wangchujiang.com/linux-command/c/iptables.html

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协议

  • GPL,全称 General Public License,通用公共授权协议,常用的开源协议。最早是由斯托曼撰写,用于GNU计划
  • 科普性学习:
    • https://zhuanlan.zhihu.com/p/36091228
    • https://blog.csdn.net/qq_41458207/article/details/104449098

2.windows相关

2.1.查看端口占用

  • netstat -aon|findstr “8081”
  • https://www.runoob.com/w3cnote/windows-finds-port-usage.html

3.MacOS相关

你可能感兴趣的:(云原生学习专栏,linux,windows,macos,云计算,microsoft)