Linux常用工具有哪些

#项目名称:Linux常用工具
##本日完成情况
(一)vim编辑器
1、vim有三种模式:
①命令模式:vim刚打开就是命令模式
nx删除n个字符
ndd删除(剪切)n行 p粘贴
nyy复制n行
shift+g跳到最后一行 gg回到最后一行
*查找光标所在字符串,n查找下一个
u撤销操作
ZZ保存退出
②插入模式:a或者i进入插入模式,esc回到命令模式
③底行模式:在命令模式下输入:或/进入底行模式
输入数字直接跳到所对应的行
: w filename (以指定的文件名filename保存)
: wq (存盘并退出vi)
: q! (不存盘强制退出vi)
?/old/new :用new替换行中首次出现的old
?/old/new/g :用new替换行中所有的old
:n,m s/old/new/g :用new替换从n到m行里所有的old
:%s/old/new/g :用new替换当前文件里所有的old
:set nonu关闭行号 set nu打开行号
/xxx查找xxx字符串 n查找下一个 N 查找上一个
sp 文件名 在当前界面打开另一个程序 ctrl ww:切换这俩程序
④修改配置:vim vimrc(红帽vimrc在etc中,其他的在etc/vim中)
(二)gcc工具链:gcc hello.c -o hello(生成两个文件来执行,避免覆盖掉代码)
①预处理:gcc -E hello.c -o hello.i(处理所有#开头代码,即包含:头文件、宏定义、条件编译)
②编译:gcc -S hello.i -o hello.s(把c语言代码翻译成汇编语言)
③汇编:gcc -c hello.s -o hello.o(把汇编语言翻译成二进制文件)
④链接:gcc -S hello.o -o hello(链接程序需要用的其他文件)
1.gcc常用指令
-c :只是编译不链接,生成目标文件“.o”
-S :只是编译不汇编,生成汇编代码
-E :只进行预编译,不做其他处理
-g :在可执行程序中包含标准调试信息
-o file :把输出文件输出到file里
-v :打印出编译器内部编译各过程的命令行信息和编译器的版本
-I dir:在头文件的搜索路径列表中添加dir目录
-L dir :在库文件的搜索路径列表中添加dir目录
-static :链接静态库
-l library :连接名为library的库文件
(三)make和Makefile
1、make命令运行时,须要一个 Makefile 文件,以告诉make命令须要怎么样的去编译和链接程序 2、Makefile内容的核心是一系列的规则,这些规则告诉make程序要做的事以及做这件事所依赖的条件。格式:target: dependency
(Tab字符)command
Ø target(目标): 通常是要产生的文件的名称
Ø dependency(依赖): 指用来输入从而产生目标的文件
Ø command(命令): 是make执行的动作,一个规则可以有多条命令,每个命令占一行。命令行的第一个字符是Tab。
(四) gdb调试工具 :被调试的应用程序在编译时最好使用-g参数将调试信息编入目标文件中:
gcc -g app.c -o app或gcc app.c -o app -g
用以下命令启动对程序app的调试:
gdb app

①编译错误
②段错误(一般指针类问题最容易出现)
③其他错误
(五)shell:Shell是命令解析器,将用户的输入的指令转化为机器可以运行的程序。
1、Shell脚本的格式是固定的,如下:
#!/bin/bash
#comments
Your commands go here
2、编辑完毕,将脚本存盘为filename.sh,文件名后缀sh表明这是一个Bash脚本文件。执行脚本的时候,要先将脚本文件的属性改为可执行的:
chmod +x filename.sh
执行脚本的方法是:
./filename.sh
3、默认变量
$#:传入脚本的命令行参数个数
$*:所有命令行的参数值,在各个参数值之间留有空格
$0:命令本身(shell文件名)
$1:第一个命令行参数
$2:第二个命令行参数

你可能感兴趣的:(日记)