(1)查看资源和空间使用
ls -lh 查看目录下的文件大小
nvidia-smi 查看GPU情况
du -sh 查看当前目录大小
du -h --max-depth=1 查看各子目录大小
top 分析进程资源使用
(2)传输相关
scp source_file target_ip:target_path 传输
----------------------------------------------
zip -r ***.zip *** 将***文件夹打包
unzip ***.zip 解压
------------------------------------------------
tar -cvf ***.tar file1 file2 dir1 压缩多个目录
tar -xzvf ***.tar.gz 解压tar.gz
tar -xvf ***.tar 解压tar
tar -tf ***.rar 查看rar中所有文件
其中 c是建立压缩文件,x是解压缩, f接文件名,必须放参数最后;z代表有gz属性,v代表看到过程, t代表列出文件
简言之,vf是必选参数, 前面是c还是x还是xz就看情况了
(3)其他
&& 可以执行多条命令
wc -l **** 数行数
history 查看过往命令
ctrl A,ctrl E调到当前命令的头部和尾部(非常实用)
(4)awk 用于文本分析(行处理),很难 awk '{pattern + action}' Filenames
awk '{print $1, $4}' log.txt 查看文本每行以空格分隔后的第一、四项
awk -F"," '{print $1, $4}' log.txt 使用,分隔
awk '$1=="if" ' test.py 找到第一列是“if”的行
awk '$1 ~ /prin/ {print $1, $2} test.py 找到第一列中包含“prin”的行
awk '{if (NR>=20) && NR<=30 print $1}' infer.py 行号在[20,30]之间
其中NR指awk开始执行程序后所读取的数据行数
awk -F',' '{print NR "*******" $2}' hbp.py > fun_log
(5)grep (Global Regular Expression Print)
grep torch *.py > line 在当前目录中的py文件中查找带有torch字样的地方
grep -r torch /etc/aaa 递归在各个子目录中查找
当然这里还有正则表达式的舞台
grep -e Pattern *.py
-i 忽略大小写
(6)shell编程
shell无非是将linux指令集成起来,避免重复工作
#!/bin/bash
echo "........"
chmod +x 加执行权限
最重要的一点, =等号两边不能有空格
for file is $(ls '..../....')
$# 参数个数,譬如 sh test.sh 1 2 3 ,就是三个参数,$1就是1
cd test/ 则当前执行位置移到了test中
---------------------------
关系运算符 没有> ,< 那是重定向符? gt,ge,eq,ne [$a eq $b]
布尔运算符 -o,-a,!
文件检测 [-e ****.txt] 文件是否exist
let 指令 let 'cnt+=2' 感觉没卵用的奇怪指令
-------------------------
条件控制
if ******
then **********
else ********
fi
循环控制
for **** in ******
do ******
done
-----------------------------
重定向: < 输入 > 输出 0是输入,1是输出,2是err输出
>> 追加输出
> /dev/null 2>&1 禁止输出,非常有用噢
(7) sed -i "s/yw_nc/yw/g" ./* 在当前目录下执行替换操作