1.基础命令:
LINUX磁盘上文件的组织结构-->倒状树
/bin 系统命令对应的可执行文件
/etc 系统的配置目录 配置文件
/mnt 临时挂载点
/dev 设备目录
/proc 虚拟目录 以进程为到位存储内存数据的映射
/usr unix system resource 系统资源文档 第三方软件的资源 文档 #include<stdio.h>
/home 普通用户的家目录
/root root用户的家目录
/lib 库文件(静态库 共享库(动态库))
/boot 系统启动时所需的核心镜像文件
Linux的文件类型:
普通文件(-) 目录文件(d) 链接文件(l) 管道文件(p) 设备文件(块设备b,字符设备c,套接字s)
链接文件分为软链接文件和硬链接文件。
硬链接文件-->普通文件-->源文件别名-->inode相同-->同一个文件-->大小相同
软链接文件-->链接 文件-->源文件的快捷方式-->inode不同-->记录文件的存储位置-->大小不同(链接时源文件字符大小长度)
管道文件:虽然在磁盘上有一个管道文件标识(inode),但是使用时,其数据不会在磁盘上,而是在内存中
应用在进程间通信-->有名管道(有权限访问这个管道的两个进程之间)
无名管道应用在有关系的进程之间(兄弟进程,父子进程)
每一个文件占据一个inode结点(属性,内容所包含的block号码),inode相同最后文件同一个。
文件权限:
linux系统的权限管理方式-->系统上的每一个文件对不同用户提供不同的访问权限。
访问文件的用户分为三类:所有者 同组用户 其他用户
基本权限有r(读),w(写),x(普通文件执行,目录文件可进入),-(无)
特殊权限s,t
基础命令:pwd,cd,ls
文件操作命令:touch,mkdir,rm,rmdir,cp,mv,chgrp,chown,cat,more,less,head,tail(root有权限,chgrp修改文件组,chown修改文件所属者)
chmod 修改文件权限
tar 文件压缩与解压
vi/vim 文件编辑-->命令模式 末行模式
find 文件搜索(根据权限,用户,文件最后修改时间,大小)
进程管理:
路径+可执行文件名-->前台执行
路径+可执行文件名+&-->后台执行
ps -efL(e查看系统所有进程信息,f全格式形式打印,L线程号)
管道命令和过滤命令(ps -ef|grep stu)
kill 结束一个进程 kill -9(默认) -15
pkill 结束一组进程
jobs 显示后台执行任务
fg bg 前后台之间的切换
kill -stop pid 挂起进程
top 动态显示进程运行信息及资源统计信息
free 显示系统运行的统计信息(内存 buffers/cache swap)
网络命令:ping 看主机是否能ping通(后面跟ip地址或域名)
ifconfig/ip 显示或设置网络设备
netstat/ss 显示网络相关信息
service 启动服务(重启/关闭)
Linux系统上C/C++代码的编译链接:
gcc和g++的使用:
预编译:gcc -E *.c -o *.i 1.替换注释(注释换空格)2.预编译指令 3.#include #if #endif 4.宏替换(常量)
编译:gcc -S *.i/*.c--->*.s 1.词法语法的解析(符合C/C++语法规则)2.符号汇总 3.翻译成汇编指令 4.代码优化 const在C里面常变量,c++里面是常量)
汇编:gcc -c *.s/*.c-->*.o(中间文件)1.生成各个section 2.生成符号表 3.翻译成二进制
链接:gcc *.o/*.c -o name(可执行文件的名称) 1.合并各个section,调整段大小以及段起始地址,合并符号表,进行符号解析,并且给符号分配虚拟地址 2.进行符号重定位(在所有用到符号的位置换成符号虚拟地址)。