1. 介绍:
Ubuntu下的一些命令,我经常忘记。所以贴在这里以便查找方便。
终端模式下 | 命 令 | 说 明 |
与目录有关 | rm -rf filefold/ | 强行删除非空目录 |
cd ~/ |
快速回到/home下的用户目录 |
|
与Latex有关 | latex filename.tex | 编译tex文件,产生dvi文件 |
xdvi filename.dvi |
查看dvi文件 |
|
ps2pdf *.ps |
产生pdf文件 |
|
dvips *.dvi |
产生pdf文件 |
|
pdflatex *.tex |
产生pdf文件 |
|
dvipdfmx *.dvi |
产生pdf文件,利用dvipdfmx *.dvi生成pdf的文件会比较小 |
|
xpdf *.pdf |
查看pdf文件 |
|
sam2p *.jpg *.eps |
将jpg图片转为eps文件 |
|
|
|
介绍:
GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在 UNIX,Linux平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。
GDB的命令很多,这里不一定面面俱到。先介绍GDB中的一个非常有用的功能:补齐功能。它就如同Ubuntu下SHELL中的命令补齐一样。当你 输入一个命令的前几个字符,然后输入TAB键,如果没有其它命令的前几个字符与此相同,SHELL将补齐此命令。如果有其它命令的前几个字符与此相同,你 会听到一声警告声,再输入TAB键,SHELL将所有前几个字符与此相同的命令全部列出。而GDB中的补齐功能不仅能补齐GDB命令,而且能补齐参数。
而且大部分GDB内的命令都可以仅输入前几个字符,只要不与其它指令冲突。如quit可以简写为q,因为以q打头的命令只有quit。List可以简写为l,等等。
1. 启动GDB
启动GDB命令是在SHELL下输入的,你可以输入GDB来启动GDB程序。如果你已经编译好一个程序,我们假设文件名为hello (注意想用GDB调试它,必须在编译时带上g参数,例如
$ g++ -g -o hello hello.c
得到hello文件),然后输入
$ gdb hello
来启动GDB并载入程序。如果已经启动了GDB,使用file命令。如
gdb> file hello
也可在GDB中再载入程序。注意:路径名要正确。
2. 退出GDB === q
在GDB的命令方式下,输入quit,就可以退出GDB。也可以输入'C-d'来退出GDB。
3. 运行程序 === r
在GDB中已将要调试的程序载入后,可以用run命令来执行。如果程序需要参数,在run指令后接着输入参数,就象在SHELL下执行一个需要参数的命令一样。
表 1. gdb 中最常用的命令
命令 | 说明 | 例子 |
---|---|---|
help |
显示命令类别 | help - 显示命令类别help breakpoints - 显示属于 breakpoints 类别的命令help break - 显示 break 命令的解释 |
run |
启动所调试的程序 | ? |
kill |
终止正在调试的程序的执行 | 通常这会在要执行的代码行已经超过了您想要调试的代码时使用。执行 kill 会重置断点,并从头再次运行这个程序 |
cont |
所调试的程序运行到一个断点、异常或单步之后,继续执行 | ? |
info break |
显示当前的断点或观察点 | ? |
break |
在指定的行或函数处设置断点 | break 93 if i=8 - 当变量 i 等于 8 时,在第 93 行停止程序执行 |
Step |
单步执行程序,直到它到达一个不同的源代码行。您可以使用 s 来代表 step 命令 |
? |
Next |
与 step 命令类似,只是它不会“单步跟踪到”子例程中 | ? |
print |
打印一个变量或表达式的值 | print pointer - 打印变量指针的内容print *pointer - 打印指针所指向的数据结构的内容 |
delete |
删除某些断点或自动显示表达式 | delete 1 - 删除断点 1。断点可以通过 info break 来显示 |
watch |
为一个表达式设置一个观察点。当表达式的值发生变化时,这个观察点就会暂停程序的执行 | ? |
where |
打印所有堆栈帧的栈信息 | where - 不使用参数,输出当前线程的堆栈信息where all - 输出当前线程组中所有线程的堆栈信息where threadindex - 输出指定线程的堆栈信息 |
attach |
开始查看一个已经运行的进程 | attach <process_id> - 附加到进程 process_id 上。process_id 可以使用 ps 命令找到 |
info thread |
显示当前正在运行的线程 | ? |
thread apply threadno command |
对一个线程运行 gdb 命令 | thread apply 3 where - 对线程 3 运行 where 命令 |
Thread threadno |
选择一个线程作为当前线程 | ? |
4. 查看程序信息 === info
info指令用来查看程序的信息,用help info查看帮助的话,会显示info指令的参数非常多,但info指令最多的是用它来查看断点信息。
4.1 查看断点信息
info br
br是断点break的缩写,记得GDB的补齐功能吧。用这条指令,你可以得到你所设置的所有断点的详细信息。包括断点号,类型,状态,内存地址,断点在源程序中的位置等。
4.2 查看当前源程序
info source
4.3 查看堆栈信息
info stack
用这条指令你可以看清楚程序的调用层次关系。
4.4 查看当前的参数
info args
5. 列出源一段源代码 === l
5.1 列出某个函数
list FUNCTION
5.2 以当前源文件的某行为中间显示一段源程序
list LINENUM
5.3 接着前一次继续显示
list
5.4 显示前一次之前的源程序
list -
5.5 显示另一个文件的一段程序
list FILENAME:FUNCTION 或 list FILENAME:LINENUM
6. 设置断点 === break
现在我们将要介绍的也许是最常用和最重要的命令:设置断点。无论何时,只要程序已被载入,并且当前没有正在运行,就能设置,修改,删除断点。设置断点的命令是break。有许多种设置断点的方法。如下:
6.1 在函数入口设置断点
break FUNCTION
6.2 在当前源文件的某一行上设置断点
break LINENUM
6.3 在另一个源文件的某一行上设置断点
break FILENAME:LINENUM
6.4 在某个地址上设置断点,当你调试的程序没有源程序是,这很有用
break *ADDRESS
除此之外,设置一个断点,让它只有在某些特定的条件成立时程序才会停下,我们可以称其为条件断点。这个功能很有用,尤其是当你要在一个程序会很多次 执行到的地方设置断点时。如果没有这个功能,你必须有极大的耐心,加上大量的时间,一次一次让程序断下,检查一些值,接着再让程序继续执行。事实上,大部 分的断下并不是我们所希望的,我们只希望在某些条件下让程序断下。这时,条件断点就可以大大提高你的效率,节省你的时间。条件断点的命令如下,在后面的例 子中会有示例。
6.5 条件断点
break ...if COND
COND是一个布尔条件表达式,语法与C语言中的一样。条件断点与一般的断点不同之处是每当程序执行到断点处,都要计算条件表达式,如果为真,程序才会断下,否则程序会一直执行下去。
7. 其它断点操作
GDB给每个断点赋上一个整数数字,这个数字在操作断点时起到重要作用,它实际上就代表相应的断点。GDB中的断点有四种状态:
有效(Enabled)
禁止(Disabled)
一次有效(Enabled once)
有效后删除(Enabled for deletion)
在上面的四个状态有效和禁止都很好理解,禁止就是让断点暂时失效。一次有效就是当程序在此断点断下后,断点状态自动变为禁止状态。有效后删除就是当程序在此断点断下后,断点被删除。实际上,后两种状态一般不会碰到。
当你设置一个断点后,它的确省状态是有效。你可以用enable和disable指令来设置断点的状态为有效或禁止。例如,如果你想禁止2号断点,可以用下面的指令:
disable 2
相应的,如果想删除2号断点,可以有下面的指令:
delete 2
8. 设置监视点 === watch
当你调试一个很大的程序,并且在跟踪一个关键的变量时,发现这个变量不知在哪儿被改动过,如何才能找到改动它的地方。这时你可以使用watch命令。简单地说,监视点可以让你监视某个表达式或变量,当它被读或被写时让程序断下。watch命令的用法如下:
watch EXPRESSION
watch指令是监视被写的,当你想监视某个表达式或变量被读的话,需要使用rwatch指令,具体用法是一样的。要注意的是,监视点有硬件和软件 两种方式,如果可能Linux尽可能用硬件方式,因为硬件方式在速度上要大大快于软件方式。软件方式由于要在每次执行一条指令后都要检查所要监视的值是否 被改变,因此它的执行速度会大大降低。同时它也无法设置成被读时让程序断下,因为读操作不会改变值,所以GDB无法检测到读操作。幸运的是,目前的PC机 基本都支持硬件方式。如果你想确认一下你的机器是否支持硬件,你可以在调试程序时用watch设置一个监视点,如果GDB向你显示:
Hardware watchpoint NUM: EXPR
那么你可以放心了,你的机器支持硬件方式。
9. 检查数据
最常用的检查数据的方法是使用print命令。
print exp
print指令打印exp表达式的值。却省情况下,表达式的值的打印格式依赖于它的数据类型。但你可以用一个参数/F来选择输出的打印格式。F是一 个代表某种格式的字母,详细可参考输出格式一节。表达式可以是常量,变量,函数调用,条件表达式等。但不能打印宏定义的值。表达式exp中的变量必须是全 局变量或当前堆栈区可见的变量。否则GDB会显示象下面的一条信息:
No symbol "varible" in current context
10. 修改变量值
在调试程序时,你可能想改变一个变量的值,看看在这种情况下会发生什么。用set指令可以修改变量的值:
set varible=value
例如你想将一个变量tmp的值赋为10,
set tmp=10
11. 检查内存值
检查内存值的指令是x,x是examine的意思。用法如下:
x /NFU ADDR
其中N代表重复数,F代表输出格式(见2.13),U代表每个数据单位的大小。U可以去如下值:
b :字节(byte)
h :双字节数值
w :四字节数值
g :八字节数值
因此,上面的指令可以这样解释:从ADDR地址开始,以F格式显示N个U数值。例如:
x/4ub 0x4000
会以无符号十进制整数格式(u)显示四个字节(b),0x4000,0x4001,0x4002,0x4003。
12.输出格式
缺省情况下,输出格式依赖于它的数据类型。但你可以改变输出格式。当你使用print命令时,可以用一个参数/F来选择输出的打印格式。F可以是以下的一些值:
'x' 16进制整数格式
'd' 有符号十进制整数格式
'u' 无符号十进制整数格式
'f' 浮点数格式
13. 单步执行指令
单步执行指令有两个step和next。Step可以让你跟踪进入一个函数,而next指令则不会进入函数。
14.继续执行指令
当程序被断下后,你查看了所需的信息后,你会希望程序执行下去,输入 continue, 程序会继续执行下去。
15.帮助指令help
在GDB中,如果想知道一条指令的用法,最方便的方法是使用help。使用方法很简单,在help后跟上指令名。例如,想知道list指令用法,输入
help list
1. 介绍: 2 Ubuntu下的Gvim的安装 sudo apt-get install exuberant-ctags cscope global mkdir -p ~/.vim/plugin ~/.vim/doc cp cppcomplete.vim taglist.vim ~/.vim/plugin cp /usr/share/doc/global/examples/gtags.vim.gz ~/.vim/plugin cd ~/.vim/plugin gzip -d gtags.vim.gz taglist 的下载地址: http://www.vim.org/scripts/script.php?script_id=273 cppcomplete 的下载地址: http://www.vim.org/scripts/script.php?script_id=527 Gvim的设置 很多地方说要在~/.vimrc文件中改,但是我的Ubuntu在~/下没有这个文件,而在/etc/vim中有vimrc这个文件。但按照他们的设置却 不是完全有效,后来自己发现有些要在/usr/share/vim的gvimrc文件中改。 我的vimrc如下: if filereadable("/etc/vim/vimrc.local") source /etc/vim/vimrc.local endif colorscheme koehler set number set shiftwidth=4 set softtabstop=4 set tabstop=4 set fileencodings=ucs-bom,utf-8 if has("gui_running") set guifont=Bitstream/ Vera/ Mono/ 12 endif "设置高亮度 function ToggleHLSearch() if &hls set nohls else set hls endif endfunction "打开C/C++的风格自动缩进 set cin "显示行值 set nu 我的gvimrc如下: if has('gui_gtk2') colorscheme green set guifont=Bitstream/ Vera/ Sans/ Mono/ 16 else set guifont=-misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-1 endif set nocompatible " 设置编码 set enc=utf-8 " 设置文件编码 set fenc=utf-8 " 设置文件编码检测类型及支持格式 set fencs=utf-8,chinese,ucs-bom,gb18030,gbk,gb2312,cp936 " 指定菜单语言 set langmenu=zh_CN.UTF-8 " 设置语法高亮度 set syn=cpp " 查找结果高亮度显示 set hlsearch " tab宽度 set tabstop=4 set cindent shiftwidth=4 set autoindent shiftwidth=4 " C/C++注释 set comments=:// " 修正自动C式样注释功能 <2005/07/16> set comments=s1:/*,mb:*,ex0:/ " 增强检索功能 set tags=./tags,./../tags,./**/tags " 键盘操作 map gk map gj " 命令行高度 set cmdheight=1 " 中文帮助 if version > 603 set helplang=cn endif if filereadable("/etc/vim/gvimrc.local") source /etc/vim/gvimrc.local endif 3 Gvim的基本命令
4. Literatures 5. gvim的fold功能 在normal模式(not insert)下,从键盘输入zf并回车,您就会看到折叠在一起的两行标签如下: /*{{{*/ .....这里输入您 的程序代码 /*}}}*/ zc 回车 a、在折叠的行上移动光标 b、在normal模式下输入zo并回车 zf 转载于 http://debian.bloghome.cn/posts/127.html 6. Notices and messages |
1. 介绍:
Nvu(读作Nview)是跨平台的“所见即所得”(WYSIWYG)的免费网页编辑器。就像 Frontpage, Dreamweaver 那样。由Linspire公司出品,是Linux平台上最优秀的网页编辑工具之一。它基于Mozilla中的网页编辑器 Composer 发展而来。
Amaya也是一个不错的网页编辑工具。但不能输入中文;而且还不能直接新建“HTML”文档,菜单操作也不太 顺手。感觉 不够友好。特别像我这种习惯Windows喜欢DreamWave的Ubuntu菜鸟更是巴不得在Ubuntu下直接运行Windows各种软件。
2. Ubuntu下Nvu的安装准备:
网上说Nvu可以源里安装
$ sudo apt-get install nvu
但我的Ubuntu好像不行,可能是源的问题。
我们可以到这里下载到版本 (20060530)的Nvu, 大小为 8.6M。
http://backports.org/debian/pool/main/n/nvu/nvu_1.0final-0bpo1_i386.deb
(要看最新版到:http://backports.org/debian/pool/main/n/Nvu/ )
而我发现,用台湾的镜像会快不少。
http://ftp.tw.debian.org/backports.org/pool/main/n/nvu/nvu_1.0final-0bpo1_i386.deb
3. 安装
将它下载后,双击就开始安装了。记得关闭新立得等包管理软件。
4. 汉化
先下载简体中文包,http://ftp.ubuntu.org.cn/programs/nvu/en-US.jar
帐号密码可以在论坛的置顶帖中找到。
另外,看到论坛上的朋友说,上面这个包新建文件总是Big5编码的问题。虽然在20060530这个版本中没发现,但还是进行了一些修改(修改方法见页 尾),做了个新的包,点这里下载 。
下载后,将它放到自己的主目录下,然后开始安装中文包,执行下面的命令:
$ cd /usr/lib/nvu/chrome/
$ sudo mv en-US.jar en-US.jar.orig
Password:
$ sudo cp ~/en-US.jar ./
5. 运行
点击“应用程序”,“编程”,“ Nvu ”,OK!
6. Notices and messages
转载于:“擂鼓崖”http://blog.csdn.net/tipfoo/
1. 介绍:
MATLAB,我想无须太多介绍。
2. Ubuntu下Matlab的安装准备:
Matlab-Linux版的文件很大(3.3G),而且没有window版普及。不过现在网上只有你想不到的,没有你找不到的。下面只是安装的方法
挂载iso文件
$ sudo mount -o loop Mathworks.Matlab.R2007b.UNIX.DVD.-TBE.iso /media/cdrom
建立安装目录
缺省是/opt/matlab
$ sudo mkdir /opt/matlab
拷贝license.dat
一般在映像的目录下有一个CRACK目录,这里是(/media/cdrom/Crack)
$ sudo copy /$CDROM$/crack/license_locked.dat to $MATLAB$/license.dat
$MATLAB$是Matlab安装目录,这里是/opt/matlab
更清楚一些
$ sudo cp /media/cdrom/Crack/license_locked.dat /opt/matlab/etc/license.dat
3. 安装
在/opt/matlab/下
$ sudo /media/cdrom/install
1). 不要在/media/cdrom目录下执行这条命令
2). 安装过程中需要确认一些信息,如安装什么模块,安装目录等等
3). sudo /opt/matlab/install_matlab 进行配置,推荐默认配置
4. 运行
$ sudo /opt/matlab/bin/matlab
6. Notices and messages
1. 如果提示license出错,将/media/cdrom/Crack目录下的license_locked.dat复制到/opt/matlab/etc目录下(这个目录下面已经有一个了,覆盖即可)
2.如果提示openGl的问题,请查论坛相关的帖子
最近一直在捣鼓ubuntu,我的笔记本比较老,同时打开firefox和文件管理器后就成了老牛车了,更不用说openoffice了。 装了fluxbox速度还可以,就是界面过于简单。而xfce又编译不成功。听说xubuntu比较适合旧机子,决定尝试一下。
关于xubuntu的硬盘安装
下了xubuntu alternate的iso文件,放在根目录下,如果是双系统的且有grubfordos的,那么修改menu.lst文件就可以了, 不过要注意
安装
接下来根据界面提示安装就可以了
Notices and messages
可参照Ubuntu的安装和更新过程。总的来说Xubuntu还是比较令我满意的。
1. 介绍:
星际译王(stardict)是 Linux 下类似于金山词霸的辞典软件。
2. 安装
执行下面的命令:
$ sudo apt-get install stardict stardict-common stardict-plugin stardict-plugin-espeak stardict-plugin-festival
已加入 ubuntu-cn 源的用户,可以通过下面的命令安装 stardict 的词典文件:
$ sudo apt-get install stardict-cdict-gb stardict-cedict-gb stardict-hanzim stardict-langdao-ce-gb stardict-langdao-ec-gb stardict-oxford-gb stardict-xdict-ce-gb stardict-xdict-ec-gb
未加入 ubuntu-cn 源的用户,到星际译王的词典网页 或者本地镜像 ,挑选自己需要用的词典,下载到自己的主目录下。现在以安装文件名为a.tar.bz2 的词典为例:
$ tar -xjvf a.tar.bz2
$ sudo mv a /usr/share/stardict/dic
1). a.tar.bz2是词典文件,a 是解压出来的词典目录
2). 如果需要给 stardict 添加更多的词库 或真人发音 ,请访问星际译王
3. Notices and messages
转载于:“Ubuntu论坛”http://wiki.ubuntu.org.cn/Qref/Hardy
在Ubuntu下安装linux不是很麻烦,apt-get就可以,而且网上也能找到不少的安装说明。但中文Latex的支持配置却不容易,今天从网上找了LaTeX中文环境的方法,然后又经过自己亲身验证,记载如下:
1. 下载安装tetex的四个包
代码:
sudo apt-get install tetex-bin tetex-base tetex-extra cjk-latex
2. 字体安装
新建~/texmf文件夹并且把你要在LaTeX里用到的中文字体和下载的gbkfonts 文件copy进去,用gbkfonts进行转换字体
代码:
mkdir ~/texmf
cp *.ttf ~/texmf
ttf文件可以从windowxp系统下导来,主要是windows/fonts/下的五个文件
simfang.ttf simhei.ttf simkai.ttf symbol.ttf simsun.ttc(注意这个是ttc文件)
对字体文件转换
代码:
~/texmf/gbkfonts simsun.ttf song
~/texmf/gbkfonts simhei.ttf hei
#其他的字体文件以此类推全部都转换好
3. 让LaTeX识别你装好的字体
代码:
sudo gedit /var/lib/texmf/web2c/updmap.cfg #在最后面加入一行Map cjk.map保存退出
sudo texhash; sudo updmap
至此全部配置结束,至于dvipdfm-cjk和dvipdfmx等其他支持cjk的工具包则完全没有必要安装,
使用的时候直接用latex和 pdflatex命令就行了,要从dvi转pdf也可直接用dvipdf命令,中文支持很不错,
至于怎么编写中文文档我就不赘述了,请查阅有关文档吧。
另外同样的问题,保存tex文档utf8编码不认,gbk、gb2313、gb18030都很正常。
4. Notices and messages
注意编码问题,我无法在编辑软件中改变编码,在网上也找了不少,但都没有成功,而且把mouspad和gvim弄坏了,
最后总算弄好了,却由于过程太乱了,忘记怎么弄好的。这里只想说一下怎么改编码:
如果你事先已经知道了文件的编码,可以通过 GNU 的 iconv 来进行编码转换。以下是一个例子用来
把文件的编码从 GB2312 转换成 UTF-8:
$ iconv -f gb2312 -t utf-8 foo.txt > foot.txt.utf-8
把编码从 UTF-8 转换成 GBK:
$ iconv -f utf-8 -t gbk test.tex.u > test.tex
转载于:“Ubuntu论坛”http://forum.ubuntu.org.cn/viewtopic.php?t=37227
在WindowsXP下安装linux或者Ubuntu,以及其他系统时,经常会导致XP进不去,其实这时候不用重新安装XP的,只要修复一下就可以了:
1. Fixmbr
修复启动磁盘的 主启动记录。fixmbr 命令仅在使用故障恢复控制台时才可用。代码:
fixmbr [ device_name]
参数
device_name
要写入新的主引导记录的设备(驱动器)。设备名称可从 map 命令的输出获得。例如,设备名称:
/ Device/ HardDisk0
范例
下列命令示例向指定设备写入一个新的主引导记录:
Fixmbr [Drive] [/A] [/D] [/P] [/Z] [/H]
/A Active DOS partition(激活基本DOS分区)
/D Display MBR(显示主引导记录内容)
/P Display partition(显示DOS分区的结构)
/Z Zero MBR(将主引导记录区清零)
/H Help(帮助信息)
注意
· 如果不指定 device_name,新的主引导记录将被写入引导设备,即装载主系统的驱动器。
· 如果系统检测到无效或非标准分区表标记,将提示用户是否继续执行该命令。除非您访问驱动器有问题,否则不要继续进行。
向系统分区写入新的主引导记录可能破坏分区表并导致分区无法访问。
· 如果完成的结果不对,可以用“/Z”参数将结果清空后重新启动,就可以恢复到原来的状态。
顺便也介绍一下Fixboot命令
2. Fixboot
向系统分区写入新的分区引导扇区。只有在使用故障恢复控制台时,才能使用fixboot 命令。代码:
fixboot [drive]
参数 驱动器
将要写入引导扇区的驱动器。它将替代默认的驱动器(即用户登录的系统分区)。例如,驱动器:D:
范例
下列命令范例向驱动器 D:的系统分区写入新的分区引导扇区:
fixboot d:
注意
如果不带任何参数,fixboot 命令将向用户登录的系统分区写入新的分区引导扇区。
转载于:“百度知道”http://zhidao.baidu.com/question/33409354.html