当前位置: 建站>运营/SEO
本页文章导读:
▪那些你可能不常用却很有用的Linux命令及配置 1. du -sh directory 查询directory占用磁盘空间的大小,du
-sh * 可查看当前目录下所有文件夹所占空间大小,如果直接用du -sh可查询当前目录占用的磁盘空间。
long@long-Ubuntu:~$ du -sh *
2.........
▪VIM 简易教程(3) 第三课 各种查找操作
比如我们想在文档中搜索一个简单的字符串“include”,这时用 / 命令:/include<Enter>
找到第一个include 后如果希望继续查找,可以这样:/<Enter>
这.........
▪Linux gcc和gdb程序调试用法 Linux
gcc和gdb程序调试用法
gcc一般调试格式:
gcc -Wall -o test test.c // -wall 显示程序错误详细信息
gcc -v // 显示gcc的版本
gcc -o{1,2,3} test test.c // 1,2,3.........
[1]那些你可能不常用却很有用的Linux命令及配置
来源: 互联网 发布时间: 2013-10-26
1. du -sh directory 查询directory占用磁盘空间的大小,du -sh * 可查看当前目录下所有文件夹所占空间大小,如果直接用du -sh可查询当前目录占用的磁盘空间。
long@long-Ubuntu:~$ du -sh * 28K forsystempro 370M Git 12M ipbench2 761M linux-3.7.1 719M linux-3.7.3 184M mywork_g1_s2
2. grep -v [pattern] [file1, file2...] 用来输出文件中不包含pattern形式的行。
3. ls --full-time 显示文件被修改的详细时间,包括年月日时分秒,还有时区。
long@long-Ubuntu:~$ ls --full-time 总用量 188 drwxrwxr-x 2 long long 4096 2013-01-05 09:19:16.849998240 +0800 forsystempro drwxrwxr-x 3 long long 4096 2013-01-03 12:16:27.023333001 +0800 Git drwxr-xr-x 10 long long 4096 2013-03-05 23:27:21.436202000 +0800 ipbench2 drwxrwxr-x 24 long long 4096 2013-03-07 13:58:52.808348013 +0800 linux-3.7.1 drwxrwxr-x 23 long long 4096 2013-02-24 16:48:08.186917994 +0800 linux-3.7.3
4. 统计文件总数。
包括当前目录及子目录:find . -type f | wc -l
统计子目录个数:ls -lR|grep "^d"|wc -l
参考链接:http://bbs.linuxeden.com/thread-165574-1-4.html
5. 修改系统时间并保存
修改系统日期:date -s yy/mm/dd
修改系统时钟:date -s hh/mm/ss
将修改后的时间保存到CMOS:clock -w
6. 通配符进行文件名匹配
(1)使用星号"* "可以匹配文件名中的任何字符串;
(2)使用问号"?"可以匹配文件名中的单个字符;
(3)使用 [...]可以用来匹配方括号[] 中的任何字符。在这一方法中,还可以使用一个横杠 -来连
接两个字母或数字,以此来表示一个范围, 使用 [!...] 不匹配 [] 中的任意字符。
参考链接:http://www.lupaworld.com/home/space-16106-do-blog-id-114802.html
7. 读取内存的相关信息--hexdump & od
[2]VIM 简易教程(3)
来源: 互联网 发布时间: 2013-10-26
第三课 各种查找操作
比如我们想在文档中搜索一个简单的字符串“include”,这时用 / 命令:/include<Enter>
找到第一个include 后如果希望继续查找,可以这样:/<Enter>
这时vim会默认你还是搜索上一次的字符串。(注意:不能用. 命令)
有几个字符有特殊的含义(其实是正则表达式),搜索时要在前面加上\ 来转义
这几个字符如下:.*[]ˆ%/\?~$
Vim 会记住历次搜索的字符串,搜索时用<UP> <DOWN> 来选择。
开启增量式搜索: :set incsearch
关闭增量式搜索::set noincsearch
什么是增量式搜索,做个实验试一下就清楚了,这里就不多说了。
下面的命令可以将搜索到的结果高亮显示:
:set hlsearch
关掉这个特性的命令是:
:set nohlsearch
/ 命令是向后搜索,如果要向前搜索,用?命令。
n 命令是重复上一次搜索。
/ 命令和?命令都支持正则表达式。关于正则表达式,网上有一篇非常好的教程《正则表达式30分钟入门教程》。
作者:liyuanbhu 发表于2013-3-9 14:11:12 原文链接
阅读:63 评论:0 查看评论
[3]Linux gcc和gdb程序调试用法
来源: 互联网 发布时间: 2013-10-26
Linux
gcc和gdb程序调试用法
gcc一般调试格式:
gcc -Wall -o test test.c // -wall 显示程序错误详细信息
gcc -v // 显示gcc的版本
gcc -o{1,2,3} test test.c // 1,2,3三个级别的优化,优化级别越高编译的时间越长
gcc -ggdb3 -Wall -o test test.c // 运用gdb可以跟踪调试程序,运行这命令gdb告诉gcc,使用gdb扩展产生调试,其中3表示使用的第三级调试信息,程序员可以获得更多的信息。
如果程序有多个模块构成可以分别编译,然后再整体生成一个可执行的文件
gcc -o test1.c //产生test1.o
gcc -o test2.c //生成test2.o
gcc -o test3.c //生成test3.o
gcc -o program test1.c test2.o test3.o //生成program 最终可执行文件
关于gcc先这么多,以后用到,再补充。
gdb 符号调试器
gdb主要提供以下功能:
1. 监视程序中变量的值得变化
2. 设置断点,使程序在指定的代码行上暂停执行,便于观察
3. 单步执行代码
4. 分析崩溃程序产生core文件
是首先 gcc -ggdb3 -Wall -o test test.c 调试程序
./test 就是正常的执行程序
如果出现了不正确的结果,再用gdb调试
gdb test
出现(gdb)接口提示符
run //开始运行程序,设置断点在开始运行之前,其他的命令都在运行程序下执行
step | s //单步执行,遇见函数就进入函数
next | n //单步执行,但不进入函数
quit | q //退出gdb
break LineNumber| functionName
continue | cont N // 表示跳过的断点数
tbreak LineNumber| functionName // 这只一个临时的断电,执行一次就自动删除
enable / disable 断点编号 // 回复失效的断点| 使有效的断点失效(如果操作多个断点,中间用空格分开)
clear 断点的行号
delete 断点的编号 clear/delete 都是清楚断点的,变量不一样啊
watch 逻辑表达式 // 此命令在程序run中运用,必须把main函数设置为断点,然后continue,程序停止在满足逻辑表达式地方。
查看栈的信息
bt number //如果number>0 表示显示栈顶上number数栈的信息
//若果number<0 表示显示栈底上number数栈的信息
//省略则显示栈的全部信息
frame | f n // 显示第n层栈的信息 栈顶是0,一次类推
up <n> // 栈向上移n层 省略默认一层
down <n> // 栈向下移nceng 省略默认一层
select-frame <n> == frame //只是不输出栈的信息
up-silently <n> == up //只是不输出栈的信息
down-silently <n> == down //只是不输出栈的信息
info args //显示当前函数参数名及值
info locals //显示函数中所有局部变量
info catch //显示当先函数的异常处理信息
显示源代码
list <function> //显示function函数的源程序
list // 显示当前行前后各显示listsize/2 行代码
list - // 显示当前行 前面的代码
list + // 显示当前行 后面的代码
set listsize <number> // 设置一次显示源代码的行数
show listsize //查看listsize的数值
list <first>,<last> //显示全部的源代码
list ,<last> // 显示从当前行到last的源代码
list <linenum> // 显示linenum行前后各显示listsize/2 行代码
list <+ ffset> // 显示当前行的正偏移量
list <- ffset> //显示当前行的负偏移量
搜索源代码
forward-search <regexp> = search <regexp> // 向下搜索
reverse-search <regexp> // 向上搜索
directory <dirname:...> // 增加自定义文件搜索路径,多个路径用:隔开
directory // 清除所有自定义源文件搜索路径信息
show directories //显示自定义源文件的搜索路径
源代码的内存
info line 查看源代码在内存中的地址。info line 后面可以跟“行号”、“函数名”、“文件名:行号”、“文件名:函数名”
disassemble <> // 后面的参数加的和上面的一样,显示汇编代码
查看运行时的数据
print variable
print file::variable | function::variable // 如果查看的是全局变量的,为了防止和局部变量重名,可以加上通过这个形式说明
print *array@len //显示动态数组
print *array // 显示静态数组
print /<f> <expr> // 格式输出数据
输出格式如下:
x 十六进制显示
d 十进制显示
u 十六进制显示无符号整数
o 八进制显示
t 二进制显示
a 十六进制显示
c 字符格式显示
f 浮点数格式显示
查看内存
x/<n/f/u> <addr> // 其中n表示显示的第三个参数的个数,f格式见上面,u从当前地址往后请求的字节数,默认为4,b代表单字节,h代表双字节,w代表4字节,g表示8字节
自动显示
display <expr> //只要变量有效的范围内都会显示
undisplay | delete display <dnums...> // 删除编号为dnums的自动显示,同时删除好几个用空格隔开
disable display <dnums...> // 使编号为dnums的自动显示失效,多个的也是空格隔开
enable display <dnums...> //使编号为dnum的自动显示回复,多个也是用空格隔开
info display // 显示全部自动显示的信息
设置显示选项
set print addre
gcc -Wall -o test test.c // -wall 显示程序错误详细信息
gcc -v // 显示gcc的版本
gcc -o{1,2,3} test test.c // 1,2,3三个级别的优化,优化级别越高编译的时间越长
gcc -ggdb3 -Wall -o test test.c // 运用gdb可以跟踪调试程序,运行这命令gdb告诉gcc,使用gdb扩展产生调试,其中3表示使用的第三级调试信息,程序员可以获得更多的信息。
如果程序有多个模块构成可以分别编译,然后再整体生成一个可执行的文件
gcc -o test1.c //产生test1.o
gcc -o test2.c //生成test2.o
gcc -o test3.c //生成test3.o
gcc -o program test1.c test2.o test3.o //生成program 最终可执行文件
关于gcc先这么多,以后用到,再补充。
gdb 符号调试器
gdb主要提供以下功能:
1. 监视程序中变量的值得变化
2. 设置断点,使程序在指定的代码行上暂停执行,便于观察
3. 单步执行代码
4. 分析崩溃程序产生core文件
是首先 gcc -ggdb3 -Wall -o test test.c 调试程序
./test 就是正常的执行程序
如果出现了不正确的结果,再用gdb调试
gdb test
出现(gdb)接口提示符
run //开始运行程序,设置断点在开始运行之前,其他的命令都在运行程序下执行
step | s //单步执行,遇见函数就进入函数
next | n //单步执行,但不进入函数
quit | q //退出gdb
break LineNumber| functionName
continue | cont N // 表示跳过的断点数
tbreak LineNumber| functionName // 这只一个临时的断电,执行一次就自动删除
enable / disable 断点编号 // 回复失效的断点| 使有效的断点失效(如果操作多个断点,中间用空格分开)
clear 断点的行号
delete 断点的编号 clear/delete 都是清楚断点的,变量不一样啊
watch 逻辑表达式 // 此命令在程序run中运用,必须把main函数设置为断点,然后continue,程序停止在满足逻辑表达式地方。
查看栈的信息
bt number //如果number>0 表示显示栈顶上number数栈的信息
//若果number<0 表示显示栈底上number数栈的信息
//省略则显示栈的全部信息
frame | f n // 显示第n层栈的信息 栈顶是0,一次类推
up <n> // 栈向上移n层 省略默认一层
down <n> // 栈向下移nceng 省略默认一层
select-frame <n> == frame //只是不输出栈的信息
up-silently <n> == up //只是不输出栈的信息
down-silently <n> == down //只是不输出栈的信息
info args //显示当前函数参数名及值
info locals //显示函数中所有局部变量
info catch //显示当先函数的异常处理信息
显示源代码
list <function> //显示function函数的源程序
list // 显示当前行前后各显示listsize/2 行代码
list - // 显示当前行 前面的代码
list + // 显示当前行 后面的代码
set listsize <number> // 设置一次显示源代码的行数
show listsize //查看listsize的数值
list <first>,<last> //显示全部的源代码
list ,<last> // 显示从当前行到last的源代码
list <linenum> // 显示linenum行前后各显示listsize/2 行代码
list <+ ffset> // 显示当前行的正偏移量
list <- ffset> //显示当前行的负偏移量
搜索源代码
forward-search <regexp> = search <regexp> // 向下搜索
reverse-search <regexp> // 向上搜索
directory <dirname:...> // 增加自定义文件搜索路径,多个路径用:隔开
directory // 清除所有自定义源文件搜索路径信息
show directories //显示自定义源文件的搜索路径
源代码的内存
info line 查看源代码在内存中的地址。info line 后面可以跟“行号”、“函数名”、“文件名:行号”、“文件名:函数名”
disassemble <> // 后面的参数加的和上面的一样,显示汇编代码
查看运行时的数据
print variable
print file::variable | function::variable // 如果查看的是全局变量的,为了防止和局部变量重名,可以加上通过这个形式说明
print *array@len //显示动态数组
print *array // 显示静态数组
print /<f> <expr> // 格式输出数据
输出格式如下:
x 十六进制显示
d 十进制显示
u 十六进制显示无符号整数
o 八进制显示
t 二进制显示
a 十六进制显示
c 字符格式显示
f 浮点数格式显示
查看内存
x/<n/f/u> <addr> // 其中n表示显示的第三个参数的个数,f格式见上面,u从当前地址往后请求的字节数,默认为4,b代表单字节,h代表双字节,w代表4字节,g表示8字节
自动显示
display <expr> //只要变量有效的范围内都会显示
undisplay | delete display <dnums...> // 删除编号为dnums的自动显示,同时删除好几个用空格隔开
disable display <dnums...> // 使编号为dnums的自动显示失效,多个的也是空格隔开
enable display <dnums...> //使编号为dnum的自动显示回复,多个也是用空格隔开
info display // 显示全部自动显示的信息
设置显示选项
set print addre
最新技术文章:
 
站内导航:
特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!