前言:为啥写这篇教程

几位家长:“欸wwh,你比赛时用啥写程序啊?”
我:“gedit + 命令行编译。”
(一番解释之后)
几位家长:“哦哦哦我明白了,那命令行是啥啊?”
然而当时我很饿,于是说回来写篇 blog 介绍一下 …

一个方面是为了遵守诺言,另外一个方面是我发现的确现在许多 OIer 习惯于使用 IDE 编程,然而这对于竞赛时并不是很友好,故专门写一篇教程介绍一下,权当是抛砖引玉了。

本文不保证语言描述完全正确,但可以保证命令语句及其用法解释无误。

前前言:这篇教程日后可能会继续更新。对于普及组和提高组阶段的 OIer 而言,本文目前足矣。


前言2 : 关于命令行:其实从未接触过命令行的 OIer 并不需要详细了解其具体含义,因此可以简单理解为“可以执行某个操作的一条语句”。

Part 1 终端

命令行命令通常在终端中执行。在 Windows 下,常用终端有 cmd(基本没人用),PowerShell,以及微软最新的 Windows Terminal 等;Linux 下我一般用默认 Shell,对其它终端并不了解,不做介绍。

为了最大程度接近 OI 赛事考试环境,建议在 Windows 中使用 WSL 或 babun 以模拟 NOI Linux 的环境,若想作为一个 OIer 在 Windows 中获得最佳的编程体验,建议在上述(WSL 和 babun)仿真 Linux 终端中使用 zsh + Oh My zsh。

Part 2 Linux 命令

由于 Windows 大有逐步怀抱 Linux 的趋势(WSL 2.0 和 PowerShell 最新版本中接受 Linux 命令行语法均是证明),因此这里仅介绍 Linux 下的命令。

由于笔者是重度 Oh My zsh 患者,因此这里的所有命令均在 zsh 下执行。对于其他(如 bash、cmd)除了显示方式不同外并无过多查一(但是 Windows 自带的 cmd 对许多命令不兼容,因此建议在 PowerShell 实现)。

首先,我们可以使用 pwd 命令打印当前目录:

➜  Desktop pwd
/cygdrive/d/Desktop

这里必须做出解释,由于笔者的 Oh My zsh 主题的原因, 后面的第一个字符串是当前目录;由于笔者是在 babun 中的 zsh 下执行,因此 /cygdrive 可以感性理解为 此电脑。因此上述打印的目录相当于各位熟悉的 Windows 下的目录 :D:\Desktop

我们可以用 ls 命令打印当前目录下的所有文件:

我们可以使用 cd {...} 命令进入一个目录:

那么如何编译一个 C++ 源程序并运行呢?
一般来说,我们的做法是(以上图的 maker.cpp 为例)

编译:g++ [FILENAME].cpp -o [EXENAME]
运行:./[EXENAME]

➜  Desktop g++ maker.cpp -o maker
➜  Desktop ./maker
114514
1 2 4 0 4 4 3 3 2 4 %

(恶臭数字请忽略,以及最后那个 % 是 zsh 的人性化设计:程序没有换行时会自动换行并在最后打上一个 %)。

至此,命令行萌新 OIer 目前可以用到的命令行知识就这些了。接下来,来看一些常用的命令。

Part 3 竞赛中的常用命令

这部分的命令,有一些可能只会在 Linux/仿真 Linux 终端下适用。

  1. 快速分解质因数 factor [NUMBER]
    例如:
➜  Desktop factor 114514
114514: 2 31 1847
  1. 判断一个程序的运行时间 time ./[EXENAME]
    例如:
➜  Desktop time ./maker
{输出}
./maker  0.00s user 0.05s system 58% cpu 0.078 total

该命令可以有效检验程序是否超时。
3. 判断两个文件的差异 diff [FILE1] [FILE2]
用于对拍。

目前笔者(可以想到的)入门的命令行相关知识、操作就这么多了,祝阅读本文的命令行萌新 OIer 可以灵活运用,尽快掌握命令行这一对于 OIer 而言几乎必不可缺的知识。

(可能会有更新)。

新一代 OIer 的快速入门命令行教程相关推荐

  1. 零基础快速入门SpringBoot2.0教程 (三)

    一.SpringBoot Starter讲解 简介:介绍什么是SpringBoot Starter和主要作用 1.官网地址:https://docs.spring.io/spring-boot/doc ...

  2. Go 通过 cobra 快速构建命令行应用

    这里填写标题 1. Go 通过 cobra 快速构建命令行应用 1.1. cobra 能帮我们做啥? 1.2. cobra 基础使用 1.3. 概念 1.4. Commands 1.5. Flags ...

  3. 视频教程-快速入门Python基础教程_Python基础知识大全-Python

    快速入门Python基础教程_Python基础知识大全 十余年计算机技术领域从业经验,在中国电信.盛大游戏等多家五百强企业任职技术开发指导顾问,国内IT技术发展奠基人之一. 杨千锋 ¥99.00 立即 ...

  4. 命令行教程,第一部分 — 导航目录

    命令行教程,第一部分 - 导航目录 如果你已经在 Mac 上打开了 Terminal 应用程序,或者在 Windows 上打开了 Git Bash 应用程序,那么你可以开始执行此命令行教程. 教程概述 ...

  5. PS的快速入门与使用教程

    PS的快速入门与使用教程 网盘PhotoShop CC的破解版安装包地址:http://pan.baidu.com/s/1gfOQR31 网盘视频学习地址:http://pan.baidu.com/s ...

  6. 制作iOS越狱deb插件+dpkg命令行教程

    iOS越狱deb插件的制作 dpkg命令行教程 deb安装包的制作 介绍  Cydia Sileo都是基于Debian开发的, 所以插件都是打包成.deb格式 deb包是Debian软件包格式,文件扩 ...

  7. 视频教程-快速入门Python基础教程_Python基础进阶视频-Python

    快速入门Python基础教程_Python基础进阶视频 十余年计算机技术领域从业经验,在中国电信.盛大游戏等多家五百强企业任职技术开发指导顾问,国内IT技术发展奠基人之一. 杨千锋 ¥199.00 立 ...

  8. mysql命令行安装教程_MySQL命令行教程

    mysql命令行安装教程 1. MySQL简介 在之前的教程中 ,我讨论了有关MySQL服务器的安装以及MySQL数据库使用入门的问题. 在本文中,我们将详细讨论如何使用MySQL命令行执行各种操作, ...

  9. mac退出linux命令行,mac/Linux日常入门命令行使用

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? Linux/mac 命令行操作简单介绍 linux/mac 日常入门命令行使用--文件以及文件夹操作 日常文件夹以及文件 ...

最新文章

  1. Python环境的安装(Anaconda+Jupyter notebook+Pycharm)
  2. linux 查看java最大内存配置,Linux和Windows下的内存设置
  3. php将字符变为数字,数字字符怎么转化为数字 php 怎么将字符转成数字
  4. arduino openmv 显示图像_6 个芯片打造复古经典计算机:215 色显示,能编程能玩小游戏...
  5. ORACLE数据库的备份和还原。
  6. Android 报错:error: too many padding sections on bottom border
  7. 小米平板位置服务器,小米平板 2
  8. android 使用GridView实现Gallery的效果,并且从最左边开始
  9. 使用fiddler4和夜神模拟器进行app抓包
  10. Linux查看服务器自动关机,Linux系统自动关机的命令详解
  11. 技嘉主板BIOS修改风扇转速设置详细教程
  12. mfc控件设置颜色(超全)
  13. 计算机组成原理_选择
  14. iOS 普陀大学堂APP隐私政策
  15. garch dcc用matlab,MRS DCC GARCH 模型的MATLAB 程序修改
  16. 全栈工程师眼中的HTTP
  17. 适配器模式设计插头标准
  18. 来自联想维修站的内部发行资料
  19. java字典初始化_在Java中用一组特定的数据初始化字典
  20. 多边形扫描转换算法中的边表(Edge Table, ET)

热门文章

  1. 清华计算机考研报考人数,2020部分院校考研报考人数统计
  2. sqldbx mysql 乱码_使用PLSQL Developer和DbVisualizer、SQLDBx查询oracle数据库时出现乱码...
  3. office服务器草稿位置,精确定位图片在Word文档中的位置的操作方法
  4. AutoCAD快捷键大全
  5. cad修改快捷键_CAD入门学习技巧:CAD软件中的CAD快捷键的分类
  6. 什么是软路由和硬路由,两者的区别有什么?
  7. 计算机excel 考试操作,计算机考试操作考点列表
  8. 乐高无限自己地图无法服务器,乐高无限地图制作攻略 建造的小细节不要错过...
  9. java 3D学习笔记
  10. Snug(舒适) as a Bug(小虫) in a Rug(小地毯)(2019/1/2)