Noi-Linux 2.0 装机+使用整合
写在前面
网上的东西比较多,也比较杂乱,不是很方便,所以我整合了一些关于 Noi-Linux2.0 虚拟机装机方法+代码编辑环境+实地编程的介绍,看完至少能用起来打代码了。
NOI 官网公告(JS 开始使用 Noi-Linux2.0 作为唯一操作系统):https://www.noi.cn/gynoi/jsgz/2021-07-16/732450.shtml
Part 1 装机
主流的有 3 个虚拟机软件:VirtualBox、VMware 以及 Windows 操作系统自带的 Hyper-V。
双系统方案和电脑自身有较大关系,不在本篇讨论范围内。
VirtualBox
(应该是)使用人数最多的方案,网上的博客很多比较全面。装机可以参考这个:https://zhuanlan.zhihu.com/p/574130949。之前装过 VBox 然后又卸载了重装会很麻烦(比如我),可以考虑换方案。
所以为啥装了要卸啊啊啊
VMware
可以看这个:https://www.php1.cn/detail/Noilinux_DeAnZhu_435ca7ab.html。其实感觉都大差不差。注意这里面没有提到的最后光驱加载之后安装系统的时候要断网。
Hyper-V
Windows 系统自带,比较方便。
一开始不做任何设置是没有这个软件的。激活方案:https://blog.csdn.net/Destinyzhoujunyu/article/details/131610508。注意 Windows 的家庭版好像(?不自带 Hyper-V(反正我的没有),可以按那篇里的下载连接安装,也可以参考这个:https://zhuanlan.zhihu.com/p/571306942?utm_id=0,快很多。
安装系统
https://zhuanlan.zhihu.com/p/574130949这篇里面有关于安装系统的东西,安装过程中一定要断网。
Part 2 使用
Linux常用命令及文件夹、命令行相关操作
后文有提到,自行翻阅。
怎么写代码?
方案很多。程序列表:https://www.cnblogs.com/Icys/p/15126397.html
个人推荐 Subline Text。
话说 VSCode 比 Subline Text 多了啥?对于我这种从来不用 GDB 的人来说
VSCode
但是,这东西的 C++ 插件要依赖网络才能运行,所以寄。只能配命令行了(
文本编辑器实锤了。
但是在程序内就可以打开命令行还是比较方便的。代码补全和高亮也不受影响。用是没问题的。命令行等介绍参考后文。
Subline Text
貌似没有 GDB 能用(?
上手比较快吧。代码补全、高亮啥的都有。
其实什么也不用设置的,打开就能直接写代码,用命令行编译运行,配置时间为 0。
如果你想用的更方便一点(快捷键编译等等,但是无法直接运行,要依赖文件输入输出或者命令行):https://www.bilibili.com/read/cv19129222/
和 VSCode 没啥区别就是。
Code::Blocks
这是一个集成开发环境,所以。
可以直接当 dev 用。如果不想花时间学命令行可以试试。一键编译运行(build+run)。
感觉配色不是很好看
设置还是挺多的。可以琢磨琢磨如果要用的话。
Vim
有亿点点复杂……
在这里扔一个:https://blog.csdn.net/hsforpyp/article/details/113833465
Linux 指令及快捷键
这个才是重头戏哈。
注意 Linux 命令行区分大小写,比如 cd Code 和 Cd Code 和 cd CODE 是不一样的
全局 Ctrl+Shift+? 快捷键总览
Ctrl+Shift+~ VSCode 启动命令行
Ctrl+Alt+T 打开系统命令行
cd xxx 切换到当前目录下的 xxx
cd ~ 回退到用户根目录
cd .. 回退到上一目录
ls 列出当前目录下的文件
pwd 列出当前目录
cp xxx yyy 把 xxx 复制到 yyy 里
g++ test.cpp -o test ... ... 编译指令(注意 -o xxx,xxx 指运行文件,pdf第一页有指令)
./xxx 运行 xxx
./xxx <1.in>1.out 重定向输入输出流
code xxx VSCode 打开 xxx
gedit xxx gedit 打开 xxx
mkdir xxx 新建目录 xxx
bash xxx 运行 shell xxx
#!/bin/bash 告诉系统用 bash 跑(环境变量)
echo xxx 输出 xxx
touch xxx 新建 xxx
cat xxx 输出 xxx
time 输出运行时间(以 user 为准,real 带输入时间)
timeout xxx 运行 xxx 秒后关闭
#xxx 命令行中替换为 xxx(如 #? 获得程序返回值)
对拍小程序(.sh)当然 C++ 写也是可以的:
对拍
#!/bin/bash
# 我是注释,上一句话=告诉系统用bash运行
# 命令行 bash xxx.sh 运行
# 编译指令,-fsanitize=address数组越界自动停,undefined就是UB自动停
g++ std.cpp -o std -Wall -Wextra -std=c++17 -D LOCAL -fsanitize=address,undefined
g++ wrong.cpp -o wrong -Wall -Wextra -std=c++17 -D LOCAL -fsanitize=address,undefined
g++ gen.cpp -o gen -Wall -Wextra -std=c++17 -D LOCAL -fsanitize=address,undefined
for T in $(seq 1 100) # for(int T=1;T<=100;T++)
do
echo "========== Test Case $T =========="
./gen > test.in
timeout 1 ./std < test.in > test.ans
timeout 1 ./wrong < test.in > test.out
if [[ $? != 0 ]] # 测试返回值是不是0
then
echo "TLE or RE!"
cp test.in error-$T.in # 把出错的数据拷出去
break
fi # 结束if
diff -q test.ans test.out
if [[ $? != 0 ]]
then
echo "Wrong answer!"
cp test.in error-WA-$T.in # 同上
break
fi
done
Noi-Linux 2.0 装机+使用整合的更多相关文章
- noi linux 2.0 体验
一.起因 下午,我打开 noi 官网准备报名 csp j/s,一看官网展板:"noi linux 2.0 发布" 我就兴奋了起来.(9 月 1 日起开始使用, 也就意味着 csp ...
- Unix/Linux环境C编程入门教程(19)Red Hat Entetprise Linux 7.0环境搭建
位架构,包括英特尔X-86_64.Power和s390.动态定时能力将降低内核内部中断数量,Open vSwitch 2.0功能可调节虚拟机之间的流量.RHEL 7中默认的文件系统是XFS,包含了一个 ...
- ubuntu简易教程(如何使用noi linux)
目录 linux环境下的基础操作 命令行操作 编辑器 程序编译 程序调试 gdb的使用 对拍 在提高组的考试中要求使用noi linux,因此了解一下如何在linux环境下编程是很有必要的. linu ...
- linux初学者-pxe装机篇
linux初学者-pxe装机篇 PXE的网络装机是客户机从自己的网卡启动,向本网络中的DHCP服务器索取ip,并从本网络的TFTP服务器中索取启动文件进行装机.此装机需要kickstart.tftp. ...
- linux下apache和tomcat整合
一 Apache与Tomcat比较联系 apache支持静态页,tomcat支持动态的,比如servlet等. 一般使用apache+tomcat的话,apache只是作为一个转发,对jsp的处理是由 ...
- Kali Linux 2.0配置并安装常用的工具
Kali Linux 前身是著名渗透测试系统BackTrack ,是一个基于 Debian 的 Linux 发行版,包含很多安全和取证方面的相关工具. Kali Linux 2.0是基于Debian ...
- 关于kali linux 2.0的vmware tools的安装问题
在安装好kali linux 2.0 后,首先要做的就是添加源并更新系统,否则会出现软件定位问题. 在kali 2.0中,vmware tools已经不能使用了,官方放了一个工具下载安装就好. 添加源 ...
- 如何在 Docker 容器中运行 Kali Linux 2.0
https://linux.cn/article-6103-1.html Kali Linux 是一个对于安全测试人员和白帽的一个知名操作系统.它带有大量安全相关的程序,这让它很容易用于渗透测试.最近 ...
- 跨年呈献:HP-Socket for Linux 1.0 震撼发布
三年,三年,又三年,终于,终于,终于不用再等啦!就在今天,HP-Socket for Linux v1.0 震撼发布!还是一样的接口,一样的高效,一样的简便,一样的味道. HP-Socket ...
- Linux下0号进程的前世(init_task进程)今生(idle进程)----Linux进程的管理与调度(五)【转】
前言 Linux下有3个特殊的进程,idle进程(PID = 0), init进程(PID = 1)和kthreadd(PID = 2) idle进程由系统自动创建, 运行在内核态 idle进程其pi ...
随机推荐
- kali下对压缩包的压缩与解压(转)
kali linux 压缩文件解压缩命令(包含7z) tar tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包 ...
- [NOIP2011 提高组] 聪明的质监员【题解】
题目 小 T 是一名质量监督员,最近负责检验一批矿产的质量.这批矿产共有 \(n\) 个矿石,从 \(1\) 到 \(n\) 逐一编号,每个矿石都有自己的重量 \(w_i\) 以及价值 \(v_i\) ...
- snmptt解析中文trap消息
项目中使用了中国电信系统集成公司的虚拟化平台,为通过zabbix监控,接收HyperCenter发送的告警,需要将trap消息中的汉语编码转译.网络上snmptt资料不多,官网文档也不甚友好,通过参考 ...
- 使用 virt-install 命令创建虚拟机
实践 参考文档:官方手册 这个命令适用于创建第一个虚拟机,后面如果再增加,修改xml文件或者使用clone命令就可以了. centos.sh #!/bin/bash name='centos7' is ...
- WPF实现跳动的字符效果
本文将介绍一个好玩但实际作用可能不太大的动画效果:跳动的字符.为了提高动画效果的可重用性以及调用的灵活性,通过Behavior实现跳动的字符动画.先看下效果: 技术要点与实现 通过TextEffect ...
- Mysql高级7-存储过程
一.介绍 存储过程是事先经过编译并存储在数据库中的一段sql语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的.存储过程思 ...
- 【HCDG城市行东莞站】松山湖开发者村助力企业释放数字新动能
本文分享自华为云社区<[HCDG城市行东莞站]从"数据治理"洞察"数字化运营之道",松山湖开发者村助力企业释放数字新动能!>,作者:华为云社区精选. ...
- VictoriaLogs:一款超低占用的 ElasticSearch 替代方案
背景 前段时间我们想实现 Pulsar 消息的追踪流程,追踪实现的效果图如下: 实现其实比较简单,其中最重要的就是如何存储消息. 消息的读取我们是通过 Pulsar 自带的 BrokerInterce ...
- 细谈商品详情API接口设计
一.引言 随着互联网技术的发展,商品详情信息的展示和交互变得越来越重要.为了提供更好的用户体验,我们需要设计一套高效.稳定且易于扩展的商品详情API接口.本文将详细探讨商品详情API接口的设计,包括接 ...
- RK3568开发笔记(七):在宿主机ubuntu上搭建Qt交叉编译开发环境,编译一个Demo,目标板运行Demo测试
前言 在之前的博文中已经搭建好了一个比较完善的ubuntu宿主机,都很完善了但是发现没有Qt交叉编译开发环境,所以还需要搭建一套Qt交叉编译开发环境. 补充说明 本篇是基于<RK35 ...