Linux 系统简介

Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。

Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。

Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。

复赛考试形式

**第二轮四道编程题,CSP-J 3.5 小时,CSP-S 4 小时,100分/题。**

测评环境

大部分省份都是提供Windows主系统+VMWare虚拟机。

写代码可以选择任意系统,但是最终测评结果以 NOI Linux 结果为准。因此,掌握 Linux 基础操作和命令是有必要的,避免因系统中个别语法和库函数不同而导致结果错误。

虚拟机环境配置

  • 安装 VMWare15

  • 双击安装,最后输入注册码

  • 安装 NOI Linux2.0 系统

编译执行C++程序

  • 编译 C++ 文件:g++ filename.cpp -o filename
  • 执行 C++ 文件:./filename

文件读取

写完程序后,加上以下文件读取函数。

 #include <cstdio>

 int main() {

         freopen("filename.in", "r", stdin);
         freopen("filename.out", "w", stdout);

         fclose(stdin);
         fclose(stdout);

         return 0;
 }

数据提交格式(仅供参考,具体以本年度为准,以监考老师要求为准)

每道题都给出了目录名和源程序名,切记不要写错!

建立以考生考号为名称的文件夹,考号在准考证上,以上海 CSP-J00001 号为例:

在文件夹内创建相应试题的文件夹,对应文件夹内创建cpp源程序,名字试卷已经给出。

NOI Linux2.0 里面的图形化界面编程工具

NOI Linux2.0 相较于早期的 Ubuntu16.04 测评系统有了很大改进,界面美观,而且提供了多种 C++ 编程工具,对于不熟悉命令的同学是一个很好的机会。

下面介绍一下code::blocks

新建空文件:

保存文件:

写代码、编译、运行:

也可以点击编译并运行。

什么是shell?

shell 就是命令解析器,对用户输入到终端的命令进行解析,调用对应的执行程序

用户在终端输入命令, 由 shell 命令解析器对命令进行解析(按照 $PATH 环境变量搜索命令), 解析成内核能够识别的指令, 然后由内核执行命令, 最后由终端显示命令执行的结果给用户。

注意:shell 在寻找命令的时候是按照 $PATH 环境变量去查找的,如果找到了就执行对应的命令,若找不到就报错。

  • 查看 PATH 环境变量的值:echo $PATH
  • 当前系统所使用的 shell:echo $SHELL
  • 查看所有 shell:cat /etc/shells

Linux目录结构

常用终端快捷键

Linux命令行

基础操作

查看文件和目录:ls

查看当前路径:pwd

清空终端:clear

切换目录:cd

自动补全:Tab

日期命令:date

创建、删除文件及目录命令的使用

命令 说明
touch 文件名 创建指定文件 / touch {1,2,3}.txt 创建多个文件
mkdir 目录名 创建目录(文件夹)
rm 文件名或者目录名 删除指定文件或者目录
rmdir 目录名 删除空目录
命令选项 说明
-i 交互式提示
-r 递归删除目录及其内容
-f 强制删除,忽略不存在的文件,无需提示
-d 删除空目录
-p 递归创建空目录

复制、移动文件及目录命令的使用

命令 说明
cp 拷贝文件、拷贝目录
mv 移动文件、移动目录、重命名

查看文件

命令 说明
cat 查看小型文件
more 分屏查看大型文件
less 取more的反义词less加上后退功能

重点:time命令

  • 用于测量命令的运行时间,还可以测量内存、I/O等的使用情况。

  • CPU资源的统计包括实际使用时间(real time)、用户态使用时间(the process spent in user mode)、内核态使用时间(the process spent in kernel mode)。

time ls /usr/bin/

real远大于user加上sys。

Mac系统VSCode配置C++编程环境

VSCode是一款非常轻量化的编程软件,启动速度快,跨平台,支持多语言。

Mac中安装C++一般都使用Xcode,安装XCode同时安装Clang,但是比较笨重,我们可以直接安装Clang:

xcode-select --install

然后执行:clang -v验证 clang 安装是否成功。

results matching ""

    No results matching ""