每日命令之nc
nc命令是Linux中一个功能强大的网络工具,全称是netcat。其主要功能如下: 1.测试udp端口的连通性(重点)。 2.测试tcp端口的连通性。 3.文件及目录的传输。 4.仿真聊天。 nc语法格式:nc [参数] -n 直接使用IP地址 -p <通信端口>,设置本地主机使用的通信…
Nginx中root和alias区别
nginx 指定文件路径有两种方式root和alias,这两者的用法区别,使用方法总结了下,方便大家在应用过程中,快速响应。root与alias主要区别在于nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上。 root指令 用于指定服务器文件的根目录,…
fork&vfork&clone
fork() 当fork函数被当前函数调用时,内核为新进程创建各种数据结构,并分配给它一个唯一的PID。为了给这个新进程创建虚拟内存,它创建了当前进程的mm_struct,区域结构和页表的原样副本,并将两个进程中的每个区域结构都标记为私有的写时复制。 当fork在新进程中返回时,新进程现在的虚拟内存…
laravel中的两种锁
/** * Lock the selected rows in the table for updating. * 悲观锁 锁住后读改阻塞 * @return $this */ public function lockForUpdate() { return $this->lock(true)…
Linux 中如何安全地抹去磁盘数据
有些情况下我们不得不以一种确保无法恢复的方式从磁盘上擦除所有信息 许多小伙伴可能认为使用文件管理器或者 rm 命令删除数据可以保证安全性,但其实不然 因为 rm 命令或者文件管理器删除文件只是删除指向文件系统的指针(inode),所以原始数据仍可以使用 在 Linux 中,文件由指针部分(inode…
Linux 系统中调用 exit() 和 _exit() 结束进程的区别
根据此图,进程终止方式有三种(不涉及多线程情况下),分别为: 进程调用_exit或_Exit(两者等价),进程立即终止,内核负责各项清理工作,如移除进程表项(自然也包括“关闭”进程的文件描述符),发送SIGCHILD信号给父进程等。 进程调用exit函数,exit逐一调用进程事先通过atexit或o…
Linux文件链接
为了方便用户访问文件,Linux提供了一种称为连接(link)的机制,可以将一个文件或目录与另一个文件或目录建立关联,从而实现多个路径指向同一个文件或目录的效果。 概述 Linux是一个多用户多任务的操作系统,它提供了一种灵活的文件系统,可以在不同的分区、设备和网络上存储和管理文件。 为了方便用户访…
PHP8.2新特性
trait 常量 在PHP 8.2之前,不允许将常量添加到trait中。这是一种语言差异,因为trait可以访问使用它们的类的常量。 但是你不能严格地定义一个常量存在于一个类中,次问题已经在PHP 8.2修复。 <?php trait testTrait { private const NAM…
git rebase
rebase在git中是一个非常有魅力的命令,使用得当会极大提高自己的工作效率;相反,如果乱用,会给团队中其他人带来麻烦。它的作用简要概括为:可以对某一段线性提交历史进行编辑、删除、复制、粘贴;因此,合理使用rebase命令可以使我们的提交历史干净、简洁! 写在前面:如果你的分支不只有你在进行开发,…
git简洁提交
修改上个提交 git commit --amend 该命令的帮助文档描述如下: --amend 修改之前的提交 也就是说,它可以帮助我们修改上次提交的内容 可以修改我们提交的消息和提交的文件,最后替换最后的提交ID 提交时我们可能会遗漏文件。当我们再次提交时,我们可能会有多个无用的提交 ID。如果大…