针对文件的操作指令记录
清除文件内容递归清空指定路径下所有文件的内容,但不删除文件本身1234# truncate -s 0 表示将文件大小设置为 0# {} + 表示对所有找到的文件执行这个操作find /path/to/directory -type f -exec truncate -s 0 {} +
CentOS 7 升级 Glibc 2.28
检查 Glibc 版本1ldd --version 安装 glibc-2.28 编译时间可能会很长,最好找个空闲时间来升级。 12345678910111213# 下载并解压 glibc-2.28yum install -y bisoncd /usr/src/wget https://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gztar -xzvf glibc-2.28.tar.gzcd glibc-2.28# 创建临时文件mkdir build && cd build../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin# 这一步时,如果发生如下错误,则需要进行 gcc & make 的升级,否则进行最后一步【继续编译 glibc】# These critical programs are missing or too old: make comp...
nslookup 和 dig 指令
dig 和 nslookup 的安装Ubuntu、Debian: 1# apt install -y dnsutils Fedora / CentOS: 1# yum install -y bind-utils nslookup 命令详解nslookup 命令用于查询 DNS 的记录,查看域名解析是否正常,在网络故障的时候用来诊断网络问题。nslookup 的用法相对来说还是蛮简单的,主要是下面的几个用法。 直接查询查询一个域名的 A 记录: 1nslookup domain [dns-server] 如果没指定 dns-server,用系统默认的 DNS 服务器。 查询其他记录直接查询返回的是 A 记录,我们可以指定参数,查询其他记录,比如 AAAA、MX 等: 1234nslookup -qt=type domain [dns-server]nslookup -q=type domain [dns-server]nslookup -type=type domain [dns-server]nslookup -querytype=type domain [d...
因 inodes 占用资源过多导致 no space left on device 的问题
摘自:https://blog.csdn.net/weixin_34383474/article/details/121493708 问题现象使用 GitLab Runner 的打包机器执行命令打包 Docker 镜像时报 "no space left on device" 的错误,无法正确打包。 问题排查步骤登录打包机查看机器剩余磁盘容量,得到结果物理机磁盘仍有剩余空间: 1df -h 通过复制文件证明磁盘空间确有剩余,但是在物理机上直接执行 Docker 命令依然存在 no space left on device 空间不足的报错。 通过搜索找到原因:服务机 inodes 使用过高,执行指令得到结果 inodes 占用 100%,原因为 Docker 打包过程中小文件生成过多导致 inodes 占用过高。 inode 是什么 inode 是文件系统中的一个数据结构,用于存储文件或目录的元数据信息,如文件大小、所属用户、所属组、权限、创建时间、修改时间等等。每个 inode 都有一个唯一的编号,称为 inode 号。 当文件或目录被创建时,会分配一个 in...
利用 split 分割文件或者二进制文件
前言当需要将较大的数据上传到服务器,或从服务器下载较大的日志文件时,往往会因为网络或其它原因而导致传输中断而不得不重新传输。这种情况下,可以先将大文件分割成小文件后分批传输,传完后再合并文件。 分割文件文件分割可以使用 split 命令,该命令既支持文本文件分割,又支持二进制文件分割;而合并文件可以使用 cat 命令。 文本文件分割分割文本文件时,可以按文件大小分割,也可以按文本行数分割。 按文件大小分割 按文件大小分割文件时,需要以 -C 参数指定分割后的文件大小: 1split -C 100M large_file.txt stxt 如上所示,我们将大文件 large_file.txt 按 100M 大小进行分割,并指定了分割后文件前缀 stxt;当不指定前缀时,split 会自动对分割文件进行命名,一般会以 x 开头。 按行分割 文本文件还可以以行为单位进行分割,以行数进行分割时会忽略文件大小,并以 -l 参数指定分割后文件的行数: 1split -l 1000 large_file.txt stxt 二进制文件分割二进制文件分割类似于按大小分割文本文件,不同的是以 -...
dstat 状态监控工具
通用的系统资源统计工具。 说明dstat 命令是一个用来替换 vmstat、iostat、netstat、nfsstat 和 ifstat 这些命令的工具,是一个全能系统信息统计工具。与 sysstat 相比,dstat 拥有一个彩色的界面,在手动观察性能状况时,数据比较显眼容易观察;而且 dstat 支持即时刷新,譬如输入 dstat 3 即每三秒收集一次,但最新的数据都会每秒刷新显示。和 sysstat 相同的是,dstat 也可以收集指定的性能资源,譬如 dstat -c 即显示 CPU 的使用情况。 下载安装方法一1yum install -y dstat 方法二官网下载地址:http://dag.wieers.com/rpm/packages/dstat 12wget http://dag.wieers.com/rpm/packages/dstat/dstat-0.6.7-1.rh7.rf.noarch.rpmrpm -ivh dstat-0.6.7-1.rh7.rf.noarch.rpm 使用说明安装完后就可以使用了,dstat 非常强大,可以实时的监控 CPU、...
使用 iftop 分析带宽
背景:Linux 系统下如果服务器带宽跑满了,查看跟哪个 IP 通信占用带宽比较多,可以通过 iftop 命令进行查询。 安装CentOS 系统运行:yum install iftop -y Debian 系统运行:apt-get install iftop -y 使用 ifconfig |grep eth 查看网卡。 使用安装好后在服务器执行 iftop -i eth1 就可以查看服务器公网网卡带宽使用情况(如果只执行 iftop 默认检测第一块网卡使用情况,这样查的会是内网网卡 eth0)。 12# -P 参数会将请求服务的端口显示出来,也就是说是通过服务器哪个端口建立的连接,看内网流量执行 iftop -i eth0 -P 命令iftop -i eth0 -P iftop 的相关参数 1234567891011-i :设定监测的网卡,如:# iftop -i eth1-B : 以 bytes 为单位显示流量,默认是 bits,如:# iftop –B-n :使 host 信息默认直接都显示 IP,如:# iftop –n-N :使端口信息默认直接都显示端口号,如: ...
wget 命令用法
摘自:https://www.jianshu.com/p/59bb131bc2ab wget 是在 Linux 下开发的开放源代码的软件,作者是 Hrvoje Niksic,后来被移植到包括 Windows 在内的各个平台上。wget 是一个下载文件的工具,它用在命令行下。对于 Linux 用户是必不可少的工具,尤其对于网络管理员,经常要下载一些软件或从远程服务器恢复备份到本地服务器。 wget 工具体积小但功能完善,它支持断点下载功能,同时支持 FTP 和 HTTP下载方式,支持代理服务器和设置起来方便简单。 它有以下功能和特点: (1)支持断点下传功能;这一点,也是网络蚂蚁和FlashGet当年最大的卖点,现在,Wget也可以使用此功能,那些网络不是太好的用户可以放心了; (2)同时支持FTP和HTTP下载方式;尽管现在大部分软件可以使用HTTP方式下载,但是,有些时候,仍然需要使用FTP方式下载软件; (3)支持代理服务器;对安全强度很高的系统而言,一般不会将自己的系统直接暴露在互联网上,所以,支持代理是下载软件必须有的功能; (4)设置方便简单;可能,习惯图形界面的用户...
iptables 学习
清理防火墙123iptables -Fiptables -Xiptables -Z iptables 命令选项输入顺序1iptables -t 表名 <-A/I/D/R> 规则链名 [规则号] <-i/o 网卡名> -p 协议名 <-s 源IP/源子网> --sport 源端口 <-d 目标IP/目标子网> --dport 目标端口 -j 动作 表名包括 raw:高级功能,如网址过滤 mangle:数据包修改(QoS),用于实现服务质量 nat:地址转换,用于网关路由器 filter:包过滤,用于防火墙规则 规则链名包括 INPUT 链:处理输入数据包 OUTPUT 链:处理输出数据包 FORWARD 链:处理转发数据包 PREROUTING 链:用于目标地址转换(DNAT),路由前 POSTROUTING 链:用于源地址转换(SNAT),路由后 动作包括 ACCEPT:接收数据包 DROP:丢弃数据包 REDIRECT:重定向、映射、透明代理 SNAT:源地址转换 DNAT:目标地址转换 MASQUERADE:IP 伪装(...
记录 CentOS 7 内核版本升级过程(3.10 -> 5.4)
关于 Linux 内核Linux 内核分两种:官方内核(通常是内核开发人员用)和各大 Linux 发行版内核(一般用户常用)。 官方内核版本说明在使用 Docker 时,发现其对 Linux 内核版本的最低要求是 3.10(这也刚好是 CentOS 7.2 的内核版本),但是在这个版本上有部分功能无法实现。为了使用最新版本的内核,只好在安装 CentOS 7 后对内核进行升级。 当然,内核也不能选最新的,防止有尚未发现的 BUG。而且为了减少以后停止维护带来的麻烦,最好安装长期支持版本。各个版本的支持时间在这个页面查看。每个版本可能有四种类型,概述如下: Prepatch:Prepatch 或 "RC" 内核是主要的内核预发行版本,主要针对内核开发人员和 Linux 爱好者。必须从源代码进行编译,并且通常包含必须在可以放入稳定版本之前进行测试的新功能。Prepatch 内核由 Linus Torvalds 维护和发布。 Mainline:Mainline 主线树由 Linus Torvalds 维护。这个版本的内核会引入所有新功能。新的 Mainline 内...
