此篇文章为博主在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详细信息

Linux学习记录(一):终端常用命令_Linux

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

Linux学习记录(一):终端常用命令_Linux_02

线程相关

  • 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
    Linux学习记录(一):终端常用命令_Linux_03

  • 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