#edu0014. Noilinux 使用教程

Noilinux 使用教程

CSPCSPNOIPNOIP 考场(部分省份赛场)主要提供 “Windows+虚拟机” 考试环境,本题简要介绍一下 Noilinux2.0 使用方法。

1. 虚拟机安装

考场机器已经安装好 VMware虚拟机,可以直接开启使用。

本地安装虚拟机,需要先安装虚拟机软件,下载操作系统镜像。

  1. 下载安装 VMware 虚拟机 “vmware workstation”;

  2. NOI 官网上下载 “NOI Linux 2.0版” (点击下载)

  3. 安装虚拟机系统。

2. NOIlinux 系统使用要点

开启 VMvare 后,NoiLinux 下一些常见重要命令

打开终端:ctrl+alt+t 或 右键

一些常见命令

  • <tab>:当你想要再终端下敲击某个文件名或路径时,tab 键可以自动联想。
    • 如果当前文件夹下只有三个文件:“abcde.cpp,abccd.cpp,abcee.cpp
    • a<tab>:会自动补全为 abc
    • abcc<tab>:会自动补全为 abccd.cpp
  • ls:即 list,可以显示当前目录下的文件
    • ls -l:以列表模式显示每个文件
    • ls -a:显示所有文件(包括隐藏的文件夹和文件)
    • ls -al:以列表模式显示所有文件(包括隐藏的文件夹和文件)
  • cd:即 change directory,可以改变当前所在的目录。
    • cd a:跳转到当前文件夹下的名称为 a 的子文件夹
    • cd ..:跳转到上一级文件夹
    • cd .:跳转到当前文件夹,啥用没有
    • cd /home/noi/Desktop:跳转到用户 noi 的桌面文件夹
    • cd ~:跳转到当前用户的主文件夹
  • pwd:即 print working directory,显示完整的当前路径
  • mkdir: 即 make directory,创建一个文件夹
    • mkdir a:在当前文件夹下创建了一个名称为 a 的子文件夹
    • mkdir ~/Desktop/a:在当前用户的主文件夹下的 Desktop 文件夹里创建了一个名称为 a 的子文件夹。
    • mkdir /home/noi/Desktop/a:上一个命令的完整版本。
  • touch:新建文件
    • touch a:新建一个名称为 a 的空文件
    • touch /xxx/xxx/a:在某个指定路径下创建一个名称为 a 的空文件。
  • sudo 命令:即 super user do,使用最高管理员权限(root权限)运行后面的命令,一般在安装软件、更新系统等操作时会用到,比赛时一般用不到(也不建议在比赛时使用,sudo 可以做任何事,包括删除整个操作系统,因此造成的时间损失一般不会赔偿的)。
  • rm:即 remove,删除命令。
    • rm a:删除文件 a
    • rm -f a:删除文件 a,无需确认。
    • rm -r a:递归地删除文件夹 a 及其子文件夹。
    • sudo rm -rf /:目前你应该能读懂这个命令了,这表示用最高权限去删除整个根目录。运行完后操作系统会开始递归地删除所有文件。在这写这个命令不是为了让你去运行,而是由此提醒,新手阶段尽量不要去用终端命令删除文件,有时敲错一点点内容就会酿成大祸。
  • cp:即 copy,复制命令。
    • cp a b:复制一份当前目录下的 a 文件到当前目录,新文件名为 bab 都可以写带路径的文件,比如 cp /home/noi/a /home/noi/Desktop/b
    • cp -r a b:复制一份当前目录下的 a 文件夹到当前目录,新文件夹名为 bab 都可以写完整路径的。
  • cat:用来显示某个文本的内容
    • cat aplusb.cpp:显示 aplusb.cpp 的内容。
  • clear:清空终端前面的内容
  • diff:检测两个文件的区别,类似 Windows 下的 fc
    • diff 1.out 1.ans:检测 1.out1.ans 的区别。
  • time:运行程序前加上这个可以测速
    • time ./aplusb.exe:运行 ./aplusb.exe 并测速。
  • 方向键上/下:翻找之前运行的命令。

使用终端编译程序

编译程序:g++ a.cpp -o a -O2 -std=c++14 -Wall

  • -o :修改生成文件的名字
  • -O2:开启O2优化
  • -Wall: 开启所有警告

必要情况下,修改栈空间ulimit -s 1048576

(ulimit -s unlimited不限制栈空间)

(linux 修改栈空间方式 与 Windows 不同,不能添加到 “g++ ”)

1)查看linux默认栈空间的大小 通过命令 ulimit -s 查看linux的默认栈空间大小,默认情况下为 8192 KB 即 8M 。

(2)临时改变栈空间的大小 通过命令 ulimit -s 设置大小值临时改变栈空间大小。例如:ulimit -s 1048576,即修改为1 GB。

(3)永久修改栈空间大大小。有两种方法:

  • 方法一:可以在/etc/rc.local 内加入 ulimit -s 1048576 则可以开机就设置栈空间大小,任何用户启动的时候都会调用。 - 方法二:修改配置文件/etc/security/limits.conf

运行程序: ./a

测试运行时间:time ./a

关于程序运行时间

本地 Windows 下的速度大约是 CCF 标准评测的 1.2-1.5 倍,虚拟机下的速度会更慢。


学习完毕

{{ select(1) }}

  • YES
  • NO