
linux
文章平均质量分 59
Arlingtonroad
这个作者很懒,什么都没留下…
展开
-
free命令详解
free内存详解原创 2023-03-24 15:07:06 · 630 阅读 · 0 评论 -
linux磁盘管理
linux磁盘管理原创 2023-02-06 17:02:11 · 290 阅读 · 0 评论 -
wireshark数据包分析实战_实战, 我用大白鲨让你看见 TCP
wireshark数据包分析实战_实战!我用“大白鲨”让你看见 TCP_weixin_39575758的博客-优快云博客前言“哈?啥是大白鲨?”咳咳,主要是因为网络分析工具 Wireshark 的图标特别像大白鲨顶部的角。不信你看:Wireshark“为什么拖了怎么久才发文?”为了让大家更容易「看得见」 TCP,我搭建不少测试环境,并且数据包抓很多次,花费了不少时间,才抓到比较容易分析的数据包。接下来丢包、乱序、超时重传、快速重传、选择性确认、流量控制等等 TCP 的特性,都能「一览无云」。没错,我把 T转载 2021-12-07 16:21:40 · 347 阅读 · 0 评论 -
IPTables 表、链、规则基础
iptables 防火墙用于管理包过滤和 NAT 规则。IPTables 随所有 Linux 发行版一起提供。了解如何设置和配置 iptables 将帮助您有效地管理 Linux 防火墙。iptables 工具用于管理 Linux 防火墙规则。乍一看,iptables 可能看起来很复杂(甚至令人困惑)。但是,一旦您了解了 iptables 的工作原理及其结构的基础知识,阅读和编写 iptables 防火墙规则就会很容易。本文是正在进行的 iptables 教程系列的一部分。这是该系列的第一篇文章原创 2021-11-29 20:36:04 · 2728 阅读 · 0 评论 -
centos 网卡重启方法
1、centos6的网卡重启方法:service network restartcentos7的网卡重启方法:systemctl restart network2、centos重启网口方法:关闭网卡口:ifdown eth0 或 ifconfig eth0 down启动网卡口:ifup eth0 或 ifconfig eth0 up3、配置网卡ip增加ip:ifcfg eth0 add 192.168.1.251/24删除ip:ifcfg eth0 del 192.168.1.251/24原创 2021-06-29 11:26:30 · 7761 阅读 · 0 评论 -
/etc/passwd,/etc/shadow文件详解,及密码复杂度设置
在linux操作系统中, /etc/passwd文件中的每个用户都有一个对应的记录行,记录着这个用户的一下基本属性。该文件对所有用户可读。 而/etc/shadow文件正如他的名字一样,他是passwd文件的一个影子,/etc/shadow文件中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生。但是/etc/shadow文件只有系统管理员才能够进行修改和查看。 /etc/passwd文件介绍 首先,我们通过命令行cat /etc/pa转载 2021-04-27 10:51:31 · 11622 阅读 · 0 评论 -
vim配置(最简单好用,不包含插件)
set history=1024filetype onsyntax on" 设置配色colorscheme desert" 高亮显示当前行set cursorline" 设置所有Tab和缩进为4个空格set tabstop=4set expandtabset numberset encoding=utf-8"设置文件编码set fileencoding=utf-8" 设置终端编码set termencoding=utf-8...原创 2021-04-16 14:21:47 · 303 阅读 · 0 评论 -
CentOS安装NodeJS
CentOS安装NodeJS在CentOS下安装NodeJS有以下几种方法。使用的CentOS版本为7.2。CentOS其他版本的NodeJS安装大同小异,也可以参看本文的方法。安装方法1——直接部署1.首先安装wgetyum install -y wget如果已经安装了可以跳过该步2.下载nodejs最新的bin包可以在下载页面https://nodejs.org/en/download/中找到下载地址。然后执行指令wget https://nodejs.org/dist/v9.转载 2021-03-19 17:04:56 · 3536 阅读 · 0 评论 -
惊群效应
很棒的参考资料:https://zhuanlan.zhihu.com/p/51251700 https://blog.youkuaiyun.com/lyztyycode/article/details/78648798 https://blog.youkuaiyun.com/second60/article/details/81252106 https://blog.youkuaiyun.com/russell_tao/article/details/7204260 https://zhuanlan.zhihu.com/p/428原创 2020-07-19 20:57:03 · 158 阅读 · 0 评论 -
火焰图生成,及含义讲解
perf是由Linux Kernel提供的动态追踪调试工具,我们可以使用perf对运行时的程序进行分析相比单纯依赖log,core进行离线排查,perf是一种在线的调试手段,可以在线上随时进行采样并进行分析,无需预先埋点,所带来的只是采样时间段内的一些性能损耗,这种特性使perf很适合于排查未知的问题perf生成的运行时栈可以通过FlameGraph生成交互式的图表,可以更方便地分析热点安装perfsudo apt-get install linux-tools-common ...转载 2020-07-14 22:34:01 · 958 阅读 · 0 评论 -
top命令用法详解
按大写的 F 或 O 键,然后按 a-z 可以将进程按照相应的列进行排序。 大写的 R 键可以将当前的排序倒转。 通过 f 键可以选择显示的内容。 按 f 键之后会显示列的列表,按 a-z 即可显示或隐藏对应的列,最后按回车键确定。 按 o 键可以改变列的显示顺序。 按小写的 a-z 可以将相应的列向右移动,而大写的 A-Z 可以将相应的列向左移动。最后按回车键确定。 ...原创 2020-07-14 22:11:41 · 433 阅读 · 0 评论 -
free指令各字段详解
free -m,以MB为单位输出内存使用情况。如下图: 第一行 Mem :表示物理内存的缓存统计total:表示物理内存总量used:表示总计分配给缓存(包含buffers与cach)使用的数量,但其中可能有部分缓存并未实际使用。free:未被分配的内存shared:多个进程共享的内存总额bufers:系统已分配但未被使用的buffers数量cached:系统已分配但未被使用的cache数量 buffers是指作为buffer cac...原创 2020-07-14 21:53:43 · 2169 阅读 · 0 评论 -
进程虚拟地址空间的分布详解
进程地址空间中分为各个不同的部分:内核空间 由于系统内核中有些代码、数据是所有进程所公用的,所以所有进程的进程地址空间中有一个专门的区域存放公共的内核代码和数据,该区域内的内容相同,且该虚拟内存映射到同一个物理内存区域。 进程在执行的时候,需要维护进程相关的数据结构,比如页表、task和mm结构、内核栈等,这些数据结构是进程独立的,各个进程之间可能不同。这些数据结构在进程虚拟地址空间中一个专门的区域中。 用户空间 用户栈 进程在进行函数调用的时候,需要使用栈,于是...转载 2020-07-06 00:53:25 · 2653 阅读 · 0 评论 -
进程间通信(IPC)详解及示例
进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。 IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个进程IPC。 以Linux中的C语言编程为例。一、管道 管道,通常指无名管道,是 UNIX 系统IPC最古老的形式。1、特点: 它是半双工的(即数据只能在...原创 2020-07-05 23:40:58 · 1865 阅读 · 1 评论 -
linux IO模式及select、epoll、select详解(附示例)
1 概念说明用户空间与内核空间 现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方)。操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限。为了保证用户进程不能直接操作内核(kernel),保证内核的安全,操心系统将虚拟空间划分为两部分,一部分为内核空间,一部分为用户空间。针对linux操作系统而言,将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,...原创 2020-06-27 01:51:11 · 507 阅读 · 0 评论 -
进程控制块PCB表
1. 进程和虚拟内存简介 程序本来是存储在磁盘的,当我们需要执行它的时候,先把它读取到内存当中,再然后放入到寄存器中,最后让cpu执行程序,这个时候程序就变成了一个进程.每个进程直接肯定都拥有自己独有的一份管理自己的单独的任务结果 .而这个任务结果就是我们今天的PCB.每个进程运行的时候都会拿到4G的虚拟内存.其中3G是交给用户的,然后剩下的1G内存存储内核的东西了.我们的PCB其实就存储在1G的内核系统空间里面.他其实就是一个task_struct结构体.里面存储这进程的所有信息。...原创 2020-06-27 00:51:52 · 1783 阅读 · 0 评论 -
虚拟内存和物理内存的区别和联系
1. 虚拟内存的发展由来 在计算机的远古时代其实还没有虚拟内存机制,程序指令所访问的内存地址就是物理内存地址. 也就是不得不把程序的全部装进内存当中,然后运行 。 首先我们知道的物理内存其实就是插在计算机主板内存槽上的实际物理内存,CPU可以直接进行寻址.物理内存的容量是固定的,但是寻址空间却取决于cpu地址线条数,如32位机,则寻址空间为2^32 = 4G.所以最大支持4G的寻址空间.即使我们插入了16G的内存条,我们也只是拥有4G内存.我们其实发现无论好多事物只要是...原创 2020-06-27 00:47:27 · 2037 阅读 · 0 评论 -
linux 超线程及其原理,以及如何查看是否开启了超线程
我们知道intel的cpu拥有超线程技术,可以为一个逻辑核心开启两个处理线程。通过查看物理CPU数,每个CPU的逻辑核数,CPU线程数可以得知是否开启了超线程。物理CPU数[root@localhost daxiang]# cat /proc/cpuinfo | grep "physical id" | sort | uniqphysical id : 0physical id : 1可以看到当前机器拥有2颗物理CPU单个CPU的逻辑核心数量[root@local..转载 2020-06-01 10:50:30 · 5792 阅读 · 0 评论 -
Mac包管理工具brew
brew 是 Mac 下的一个包管理工具,类似于 centos 下的 yum,可以很方便地进行安装/卸载/更新各种软件包,例如:nodejs, elasticsearch, kibana, mysql, mongodb 等等,可以用来快速搭建各种本地环境,程序员必备工具,brew将这些工具统统安装到了 /usr/local/Cellar 目录中,并在 /usr/local/bin 中创建符号链接。...转载 2020-03-28 20:31:29 · 308 阅读 · 0 评论 -
shell脚本命令行参数获取--getopts
1. getopts命令用法及说明调用格式: getopts option_string variable 参数说明: option_string,选项名称 variable,选项的值 详细说明 选项之间使用冒号:分隔,也可以直接连接, : 表示选项后面有传值。 当getopts命令发现冒号后,会从命令行该选项后读取该值。如该值存在,将保存在特殊的变量OPTARG中。...原创 2020-02-17 16:33:11 · 449 阅读 · 0 评论 -
Linux系统安装配置proftp服务器,及ftp命令简单使用
本文的目的:配置一个稳定、功能要求不高的ftp服务器。新增一个用户,该用户限制在默认目录下,有可读可写权限。1. 安装及配置过程proftpd的下载地址:www.proftpd.org1.1 解压与安装proftpdtar xvzf proftpd-1.2.9.tar.gz cd proftpd-1.2.9 ./configure --prefix=/usr/local/...原创 2020-01-06 23:36:04 · 1445 阅读 · 0 评论 -
xargs命令详解
我们知道,linux命令可以从以下几个地方读取要处理的内容,一个是通过命令行参数,一个是标准输入,一个是文件。 例如,echo 'main' | cat test.cpp 这种情况cat会输出test.cpp的内容,而不是'main'字符串,如果test.cpp不存在则cat命令报告该文件不存在,并不会尝试从标准输入中读取。echo 'main' | 会通过管道将...原创 2019-01-16 21:39:50 · 4230 阅读 · 2 评论 -
find命令mtime,ctime,atime详解
1. 查找时间说明find ./ -name “*data*” -mtime +1 当前目录下文件名包含data,而且修改时间在48小时以上的find ./ -name “*date*” -mtime +2 当前目录下文件名包含data,而且修改时间在72小时以上的find ./name “*data*” -mtime -1 当前目录下文件名包含data,而且修改时间在24小时以内的fi...转载 2019-06-24 10:28:49 · 6436 阅读 · 1 评论 -
Linux 执行 df 和 du 查看磁盘时占用结果不一致的解决办法
1. 问题现象执行 df -h 查看机器各磁盘的使用情况,可以看到 根目录/已经利用90%以上。cd 到根目录执行 du -sh *,发现各目录文件占用磁盘空间的大小总和远远不到1.5T2. 原因分析 du 命令对统计文件逐个进行 fstat 系统调用,获取文件大小。它的数据是基于文件获取,可以跨多个分区操作。 df 命令使用 statfs 系统调...原创 2019-07-02 21:11:18 · 892 阅读 · 0 评论 -
使用lsof处理文件恢复、句柄以及空间释放问题
曾经在生产上遇到过一个df 和 du出现的结果不一致的问题,为了排查到底是哪个进程占用了文件句柄,导致空间未释放,首先在linux上面,一切皆文件,这个问题可以使用lsof这个BT的命令来处理(这个哈还可以来查询文件句柄泄露问题,应用程序的进程未关闭文件句柄)1.文件句柄以及空间释放问题注:在生产环境常见的问题就是,有维护人员或者开发同事使用tail命令实时查看日志。然后...原创 2019-07-02 21:40:46 · 636 阅读 · 0 评论 -
Lsof命令使用
1. lsof简介 lsof是遵从Unix哲学的典范,它只做一件事情,并且做的相当完美。以列出某个进程打开的所有文件信息。打开的文件可能是普通的文件,目录,NFS文件,块文件,字符文件,共享库,常规管道,符号链接,Socket流,网络Socket,UNIX域Socket,以及其它。2. lsof语法常用参数解释:lsof filename 显示打开指定文件的所有进程...原创 2019-07-02 22:17:54 · 2362 阅读 · 0 评论 -
centos6.3 samba服务搭建与配置
samba是一个实现不同操作系统之间文件共享和打印机共享的一种SMB协议的免费软件。1. samba软件结构:/etc/samba/smb.conf #samba服务的主要配置文件/etc/samba/lmhosts #samba服务的域名设定,主要设置IP地址对应的域名,类似linux系统的/etc/hosts/etc/samb...转载 2019-07-23 17:18:36 · 240 阅读 · 0 评论 -
wget使用详解(待更新)
1. 指定代理wget -e “http_proxy=127.0.0.1:12345″ http://www.baidu.com原创 2019-07-24 13:16:59 · 228 阅读 · 0 评论 -
readlink用法
readlink是linux系统中一个常用工具,主要用来找出符号链接所指向的位置。在Ubuntu系统中执行以下命令:readlink--help 可以查看readlink命令的帮助信息,或者执行manreadlink 查看帮助手册。从帮助信息中可以得到readlink命令的用途描述:输出符号链接值或者权威文件名英文为:print value of a...转载 2019-07-17 21:09:37 · 4849 阅读 · 0 评论 -
linux常见重要命令
1. scp 拷贝的时候跳过认证scp -o 'StrictHostKeyChecking no' aaa.sh xxx@1.2.3.4:~/2. 文件编码转换iconv -f UTF-8 -t GBK out.csv -o win_out.csv原创 2019-08-02 11:28:24 · 215 阅读 · 0 评论 -
软链接和硬链接的作用和区别
1. 建立软链接和硬链接的语法 源文件:即你要对谁建立链接 目标文件:新增的软连接名或硬链接名软链接 ln -s 源文件 目标文件 硬链接 ln 源文件 目标文件 2. 什么是软链接和硬链接软链接可以理解成快捷方式。它和windows下的快捷方式的作用是一样的。 硬链接等于cp -p 加 同步更新。 为了方便说明,我在根分区(/)下建立te...转载 2019-08-24 20:20:58 · 289 阅读 · 0 评论 -
linux 下nc命令(NetCat)使用详解
1. nc工具简介 nc(NetCat)在网络工具中有“瑞士军刀”的美誉,其有Windows和Linux的版本。因为它短小精悍(1.84版本也不过25k,旧版本或缩减版甚至更小)、功能实用,被设计为一个简单、可靠的网络工具,可通过TCP或UDP协议传输读写数据。同时,它还是一个网络应用Debug分析器,因为它可以根据需要创建各种不同类型的网络连接。2. 功能及使用详解 ...原创 2019-08-25 23:29:56 · 2949 阅读 · 0 评论 -
Linux tee命令详解
在执行Linux命令时,我们可以把输出重定向到文件中,比如 ls >a.txt,这时我们就不能看到输出了。如果我们既想把输出保存到文件中,又想在屏幕上看到输出内容,就可以使用tee命令了。 tee命令读取标准输入,把这些内容同时输出到标准输出和(多个)文件中,tee命令可以重定向标准输出到多个文件。要注意的是:在使用管道线时,前一个命令的标准错误输出不会被t...原创 2019-09-24 23:38:09 · 1398 阅读 · 0 评论 -
深入理解linux hostname
1. 结论 /etc/sysconfig/network 是hostname的配置文件,hostname的值跟该配置文件中的HOSTNAME有一定的关联关系,但是没有必然关系,hostname的值来自内核参数/proc/sys/kernel/hostname,如果通过命令sysctl kernel.hostname=Test修改了内核参数,那么hostname就变为Test。...原创 2019-09-25 00:22:25 · 513 阅读 · 0 评论 -
curl 命令详解
curl命令是一个功能强大的网络工具,它能够通过http、ftp等方式下载文件,也能够上传文件,同时支持HTTPS等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。其实curl远不止前面所说的那些功能,大家可以通过man curl阅读手册页获取更多的信息。类似的工具还有wget。curl命令使用了libcurl...原创 2018-12-17 00:30:22 · 2633 阅读 · 0 评论