Linux学习
文章平均质量分 94
phantom_111
这个作者很懒,什么都没留下…
展开
-
宝藏命令行工具整理
l : 将处于监听模式。指定该参数,则意味着 nc 被当作 server,可以向其地址发起连接。-p :指定监听的端口号,新版本可以不用指定-v :输出交互或者出错信息,可以用于调试更复杂的功能介绍:笔者此处只用了,nc 比较皮毛的功能。实际上这个宝藏工具厉害着呢,但是本着自己学到才是自己的原则,此处仅仅列举出来,感兴趣的小伙伴,可以看参考链接继续学习。以 UDP server 的方式监听连接将 nc 作为聊天工具将 nc 作为代理-w 设置连接超时-k 强制 nc 待命。原创 2022-10-16 10:54:31 · 738 阅读 · 0 评论 -
Docker 底层技术推导
文章目录1. 写在最前面2. 什么推动了docker 出现2.1 出现原因2.2 优势总结3. 大胆猜测一下实现3.1 对比 Virtual Machine3.2 实现 docker 需要什么?3.3 要隔离什么?4. 真实的实现4.1 隔离进程的工具4.1.1 例子4.2 隔离资源的工具4.2.1 子系统介绍4.2.2 使用介绍4.3 附加工具5. 碎碎念6. 参考资料1. 写在最前面在听《牵丝戏》的时候突然灵光乍现想到了「与其扬汤止沸,不如釜底抽薪」这个观点。怎么将这个观点应用到这篇文章中呢?答原创 2021-02-08 19:18:18 · 431 阅读 · 0 评论 -
拥塞控制 vs 流量控制
在 TCP 中,拥塞窗口和接收窗口的最小值,是任意时刻内发送方确定能被发送出去的字节数。拥塞窗口受拥塞控制的影响,接收窗口受流量控制的影响,以下会分别介绍拥塞控制和流量控制。拥塞控制与流量控制本质上来说,是生产者消费者的模型,如下图所示:拥塞控制目的:通过减少发送方发送的数据量,起到阻止发送方到接收方之间的链路变得拥塞的目的。实现:拥塞控制通过拥塞窗口实现,拥塞窗口由发送方维护,通过预...原创 2019-11-06 22:37:22 · 412 阅读 · 0 评论 -
重读TCP 协议
拖延症晚期患者,终于在周末的尾巴开始写这篇本来上周就应该总结出来的文章了……。1. 基本概念大部分介绍 tcp 协议的开头都是, tcp 协议是一种面向连接的、可靠的、基于字节流的传输层协议。讲真的就是这么单纯的记住这个概念,在实践中并没有什么具体用处,毕竟工作和考试不一样……。为了更深刻的理解这个协议,让我们先拆解下概念要点:传输层协议,什么是传输层呢,为什么需要抽象传输层的概念呢?...原创 2019-10-20 23:05:06 · 316 阅读 · 0 评论 -
进程调度
1.背景知识调度程序可以理解成一个分配者,用于分配有限的处理器资源。只有通过调度程序,处理器资源才能够达到最大限度的利用。调度程序主要负责以下工作决定哪个进程将会投入运行决定进程什么时候运行决定运行多长时间调度程序在设计上分为:抢占式调度程序决定什么时候停止一个进程,以便其他进程能够得到执行的机会。Unix 、Linux 和许多其他的现代操作系统都是抢占式的非抢占式除...原创 2019-10-07 22:25:02 · 242 阅读 · 0 评论 -
进程、系统调用
「多问,为什么?」能够帮助你深入理解各种你想要知道的东西?什么,你不信,那我们一起试试吧。1. 进程1.1 为什么需要进程不是进程需要我们,而是我们需要进程。想象一下,现在提供一个操作系统,而你想要通过操作系统控制各种资源,包括处理器、内存、磁盘等,你会怎么做?将各个资源排队,每次都取一类资源处理,最后整和到一起使用,这得是一种多么低效的手段……提前打包好各种可能使用的资源,每次使用申...原创 2019-09-22 21:02:53 · 2588 阅读 · 0 评论 -
中断、信号、锁、信号量
1. 碎碎念作为一个上学能忘记带书包,出门能忘记带钥匙的人。兴冲冲的去看书,发现自己木有带书,只带了电脑,好像也就没什么可奇怪的了。好在现在是 2019 年,在网上找了下要看书的 pdf 版,完美解决小插曲,撒花。(ps 解释下,作为一个尊重知识产权的人,我还是买了纸质书的哈2. 背景对于中断、信号、锁、信号量这几个操作系统课本里常见的概念,笔者始终是木有理解清楚过。大概率是因为我上学的时候...原创 2019-09-15 19:36:48 · 2355 阅读 · 2 评论 -
你听过文件系统吗?
你听过文件系统吗?听过那让我们一起复习一下吧_1. 复习背景知识第一部分属于对文件系统的复习内容,了解的人可直接阅读第二部分。1.1 为什么需要文件系统文件存于磁盘中,磁盘可以理解为一种固定大小的线性序列,支持读块 k 和写块 k 的操作。假设没有文件系统,用户必须手动进行以下的管理:记录数据存储在磁盘的哪些块中。记录哪些块是空闲块。避免在存取数据的过程中误操作其他用户的数据块...原创 2019-01-27 19:31:18 · 368 阅读 · 0 评论 -
并发易混淆概念总结
并发编程易混淆概念总结:竞争、线程安全函数、线程不安全函数、饥饿、死锁原创 2018-01-10 15:43:36 · 328 阅读 · 0 评论 -
golang之goroutine调度的理解
系统内核已经有一个thread scheduler,为什么golang还自己实现了一套runtime scheduler。主要有两个原因,一个是,线程的很多特性(比如context上下文切换的耗时,thread自己的信号掩码等)对go程序来说是累赘。另一个原因是go的垃圾回收需要所有的goroutine停止,使得内存存在一个一致的状态。垃圾回收的时间点是不明确的,如果依靠系统自身的schedule...原创 2018-01-08 17:40:37 · 1593 阅读 · 0 评论 -
Linux下iptables学习
一、概念解释iptables,一个运行在用户空间的应用软件,通过控制Linux内核netfilter模块,来管理网络数据包的流动与转送。在大部分的Linux系统上面,iptables是使用/usr/sbin/iptables来操作,文件则放置在手册页(Man page[2])底下,可以通过 man iptables 指令获取。通常iptables都需要内核层级的模块来配合运作,Xtables是主要在原创 2017-07-14 11:18:04 · 496 阅读 · 0 评论 -
Java.util.concurrent之 Executor框架与线程池
update-alternatives是Linux系统中专门维护系统命令链接符的工具,通过它可以很方便的设置系统默认使用哪个命令、哪个版本。比如,系统中国同时安装了open jdk和sun jdk两个版本,默认希望使用sun jdk,这时update-alternatives命令可以在不必卸载open jdk同时使用sun jdk。原创 2017-05-05 18:30:50 · 787 阅读 · 0 评论 -
Linux使用update-alternatives进行软件版本切换
update-alternatives是Linux系统中专门维护系统命令链接符的工具,通过它可以很方便的设置系统默认使用哪个命令、哪个版本。比如,系统中国同时安装了open jdk和sun jdk两个版本,默认希望使用sun jdk,这时update-alternatives命令可以在不必卸载open jdk同时使用sun jdk。原创 2017-04-07 18:43:16 · 937 阅读 · 0 评论 -
是否允许分配伪终端解决
问题当使用jenkins构建触发器执行ssh命令的时候出现如下错误: Pseudo-terminal will not be allocated because stdin is not a terminal 意思是无法分配一个伪终端,在伪终端执行脚本,可以进行交互;而没有伪终端,则不能进行交互。解决方案1.禁止分配伪终端-使用ssh -T 2.强制分配伪终端-使用ssh -t 或 ssh -原创 2017-02-21 20:07:06 · 5161 阅读 · 0 评论 -
Linux命令学习之crontab
crontab:用于调用重复性作业可以使用crontab命令来定时执行任务,使其每日、每周或每月执行一次。每日 crontab 系统管理任务可能包括以下内容: * 从临时目录中删除几天前的文件 * 执行记帐摘要命令 * 使用 df 和 ps 命令捕获系统快照 * 执行每日安全监视 * 运行系统备份每周 crontab 系统管理任务可能包括以下内容: * 重新生成 catman原创 2016-12-12 20:44:57 · 381 阅读 · 0 评论