linux工具
来源:互联网 发布:2017优化最好的游戏 编辑:程序博客网 时间:2024/05/18 01:34
Linux 小白日记(2)
在本文中将介绍一些常用的linux的工具。
NO.1 vi/vim编辑器
Vim编译器是linux最为重要的工具了,是平时敲代码的工具,c/c++所有的源码都可以通过这个编辑器生成。
首先我们需要做的是在命令行输入vim /etc/vimrc,来设置一些便利的参数。
进入到vimrc后,设置以下参数:
set autoindent 下行自动缩进;
set shiftwidth=4 缩进4个字符;
set tabstop=4 缩进4个字符
set number 显示行号;
syntax on 关键字异色;
set mouse=A 支持鼠标滑轮滚动;
具体步骤:
在/home或者其他文件夹下,在命令行输入:touch test.c,即新建一个test.c文件。
继续在命令行输入:vim test.c,即进入test.c文件内部,按键盘上i或者a键就可以输入以下程序了。
#include<stdio.h>
Int main()
{
printf(“HelloWorld!” );
return0;
}
这是一个十分简单的C程序。//输出结果是Hello World。
输完之后,按Esc进入命令行模式然后按: (shift+;)进入底行模式按wq或者x回车就可以退出来了。
命令行快捷键:
dd:删除光标当前行;
number+dd:删除从当前行开始往下number行。
u:撤回上一步操作。
yy:复制一行。(number+yy用法同dd)
p:粘贴在下一行。
x:删除当前字符。
gg:光标跳至开头。
G:光标跳至结尾。
底行模式:
/+number:光标跳至number行。
w:保存。
q:退出。
x:保存退出。
%s /test/ooo/g用ooo替换xxx,g表示全部。
NO.2 gcc编译器
Vim编辑器编辑完成的.C文件是文本文档,并不能够被机器所识别,所以便有了gcc,即将文本文档编译成机器语言的文档,这样cpu才能够识别处理。
gcc完整的编译过程分为预处理,编译,汇编,连接。
预处理:
将#文件展开,一般是头文件展开,和宏展开。命令是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。
No.3 Makefile
Makefile是linux中一种特别的文件,他的作用是:当打开一个含有makefile的文件夹后,命令行输入make命令,那么机器将根据makefile中的内容自动编译生成二进制可执行文件。
这个对有大量.C文件需要编译的工作十分有帮助。
Makaefile构成:
target(目标):dependency(依赖)
(TAB)ccommend(命令)
Makefile支持变量
举个例子:
target=test
object=test.o
cc=gcc
$(target):$(object)
$(cc)$(object) –o $(target)
.PHONY :clean
clean:
rm -f *.o
.PHONY是伪目标,这样就不会因为当前文件夹下有clean这个文件夹而产生错误。
用法:输入make:生成test.o和test
输入make clean:清除test.o
No.4gdb调试器
在gcc编译时使用-g指令,如gcc –g test.c –o test
生成test后使用gdb test进入调试界面
Gdb常用的指令:
list(l)列出源码,按一次显示10行
break(b)设置断点,b +行号,当运行到断点,程序停止。
continue(c)继续运行
run运行
next(n)下一步,不进入函数
step(s)下一步,能进入函数
quit(q)退出
print(p)打印变量,p +变量,
return返回
info查看断点
No.5shell命令解析器
Shell通俗来说就是脚本,一般是.sh文件,不用编译可以直接运行,但是要赋予权限,及chmod +x 文件名
一个简单的shell脚本:
#!/bin/sh
a=”hello world”
echo “a is”
echo $a
这是一个简单能输出A is hello world的脚本。
Shell的基本元素有:
#!/bin/sh
#+注释
Your commend
Shell脚本有很多用处,比如能批量处理文件,而且处理迅速,不占内存。
简单来说,shell是一个把命令行搬进文件的工具。
当然shell也有自己的语法,和自己的语句,这个就在下次的日记说了。
- linux 工具
- linux工具
- linux 工具
- linux工具
- linux工具
- Linux工具
- linux(工具)
- linux工具
- linux工具
- linux工具
- linux 工具
- linux工具
- linux 工具
- 【测试工具】Linux限流工具
- Linux专区开发工具
- [Linux]C++编程工具
- Linux 进程调度工具
- linux远程管理工具:putty
- WorkMan学习篇:三
- Caused by: java.net.SocketTimeoutException: connect timed out redis
- comparator接口与Comparable接口的区别
- Java基础部分第二十一节
- 窗口程序
- linux工具
- 实用Unicode
- SDUT 3400 数据结构实验之排序三:bucket sort
- Spark Learning(RDD计算)
- NOIP2017倒计时
- Apache Spark Jobs 性能调优(一)
- 笨办法学python习题16 读写文件
- Codeforces Round #444(Div. 2) A. Div. 64
- 虚拟现实 HTC View瞬移教程