最初学习C语言用的是Visual C++6.0,后来还用过一些IDE,复制粘贴都可以用鼠标对目标进行选择即可。但在Linux系统里,需要熟练掌握在Terminal里编写C语言程序,进行编译调试。本章主要介绍在Linux的终端下编写C程序并编译运行。
一,编写C时需要掌握的一些Linux操作
(1)文件管理相关的命令
Linux命令名称 | 作用 | 使用举例 |
mkdir | 新建文件夹 | mkdir test,mkdir -p test1/test2/test3 |
cd | 更改当前的工作目录 | cd test |
ls | 列出文件夹下包含的文件信息 | ls,ls -R,ls -a,ls-l |
pwd | 查看当前工作目录 | pwd,pwd -P |
cp |
拷贝文件 | cp test1.c test2.c,cp test1.c ../test2 |
rm | 删除文件或文件夹 | rm test1.c,rm -r test |
mv | 移动文件 | mv test1.c ./test2 |
cat | 查看文件内容 | cat test.c,cat -b test.c,cat -s test.c |
touch |
创建文件或更新文件时间 | touch test.c,touch test.c test.c |
(2)使用Linux的vi编辑器
1)Linux下的vi编辑器分为三种模式,分别为一般模式、插入模式、底行指令模式,进入三种模式的方法分别如下:
一般模式(刚进入的模式) | 进入vi时的模式,当前为插入模式下按ESC键可到一般模式 |
插入模式(或称为编辑模式) | 按下A,a,I,i,O,o进入(有所区别,按照效率选择) |
底行指令模式 | :,/,?(用的:和 / 较多) |
插入模式用来编辑代码内容,一般模式用来复制、粘贴、删除等操作,底行命令模式主要用来保存文件、退出、查找文本内容等。
2)vi编辑器的一些操作指令
一般模式下 | 底行指令模式下 |
[N]dd:剪切行内容。 [N]yy:复制行内容。 [N]x:剪切从光标处开始的N个字符。 p或P:粘贴当前行内容,小写p是向下粘贴,大写P是向上粘贴。 u:撤销上一步的操作。 ([N]表示光标处向下N行的内容,例如5yy表示复制包括光标所在行向下5行的内容) h,j,k,l分别表示向左,向下,向上,向右。 1G和G分别指光标移动到首行和最末尾行。 y0,y$分别表示复制光标到行首部分的内容和光标到行尾部分的内容。 d0,d$分别表示剪切同上方式。 |
:w 保存内容。 :q! 强制退出。 :q 退出未修改的文件。 :x保存并退出(也可以用:wq)。 :w 文件名 另存为文件名的文件。 :r 文件名 读入文件内容插入到当前光标位置。 :N 光标移动到第N行。 :set nu显示行号。 :set nonu不显示行号。 /string 查找字符串(通过n或者N分别向下或反向查找)。 :s/string1/string2 将字符串string1替换为string2。 (注:可以是“:起始行,结束行 :s/string1/string2 ”来将某一范围内的字符串替换,在末尾如果加/g表示所有找到的字符都替换。) :!+Linux命令 可执行Linux命令,执行后可再次回到编辑界面。 |
对于复制和粘贴也可通过“起始行,结束行”+y(或者d)的方式对某一部分块进行复制(剪切)。
二、使用vi编辑器编写C程序
(1)打开Terminal(终端),建立相关目录,在该目录下执行“vi test.c”,将新建一个名为test.c的文件并进入(此时未保存,保存后该文件才存在)。
(2)使用前文提到的命令编写C程序,保存并退出。
(3)使用 gcc test.c -o test 和 ./test 编译生成文件并运行。
小技巧:
(1)打开Terminal可以快捷方式Ctrl+Alt+T,或者使用Search搜索Terminal。
(2)输入时可以使用Tab键补充文件名。
(3)gcc后面可加 -Wall,提示错误信息。