分类: 计算机基础

100 篇文章

每日命令之lsof
lsof介绍 Linux lsof是用来查看当前系统进程打开的文件。linux系统中,一切皆为文件,lsof可以查看的"文件"类型有: 目录 文件 字符设备 共享库 网络文件 lsof用法 -i 列出符合条件的进程 -p <PID> 列出进程号打开的文件 -u <…
每日命令之ss
ss是Socket Statistics的缩写。 ss命令用来显示处于活动状态的套接字信息,它可以显示和netstat类似的内容。与netstat对比,其优势: ss能够显示更多更详细的有关TCP、UDP和连接状态等信息。 ss比netstat更快速更高效。 ss语法格式:ss [参数] -a 显示…
i++为什么不是原子操作
从处理器层面上来讲,处理器保证基本的访存事务的原子性,例如当处理器读取存储器中的一个字节时,在读取过程未结束之前,其他的任何设备都不可以访问这个字节。这个保证对写入字节也成立。但是处理器自动能做的保护也就仅仅如此了。 问题描述 以下面的Go代码为例,我们对x累加了10000次,但是最终x的结果却并不…
每日命令之nc
nc命令是Linux中一个功能强大的网络工具,全称是netcat。其主要功能如下: 1.测试udp端口的连通性(重点)。 2.测试tcp端口的连通性。 3.文件及目录的传输。 4.仿真聊天。 nc语法格式:nc [参数] -n 直接使用IP地址 -p <通信端口>,设置本地主机使用的通信…
fork&vfork&clone
fork() 当fork函数被当前函数调用时,内核为新进程创建各种数据结构,并分配给它一个唯一的PID。为了给这个新进程创建虚拟内存,它创建了当前进程的mm_struct,区域结构和页表的原样副本,并将两个进程中的每个区域结构都标记为私有的写时复制。 当fork在新进程中返回时,新进程现在的虚拟内存…
Linux 中如何安全地抹去磁盘数据
有些情况下我们不得不以一种确保无法恢复的方式从磁盘上擦除所有信息 许多小伙伴可能认为使用文件管理器或者 rm 命令删除数据可以保证安全性,但其实不然 因为 rm 命令或者文件管理器删除文件只是删除指向文件系统的指针(inode),所以原始数据仍可以使用 在 Linux 中,文件由指针部分(inode…
Linux 系统中调用 exit() 和 _exit() 结束进程的区别
根据此图,进程终止方式有三种(不涉及多线程情况下),分别为: 进程调用_exit或_Exit(两者等价),进程立即终止,内核负责各项清理工作,如移除进程表项(自然也包括“关闭”进程的文件描述符),发送SIGCHILD信号给父进程等。 进程调用exit函数,exit逐一调用进程事先通过atexit或o…
Linux文件链接
为了方便用户访问文件,Linux提供了一种称为连接(link)的机制,可以将一个文件或目录与另一个文件或目录建立关联,从而实现多个路径指向同一个文件或目录的效果。 概述 Linux是一个多用户多任务的操作系统,它提供了一种灵活的文件系统,可以在不同的分区、设备和网络上存储和管理文件。 为了方便用户访…
函数sync fsync 和 fdatasync 的区别
缓冲 传统的UNIX实现的内核中都设置有缓冲区或者页面高速缓存,大多数磁盘IO都是通过缓冲写的。 当你想将数据write进文件时,内核通常会将该数据复制到其中一个缓冲区中,如果该缓冲没被写满的话,内核就不会把它放入到输出队列中。 当这个缓冲区被写满或者内核想重用这个缓冲区时,才会将其排到输出队列中。…
苹果内购JWS回调解析
JWS简介 JWS 也就是 Json Web Signature,是构造 JWT 的基础结构(JWT 其实涵盖了 JWS 和 JWE 两类,其中 JWT 的载荷还可以是嵌套的 JWT),包括三部分 JOSE Header、JWS Payload、JWS Signature。 这里的 Signatur…