一 .linux基础命令
1.ls
1.使用
即 list directory contents,用于列出文件(夹)的信息,
ls [参数] [文件名] ([内为选择性填写])
2.增强用法
常用的有 “ls -l” 将详细显示信息,“ls -a" 会将隐藏的文件显露出来,“ls -R"将递归显示文件信息等。
3.ls-l信息解析
其中,ls - l更值得注意,在显露出的信息中分别是 文件类型,访问权限(r即read ,w即write,x即eXecute),链接数,用户名,组名,大小,最后修改时间,以及名字
1.文件类型
b:块设备文件(在/dev下)
c:字符设备文件(也在/dev下)
d:目录文件(demo)
-:普通文件(如.c,.txt等)
l:软连接/硬链接(类似win端快捷方式)
s:套接字文件(与shell编程有关的文件)
p:管道文件(与shell编程有关的文件)
2.访问权限
r,read,读权限 ;w,write,写权限 ;x,execute,执行权限制 ;-,即无权限。9个字符,每三个为一组,分别是用户,群组,其他。1代表有权限,0代表无权限,例如可读不可写不可操作就是100,转换成十进制4,在终端可通过chmod修改文件权限
此时三个权限皆可,111,控制指令为7,三组为777
输入指令
指令执行后
2.cd切换路径
1.路径
分为相对路径和绝对路径。绝对路径是起始于根目录,相对路径由当前位置索引
2.cd的使用
cd [路径]
cd ..:返回上级目录
cd .: 返回上次路径
cd (cd ~):返回家目录
3.cat/nl/head&tail
1.cat
cat [-参数] [--help] [--version] 文件名
cat是将文件打印在终端上
cat -s:将连续2行以上的空白行转换成1行
cat -n:将行号标码
cat -b:不对空白行标号
2.nl
nl [文件名]
作用类似cat -b
3.head&tail
head [参数 ] 文件名
head默认从头开始10行,改变参数改变打印行数,tail与之对应。
4.cp
1.cp,即copy file,复制文件
cp [选项] 源文件 复制后的文件或路径
参数:
-r:递归,可复制目录
-i:复制文件覆盖有确认提示
5.mv
mv [选项] 源文件或目录 目标文件或目录
可移动文件(夹)或者重命名
参数:-b :若需覆盖文件,则覆盖前先行备份
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖
6.touch/mkdir
touch可新建文件,若对已存在的文件touch了一下,则只改变时间戳。而mkdir是新建文件夹,mkdir -p,可实现创建文件夹的级联嵌套。mkdir不能新建同名文件夹,无法有改变时间戳功能
mkdir -p a/b/c
mkdir a b c新建多个文件夹
7.rm
rm -i,逐一询问是否删除文件
rm -r,递归删除,可删除目录
二.初试vi
1.新建.c文件
vi 文件名.c
2.切换vi编辑模式
1vi编辑器的三种模式,命令行模式,即直接进去的模式,插入模式,通过指令进入;底行模式,按:进入
插入模式:
指令 | 效果 |
a | 在光标右侧进行输入 |
A | 在行末输入,适合再加注释 |
i | 在光标左侧输入 |
I | 在行首输入,适合加将行代码注释 |
o | 另起新的一行输入 |
O | 在上一行再起一行输入 |
命令模式:插入模式下esc键进入。
指令 | 效果 |
【数字】dd | 剪切【数字】行 |
【数字】yy | 复制【数字】行 |
p/P | 粘贴在光标前/后 |
u | 撤销操作 |
ctrl+r | 反撤销操作 |
【数字】x | 从光标所在字符开始剪切【数字】字符 |
$ | 至行末 |
0 | 至行首 |
gg(1G) | 至首行 |
G | 至末行 |
gg=G | 整理代码 |
底行模式::+内容
3.vi的查找与替换
①5查找:底行模式/加字符串,查找完成有多个按n可向下跳转,N向上跳转
②替换:
:(范围) s/老的字符串/新的字符串
如果不加范围,则默认在该行查找替换,“1,$”与“%”都是由第一行到最后一行
,“."代表当前行,如果单行内有多个需要替换的内容,则在命令末尾加g
③y0与y$,从光标到行首和行尾的复制,d(剪贴)的使用相同
④块的粘贴复制,即:(范围)y
4.gcc文件编辑校验
1.编译c代码的简单路径:
①gcc 文件名.c ②./a.out
2.代码编译的全过程
①预处理:这一步展开头文件,删除注释,替换宏定义,但不会检查代码错误
gcc -E 1.c -o 1.i
②编译:这一步将检查代码有无错误,有错报错,没错则生成汇编文件
gcc -S 1.i -o 1.s
③汇编:将汇编软件转化成二进制文件
gcc -c 1.s -o 1.o
④链接:链接库文件,最终生成机器能识别的可执行文件
gcc 1.0 -o xxx(自定义文件名)
注:选项-o用于指定要生成的结果文件,后面跟的就是结果文件名字。