前言:此文是为了CSP-S第二轮认证所用系统NOI-Linux的写的,但其他的Linux系统也可以按照相同或类似的方法进行配置。

配置NOI-Linux

我大约是一个月以前由于比赛的原因才开始接触NOI-Linux,当时为了配置一个适于编程的环境,改了不少配置,现在距离比赛只有一周多了,万一我在赛场上忘了我当时是怎么配置的,只能憋屈的用它的默认设置,我的心态一定会炸掉的QAQ。

于是乎,我打算重新配置一遍,再写一篇文章记录一下,给自己看的同时,也跟大家分享一下~~~

然而,我当时没有保存NOI-Linux虚拟机的快照,只得重新安装一个虚拟机,不过好在有之前几次安装的经验,不到10分钟我便配置好了虚拟机的基本设置,然后静等安装。

二十分钟后,终于安装好了:

把烦人的自动锁屏关掉,如图:

打开终端,如图:

打开编辑-屏幕快捷键,把复制/粘贴从Ctrl+Shift+C/V改为Ctrl+C/V,如图:

打开编辑-配置文件首选项,关掉终端响铃(瞎响铃是真的烦人),将行数改为48(不然终端就太小了),另外,我不太习惯方形光标,经常把光标右半边当成光标的实际位置,导致出错,适应了很久也没适应,最终决定把光标形状改为I形,如图:

回到终端,输入命令,编辑VIM配置文件,如图:

摁下回车,执行命令,然后篇在.vimrc中输入i,进入编辑模式,输入以下命令:

:set nu
:set ruler
:set tabstop=4
:set shiftwidth=4
:set cindent
:set smartindent
:set mouse=a
map <F5> :call Cpp()<CR>
imap<F5> <ESC>:call Cpp()<CR>
map <F6> :call Run()<CR>
imap<F6> <ESC>:call Run()<CR>
func! Cpp()
exec "w"
exec "! g++ % -o %<"
endfunc
func! Run()
exec "w"
exec "! ./%<"
endfunc

(输入后,在vim编辑过程中摁F5便会自动编译,摁F6便会自动运行)

然后,摁Ese键,返回命令模式,输入:wq,保存并退出,如图:

我还动了不少其他的配置,但基本上比赛时只用这些就够了,毕竟比赛的时间是宝贵的,浪费在配置上的时间越少越好。

常用Linux命令

pwd

pwd【查看当前用户当前所在的目录】

cd

cd [目录名称]【切换目录】

cd ..【返回上一级目录】

cd -【返回上一次所处目录】

cd ~【返回当前用户的家目录】

ls

ls【查看当前目录下的非隐藏的文件与目录的名字】

ls -a【查看当前目录下的所有文件与目录的名字】

ls -l【查看当前目录下非隐藏的文件与目录的详细信息】

ls -al【查看当前目录下的所有文件与目录的详细信息】

cat

cat [文件名称]【查看文件】

more

more [文件名称]【查看较的大型文件(尤其是txt文件)】

wc

wc [参数][文件名称]【统计文件】

常用参数:

  • -l【显示行数】
  • -w【显示单词数】

touch

touch [文件名称]【创建一个空白文件】

mkdir

madir [目录名称]【创建一个目录】

注意:想在当前目录下创建一个名为A的目录,并同时在A内部创建一个名为B的目录,是不能用mkdir A/B的,必须加上-p参数,即写成:mkdir -p A/B

cp

cp [源文件][目录文件]【将源文件复制,创建一个与源文件相同的目录文件】

mv

mv [源文件][目录文件]【将源文件复制,创建一个与源文件相同的目录文件,然后删除源文件】

注意:如果在同一目录下进行mv操作,比如:mv A B,就相当于把A重命名为B。

rm

rm [文件名称]【删除指定文件】

注意,如果A是一个目录,而非一个文件,就不能用rm A来删除A,为了让Linux递归地删除该目录及该目录下的所有子目录与文件,必须加上一个-r参数,,即写成:rm -r A

vim

vim [文件名称]【使用VIM编辑器编辑指定文件,若该文件不存在则创建一个以该名称命名的空白文件以供编辑】

g++

g++ [源文件名称] -o [可执行程序名称]【编译代码】

我只收集了比赛时最常用的一小部分,实际上,想要在Linux下生存下来光靠这些远远不够,但应付比赛,这些就绰绰有余了,既然这篇文章是我备考而写的,就不收录那些较为复杂的命令了(实际上以上命令中的很多我也没有写全参数,而只是写出了最常用的参数)

最新文章

  1. 以最简单方式学习Linux
  2. Redis系列(四)-低成本高可用方案设计
  3. 2.ReactNative Properties|States|Styles 笔记
  4. ORA-28001: the password has expired (DBD ERROR: OCISessionBegin) EM无法登录
  5. ipv6例子
  6. HTTP协议详细总结
  7. node read file fs
  8. 读《深入理解Java虚拟机》有感——第一部分:Class文件的结构
  9. UVALive 6093 Emergency Room --优先队列实现的模拟
  10. Download InstallShield Limited Edition for Visual Studio 地址
  11. webstrom配置node环境一张图片说明问题
  12. Code Review的一些典型内容
  13. ES6函数扩展
  14. crontab执行带参数的php脚本,并取得参数[转]
  15. 面向对象:静态属性,静态方法,组合,继承,衍生,继承之mro线性顺序列表,面向对象综合实例
  16. shell 十进制数字转十六进制字符串并将结果保存到变量
  17. 检测浏览器是否支持某个css属性
  18. 大数据工具比较:R 语言和 Spark 谁更胜一筹?
  19. echo -n 和echo -e 参数意义
  20. 设置了winform的背景图片随窗体的变化而变化

热门文章

  1. golang数据结构之散哈希表(Hash)
  2. HTML连载42-清空默认边距、文字行高
  3. Python模块import本质是什么?import是什么
  4. pyqt添加启动等待界面
  5. ARM64 的 memcpy 优化与实现
  6. 解决SVN 被锁且Cleanup无效问题
  7. Java 类加载机制(阿里)-何时初始化类
  8. java高并发系列 - 第10天:线程安全和synchronized关键字
  9. C#上手练习7(方法语句2)
  10. JAVA语言的环境搭建