Linux基础复习

来源:互联网 发布:gal翻译软件 编辑:程序博客网 时间:2024/05/20 20:01

1、Linux下一切皆文件
-普通文件
d目录文件
p管道文件
c.b设备文件
L链接文件
S套接字文件

2、文件名颜色对应的文件类型
绿色 —— 可执行文件
黑色 —— 普通文件
蓝色 —— 目录
红色 —— 压缩文件
黄色 —— 设备文件
灰色 —— 其他文件
浅蓝色 ——链接文件
红色闪烁——链接文件有问题

3、文件访问权限有3组(每组3位)
这里写图片描述

4、系统运行级别(0~6)
0 关机
1 单用户模式
2 不带网络的多用户模式
3 完整的多用户模式,优先进入文本字符界面
4 保留,用户可以自定义
5 图形界面多用户
6 重启系统

ps:切换系统级别用init命令,runlevel 查看当前系统运行级别

5、文件编译链接过程命令

gcc -c main.c         //编译main.c文件为main.ogcc -o main main.o    //链接main.o为main./main                //运行main程序gcc -o main  main.c     //一步完成编译链接过程(在bin目录下的ls ps pwd等命令也是程序,且不用加绝对路径,直接运行。如果把main拷贝到bin目录下,效果等同)

6、makefile的使用

all:mainmain:max.o add.o main.o    gcc -o main.o max.o add.omain.o:main.c    gcc -c main.cmax.o:max.c    gcc -c max.cadd.o:add.c    gcc -c add.cclean:    rm -rf *.o main

每次的空格需要按“Tab”键,而不是“Space”

7、GDB调试
Linux下默认为release版本,不带调试信息
所以需要程序员自己加入调试信息

gcc -o main main.c  **-g**gdb main          //调试mianL        //显示代码b+行号    //下断点info break   //显示断点r     //运行程序p a     //跟踪变量as     //进入下一个函数n      //下一步,单步执行finish    //跳出函数q     //退出bt    //查看函数调用堆栈delete 1    //删除断点c      //继续操作(下一个断点处停止)

8、写时拷贝
说到写时拷贝,不得不提fork( )函数
pid_t fork(void)
fork()被调用一次,返回值为两次,父进程返回的是子进程的pid,子进程的返回值为0,子进程是父进程的副本,子进程获得父进程数据空间、堆和栈的副本。子进程也拥有自己的存储空间,父子进程不共享存储空间

写时拷贝:fork并不执行父进程的数据段、栈和堆的完全复制,这些区域由父子进程共享,内核将他们的访问权限改变成只读,如果父子进程中的任一个视图修改这些区域,内核只修改区域的那块内存制作一个副本,再更新页表。

9、ping命令用的什么协议
ICMP(Internet Control Message Protocol)网际控制报文协议,是TCP/IP协议族中的一个子协议

10、常用的熟知端口号

FTP    TELNET   SMTP    DNS    TFTP   HTTP    SNMP   21      23      25      53      69     80      161
原创粉丝点击