man 手册
1 Executable programs or shell commands //shell命令2 System calls (functions provided by the kernel)//系统调用
3 Library calls (functions within program libraries)//库调用
4 Special files (usually found in /dev)特殊文件,如驱动文件
5 File formats and conventions eg /etc/passwd
是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
6 Games7 Miscellaneous (including macro packages and conventions), e.g.
man(7), groff(7)杂项(包括宏包和约定)
8 System administration commands (usually only for root)系统管理用的命令
9 Kernel routines [Non standard]内核
用法:
man -f command 显示man程序的所有手册
例如:man -f kill
man n command 显示指定章节的手册
man -a command 显示所有章节的手册
man -w command 显示手册所在的路径
man -aw command 结合-a参数显示所有章节的手册路径
linux基本命令:
常用指令
ls 显示文件或目录
-l 列出文件详细信息l(list)
-a 列出当前目录下所有文件及目录,包括隐藏的a(all)
mkdir 创建目录
-p 创建目录,若无父目录,则创建p(parent)
cd 切换目录
touch 创建空文件
echo 创建带有内容的文件。
cat 查看文件内容
cp 拷贝
mv 移动或重命名
rm 删除文件
-r 递归删除,可删除子目录及文件
-f 强制删除
find 在文件系统中搜索某文件
wc 统计文本中行数、字数、字符数
grep 在文本文件中查找某个字符串
rmdir 删除空目录
tree 树形结构显示目录,需要安装tree包
pwd 显示当前目录
ln 创建链接文件
more、less 分页显示文本文件内容
head、tail 显示文件头、尾内容
ctrl+alt+F1 命令行全屏模式
http://www.cnblogs.com/laov/p/3541414.html
vim 编辑器
① 其它模式==>正常模式按 Esc键②正常模式==>插入模式按 a 在光标后插入按 s 删除光标所在的字符再插入按 o 在当前行之下新建行
③ 正常模式==>命令模式按 : (shift 加 :)④ 正常模式==>可视模式按 v 可视模式
保存退出:在命令模式下,按shift+: , wq(回车) q!(强制退出)
代码编译过程:
预处理-->编译(汇编码)-->汇编(机器码)-->链接(可执行文件)
预处理:(将include里面的内容解出来,删除注释块,处理#if end 等,添加行号,保留pragma编译指令 )
gcc hello.c -E -o yuchuli
编译(汇编码):(语法检查,生成相应汇编)gcc hello.c -S -o bianyi
汇编(机器码):(将汇编程序变成机器码)gcc hello.c -c -o huibian
链接(可执行文件,分为动态库 和静态库):gcc hello.c -o lianjie
生成可以执行代码的快速方法:gcc hello.c -o hello
gcc:编译工具(不可变)Linux 下可用的编译器有 GCC、EGCS 和 PGCC,其中最常用的编译器便是 GCC。
GCC 起初是 GNU 推出的 C语言编译器,用于类 Unix 系统下的编程,所以名为 GNU C Compiler 。
随着众多*开发者的加入,GCC 发展迅速,如今已成为一个支持众多语言的编译器了,其中包括 C、C++、Ada、Object C 和 Java 等,以至于 GCC 开始被扩展为 GNU Compiler Collection ,也就是“GNU 编译器集合”的意思。
hello.c:源文件(不可变,要跟你编写的文件一致)-o:指定hello:可执行文件(可变的,不可以跟源文件同名)
代码运行:./hello (./可执行文件)
linux C代码注释
// .............. 行注释
/* ............代码块; 块注释.....*/
1 2 2/4 4 8 4 8 1
基本数据类型:char short int long unsigned(char short int long )long long float doublebool(true false)
sizeof() 关键字,计算数据类型的长度
因为不同系统,数据类型的长度会有所改变,但字符类型都占一个字节,因为遵循ASCII码
char:字符类型 1字节Byte = 8bit 4Mb/s
Byte是字节数,bit是位数,在计算机中每八位为一字节,也就是1Byte=8bit,是1:8的对应关系。因此1MB/s等于8Mbit/s。因此在在书写单位时一定要注意B字母的大小写,尤其有些人还把Mbit/s简写为MB/s,此时B字母的大小真可以称为失之毫厘,谬以千里。 上面这是一般情况下MB/s与Mbit/s的对应关系,但在硬盘的数据传输率上二者就不能用一般的MB和Mbit的换算关系(1B=8bit)来进行换算。比如某款产品官方标称的内部数据传输率为683Mbit/s,此时不能简单的认为683除以8得到85.375,就认为85MB/s是该硬盘的内部数据传输率。因为在683Mbit中还包含有许多bit(位)的辅助信息,不完全是硬盘传输的数据,简单的用8来换算,将无法得到真实的内部数据传输率数值。
unsinged char (0~255)
32位系统
(1负,0正)
char(-128~127) -2^7 ~ 2^7-1
负数的存储:负数在系统当中以补码形式存储
负数的反码:原码(可以理解为负数绝对值)取反 补码:反码+1
short (-2^15 ~ 2^15-1)int (-2^31~2^31-1)
char ch = 'W';存字符
char ch = 55;存整形数据;
具体查询 man ascii
数据的输入及输出数据类型格式
d-->整形
u-->无符号整形
f-->浮点形
c-->字符形
s-->字符串形
p-->指针类型 %p 表示指针的地址
o-->整数形(八进制)
x-->整数形(十六进制)
e-->科学计数法数据(浮点形)
转义字符
控制流:while do-while for if-else continue break switch-case goto
whilewhile(表达式) //先判断再运行 i!=0
{
....; //代码块
}
while(1); //代码停止在这里;代码一直循环,不停的重复while(0); //代码往下运行
表达式:如果表达式为真,则运行代码块,否则不运行举例:1~100加法运算
do-whiledo
{
...// 代码块
}while(表达式) 无论如何都会执行一次
1、用do-while来计算1到100的加法运算(修复输入时的debug)
for 循环for(表达式1;表达式2;表达式3)
在表达式1不能定义变量表达式1:初始化相关变量,只会执行一次 i=0,j=2,n=56;表达式2:条件判断(为真运行循环体,否则退出循环体)表达式3:变量变化for(表达式1;表达式2;表达式3)==for(表达式1;表达式2;){
表达式3;//是代码最后一行代码
}
for(;;) == while(1) 若 for里面都是空的话,相当于while{ {
}
}
for(int t;t>0;t--) 等价于 for(int t;t>0;){
{
}t--;}
运用for循环计算n的阶乘(n从键盘输入)n! = 1x2x3x..n
if(表达式){
}else{
}
if-else:最近原则匹配
break,continuebreak-->运用switch或者是循环中(终止循环,跳出循环)continue -->只能用循环体之中,终止本次循环,进入一次循环
swich(x)
{
case x : ;
}
X必须是整形 或者字符形