版权属于:
人工智能炼丹师
作品采用:
《
署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)
》许可协议授权
查看CPU
# 总核数 = 物理CPU个数 X 每颗物理CPU的核数
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
# 查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
# 查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq
# 查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l
# 查看CPU使用情况
mpstat -P ALL
显示目录下文件,按文件大小排序
ls -Shlr #按文件大小(-S)从小到大(-r)排序显示(-hl)
查找文件中包含字符串
cat file.txt|grep -B 2 key # 查找包含key,并显示前两行
cat file.txt|grep -A 2 key # 查找包含key,并显示后两行
cat file.txt|grep -2 key # 查找包含key,并显示前后两行
查找包含字符串的文件:
grep -rn "keyword" [files/dir]
查找符合条件的进程并kiil
ps aux | grep "python test.py" | awk '{print $2}' | xargs kill -9 #适用于批量删除进程
查看硬盘占用情况
du -hs dir_name # h(human readable) s (而不列出子目录)
df -h #列出文件系统的整体磁盘使用量
判断符合条件的文件是否存在
test -f
多线程下载数据
axel -n num_threads -q download_url
rync+sshpass免密码同步数据
* rsync -av -e "sshpass -p [your_password] ssh -p [your_port]" src_path dst_path --exclude=exclude_pattern --include=include_pattern`
rysnc 同步文件
rsync -avh --progress source_directory destination_directory
定时服务
`30 23 * * * find /data/home/jefxiong/PenguinID/videos/* -mtime +8 -exec rm {} \;` #每天23:00定时删除超过8天的数据
shm 不足
mount -o remount,size=32g /dev/shm
mount 解决git无法加入软连接问题
mount --bind src dst
按规则删除指定文件命令
find . -name '*.DS_Store' -type f -delete #删除Mac下.DS文件
find . -name "*" -type f -size 0c | xargs -n 1 rm -f #删除空文件
find . -size 1k -exec rm {} \; #删除小于1k数据
按规则移动文件命令
find . -iname *.npy -exec mv {} dst_dir \; #移动numpy文件到指定目录下
多个python版本共用时,在脚本中指定python
PYTHON=${PYTHON:-python}
#PYTHON默认值为python,可以在命令行前设置为其他覆盖
#e.g. PYTHON=python3 (bash scripts/xxx.sh, 脚本中用$PYTHON替代 python
awk
awk '{print $1}' input.txt > out.txt #取input.txt 文件第一列保存到output.txt中
awk '{print $1,$2}' input.txt > out.txt #取input.txt 文件第一列和第二列保存到output.txt中
cat input.txt|awk '{sum+=$1} END {print "Average = ", sum/NR}' #求平均值
cat input.txt|awk '{sum+=$1} END {print "Sum = ", sum}' #求和
awk -F '[|]' '{print $1}' file.txt # 对fil.txt文件利用|进行分割,并取第1个元素输出
# awk 处理字符串: https://www.jianshu.com/p/8cb01a334527
批量加后缀、前缀重命名
for file in ./* ; do mv "$file" "$(basename "$file").mp4"; done; #批量加后缀名.mp4
删除特殊字符文件
# 1. 文件名为 a&b.c, 通过转义\和""解决
rm a\&b.c
rm "a&b.c"
# 2. 文件名为 -ab.c,通过加入参数--
rm -- -ab.c
shell 编程
for i in ${list[@]}; do ... ; done
for i in ${list[*]}; do ... ; done
for i in exp1 exp2; do ... ; done
for i in $(seq 1 100); do ...;done
for((i=1; i<100; i++)); do ... ; done # c-like
list=(12 34 56)
echo ${#list[@]} # 获取数组大小
echo $# #获取执行命令参数个数
免密登陆
# 生成密钥对(若未生成过)
ssh-keygen -t rsa -b 4096
# 复制公钥到远程服务器
ssh-copy-id -p {ssh_port} {remote_host}
评论 (0)