此篇文章为博主在Linux学习过程中的一些记录,记录在此方便查阅。
常用命令总结
ls 显示目录内容 (list directory contents)
- ls 不显示隐藏的文件和子目录
- ls -a 显示目录中所有的文件和子目录(包括隐藏文件)
- ls -l 显示目录中文件和子目录的详细信息(包括权限、大小、创建/修改时间等)
- ls -lh 文件大小以KB/MB为单位
- ls -l|grep "^-"| wc -l 查看当前目录下的文件数量(不包含子目录中的文件)参考
df 查看磁盘空间 (report File system Disk space usage)????菜鸟教程
- df -h 查看磁盘信息, -h选项为根据大小适当显示
du 显示磁盘使用情况(disk usage)
mkdir 创建目录 (make a directory)
- mkdir -p A/B 新建目录A和A中的目录B,无需mkdir两次
touch 用于新建文件(这可能是最基本的用法了)
- touch xxx.cpp新建一个cpp文件
cd 切换目录 (change working directory)
cp 复制 (copy)
- 复制文件夹 cp -r-r/-R为recursive的意思
mv 移动文件/目录(可用作重命名)
rm 删除 (remove)
pwd 打印当前工作目录(Print Working Directionary)
man 显示命令的详细使用说明,即使用手册 (manual)
echo 可用于在shell脚本中输出变量/常量
终端(Terminal)中常用快捷键(shortcuts)
- Ctrl+L 清屏(并不是真正意义上的清屏,和WIndows中cls还是有差异的)
- Ctrl+U 清除当前命令
- Ctrl+A 移动到行首
- Ctrl+E 移动到行尾
- 复制/粘贴需要按住Shift键
- 复制 Ctrl+Shift+C
- 粘贴 Ctrl+Shift+V
压缩/解压命令
zip文件
- 压缩 zip -r xxx.zip dir_name 其中-r为递归处理,将指定目录下的所有文件和子目录一并处理。
- 解压 unzip xxx.zip
- 解压到指定文件夹 unzip xx.zip -d dir_name
tar.gz文件
- 解压 tar -zxvf xxx.tar.gz
7z文件
- 解压 7z x abc.7z 其中abc.7z为待解压的文件
查找文件
- 根据文件名查找文件 find -name "xxx.x"
- 根据关键词查找文件内容 grep "关键词" -r 搜索目录 其中-r为--recursive的意思(即递归查询、搜索)
操作系统版本相关
- uname -a 或 cat /proc/version
- 波浪线~和$HOME均为当前用户的主目录路径
系统软件更新相关
- sudo apt-get update 更新源/查找更新
- sudo apt-get upgrade 一键更新可以更新的软件
其中apt为Advanced Package Tools的缩写,参考apt-get的update和upgrade的区别
CPU相关
- cat /proc/cpuinfo 查看CPU详细信息
NVIDIA GPU相关
- lspci | grep -i nvidia Linux查看GPU型号
- nvidia-smi 查看GPU显存占用情况,参数详细说明 http://www.manongjc.com/article/64818.html
- nvidia-smi -l 2 按指定时间间隔(2s)查看GPU显存占用情况
- 还有第二种方法: watch -n 2 nvidia-smi
- 算力(Compute Capability)查询 https://developer.nvidia.com/cuda-gpus#collapse4
- 查看nvcc版本 nvcc --version 注意是两个--, 因为version没有缩写
线程相关
- ps aux | grep PID 查看线程号为PID的线程
ps为process status(进程状态)的缩写 - ps -eo pid,lstart,etime,cmd | grep PID 查看线程号为PID的线程的开始时间&持续时间
注意:逗号之间不要有空格! etime 我认为是elapsed time的缩写 - kill -9 PID 杀死线程号为PID的线程
其中PID为线程号
Misc
nohup 不挂断地运行命令,nohup命令用于解决终端意外关闭的问题,为no hangup的缩写
如何使用 nohup your_cmd
watch指令
watch -n 2 nvidia-smi 同nvidia-smi -l 2 其中-n为时间间隔的意思。
Git命令
- 下载仓库到本地 git clone https://github.com/pjreddie/darknet.git 以Yolov3(Darknet)为例。
- 下载仓库中的指定分支(Branch)/标签(Tag) git clone -b tag1 xxx.git 使用-b指定分支/标签即可。
指定分支git clone -b xxx