1.Linux命令
Linux中一切皆文件。
两大特殊目录:1. / 根目录 2. ~ 家目录
快捷键:放大终端: ctrl shift +
缩小终端:ctrl -
清屏:ctrl l
查看用户名:whoami
查看主机名:hostname
当前路径:pwd
绝对路径:从根目录开始
相对路径:以当前位置为参考 比如:a/b/c
$:普通用户
#:超级用户
新建:
文件夹:mkdir xxxx
文件:touch test.c
相同路径下不能创建同名文件夹,但对于文件来说,这是更新时间戳。
新建多个文件/文件夹
mkdir aa bb cc(中间空格隔开)
touch 1.c 2.c 3.c
新建多层嵌套
mkdir -p a/b/c
查看
ls 查看当前路径下的所有内容
ls -l 查看当前路径下的所有内容以及详细信息
ls -a查看当前路径下的所有内容以及隐藏文件
文件类型
bcd-lsp
b:块设备文件 /dev
c:字符设备文件 /dev/input
d:目录文件 文件夹
-:普通文件 像.c .h .txt这类的文件
l:软链接文件 <Linux高级>
s:套接字文件 <网络编程>
p:管道文件 <IO>
文件权限:
rwx:可读可写可执行 r--:只读
三组:rwx(自己) rwx(组内) rwx(其他)
r:4 w:2 x:1 -:0
chmod 777 test.c 既是将test.c文件设置为(自己,组内,其他)均可读可写可执行。
切换:
下一级:cd 文件夹名
上一级:cd ..
当前:cd .
根目录:cd /
家目录:cd ~
复制
文件: cp 要复制的文件 目标位置
文件夹:cp -r 要复制的文件夹 目标位置
移动
mv 要移动的文件/文件夹 目标地址
重命名:mv 要移动的文件/文件夹 目标地址/新名字
cp和mv区别:
cp后原文件还在
mv后原文件不存在
cp与mv重命名文件:mv影响更小
删除
文件: rm 文件名
文件夹: rm -r 文件夹名字
-选项 -f强制删除
打开终端
1.直接点击
2.ctrl shift n 当前路径
3.ctrl alt t 家目录
关闭终端
复制 yy nyy(光标选中y n:行数 复制几行)
删除(剪切) dd ndd
粘贴 p
撤销 u
反撤 ctrl r
光标移动首行 gg
光标移动最后一行首行 G
光标移动行首 0
光标移动行尾 $
插入模式:
a i o A I O
底行模式:
指定行复制 5,10y 复制5-10行
指定行删除 5,10d
保存 w
退出 q
保存并退出 wq
强制 !
vsp 分屏本文件
vsp 文件名 分屏打开另外一个文件
查找 /找的东西
替换 s/a1/a2 光标所在行的第一个a1替换成a2
s/a1/a2/g 光标所在行的所有a1替换成a2
%s/a1/a2/g 改变全文
1,$s/a1/a2/g 改变全文
设置行号 set nu
取消 set nonu
取消高亮 nohl
预处理
展开头文件、替换宏定义、删除注释
gcc -E test.c -o test.i
编译
检查语法问题,有错报错,没错会生成汇编文件
gcc -S test.i -o test.s
汇编
生成一个不可执行的二进制文件
gcc -c test.s -o test.o
链接
链接库文件,最终生成机器能够识别的二进制的可执行文件
gcc test.o -o test