Linux系统和C语言简介

Linux系统和C语言简介

目录

1.1开发环境
2.1 Linux系统介绍
2.2 Linux系统命令
3.1 Vim文本编辑器
4.1 C语言简介
4.2第一个C程序
4.3 gcc编译器

1.1开发环境

1.Vitrubox 虚拟机
2.Ubuntu 12.04 LTS (长期支持版本)
3.Vim 代码编辑器
4.Gcc编译器

2.1 Linux 系统介绍

Linux是一套开放源代码程序的、并可以自由传播的类Unix操作系统软件。(Unix系统是Linux系统的前身,具备很多优秀特性)。
BCPL ->newB->C(第一个高级语言)->UNIX->Minix(UNIX删减版 免费)->Linux(开源)->gcc(Linux编译器)
因为在Linux系统中“一切皆文件”,即在Linux系统中不管是目录、应用程序等都是文件,而且在Linux系统中,磁盘只有一个分区(根目录 /),所有文件都在根目录中,所以Linux管理硬盘的能力非常强大。
bin 存放系统命令文件的目录
Media 多媒体目录、U盘、光盘、挂载的目录
Home 用户主目录,系统自动生成,名字与用户名相同
Usr 存储头文件

. 当前目录
. . 上一级目录
~ 用户主目录
需要注意的是:Linux系统的目录结构是倒悬树型的,目录的切换只能是父子目录,兄弟目录不能直接切换。

2.2 常见的Linux系统命令

终端操作快捷键:
Ctrl Alt T 打开终端
Ctrl Shift T 新建一个终端
Tab 自动补全指令,如果没有补全,可能没有没有候选或有两个及以上候选,连按2下tab键就会显示所有候选。
Up/down 方向键可以调出命令执行记录
!cmd 把之前的命令在执行一次
Home/End键 光标跳转行首或行尾
Crtl - /Ctrl Shift + 缩小字体/放大字体
Ctrl h 显示隐藏文件(.开头)
Ctrl L 清理屏幕
常见的Linux系统命令:
cd 进入指定目录

ls 显示当前目录下的文件
-l 显示文件详细信息
-a 显示隐藏文件
man [n] key 查看man帮助手册
[n] = 1 系统命令
[n] = 2 系统调用
[n] = 3 C语言标准库函数
文件相关命令:
touch 创建文件
rm 删除文件(不经过回收站)
cp /[filename]复制粘贴(重命名)
mv /[filename]移动(重命名)
cat 把文件所有内容显示到屏幕,适合较小文件(终端回滚有上限)
more 按页显示文件,enter加载下一行,空格加载下一页,q键退出
head 只显示文件开头十行,适合查询头文件
tail 只显示文件结尾十行。
目录相关命令
mkdir -p 创建目录,-p创建多级目录
rmdir 删除空目录
rm -rf 删除非空目录
cp -frp 拷贝目录
mv 移动(重命名),不需要额外参数
网络相关命令:
ifconfig 查询网络配置,windows使用ipconfig
ifconfig eht【n】 down 禁用网卡 [n]为网卡编号
ifconfig eht【n】 up 启用网卡
ifconfig eht【n】 xxx.xxx.xxx.xxx netmask 255.255.255.xxx 配置ip地址和子网掩码
ping xxx.xxx.xxx.xxx 测试网络是否联通 ctrl+c结束 127.0.0.1,代表本机 windows下默认只执行四次,加/t参数会持续执行
telnet xxx.xxx.xxx.xxx 远程登陆服务器
输入用户名、密码 明文传输安全性低 速度快
ssh [用户名]@xxx.xxx.xxx.xxx
输入密码: 首次登陆询问是否保存密钥
exit退出
其他命令:
chmod 修改文件权限
用法1:chmod mmm
m = r4 w2 x1
第一个m代表属主(文件创建者)的权限
第二个m代表属组的权限
第三个m代表其他用户权限

用法2:chmod +|-rwx 所有用户的权限同时修改
ln 创建链接文件默认创建的是硬链接,链接的是文件的内容,链接目标被删除后,链接文件依然正常访问
ln -s 创建软链接,源文件删除后无法打开链接文件
目录无法创建硬链接,可以创建软连接
find [path] -name 按文件名查找文件
grep <“key”> 按关键字从文件中查找内容
tar 压缩/解压文件
tar -zcvf pack.tar.gz(压缩包名 .tar.gz为固定拓展名) 压缩某几个文件
tar -zxvf -c pack.tar.gz <…> 解压到指定路径

通配符、管道、重定位
通配符: * 任意多个字符
?任意一个字符
grep <“key”> /*
管道: 把一个命令的执行结果作为另一个命令的执行源
ls -a | grep “key”
find / | grep “key”
重定位: 把命令的执行结果直接写入文件而不显示
cmd > filename创建或清空文件并写入结果
cmd >> filename在文件内追加写入结果(也可创建)

3.1 vim文本编辑器

vim是文本编辑器之神,非常适合程序员使用。
准备工作安装vim:
在终端中执行如下命令:
sudo apt-get install vim
删除:
x/del删除一个字符
nx删除n个字符
dw/de删除一个单词
d$/D删除到行尾
d^删除到行首
dd删除一行
ndd删除n行
移动:
P粘贴到光标前
p粘贴到光标后
复制:
yw/ye复制一串字母
yy复制一行
nyy复制n行
替换:
r替换一个字符
cw/ce替换一串字符
R进入替换模式
撤销:
u撤销
U撤销本行所有操作
ctrl+r取消撤销
插入:
i在光标前插入
I在行首插入
a在光标后插入
A在行尾插入
o在下一行添加空白行并插入
O在上一行添加空白行并插入
插入模式下操作:
ctrl+u删除到行首
ctrl+p/n自动补全
行底模式操作:
:w保存
:q退出
:wq保存并退出
:q!强制退出
:x保存退出,不会保存对密码的修改
:X加密
:set key= 删除密码,要使用wq保存才有效
:!cmd
:/key 查找关键字,n/N切换
:set nu/nonu 显示/隐藏行号

Ctrl z保存
Ctrl x执行代码。
4.1C语言简介
C语言诞生与1970~1973年,由丹尼斯.里奇和肯.汤普逊编写完成,为美国贝尔实验室所有。
C语言是专门为了编写操作系统而诞生的,因此天生适合对硬件编程,也非常适合数据结构和算法的实现,以速度快著称。
由于C语言出现的时间早(第一个高级语言),所以C语言的自由度很高,但也有很多的危险和缺陷。

4.2第一个C程序

Hello World程序
//把头文件导入到当前文件
#include
/程序员所写的代码并不是标准C代码,需要一段程序把它翻译成标准C代码,负责翻译的程序叫做预处理器,翻译的过程叫做预处理,被翻译的语句叫做预处理指令,以#开头的都是预处理指令/

int main()
{
printf(“Hello World\n”);
return 0;
}

5.1 gcc编译器

编译器负责把人能看懂的文本文件翻译成计算机能看懂的二进制文件。
由预处理器、编译器、链接器组成
gcc是由GNU组织为了编译Linux内核而开发的免费的编译器
常用参数:
-std=gnu99 设置编译语法标准
-E 指对文件进行预处理,并宣示结果
-c 只编译不链接
-o 指定输出的结果名字
-S 对文件进行汇编操作
-I(i) 指定头文件的查找目录
-l(L) 使用指定代码 -lm math.h
-g 编译时添加调试信息
-wall 尽可能多地警告
-werror 把警告当做错误处理

C语言代码变成可执行程序的过程:

	预处理;	把源文件翻译成预处理文件
		gcc  -E code.c	把源文件预处理后的结果显示屏幕上
		gcc -E code.c -o code.i  ->	生成以.i结尾的预处理文件

	编译:	把预处理文件翻译成汇编文件
		gcc -S code.i ->	code.s 生成以.s结尾的汇编文件

	汇编:	把汇编文件翻译成目标文件
		gcc -c code.s ->	code.o生成以.o结尾的目标文件

	链接:	把若干个目标文件合并成一个可执行文件	a.out
		gcc a.o b.o  c.o ->	a.out 生成a.out可执行文件
C文件类型:
	.c  	源文件
	.h	头文件
	.gch	头文件的编译结果,一般删除
	.i	预处理文件
	.s	汇编文件
	.o	目标文件
	.a	静态库文件
	.so	共享库文件

你可能感兴趣的:(知识总结,linux,vim,c语言)