1
2
3
4
| 会将各种硬件(CPU/内存)映射成文件
将运行程序进程的内存映射成文件
=> 也就是Linux系统在操作各种硬件、内存时都统一为了文件操作
|
1
2
3
4
| /bin 可执行命令程序的目录文件
/home 用户的家目录,可以包含n个用户的文件夹,默认就只有我们创建的登陆用户
/etc 系统配置文件目录, 比如:passwd(用户信息)
/usr 用户的安装程序目录, 相当于windows中的Program Files
|
1
2
| sudo apt install xxx
sudo apt remove xxx
|
1
2
| help: 查看内部命令的帮助文档
man: 查看外部命令(bin下)的帮助文档
|
1
2
3
4
| Ctrl + C 或 Q: 停止退出
Ctrl + L 或 clear: 清屏
Tab键: 补全
上下键:查找执行过的命令
|
1
2
| ls: 列出目录下的内容 =》 ll列出包含隐蔽文件在内的所有文件(夹)详细信息
cd: 进入目录
|
1
2
3
4
5
| mkdir: 创建文件夹
touch: 创建文件
rm: 删除文件或文件夹
cp: 拷贝文件或文件夹
mv: 移动文件或文件夹
|
1
2
| cat: 查看文件的所有内容
tail: 查看文件最后的部分行内容 =》还可以实时监视文件变化
|
1
2
3
| >: 输出重定向(覆盖)
>>: 输出重定向(追加)
|grep: 输出过滤
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| 文件权限是为了限制不同用户的操作级别,更安全
权限:读(r)、写(w)、执行(x)
文件:
可读:查看文件内容 r
可写:修改文件内容 w
可执行:可运行 x
注意:文件是可重命令和删除得看文件夹的权限
目录
可读:可以ls查看目录下的内容
可写:可以对目录内文件创建和删除,重命令目录
可执行:可进入
内部使用3个二进制位来存储权限:rwx
也就是:4:r, 2: w, 1: x
可以相加得到多个权限:3:wx 5: rx 6: rw 7: rwx
|
1
2
3
| SVN: 集中式,开发者本地不能进行版本控制,本地只有仓库的某个版本(一般最新)必须连接上中央仓库才可以
(必须联网)=》现在使用很少
GIT:分布式,开发者本地有仓库的所有版本,本地就可以进行版本控制(不受网络限制) =》基本都使用
|
1
2
3
4
5
6
| git init 初始化仓库,生成工作区 =》 生成 .git文件夹
git add . 将工作区的更新添加到暂存区
git commit -m "xxx" 将暂存区的更新提交到本地仓库
git status 查看工作区和暂存区的状态(是否有更新)
git reflog 查看历史版本信息
git reset --hard 版本号 得到指定版本的代码
|
1
2
3
4
5
| 1. 创建远程仓库
2. 将本地仓库的代码推送到远程
3. 克隆远程仓库生成本地仓库
4. 如果本地工作区代码有更新,要提交到本地仓库并推送到远程仓库
5. 如果远程仓库有更新,要拉取到本地仓库
|
1
2
| https: 每次推送都需要输入用户名和密码 (通过用户名和密码进行身份校验的)
ssh: 每次推送不需要输入用户名和密码(通过自动携带的私钥与保存在远程的公钥进行匹配校验的)
|
1
2
| 原因: 当2个人将修改推送到同一个分支时,如果修改了同一个文件,后操作的人就会产生冲突
解决:推送失败时先进行拉取,让工具做带冲突的合并, 先利用工具解决冲突代码(一般留下双方),再提交并推送。
|
1
2
3
| GNU C: C语言标准
glibc: C语言标准的实现
gcc: 将C语言程序处理成可执行二进制程序的编译器
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| 配置忽略:
指定git对哪些文件夹或文件不进行版本管理
.gitignore
创建本地仓库
git init
git add .
git commit -m "初始化项目"
创建远程仓库
在gitee上创建仓库
将本地仓库推送到远程仓库
git remote add origin url
git push -u origin 主分支
本地修改代码先提交到本地仓库再推送到远程仓库
git add .
git commit -m "xxx"
git push origin master
如果远程仓库有更新,拉取到本地
git pull origin master
克隆仓库
git clone https://gitee.com/zxfjd3g/linux_app
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| fopen(): 打开一个文件流
fclose():关闭文件流
fputc():向文件中写入一个字符
fputs():向文件中写入一个字符串
fprintf():向文件中写入指定格式的字符串
fgetc():读取文件中的一个字符
fgets():读取文件中的一个字符串
fscanf(): 读取文件中的一个特定格式的字符串,并保存到多个变量
stdin:读取终端的标准输入流
stdout:写到终端的标准输出流
stderr:写到终端的标准错误输出流
输出重定向:可以将stdout和stderr的数据重定向到不同的日志文件中
errno:错误编号, 后面可以根据strerrono得到错误信息
perror():输出错误信息
|