linux
文章平均质量分 62
Dongguabai
这个作者很懒,什么都没留下…
展开
-
shell脚本中 set -ex
刚刚学会了一个很实用的shell命令set -ex,在这里分享一下。set -e先说说set -e,这个参数的含义是,当命令发生错误的时候,停止脚本的执行。通常来说,我们会习惯于使用&&来实现这样的功能,比如:echo 1 && rm non-existent-file && echo 2但是,写成一行呢,可读性有点差,分成多行的话,也得注意换行符和&&号,我就有过好几次忘了加这俩东西,还是挺麻烦的是吧。更麻烦的是,转载 2022-04-07 11:07:29 · 413 阅读 · 0 评论 -
linux grep -a命令,linux grep用法
1.-A NUM,--after-context=NUM除了列出符合行之外,并且列出后NUM行。ex:$grep-A 1panda file(从file中搜寻有panda样式的行,并显示该行的后1行)2.-a或--textgrep原本是搜寻文字文件,若拿二进制的档案作为搜寻的目标,则会显示如下的讯息:Binary file 二进制文件名 matches然后结束。若加上-a参数则可将二进制档案视为文本文件搜寻,相当于--binary-files=text这个...转载 2021-11-24 21:29:06 · 1117 阅读 · 0 评论 -
Linux中的Page cache和Buffer cache详解
1、内存情况 在讲解Linux内存管理时已经提到,当你在Linux下频繁存取文件后,即使系统上没有运行许多程序,也会占用大量的物理内存。这是因为当你读写文件的时候,Linux内核为了提高读写的性能和速度,会将文件在内存中进行缓存,这部分内存就是Cache Memory(缓存内存)。即使你的程序运行结束后,Cache Memory 也不会自动释放,这就会导致你的Linux系统在频繁读写文件后,可用物理内存会很少。可用 free 命令查看cache的大小:1.1 第一行Men:M...转载 2021-06-23 00:29:07 · 585 阅读 · 0 评论 -
linux nc命令使用详解
linux nc命令使用详解 功能说明:功能强大的网络工具语 法:nc [-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>][-o<输出文件>][-p<通信端口>][-s<来源位址>][-v...][-w<超时秒数>][主机名称][通信端口...]参 数: -g<网关> 设置路由器跃程通信网关,最丢哦可设置8个。 -G<指向器数目> 设置来源路由指向.转载 2021-05-25 08:52:07 · 359 阅读 · 0 评论 -
Linux strace 命令
简介strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。输出参数含义root@ubuntu:/usr# strace cat /dev/null execve("/bin/cat", ["cat", "/dev/null"], [/* 2转载 2021-04-09 13:07:46 · 132 阅读 · 0 评论 -
linux kill -9 杀不掉的进程
kill -9 发送SIGKILL信号给进程,将其终止,但对于以下两种情况不适用1.该进程是僵尸进程(STAT z),此时进程已经释放所有的资源,但是没有被父进程释放。僵尸进程要等到父进程结束,或者重启系统才可以被释放。2.进程处于“核心态”,并且在等待不可获得的资源,处于“核心态 ”的资源默认忽略所有信号。只能重启系统。kill 只能杀死处于用户状态的进程。下面是一个自测试例子:#include <stdio.h>#include <stdlib.h>#in转载 2021-03-24 10:36:36 · 804 阅读 · 0 评论 -
Linux系统中的Page cache和Buffer cache
Free命令显示内存首先,我们来了解下内存的使用情况:Mem:表示物理内存统计total:表示物理内存总量(total = used + free)used:表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用。free:未被分配的内存。shared:共享内存。buffers:系统分配但未被使用的buffers 数量。cached:系统分配但未被使用的cache 数量。-/+ buffers/cache:表示物理内存.转载 2021-03-08 20:28:08 · 288 阅读 · 0 评论 -
Centos 7 查看磁盘io ,找出占用io读写很高的进程
1,先用iostat查看磁盘io 是否读写负载很高用iostat -x 1 10如果 iostat 没有,要 yum install sysstat安装这个包,第一眼看下图红色圈圈的那个如果%util接近100%,表明I/O请求太多,I/O系统已经满负荷,磁盘可能存在瓶颈,一般%util大于70%,I/O压力就比较大,读取速度有较多的wait,然后再看其他的参数,rrqm/s:每秒进行merge的读操作数目。即delta(rmerge)/swrqm/s:每秒进行merge的写操作数目。即.转载 2021-03-05 11:39:13 · 730 阅读 · 0 评论 -
Linux下查看某一进程所占用内存的方法
Linux下查看某一个进程所占用的内存,首先可以通过ps命令找到进程id,比如ps-ef |grepkafka可以看到kafka这个程序的进程id可以看到是2913,现在可以使用如下命令查看内存:top -p 2913这样可以动态实时的看到CPU和内存的占用率,然后按q键回到命令行 也可直接使用ps命令查看:ps-aux |grepkafka第一个标注的地方是CPU和内存占用率,后面的943100是物理内存使用量,单位是k,此时kafka大约占用9...转载 2021-02-25 13:43:51 · 1556 阅读 · 0 评论 -
nohup: ignoring input and appending output to ‘nohup.out’
在执行linux命令的时候出现了下面错误:nohup: ignoring input and appending output to ‘nohup.out’或者:nohup: failed to run command `xxx.sh’: Permission denied一般我们自己写的脚本,想利用nohup命令让脚本程序自己运行,但是nohup他必然会产生日志文件,所以这需要我们将日志文件写到一个文件里面去,默认是写入到nohup.out中,但是有时候会出现上面的问题。错误原因:文件没转载 2021-02-19 00:42:25 · 3128 阅读 · 0 评论 -
CentOS 7 命令lsb_release: command not found解决方案
昨天安装了CentOS7,在使用lsb_release -a命令查询linux系统版本的时候,发现lsb_release这个没装,提示错误是:[root@localhost Desktop]# lsb_release -abash: lsb_release: command not found...这里,分享一下查询linux系统版本提示bash:lsb_release:command not found错误解决办法.1.确认lsb_release是否安装[root@localho.转载 2020-10-13 15:58:38 · 729 阅读 · 0 评论 -
自编译内核 invalid signature 问题解决
自编译内核 invalid signature 问题解决使用自己编译的内核出现如下问题:error: /vmlinuz-3.10.0 has invalid signatureerror: you need to load the kernel first按 F1 进入 BIOS,关闭 Secure BootBIOS+-> Security +-> Secure Boot [Disabled]ref:vmlinuz-4.18.12-041812-gene转载 2020-08-10 21:21:12 · 1468 阅读 · 0 评论 -
Linux C 编程基础之信号机制(一)
相关文章从 Java 程序优雅停机到 Linux 信号机制初窥在之前的一篇文章中简单分析了 Java 程序和 Linux 信号机制的处理。其中提到了 Linux 对信号的处理,但是感觉对这部分的理解还是不行,经过重新分析学习后,在这里进行记录。基本前提什么是信号首先看,什么是信号:信号(signal)是一种软件中断,它提供了一种处理异步事件的方法,也是进程间唯一的一步通信方式。这个是《Linux C 编程实战》的一段描述,要注意的就是不能直接说信号就是一种中断,只能说信号的响应..原创 2020-05-31 15:43:10 · 326 阅读 · 0 评论 -
JVM安全退出(如何优雅的关闭java服务)
上线!重启!你还在为丢失任务而烦恼么?看这里看这里,从此不再丢任务,JVM可以安全退出的在交易流程中,为了提升服务的性能,我们做了一些异步化的优化,比如更新用户最近使用的收货地址、提单完成后通过MQ去发送各种通知类消息、清理用户的购物车等等这些操作,异步化加快了应用的响应速度同时也带来一个隐患,如何保障异步操作的执行?这个场景主要发生在应用重启时,对于通过线程或线程池进行的异步化,JVM重启时,后台执行的异步操作可能尚未完成。这时,需要通过JVM安全关闭来保证异步操作进行完成后,JVM再执行关闭。更广转载 2020-05-24 02:02:19 · 6769 阅读 · 1 评论 -
从 Java 程序优雅停机到 Linux 信号机制初窥
前不久,公司内部使用的一个 RPC 框架支持了优雅退出。优雅退出是很多框架非常重要的特征,在 Java 中是使用 Runtime.addShutdownHook 方法去注册关闭的钩子(Runtime 类代表了当前 JVM 进程的运行环境)。The Java virtual machine shuts down in response to two kinds of events:The program exits normally, when the last non-daemon thread原创 2020-05-24 01:57:06 · 856 阅读 · 0 评论 -
Linux 中 dig 命令返回结果解释
dig baidu.com 返回下面说明各项意义:; <<>> DiG 9.3.6-P1-RedHat-9.3.6-20.P1.el5_8.6 <<>> baidu.com;; global options: printcmddig程序的版本号,和要查询的域名Dig的部分输出告诉我们一些有关于它的版本信息(version 9.2.3)和全局的设置选项,如果+nocmd在命令行下是第一个参数的话,那么这部分输出可以通过加+nocmd的方式..转载 2020-05-23 00:53:05 · 1152 阅读 · 0 评论 -
什么是根文件系统(rootfs=Root Fils System)
Linux系统中的根文件系统,Root FileSystem,简称为rootfs;关于rootfs,之前一直很迷惑,不知道所要表达的真正的含义;即便是通过buildroot自己建立了相关的rootfs之后,还是没能很明白的理解,到底rootfs是啥。现在,突然,有那么一点明白了。rootfs,其实就是,针对特定的操作系统的架构,一种实现的形式;具体表现为,特定的文件夹,文件夹之...转载 2020-02-22 18:57:44 · 2024 阅读 · 0 评论 -
-bash: ifconfig: command not found
出现这个问题的原因是新版本的Debian 默认不带 ifconfig,官方推荐使用ip命令查看ip:zhang@debian:~$ ip addr1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1 link/loopback 00:00:00:0...转载 2020-02-21 23:22:28 · 286 阅读 · 0 评论 -
桥接模式和 NAT 模式差别
1. 虚拟机可以与宿主机访问,也可以上网(桥接)2.虚拟机不能与宿主机通信,把宿主机单做交换机。但能上网(NAT)3.虚拟机不能上网,能与宿主机通信。(host noly)4.只能虚拟机之间通信bridged networking(桥接模式) 在这样的模式下。VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它能够訪问网内不论什么一台机器。在桥接模式下。你...转载 2020-02-21 22:44:02 · 654 阅读 · 0 评论 -
关于CPU的User、Nice、System、Wait、Idle各个参数的解释
使用Ganglia监控整个Hadoop集群,看到Ganglia采集的各种指标:CPU各个具体的指标含义解释如下:①CPU(监测到的master主机上的CPU使用情况)从图中看出,一共有五个关于CPU的指标。分别如下:ⓐ UserUser表示:CPU一共花了多少比例的时间运行在用户态空间或者说是用户进程(running user space processes)。典型的用户态空间...转载 2020-02-18 21:53:04 · 1364 阅读 · 0 评论 -
alias 整合多个命令
根据网上资料爬坑整理:alias java8='java8(){ export JAVA_HOME=$JAVA_8_HOME;source ~/.bash_profile;};java8'java8 是我自己定义的命令,后面多个命令用 ; 分割(有资料说 ; 是执行失败了也可以继续执行,使用 && 是必须要执行成功了才能继续执行,具体没试过);要注意 { 后面要有空格。...原创 2019-04-07 22:02:49 · 5331 阅读 · 0 评论 -
CentOS下date命令 - 显示和设置系统日期与时间
原文地址:https://www.cnblogs.com/wych/p/4180382.html显示系统日期要显示系统日期,只要输入:$ dateThu Dec 5 22:55:41 WIB 2013格式化显示日期日期有很多格式。如果你不喜欢默认的格式,你可以换一种格式。你可能会想"为什么我需要改变格式? 默认的输出对我足够了。"是的,你说的对,但是当你在编程时,默认输...转载 2018-09-21 17:31:38 · 7174 阅读 · 1 评论 -
linux下批量修改文件名
背景:工作中经常遇到批量添加或者删除文件后缀的情况,用过很多方式,发现mv配合for循环,简单实用;如下,文件后边加个‘.txt’只需一行代码,当前目录下输入:(注意";"号)for i in 3_*; do mv $i $i".txt"; done...转载 2019-09-21 12:53:14 · 226 阅读 · 0 评论 -
Linux下查看、修改Jar/Zip包中的文件
安装VIM; vim xxx.jar; /searchfile; 回车打开searchfile; 编辑、保存、退出。转载 2019-08-09 10:44:32 · 1348 阅读 · 0 评论 -
Centos 7安装MySQL 5.7
转自:https://javaweb.io/post/3安装方式为,使用官方的rpm包安装下载 官方的仓库地址:https://repo.mysql.com/ 本次安装使用的版rpm包:https://repo.mysql.com/mysql57-community-release-el7-11.noarch.rpm wgert https://repo.mysql.com/m...转载 2018-11-05 13:38:42 · 146 阅读 · 0 评论 -
PuTTY中文乱码和显示行数修改
原创 2018-10-31 11:37:42 · 909 阅读 · 0 评论 -
VMware虚拟机在Linux执行ifconfig eth0没有IP
今天电脑死机,然后重新进入虚拟机后就这样了:eth0:网络接口link encap : 网络类型HWaddr : 网卡物理地址Inet addr :(internet address) IP地址Bcast:广播地址Mask:子网掩码UP:正在使用的网络接口RX packets,TX packets : 接收和传输的数据包个数RX byte,TX byte : 表示接收和传输...原创 2018-09-29 16:22:32 · 1229 阅读 · 0 评论 -
CentOS更改root用户密码
passwd root原创 2018-10-13 13:23:09 · 415 阅读 · 0 评论 -
CRT还不错的配色方案
原创 2018-10-04 09:26:16 · 472 阅读 · 0 评论 -
Linux性能分析——上下文切换
原文地址:https://www.cnblogs.com/pheye/p/4830058.html一、从一个问题说起相信很多人在玩手机还是PC时,都曾碰到过这样一种情况,安装的软件多了系统性能就变慢了,但是去查看CPU利用率一直都低于10%,内存也很充足。我在近期的开发工作中就碰到了类似的情况,不同的是,系统此时只有一个测试程序和几个睡眠的后台进程,说明是系统,特别是驱动部分可能出现问题导...转载 2018-09-05 10:31:30 · 1133 阅读 · 0 评论 -
CPU上下文切换的次数和时间(context switch)
原文地址:http://iamzhongyong.iteye.com/blog/1895728 什么是CPU上下文切换? 现在linux是大多基于抢占式,CPU给每个任务一定的服务时间,当时间片轮转的时候,需要把当前状态保存下来,同时加载下一个任务,这个过程叫做上下文切换。时间片轮转的方式,使得多个任务利用一个CPU执行成为可能,但是保存现场和加载现场,也带来了性能消耗。 那线程上下文切...转载 2018-09-05 10:17:58 · 7990 阅读 · 0 评论 -
Linux查看历史命令
查看历史命令可以执行history命令查看历史命令:翻到最后看看:这些都是最近执行的命令:history命令后面可以加选项:-c:清空历史命令(包括缓存和文件)-w:把缓存中的历史命令写入历史命令保存文件~/.bash_history(显然每个用户有自己的文件)其实我们使用history查看的是在缓存中的命令:比如我现在执行一个命令:使用histor...原创 2018-07-22 22:00:37 · 74831 阅读 · 0 评论 -
Linux显示运行脚本进程号的方法
转自:https://blog.csdn.net/styshoo/article/details/49405019一般来说,我们可以使用pidof来显示运行进程的进程号,但是,如果是想获取运行脚本的进程号的话,用pidof是获取不到的。以sh运行脚本test.sh为例,test.sh脚本如下:while truedo sleep 1done执行如下命令sh test.s...转载 2018-11-16 17:32:48 · 3905 阅读 · 1 评论 -
curl: (35) SSL connect error
在 Linux 下出现了这个异常:结合网上的资料需要执行这个命令更新 NSS:yum -y update nss但是我这么更新了之后还是会出现这个问题,需要再更新 curl:yum -y update curl 参考资料:https://blog.csdn.net/sdoyuxuan/article/details/79081873https://twit...原创 2018-12-01 22:32:53 · 2635 阅读 · 0 评论 -
MalformedURLException: Local host name unknown: java.net.UnknownHostException: Distribute3:域名解析暂时失败
启动一个 Spring Boot 工程的时候出现了这样的异常:解决方案:vim /etc/hosts添加当前 ip 和主机名的对应关系: 参考资料:https://blog.csdn.net/ffggnfgf/article/details/50818949...原创 2018-12-10 20:46:31 · 2372 阅读 · 0 评论 -
MAC 设置虚拟机随 VMware Fusion 一起启动
选择“窗口”进入“虚拟机资源”,选择一个虚拟机更详细信息请参考官方文档:https://docs.vmware.com/cn/VMware-Fusion/8.0/com.vmware.fusion.using.doc/GUID-EE3FDDF5-FAA8-4025-BEAA-D209E5E4CF50.htmlReferences:https://docs.vmware.co...原创 2019-07-25 16:49:03 · 1123 阅读 · 0 评论 -
ubuntu 安装完整版的vim
转自:https://www.cnblogs.com/faunjoe88/p/7942220.htmlapt-get remove vim-commonapt-get install vim转载 2019-07-19 11:58:52 · 368 阅读 · 0 评论 -
Mac 开发神器 oh-my-zsh 初体验
应该是我 out 了,今天才知道这个东东。其实不应该叫 Mac 开发神器,叫 Terminal 神器才对,官网(https://ohmyz.sh/)这么说的:Your terminal never felt this good before.根据官方文档说明,在安装 oh-my-zsh 之前需要注意几个 prerequisites:Unix-like operating system ...原创 2019-04-19 16:45:35 · 369 阅读 · 1 评论 -
一次无聊的虚拟机和本地只有一方能 ping 通
只是为了记录一些很傻的事...虚拟机可以 ping 通本机,但是本地却 ping 不通虚拟机:Dongguabai:~ dongguabai$ ping 172.16.140.135PING 172.16.140.135 (172.16.140.135): 56 data bytesRequest timeout for icmp_seq 0Request timeout for ...原创 2019-04-07 14:18:12 · 1184 阅读 · 0 评论 -
出现 Permission denied 的解决办法
转自:https://blog.csdn.net/qq_16525279/article/details/80245350提示Permission denied解决的办法:$ sudo chmod -R 777 某一目录其中-R 是指级联应用到目录里的所有子目录和文件777 是所有用户都拥有最高权限...转载 2019-02-20 13:10:48 · 17543 阅读 · 0 评论