当前位置:  建站>运营/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
    
最新技术文章:
 




特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3