..

OI教程-Linux入门

0.什么是Linux

  • Linux是Linus Torvalds在1991年创造出来的操作系统,属UNIX系。

  • 狭义的Linux指Linux内核,开放一套接口供开发者调用,与硬件交互。

  • Linux可以在许多平台上运行,且功能强大。

  • NOI Linux 2基于大名鼎鼎的Ubuntu定制打包而来。具体版本为Ubuntu20.04LTS,即2020年4月发布的长期支持版,稳定性好,对老旧硬件极为友好。

  • Linux的换行符为 \n (换行),不同于Windows的 \n\r (换行回车)。

更多的请自行查阅相关资料

1.命令提示符

打开终端,你会发现如下字样:

user@computer: ~ $

其中 user 是用户名, computer 是主机名, ~ 是当前所在目录,为相对 $HOME 的相对路径。末尾的 $ 就是提示符了。

Linux中具有最高权限的用户是 root

2.基本命令使用

NOI Linux中默认使用的SHELL是BASH。

在Linux的各个虚拟终端间切换的快捷键是 Ctrl+Alt+Fn

man

可以查看一个命令的帮助手册,如 man man,即为查看man命令的手册。

q 退出。

--help

常用的命令选项,大多数命令都支持,如 man --help

打印帮助信息。

pwd

这个命令会显示当前所在的文件夹(绝对路径)。

uname

可以看到当前的系统信息。不出意外的话输出应该是 Linux 。可以加入命令选项 -a 查看详细信息

ls

这个命令的用处很大,可以看到当前目录下有那些文件与目录

有以下命令选项:

  • -a 显示包括隐藏的目录与文件

  • -l 列表格式(看起来更清爽,同时显示出更多信息)。

  • -h 人类可读。注意看文件大小那里。

命令选项是可以叠加的,如 ls -a -l -h 等同于 ls -alh

Linux系统严格区分大小写,但是文件和文件夹是可以同名的。 ls 命令的输出有多种颜色,文件与文件夹会以不同的颜色标注。

cd

切换到某个目录 cd <目录名>

如果不跟参数则回到 $HOME 目录。

特别地, . 表示当前目录, .. 表示上一层目录

cat

读取某个文件 cat <文件名>

mkdir

创建新的文件夹 mkdir <目录名>

touch

创建新的文件 touch <文件名>

rm

删除文件或目录 rm <文件或目录名> 。若删除目录,需要 -r 选项表示递归删除。

cp

拷贝文件或目录 cp <旧> <新> 。若拷贝目录,需要 -r 选项表示递归拷贝。

mv

移动文件或目录 mv <旧> <新> ,一般用来重命名。没有 -r 选项。

3.vim基础操作

vim是一款终端下的文本编辑器,功能十分强大。

输入 vim 进入vim界面。

vim有许多模式,如普通模式,插入模式,命令模式等。多按几次ESC ,你总能回到普通模式。

普通模式下无法编辑文本,可以按 : 进入命令模式输入命令,也可以按 ia 进入插入模式。

打开文件可以使用 vim <文件名> ,也可以在命令模式输入 :e <文件名>

保存文件,在命令模式输入 :w 。退出则是 :q

保存并退出可以是 :wqZZ:x

若要强制退出,使用 :q!

查找字符串,可以在普通模式下输入 /<string>

定位到某一行,可以在命令模式输入 :<line>

4.g++编译器基本操作

g++是一款编译器,可以将您的c++代码编译为可执行文件

Linux下的可执行文件没有固定扩展名,但不应该是 .exe.com (Windows下可执行文件)或 .dll (Windows下动态链接库)。

Linux同样提供gdb来调试程序,此处不过多展开。

5.执行文件

ls -l 命令会显示文件及目录的权限。格式为 drwxrwxrwx

若有 d ,则为目录;若有 x ,则为可执行文件。

假如现在有可执行文件 a.out

其权限就可以是 -rwx------

执行: ./a.out

从文件(1.in)中读取作为标准输入: ./a.out < 1.in

将从标准输出内容保存到文件(1.out): ./a.out > 1.out

其他例子,如将ls的结果保存到文件: ls > lslog.txt

使用 > 默认每次覆盖。若在原文件的末尾追加,请使用 >>

Linux中可以使用ps列出当前在运行的进程以及其资源占用率。

使用kill可以终止一个进程 kill < name | pid >

使用time命令可以获取程序运行耗时。如 time ./a.outreal 最接近真实的耗时。

写在最后

这篇教程旨在带您快速入门linux,

有不完善之处还请指出。

祝各位OIer获得理想的成绩。

odorajbotoj's blog © 2025 by odorajbotoj is licensed under CC BY-NC-SA 4.0