CSP初赛知识点:Linux 系统

CSP初赛知识点:Linux 系统

前言

近年 CSP 初赛几乎前 5 道选择题都有一两道有关 Linux 系统的使用,所以作为备战 CSP-J/S 2024 的资料,整理下来啦。

祝各位今年所有考试都能考出自己满意的成绩!

1、常用文件操作命令

以下设文件名均为 csp,需要复制或修改成的文件名均为 rp。

功能 命令
新建文件夹 mkdir
新建空白文档 touch
复制文件 cp
复制文件夹及其包含文件 cp-a
删除文件夹 rm-r
删除文件 rm
修改文件名 mv
修改文件夹名 mv

2、常用目录操作命令

功能 命令
改变当前文件目录 cd
显示当前工作文件路径 pwd
显示文件及文件夹 ls

3、编译选项

$g++ hello.cpp -o hello

上面命令将 hello.cpp 编译并存储在 hello.exe 中,文件名通过 -o 进行选定。若被省略,输出文件默认为 a.out 若与某文件重名,则覆盖重名文件。

而你还可以用命令配合多个编译选项实现灵活的编译。例子:

$g++ -g -Wall -lm -O2 -std=c++14 hello.cpp -o hello

以上代码的意思也是将 hello.cpp 编译成 hello.exe 可执行文件,但是多加了几个编译选项:

代码 功能
-g 添加 gdb 调试选项,生成的文件中会带有调试信息
-Wall 打开所有警告
-lm 打开数学库文件,同 cpp 里的 #include<cmath>
-O2 对文件进行 O2 优化
-std=c++14 编译程序缺省源选择 c++14,因为这是 NOI Linux 2.0 中唯一的缺省源选项
-O0 关闭所有优化