笔记

查看当前目录下各个文件及目录占用空间大小
du -sh *

shell获取最后一列:awk '{print $NF}'
shell去掉最后一个字符:
                sed 's/.$//'
                awk '{sub(/.$/,"")}1'
                awk '{printf $0"\b \n"}' ufile


shell数组去重:arr=`cat mylog/top_monitor_record_1_100.log|grep v-binbi|awk '{print $NF}'|sed 's/ /\n/g'|sort|uniq`
shell输出数组:echo ${arr[*]}
awk打印除第一列之外的所有列:awk '{for(i=2;i<=NF;++i) printf $i "\t";printf "\n"}' test.txt


$$ 
Shell本身的PID(ProcessID) 
$! 
Shell最后运行的后台Process的PID 
$? 
最后运行的命令的结束代码(返回值) 
$- 
使用Set命令设定的Flag一览 
$* 
所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。 
$@ 
所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。 
$# 
添加到Shell的参数个数 
$0 
Shell本身的文件名 
$1~$n 
添加到Shell的各参数值。$1是第1参数、$2是第2参数…。

1. 使用tar压缩文件

tar -zcvf test.tar.gz ./test/

该命令表示压缩当前文件夹下的文件夹test,压缩后缀名为test.tar.gz

如果不需要压缩成gz,只需要后缀为tar格式的,那么输入如下命令:

tar -cvf test.tar ./test/

 

2. 使用tar解压文件

tar -xzvf test.tar.gz  

该命令表示把后缀为.tar.gz的文件解压到当前文件夹下。

如果压缩文件的后缀是.tar,没有gz,则使用命令:

tar -xvf test.tar

df 查看磁盘占用
htop 比top更人性化
free 查看内存空闲

 

监控gpu

pid=()

for。。。

do
  nvidia-smi dmon -s u -f './gpu_status_'${data}'.txt' &
  pid+=("$!")
  nvi_pid=${pid[${#pid[*]}-1]}

  sleep 20
  kill ${nvi_pid}
  sleep 20
done

 

监控cpu

#!/bin/bash
process_name_1="【xxx】"  # get the specifical process_name

path=`pwd`
log_file=$path"/top_monitor_record.log"
hostname=`uname -n`
CPU_info=`cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c`
MEM_info=`cat /proc/meminfo | grep -i 'MemTotal'`
echo "hostname: "$hostname", CPU: "$CPU_info", MEM: "$MEM_info > $log_file
echo "TIME, PID, USER, VIRT, RES, SHR, %CPU, %MEM, COMMAND" >> $log_file

while true
do
	pid_1=`ps -ef | grep root | grep $process_name_1 | grep -v grep | grep -v /home |sed -n '1p' |awk '{print $2}'`
	top -p $pid_1 -b -n 1|sed -n '8,16p'|awk 'BEGIN {FS=" ";OFS=", "}{now=strftime("%Y/%m/%d %T",systime());print now,$1,$2,$5,$6,$7,$9,$10,$12}' >> $log_file
	sleep 10
done

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章