Linux干货
文章平均质量分 87
常用的 Linux 命令使用以及注意事项
Linux开发那些事儿
这个作者很懒,什么都没留下…
展开
-
如何理解 iowait
Linux中,%iowait 过高可能是个问题,严重的时候,它能使服务停止, 但问题是,多高才算高? 什么时候应该担心呢?本文将讨论 iowait 的含义、相关的统计数据、原理以及 iowait的瓶颈问题什么是 iowaitLinux 中的解释Show the percentage of time that the CPU or CPUs were idle during which the system had an outstanding disk I/O request.iowait .原创 2022-04-16 09:00:00 · 9387 阅读 · 0 评论 -
Linux 下如何设置防火墙
防火墙,顾名思义,就是用一睹墙隔绝了外部的攻击,让墙里面的环境相对安全在 Linux 中,防火墙是以一个守护进程的方式存在,服务的名字是 firewalld ,它能够定义一组规则来控制外部传入系统中的网络流量,规则允许的流量才能进入系统,规则禁止的流量会被拦下简介firewalld 提供了一个动态定制规则的方式,我们可以实时 创建、更改和删除规则firewalld 使用区域和服务的概念来简化流量管理。区域是预定义的规则集,网络接口可以分配给区域。流量能否进入主机取决于计算机连接的网络以及为网络设置.原创 2022-04-15 09:00:00 · 2303 阅读 · 0 评论 -
Linux 下如何使用 vmstat 命令
vmstat 是 virtual memory statistics 的缩写,它是Linux下一个非常有用的监控工具,除了内存之外,还提供 块 IO、CPU 时间 等额外的信息语法vmstat 命令的执行不需要特殊的权限,普通用户就可以执行,其语法形式如下vmstat [options] [delay [count]]delay 表示数据更新间隔,单位是秒,如果没有指定此值,表示系统启动以来的平均时间,而且此时只输出一次结果count 表示输出次数,如果没有指定该值,但是指定了 delay 的.原创 2022-04-14 09:00:00 · 336 阅读 · 0 评论 -
如何理解字节序
计算机只能理解 0 和 1 组成的二进制数据, 一个 bit 的值是 0 或 1,八个这样的 bit 组成了一个字节,通过字节,计算机可以表示一些复杂的数据,比如:音频、视频等,有些数据只需要用一个字节来表示,比如英文字符,而有些数据需要多个字节来表示,比如:汉字,对于多字节的数据,存储的时候会有字节顺序的问题,也就是字节序字节序是什么字节序是计算机存储多字节数据的方式,目前主流的方式有:大端字节序和小端字节序,字节序主要是针对多字节的数据类型,比如 short、int 等类型大端字节序高.原创 2022-04-11 09:51:25 · 347 阅读 · 0 评论 -
让人疑惑的C语言位域
在实际的应用中,有些数据的存储只需要几个二进制位,而不需要一个字节或几个字节,比如:电灯接通电源的状态,只有通电和未通电两种状态,用 1 和 0 就可以表示,为了满足这种需求,C 语言中引入了位域的概念位域是什么位域是一种数据结构,可以把数据以二进制位的形式紧凑的存储,它允许程序对此结构的位进行操作在计算机早期,内存是非常稀缺的,需要尽可能的节省每一个字节,所以,C 语言中就出现了能针对二进制位进行操作的位域为什么要用位域位域这种数据结构,可以最大限度的节省存储空间,对于一些非常频繁的操作,需要.原创 2022-04-12 09:00:00 · 281 阅读 · 0 评论 -
一文讲清楚补码的本质
在计算机中,所有的数字都是以二进制的形式表示的,即均为 0 和 1 组成的各种编码,数字的表示形式可以划分成原码,反码和补码如何表示 原码、反码、补码如果没有特殊说明,下面的介绍都是以 4 位二进制为例的原码为了区分正数和负数,计算机中将二进制的最高位( bit ) 规定为符号位,它等于 0 时表示正数,等于 1 时表示负数,剩下的所有低位( bit )用来表示数值下面的图片从左到右分别表示 +5和 -5的原码反码正数的反码和其原码相同,负数的反码在原码基础上,符号位不变,数值位取.原创 2021-11-25 09:00:00 · 287 阅读 · 0 评论 -
Linux下侦听端口被占用,怎么解决?
不知道你有没有遇到过这种问题:在同一台物理机器上,服务A 启动时侦听 端口1 ,同时它也作为客户端去连接 服务B,连接服务B时候会随机一个端口号,假如随机的是 端口2 ,这个时候 服务C 正在启动中,它发现需要侦听的端口号已经被 服务A的随机端口 ( 端口号2 ) 占用了,导致服务C 启动失败上述的问题是 服务器 侦听的端口 被客户端随机的端口给占用掉了,导致服务器无法启动,接下来将介绍 这种情况出现的原因以及如何解决该问题如何随机端口号要弄清楚问题的原因,先需要了解下系统是如何随机端口号的Lin.原创 2021-11-19 09:00:00 · 717 阅读 · 0 评论 -
如何在 Linux 上安装Samba
Linux 开发,通常是在 Windows 上编码,再把文件传到 Linux 上进行编译,当项目稍微有点儿规模或者多个人同时开发时,整个过程会变得非常的繁琐了,如果有一种工具能实现,编写的代码实时的同步到 Linux 上就好了samba 就能很好的解决这个问题,它 是一个免费的开源软件,由澳大利亚国立大学的一名学生开发的,它允许在 Windows 和 Linux 系统之间简单轻松地共享文件。它能为选定的 Linux 目录(包括所有子目录)创建网络共享,使得 Windows 用户可以像访问普通 Windo.原创 2021-11-17 08:30:00 · 3924 阅读 · 0 评论 -
Linux下如何切割与合并大文件
我们传输一个大文件时,有时网络比较慢,需要花费很长时间才能传输完成,或者传输的过程中,网络不稳定,有可能导致此次传输失败,针对这种情况,我们可以把大文件切分成小文件,再逐个的传输到目的地,最后再把它们合并成一个文件小文件传输有什么优点呢?当出现网络闪断导致传输失败了,也只需要重新传输失败的一个文件,由于文件比较小,重新传输相对大文件要快很多,另外,切割成小文件,可以增加传输的并发量,也就是说多个小文件同时传输,比传输单个文件速度更快Linux下切割文件的命令是 split合并文件可以使用 cat命令,.原创 2021-11-16 08:30:00 · 1500 阅读 · 0 评论 -
1s 创建100G文件,最快的方法是?
在我们日常工作中,为了验证开发的功能,比如:文件上传功能或者算法的处理效率等,经常需要一些大文件进行测试,有时在四处找了一顿之后,发现竟然没有一个合适的,虽然 Linux 中也有一些命令比如:vim、touch等可以创建文件,但是如果需要一个 100G 或者 1T 的大文件,这些命令就显得力不从心,此时就需要能快速创建大文件命令,接下来将介绍这些命令的常见用法、命令之间的差异、以及使用时如何选择dddd命令的语法如下dd if=[source] of=[destination] bs=[block-.原创 2021-11-15 08:30:00 · 888 阅读 · 0 评论 -
如何用 ftp 实现一键上传
简介ftp 是 Internet 标准文件传输协议的用户界面, 它允许用户与远程网络站点之间传输文件使用 ftp 客户端上传文件,需要一个 ftp 服务器,本文主要介绍 ftp 客户端上传相关的命令,默认已经安装好FTP服务器了FTP服务器的搭建在 Linux下如何部署FTP服务器 中有详细的介绍,感兴趣的可以去看看安装使用下面的命令安装 FTP 客户端yum install ftp常用选项进入 ftp 命令行之后,就可以执行上传、下载相关的命令,由于命令比较多,下面只列出一些常.原创 2021-11-12 08:30:00 · 1009 阅读 · 0 评论 -
Linux下如何部署FTP服务器
FTP 是 File Transfer Protocol 的缩写,即文件传输协议,它通过网络在服务器和客户端之间传输文件,现在已经成为一种广泛使用的标准工具vsftpd 是 very secure ftp daemon 的缩写,它是 Linux 上使用最受欢迎、使用最广泛的 FTP 服务器之一,它具有安全,速度快,稳定的特点,很多重要的 FTP 站点比如 ftp.gnu.org、ftp.freebsd.org都是使用 vsftpd 作为服务器的当前,FTP服务在日常工作中使用得也挺多,每次服务器版本更.原创 2021-11-05 08:30:00 · 1576 阅读 · 0 评论 -
/dev/random 和 /dev/urandom 的原理
/dev/random和 /dev/urandom是 Linux 上的字符设备文件,它们是随机数生成器,为系统提供随机数随机数的重要性随机数在计算中很重要。 TCP/IP 序列号、密码盐和 DNS 源端口号都依赖于随机数。在密码学中,随机性无处不在,从密钥的生成到加密系统,甚至密码系统受到攻击的方式。没有随机性,所有加密操作都是可预测的,因此不安全。随机数产生的原理为了尽可能的做到随机,随机数生成器会收集系统环境中各种数据,比如:鼠标的移动,键盘的输入, 终端的连接以及断开,音视频的播放,系统.原创 2021-10-29 11:30:00 · 5806 阅读 · 0 评论 -
如何实现异步 connect
写过网络程序的同学,应该都知道 connect 函数,在 socket 开始读写操作之前,先要进行连接,也即 TCP 的三次握手 , 这个过程就是在 connect 函数中完成的, connect 函数本身是阻塞的,通过设置 socket 的选项及调用 select/poll 函数可以实现异步 connect 的功能socket 默认是阻塞模式,处于阻塞模式时,调用 connect 函数之后, 会一直等待连接结果返回为止,要么成功,要么失败,connect 函数返回 0 时成功,返回 -1 失败在局.原创 2021-10-28 11:30:00 · 559 阅读 · 0 评论 -
Linux上传下载神器 - lrzsz
在开发的过程中,经常遇到 需要在 Linux 和 Windows 之间上传下载文件的情况这时,一般都是使用 FTP 或者 WinSCP 工具进行上传下载, 虽然也能解决问题,但是这些工具需要在本地安装客户端并进行配置之后才能使用这里介绍一款工具,它能秒级安装,安装即用,不需要任何的配置,就能方便快捷的在 Linux 和 Windows 之间传输文件它就是Linux中上传下载的工具 lrzsz,这个工具使用了 XMODEM、YMODEM 和 ZMODEM 文件传输协议来实现文件的上传和下载的,目前主流.原创 2021-10-27 11:30:00 · 468 阅读 · 0 评论 -
如何使用 systemctl 管理服务
systemd是一个服务管理器,目前已经成为Linux发行版的新标准。它使管理服务器变得更加容易。了解并利用组成systemd的工具将有助于我们更好地理解它提供的便利性。systemctl 的由来在 centos7 以前使用 service 来管理服务的,虽然它使用起来比较简单,但是对于每一个服务,都需要我们人为的编写脚本来控制服务的启动、停止、重启等,服务控制得好坏,完全依赖于编写脚本的人,而且有些脚本会很长,需要自己处理的情况比较多比如 /etc/init.d/network是管理网络服务的脚本.原创 2021-10-26 11:30:00 · 1377 阅读 · 0 评论 -
Linux 下 SVN 的安装和配置
SVN 是一个自由开源的版本管理系统,它可以按照时间的顺序去管理文件、目录以及对其进行的修改。于今,它被广泛的用于互联网公司的项目版本管理中工作原理它的工作原理如下图所示它是由一个SVN服务器和许多的SVN客户端组成数据统一存储在SVN服务器上客户端 从服务器检出(checkout)指定路径上的版本文件到本地,修改了之后再提交(commit)到服务器上,当其他的客户端再次检出或更新的时候,就能获取得到之前客户端提交的修改这样,多个客户端就可以互不干扰的工作,实现了多人的协作SVN已经是一个.原创 2021-10-25 11:30:00 · 265 阅读 · 0 评论 -
Linux 下 xargs 命令
xargs 常常被大家忽略的一个命令,对它的一些用法很多人可能不熟悉,其实它是一个功能强大的命令,特别是在结合管道进行批量处理方面语法xargs 语法格式如下 xargs [OPTION]... COMMAND 作用xargs 最重要的作用是以空格或者换行作为分隔符,把标准输入转化成多个命令行参数,在与管道命令结合使用时,就能体现出 xargs 的作用下面以实例来说明[root@ecs-centos-7 tmp]# echo "11 22 33" | xargs mkdir[root@e.原创 2021-10-22 11:30:00 · 2851 阅读 · 0 评论 -
整理常用的 vim 命令
vim 是一款功能强大的文本编辑器,它是Linux下常用的编辑器之一,对于熟练掌握了 vim 的人来说,用它编辑文件,方便又快捷,能极大的提高工作效率vim 功能强大,对应的命令也非常的多,对于初学者来说,看到这么多的命令容易打退堂鼓,想当初,自己刚接触vim的时候,由于不熟悉vim,每一个命令都要上网查阅,真的是举步维艰其实,工作中常用的vim命令也就那么些,只需学习这些常用的命令,勤加练习,假以时日定能熟练的掌握它们,进而就能解决大部分的编辑问题本文结合我自己工作中使用vim的经验,整理了一些常.原创 2021-10-21 11:30:00 · 171 阅读 · 0 评论 -
Linux下 lsof 命令详解
lsof 是 List Open File 的缩写, 它主要用来获取被进程打开文件的信息,我们都知道,在Linux中,一切皆文件,lsof命令可以查看所有已经打开了的文件,比如: 普通文件,目录,特殊的块文件,管道,socket套接字,设备,Unix域套接字等等,同时,它还可以结合 grep 以及 ps 命令进行更多的高级搜索安装lsof 命令默认是没有安装的,而且它的使用需要有root权限或者赋予普通用于sudo权限, 使用以下命令安装yum install -y lsoflsof命令有很多可.原创 2021-10-19 11:46:58 · 1783 阅读 · 0 评论 -
Linux 下date命令的常见用法
在写 shell 脚本的时候会经常需要比较时间,根据比较的结果执行不同的逻辑。date是Linux中日期和时间相关的命令,它主要是把时间以指定的格式展示出来,它也是最常用的命令之一命令和语法 date [OPTION]... [+FORMAT]date 的输出格式比较多,下面列出一些常用的输出格式%m : 当前是一年中第几个月,例如:七月显示 07%d : 当前是一个月中第几天,例如:一个月中第一天显示 01%j :当前是一年中第几天(001到366)%V : 当前是一年中第几个星期.原创 2021-10-13 15:57:21 · 514 阅读 · 0 评论 -
Linux 中如何使用 IP 命令
老版本的 Linux 中都是使用 ifconfig命令检查和配置网络接口,但是该命令目前已经没有维护了,取而代之的是 ip命令ip命令和 ifconfig命令很相似,但是 相比起来,ip命令的功能更强大,它能执行多种 ifconfig命令无法执行的任务本文将介绍 ip命令常用的一些操作显示所有网络接口信息输入 ip addr或者 ip a命令可以显示所有的网络接口信息[root@ecs-centos-7 ~]# ip addr1: lo: <LOOPBACK,UP,LOWER_UP>.原创 2021-05-13 23:27:41 · 327 阅读 · 0 评论 -
Linux下 sudo命令
平常使用Linux的时候,都是用普通用户登录执行命令,但是有些命令需要root权限才能执行,如果切换到root用户去执行,就需要输入root密码,为了系统的安全性,应该尽可能少的直接在终端上输入root密码,那有没有普通用户不需要root密码也能执行root权限命令的方法呢,本文将要要介绍的 sudo 命令就是专门解决这种问题的简介sudo 命令可以提升普通用户的权限,去执行其他用户才有权限执行的命令,并且执行过程中不需要输入其他用户的密码,这个普通用户能执行哪些命令,执行命令时是否需要输入密码等是通.原创 2021-05-12 00:21:45 · 775 阅读 · 0 评论 -
Linux 下 top 命令详解
top命令用于监控Linux上用户进程以及系统资源的使用情况,它是网管工具箱中最实用的工具之一。top命令已经预装到Linux系统中了,它有一定的交互功能,你可以通过它浏览进程列表、关闭进程等操作概述top命令可以输出正在运行中的进程列表,并且每隔几秒钟自动更新列表中各个进程的状态默认情况下,列表是按照CPU的使用率由高到低来排序的,所以可以很轻松的观察到哪个用户的哪个进程占用了最多的系统资源,默认排序列是可以修改的,这个在后面的段落中会说到。我们只需要在终端输入top 并回车,就进入了命令行模式.原创 2020-08-13 12:51:39 · 828 阅读 · 0 评论 -
Linux 下 如何使用 cut 命令
cut命令是从文件行中按照 字节、字符或字段来提取需要的信息,各个命令选项的使用说明如下-b 选项输出文件指定的字节序号的信息,参数可以指定字节序号列表或者指定字节序号范围,tab 键和 backspace 键占用一字节现有用来测试的 a.txt 文件,内容如下:and ver hao12 34567 whatsapphaha yu j@4567字节序号列表下面的例子是输出 a.txt 每行第1,2,3,4 字节处的字符[tt@ecs-centos-7 ~]$ cut.原创 2020-07-28 00:46:36 · 361 阅读 · 0 评论 -
利用 tee 命令调试shell脚本
在编写shell脚本时,调试是个比较麻烦的事,特别是涉及到多层管道命令的时候,会产生多个中间结果,tee命令的作用是从标准输入中读取数据写入标准输出或文件中,利用它可以从管道中读取中间结果并写入本地临时文件中,通过中间结果可以一步一步的定位到脚本的错误实例下面是一个简单的脚本,脚本中 processid 函数的作用是查询指定进程名字的进程ID,在管理linux服务器的过程中,这个是很常见的功能,processid 函数作用是利用多层管道命令查询进程ID,以下是测试脚本源码...原创 2020-07-24 00:09:28 · 297 阅读 · 0 评论