![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
shell
带鱼兄
爱在新空气,快乐每一天
展开
-
linux常用解压缩命令
#解压tartar -xvf file.tar#解压tar.gztar -xzvf file.tar.gz#解压 tar.bz2tar -xjvf file.tar.bz2#解压tar.Ztar -xZvf file.tar.Z#解压rarunrar e file.rar#解压zipunzip file.zip#解压tgztar zxvf file.tgz原创 2016-01-21 00:24:45 · 831 阅读 · 0 评论 -
linux监控进程物理内存
方法比较多,提供一种最简单的:#!/bin/bashPROCESS="./a.out" #进程名MAXMEM=1048576 #最大物理内存阀值,单位KBID=`ps -ef | grep "${PROCESS}" | grep -v "grep" | awk '{print $2}'`if [ ! -n "$ID" ]; then echo "$PROCES原创 2016-01-21 00:20:36 · 1599 阅读 · 0 评论 -
linux查看进程线程数
基本概念:线程是最小调度单位原创 2016-01-21 10:21:19 · 14777 阅读 · 0 评论 -
linux统计TCP端口的连接数
关键点:使用netstat命令netstat -natl | grep ":80" | awk '{print $6}' | sort | uniq -c | sort -nr原创 2016-01-20 22:08:25 · 2230 阅读 · 0 评论 -
shell中获取程序输出
1.待执行的程序gcc printf.c -o printf#include int main(){ printf("hello world\n"); return 1;}2.shell脚本test.sh#! /bin/shvalue1=`./printf`value2=$?echo "value1: $value1"ec原创 2016-08-05 14:16:35 · 5397 阅读 · 0 评论 -
如何获取进程的终止状态
测试代码:int main(){ return 1;}编译:gcc main.c运行:./a.out获取终止状态:echo $?End;原创 2016-08-02 20:48:39 · 1284 阅读 · 0 评论 -
linux下文件访问时间、修改时间、更改时间
基本概念:linux对每个文件维护3个时间段(访问时间、修改时间、更改时间),它们的意义于图4-19中。在linux下没有创建时间的概念,也就是不能知道文件的建立时间,但如果文件建立后就没有修改过,修改时间=建立时间,但是不能依赖文件内容来判断文件是否被修改,举个例子,用vim打开文件,不做任何修改操作,执行保存退出,修改时间也会被改变成当前时间,而实际上文件内容并没有被改变。原创 2016-08-29 23:24:26 · 9360 阅读 · 0 评论 -
top命令按内存和cpu排序
一、按进程的CPU使用率排序运行top命令后,键入大写P。有两种途径:a) 打开大写键盘的情况下,直接按P键b) 未打开大写键盘的情况下,Shift+P键效果如图:二、按进程的内存使用率排序运行top命令后,键入大写M。有两种途径:a) 打开大写键盘的情况下,直接按M键b) 未打开大写键盘的情况下,Shift+M键效果如图原创 2016-10-08 21:50:43 · 161484 阅读 · 1 评论 -
top命令查看每个逻辑cpu使用率
基本概念:首先要分清物理cup、核数、逻辑cpu的概念,可参考文章:Linux查看物理CPU个数、核数、逻辑CPU个数 如果要查看每个逻辑cpu的使用率,只需要运行top命令,按下数字键1即可效果如图:原文出自:End;原创 2016-10-08 22:03:27 · 44203 阅读 · 0 评论 -
linux系统负载load average的含义
基本概念:有好几个命令可以查看load average,w命令、top命令、uptime命令,三个数分别代表不同时间段的系统平均负载(一分钟、五 分钟、以及十五分钟)如图示:效果如图:原文出自:End;原创 2016-10-08 23:54:30 · 2120 阅读 · 1 评论 -
linux获取网站的响应时间
一个简易的抓包脚本----- url_check.sh -----#!/bin/bashif ! [ $# -eq 1 ]then echo "Usage For example:" echo "$0 www.yy.com" exit -1fidomain=$1echo "输入URL:"$domainecho ""echo "开始curl检测:"原创 2016-01-20 21:41:45 · 2521 阅读 · 0 评论 -
linux下vim的简单配置
(a)设置针对当前用户生效(b)打开文件vim ~/.vimrc(c)输入下列内容,可选set nu //设置行号set cindent //设置按回车时自动缩进set tabstop=4 //设定Tab 键缩进的空格数setlocal expandtab //将tab键换成四个空格(原创 2016-03-05 21:05:26 · 883 阅读 · 0 评论 -
linux查看文件系统块大小与内存页大小
一:查看文件系统块大小sudo /sbin/tune2fs -l /dev/sda1|grep "Block size"需要注意到系统可能有多个盘多个文件系统,可通过df命令查看数值单位是字节,如图示:二:查看内存页大小getconf PAGESIZE数值单位是字节,如图示:原创 2016-02-01 10:32:11 · 13483 阅读 · 0 评论 -
ssh公钥密钥无密码登陆
SSH提供两种级别的安全验证。第一种级别(基于密码的安全验证),知道帐号和密码,就可以登录到远程主机,并且所有传输的数据都会被加密。但是,可能会有别的服务器在冒充真正的服务器,无法避免被“中间人”攻击。第二种级别(基于密钥的安全验证),需要依靠密钥,也就是你必须为自己创建一对密钥,并把公有密钥放在需要访问的服务器上。客户端软件会向服务器发出请求,请求用你的密钥进行安全验证。服务器收到请求之原创 2017-04-18 00:06:58 · 1030 阅读 · 0 评论 -
linux别名alias命令
在 linux 中,alias 命令(注意全为小写)的功能是设置命令的别名,以简写命令,提高操作效率。(1)列出已有别名$ alias(2)创建别名$ alias daiyu='cd /home/daiyu/'(3)使用别名$ daiyu(4)删除别名$ unalias daiyu原文出自:End;原创 2017-08-13 16:55:16 · 710 阅读 · 0 评论 -
linux根据端口号找出进程名
1.使用lsof找出pidlsof -i:222.使用netstat找出pid#找出非监听端口netstat -ntp | grep ":22"#找出监听端口netstat -ntpl | grep ":22"3.使用ps找出进程名ps -ef|grep $pid原创 2016-01-20 22:37:09 · 15991 阅读 · 0 评论 -
linux查看进程的启动时间
关键点:使用ps命令ps -eo pid,lstart | grep $pid原创 2016-01-20 22:42:10 · 1120 阅读 · 0 评论 -
linux查看进程的运行路径
方案一:lsof -p $pid | grep cwd方案二:ls -l /proc/$pid/cwd原创 2016-01-20 22:54:46 · 4198 阅读 · 0 评论 -
linux查看机器网卡带宽
1.查看网卡ifconfigeth0,eth1,eth2......代表网卡1、网卡2、网卡3、……lo代表127.0.0.1,即localhostbond0表示双网卡绑定2.指定网卡查看带宽iftop -i eth03.指定网卡并显示IP端口iftop -i eth0 -P -nN4.>>箭头表示传输方向原创 2016-01-20 23:37:42 · 13715 阅读 · 0 评论 -
shell脚本标准输出赋值给变量
方案一:#!/bin/bashstring="hello world!"result=$(echo $string)echo $result方案二:#!/bin/bashstring="hello world!"result=`echo $string`echo $result原创 2016-01-20 00:57:04 · 30773 阅读 · 3 评论 -
awk分割字符串
关键:-F 参数#!/bin/bashstring="www.csdn.net"echo $string | awk -F '.' '{print $0}'echo $string | awk -F '.' '{print $1}'echo $string | awk -F '.' '{print $2}'echo $string | awk -F '.' '{print原创 2016-01-20 00:45:07 · 4886 阅读 · 0 评论 -
wget调试信息重定向到文件
关键点:wget命令的调试信息是标准错误(2),不是标准输出(1)#!/bin/bashurl="www.baidu.com"outputfile="outputfile"wget -S "$url" 2>>$outputfile原创 2016-01-20 00:33:18 · 4772 阅读 · 0 评论 -
shell判断字符串为空
可通过调整string的值来测试:#!/bin/bashstring="hello world!"if [[ "$string" != "" ]]then echo $stringelse echo "string is empty!"fi原创 2016-01-20 00:20:40 · 1086 阅读 · 0 评论 -
shell循环
方法比较多,提供一种类似C语言的,注意双括号#!/bin/bashnum=10for((i=0;i<$num;i++))do echo "$i hello world!"done原创 2016-01-20 00:04:29 · 718 阅读 · 0 评论 -
shell死循环
实现死循环的方法比较多,提供一种最简单的:#!/bin/bashwhile truedo echo "hello world!" sleep 1done原创 2016-01-19 23:55:33 · 2109 阅读 · 0 评论 -
shell按行读取文件
方法比较多,提供两种比较简单的:原创 2016-01-19 23:50:26 · 868 阅读 · 0 评论 -
Shell脚本中赋值变量时单引号‘和双引号“的区别
直接上图:结论:使用单引号的时候,变量name就会失去了原有的变量内容,仅显示为一般字符。End;原创 2016-03-03 23:19:57 · 8629 阅读 · 0 评论 -
73条日常Linux shell命令汇总,总有一条你需要!
1.检查远程端口是否对bash开放:echo >/dev/tcp/8.8.8.8/53 && echo "open"2.让进程转入后台:Ctrl + z3、将进程转到前台:fg4.产生随机的十六进制数,其中n是字符数:openssl rand -hex n5.在当前shell里执行一个文件里的命令:source转载 2016-03-14 21:10:32 · 1443 阅读 · 0 评论 -
linux文件一致性校验
方案一 md5校验:#!/bin/bashfilename="1.jpg"md5sum $filename结果:b019e55fe5c630e3c74aec19c9858d21 1.jpg方案二 sha1校验:#!/bin/bashfilename="1.jpg"sha1sum $filename结果:b98bf72c5b原创 2016-01-20 00:24:07 · 2842 阅读 · 0 评论 -
linux查看磁盘和目录空间
1.查看磁盘使用率df -h2.查看单个目录的挂载情况(目录属于哪个分区)df -h /home3.查看目录下的文件夹和文件大小du -sh *原创 2016-01-20 21:22:00 · 3126 阅读 · 0 评论 -
linux查找指定大小的文件
关键点:使用find命令#找出当前目录[3KB,10KB]大小的文件find ./ -size +3k -a -size -10k#找出当前目录大于1个字节的文件find ./ -size +1c#找出当前目录0字节的文件find ./ -size 0c #删除当前目录0字节的文件rm -rf `find ./ -size 0c`原创 2016-01-20 21:52:35 · 8606 阅读 · 0 评论 -
linux查找被删除但是未释放空间的文件
清理磁盘空间时,rm掉文件后,发现磁盘空间并没有释放,根本是原因是文件被进程打开中,文件描述符未被释放关键点:利用lsof命令查看lsof | grep deleted原创 2016-01-20 22:21:56 · 7437 阅读 · 0 评论 -
linux按行切割文件
split --helpUsage: split [OPTION]... [INPUT [PREFIX]]Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; defaultsize is 1000 lines, and default PREFIX is 'x'. With no INPUT, or w...原创 2017-06-15 21:14:59 · 19418 阅读 · 4 评论