Linux学习视频网址:
https://www.bilibili.com/video/BV1dt411f7TZ?p=61
这个视频讲解Linux很全面
##磁盘说明
压缩命令
tar 参数:
c — 创建 ----压缩
x----释放----- 解压缩
v----显示提示信息 ---- 压缩解压缩 ----- 可以省略
f ---- 指定压缩文件的名字
z ---- 使用gzip的方式压缩文件— .gz
j ---- 使用bzip2的方式压缩文件— .bz2
压缩命令:
tar zcvf 生成的压缩包的名字(xxx.tar.gz) 要压缩的文件或目录
tar jcvf 生成的压缩包的名字(xxx.tar.bz2) 要压缩的文件或目录
解压命令:
tar zxvf 压缩包的名字(xxx.tar.gz)
tar jxvf 压缩包的名字(xxx.tar.bz2)
需要添加-C 是大写的
tar zxvf 压缩包的名字(xxx.tar.gz) -C 解压到指定的目录下
tar jxvf 压缩包的名字(xxx.tar.bz2) -C 解压到指定的目录下
Linux的桌面显示和文字终端界面切换
CTRL + Alt +F1到F7
F1 到F6–都是文字终端
F7 --是桌面终端
Linux查看进程的命令ps
ps aux |grep aaaa
kill杀死进程的命令
kill -l 查看杀死进程的信号。
查看当前进程的环境变量
env — 查看当前进程的环境变量
Linux下环境变量的格式 key - value
Linux中网络地址
ifconfig – 查看网络状态;
nslookup —查看域名的IP地址;
nslookup www.baidu.com
Linux中的其他命令
alias — 查看命令是否封装例如查看 ls命令
alias ls
vim的快捷键
=================================================================
vi 快捷键====
删除多行
行数 dd
复制— yy,复制多行n yy
粘贴----p
命令模式下的操作:
1>光标的移动
H J K L
前 下 上 后
行首:0
行尾:$
文件末尾:G
行跳转:300G
2>删除操作
删除光标后边的字符:x
删除光标前的字符:X
删除光标当前行:dd
删除多行ndd(n----自然数)
3>.撤销操作,
撤销:u
反撤销:ctrl + r
4>.复制粘贴
复制:yy
复制多行:nyy
粘贴: p(光标所在行的下一行)
粘贴:P(光标所在行)
剪切 = 删除
5>.可视模式
切换到可视模式:v
选择内容:hjkl
操作:复制:y 删除:d
6>.查找操作
1) /hello
2) ?hello
3) #----把光标移动到查找的单词上,按#键
遍历时候的快捷键:N/n
7>. r:替换当前字符
linux中的makefile规则
================================================================
makefile 编写
1.makefile命名,小写的makefile
2.makefile规则:
规则的三要素:目标,依赖,命令;
例子1:
目标:依赖条件
命令 ##命令前面是一个tab空格
app:main.c add.c
gcc main.c add.c -o app
例子2: 生成终极目标要写在最前面
app:main.o add.o
gcc main.o add.o -o app
main.o main.c
gcc -c main.c
add.o:add.c
gcc -c add.c
####例子3: makefile中添加变量
obj=main.o add.o
app:$(obj)
gcc $(obj) -o app
%o:%.c
gcc -c $< -o $@
makefile中的自动变量
$<:规则中的第一个依赖
$@:规则中的目标
$^:规则中的所有依赖
只能在规则的命令中使用
CPPFLAGS------预处理器需要的选项,如: -I 指定头路径
CFLAGS ------编译的时候使用的参数,如:-wall -g -c
LDFLAGS ------链接库使用的选项,如:-L -l
CC = cc可以修改CC的默认值为其他的值。
1.makefile中的函数使用
- wildcard----是获取所有.c的一个函数
./*.c --是当前路径的所有函数
src=$(wildcard ./*.c)
2)patsubst-----匹配替换函数
例子:
把所有的.c匹配替换成.o
那第一参数中的所有.c是从第三个参数$(src)获取到的
obj=
(
p
a
t
s
u
b
s
t
.
/
(patsubst ./%.c,./%.o,
(patsubst./(src))
然后obj对应的值就是obj = main.o add.o mul.o了
2.makefile中添加伪目标,就不会比较clean
.PHONY:clean
%.o:%.c
gcc -c $< -o $@
使用%.o:%.c的执行顺序如下,