Linux相关
目录
一、编译环境
虚拟机:虚拟出来一个独立的,能够完整运行的,具有完整的硬件系统功能,独立的运行在PC,占用一部分PC的运行内存和硬盘。
Linux系统:(内核),管控着系统的内存管理,网络管理,驱动管理,进程管理。这时候还不能成为一个完整的系统,需要加上GNU(软件项目组)。发布的时候是按照源代码发布的,需要转化成电脑可以识别的二进制指令,转换的过程是开发者进行的,所以每个系统的名字可能不一样。
二、认识终端
(一)打开终端的方式:
鼠标点击
(二)快捷指令:
打开终端:ctrl+alt+t
放大:ctrl+shift+(+)
缩小:ctrl+(-)
linux@ubuntu:~$
Linux:用户名
@:分隔符,无意义
Ubtunu:系版本
:分隔符
~:家目录:工作目录,所有的东西都在这下面进行home/linux
/:根目录,只有一个根
$:代表用户的身份:普通用户
#:超级用户
(三)Windows和Linux的区别:
(1)磁盘分区的区别
(2)路径的区别
Windows \
Linux /
/home/linux/22121/day1/ 从根目录开始的路径称为绝对路径
(3)操作方式
Windows——鼠标操作
Linux——终端
(四)切换用户的指令
Sudo su root:普通用户切换为超级用户
退出超级用户:exit 快捷键:ctrl+d
(五)基本指令
(1)创建文件夹:
mkdir 文件夹名 创建成功后,颜色是蓝色
mkdir-p 文件夹1 文件夹2……(同一级创建文件夹)
mkdir-p 文件夹1/文件夹2/文件夹3 递归创建文件夹
(2)进入文件夹
cd 文件夹名——进入文件夹
cd1/2/3——进入文件夹3
返回上一级文件夹:cd..( . ——是当前目录 .. ——是上一级目录)
(3)删除文件夹(空的)
rmdir 文件夹名
rm -i (删除前询问是否要删除)
y确定删除 n不删除
(4)删除文件夹(非空)
rm-r -r(强制删除)
(5)ls 查看目录下的文件
1.ls -a 查看文件目录下所有文件,包括隐藏文件(以点开始的文件称为隐藏文件) a-all
2.ls-l 文件夹下的内容全部以清单的方式列出来
蓝色——>文件夹
白色——>普通文件
绿色——>可执行程序
对于22091来说 d rwx rwx r-x (1+3+3+3)
对于1来说:代表的是文件的属性
linux七种属性文件
b(block):块设备文件
c(char):字符文件
d(directory):目录文件 蓝色
-:普通文件 白色
l(link):链接文件
s(sock):套接字文件
p:管道文件
第一个3:代表用户的权限 rwx 换成2进制7
第二个3:代表用户组的权限 rwx 7
第三个3:其他用户的权限 r-x 5
775是22091的权限
3.ls –help 为ls的帮助文档
(6)touch + 文件名 创建普通(空)的文件
touch 1.txt
(7)mv 文件名/文件夹名 路径
当路径的文件或文件夹不存在的时候,相当于重命名
(8)cp 文件1 文件2 拷贝
cp 1.c day1/ 将1.c复制到day1中
Cp -r 拷贝文件夹非空也可以
(9)vim/vi 文件名——创建一个文件并打开
(10)pwd 查看路径的命令
1.绝对路径:从根目录开始
2.相对路径:不从根目录开始
(11)Tab键自动补全
第一次自动补全;
按两次自动补全
按一次Tab不能补全,再按一次将以….开头的全部显示
(12)cat查看比较小的文件
(13)more比较适合大的文件
按space(空格)向下走一页
按enter(回车)向下走一行
按Q退出
(14)clear清屏
(15)关机/重启
reboot 重启
shutdown -h now 关机
三、Vim编辑器
可以写代码
命令行模式 插入模式 底行模式
yy——复制一行
nyy——复制n行
p——粘贴
u——撤销一次操作
dd——删除一行
ndd——删除n行
w 保存 wq(write quit)保存并退出 x == wq q!(强制退出)
set nu——设置行号 set nonu——不设置行号
range :s/str1/str2/gc
range :代表的是范围 %代表全部行 . 代表当前行 $代表最后一行
s:替换命令
str1:原来的字符串
str2:新的字符串
g:可选择,有的话替换的时候所有行都替换,没有就替换遇到的第一个字符
c:可选择,执行前进行询问
四、gcc编译器
当我们进行gcc 2.c的时候,一共经过了四个步骤。预处理,汇编,编译,链接
预处理阶段:展开头文件,替换宏,去掉注释
gcc-E 2.c-o 2.i c文件
汇编阶段:
gcc-S 2.i-o 2.s 汇编文件
编译阶段:
Gcc-c 2.s-o 2.o 机器文件
链接阶段:
gcc 2.o-o a.out 生成a.out的可执行文件
一般将前三步称为单独编译不链接
gcc一次就会产生新的可执行文件,这个可执行文件会覆盖掉之前的可执行文件。
五、计算机的基本组成结构
Cpu 显示器 内存 硬盘
Cpu:寄存器
逻辑运算器:任何复杂的程序都能看成逻辑和算术运算
控制器:读取指令
寄存器:存放指令
内存:内存小,运行速度快,掉电不保存
外存:内存大,运行速度慢,掉点保存
- out是程序,2.c是源代码
进制转化
二进制(B)八进制(O)十进制(D)十六进制(H)
C语言手册 MAN手册
相当于说明书
- 可执行程序或shell命令
- 系统调用(内核提供的函数)
- 库调用(程序库中的函数)