2021-10

一. 网址参考

  1. postman上传文件测试

  2. 登录Foxmail显示LOGIN Login error user suspended

  3. 解决 libcurl.so.4: no version information available(使用自编译的 curl 后,可能会遇到这个问题)

  4. 用ZeroTier搭建属于自己的虚拟局域网(VLAN)(知乎)

  5. 无公网IP通过ZeroTier方便实现内网穿透(详细)

  6. Linux下的压缩(zip)解压(unzip)缩命令

  7. packetdrill--测试TCP协议栈行为的利器

  8. shell命令行&&、||和 ; 的使用方法

  9. linux shell下除了某个文件外的其他文件全部删除的命令

  10. 如何列出所有的Bash Shell内置命令

  12. ss和netstat的区别

  13. File Browser 安装及使用

二. 实践

  1. Makefile中的命令执行

   参考:Makefile命令的编写

    当规则中的目标需要被重建的时候,此规则所定义的命令将会被执行,如果是多行的命令,那么每一行命令将是在一个独立的子 shell 进程中被执行。因此,多命令行之间的执行命令时是相互独立的,相互之间不存在以来。

在 Makefile 中书写在同一行中的多个命令属于一个完整的 shell 命令行,书写在独立行的一条命令是一个独立的 shell 命令行。因此:在一个规则的命令中命令行 “cd”改变目录不会对其后面的命令的执行产生影响。就是说之后的命令执行的工作目录不会是之前使用“cd”进入的那个目录。如果达到这个目的,就不能把“cd”和其后面的命令放在两行来书写。而应该把这两个命令放在一行上用分号隔开。这样才是一个完整的 shell 命令行。

实例 2:

  1. foo:bar/lose
  2. cd bar;gobble lose >../foo

如果想把一个完整的shell命令行书写在多行上,需要使用反斜杠 (\)来对处于多行的命令进行连接,表示他们是一个完整的shell命令行。例如上例我们也可以这样书写:

  1. foo:bar.lose
  2. cd bar; \
  3. gobble lose > ../foo

make 对所有规则的命令的解析使用环境变量“SHELL”所指定的那个程序。在 GNU make 中,默认的程序时 “/bin/sh”。不像其他的绝大多数变量,他们的只可以直接从同名的系统环境变量那里获得。make 的环境变量 “SHELL”没有使用环境变量的定义。因为系统环境变量“SHELL”指定的那个程序被用来作为用户和系统交互的接口程序,他对于不存在直接交互过程的 make 显然不合适。在 make 环境变量中“SHELL”会被重新赋值;他作为一个变量我们也可以在 Makefile 中明确的给它赋值,变量“SHELL“的默认值时“/bin/sh”。

 2. 为什么局域网的IP普遍是192.168开头?(知乎)

  在这三类地址中,绝大多数的IP地址都是公有地址,需要向国际互联网信息中心申请注册。但是在IPv4地址协议中预留了3个IP地址段,作为私有地址,供组织机构内部使用。
这三个地址段分别位于A、B、C三类地址内:
  • A类地址:10.0.0.0--10.255.255.255
  • B类地址:172.16.0.0--172.31.255.255
  • C类地址:192.168.0.0--192.168.255.255
    • ip地址分类:
    •  


    •  

posted @ 2021-10-09 10:13  shanyu20  阅读(59)  评论(0编辑  收藏  举报