显示标签为“Linux”的博文。显示所有博文
显示标签为“Linux”的博文。显示所有博文

6.28.2008

PDFtk(引用自Latex学习)

Pdftk Simple Examples

这里是pdftk使用的官方例子. 此方法适用于GUN/Linux, 还可以用TeX合并PDF, 那个方法是跨平台的, 只要有LaTeX和相应的宏包就行.

Merge Two or More PDFs into a New Document

pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdf
or (Using Handles):

pdftk A=1.pdf B=2.pdf cat A B output 12.pdf
or (Using Wildcards):

pdftk *.pdf cat output combined.pdf
Split Select Pages from Multiple PDFs into a New Document

pdftk A=one.pdf B=two.pdf cat A1-7 B1-5 A8 output combined.pdf
Encrypt a PDF using 128-Bit Strength (the Default) and Withhold All Permissions (the Default)

pdftk mydoc.pdf output mydoc.128.pdf owner_pw foopass
Same as Above, Except a Password is Required to Open the PDF

pdftk mydoc.pdf output mydoc.128.pdf owner_pw foo user_pw baz
Same as Above, Except Printing is Allowed (after the PDF is Open)

pdftk mydoc.pdf output mydoc.128.pdf owner_pw foo user_pw baz allow printing
Decrypt a PDF

pdftk secured.pdf input_pw foopass output unsecured.pdf
Join Two Files, One of Which is Encrypted (the Output is Not Encrypted)

pdftk A=secured.pdf mydoc.pdf input_pw A=foopass cat output combined.pdf
Uncompress PDF Page Streams for Editing the PDF Code in a Text Editor

pdftk mydoc.pdf output mydoc.clear.pdf uncompress
Repair a PDF's Corrupted XREF Table and Stream Lengths (If Possible)

pdftk broken.pdf output fixed.pdf
Burst a Single PDF Document into Single Pages and Report its Data to doc_data.txt

pdftk mydoc.pdf burst
Report on PDF Document Metadata, Bookmarks and Page Labels

pdftk mydoc.pdf dump_data output report.txt

from: http://www.accesspdf.com/article.php/20041129175231241

------------------------------------------------

latex learning blog

Split Select Pages from Multiple PDFs into a New Document

pdftk A=one.pdf B=two.pdf cat A1-7 B1-5 A8 output combined.pdf

6.02.2008

linux内核编程的误区(转)

先说句正经的:其实我没资格写这篇文章,因为自己也就一两个月以来才开始有所领悟的。因此,这里与其说是关于Linux内核学习的经验,不如说是自己的教训吧,希望不要扔鸡蛋砸我^_^

常常有人问:我想学习内核,需要什么基础吗?Linus Torvalds本人是这样回答的:你必须使用过Linux. 这个……还是有点太泛了吧,我想下面几个基础可能还是需要的,尽管不一定必需:

1, 关于操作系统理论的最初级的知识。不需要通读并理解《操作系统概念》《现代操作系统》等巨著,但总要知道分时(time-shared)和实时(real-time)的区别是什么,进程是个什么东西,CPU和系统总线、内存的关系(很粗略即可),等等。

2, 关于C语言。不需要已经很精通C语言,只要能熟练编写C程序,能看懂链表、散列表等数据结构的C实现,用过gcc编译器,就可以了。当然,如果已经精通C语言显然是大占便宜的。

3, 关于CPU的知识。这块儿可以在学习内核过程中补,但这样的话你就需要看讲解很详细的书,比方后面将会提到的《情景分析》。你是否熟悉Intel 80386 CPU?尝试着回答这几个问题来判断一下:1)说出80386的中断门和陷阱门的区别;2)说出保护模式与实模式的区别;3)多处理器机器上,普通的读- 改-写回一块内存这样的动作,为什么需要特殊的手段来保护。等等。讲解基于其它CPU的Linux内核的书,目前好象只有一本《IA64Linux内核:设计与实现》──也还是Intel的,其它都是讲解基于IA32的。

以上算是知识方面吧,如果还要再补充一条,我想就是:动手编译过内核。

好了,我们接下来走。好多人装上Linux之后,第一件事找到内核源码所在的路径,打开一个C程序文件,开始哗哗哗翻页,看看大名鼎鼎的Linux内核代码到底长啥模样──然后关闭。这是可理解的,但却不是学习的方法。刚开始,必须从读书入手。至少要对内核有一个Overview之后,才有可能带着问题去试图阅读源代码本身。 下面就讲一下我读过的几本书:

1, 《Linux内核设计与实现》,英文名Linux Kernel Development(所以有人叫它LKD),机械工业出版社,¥35, 美国Robert Love著,陈莉君译者。评说:此书是当今首屈一指的入门最佳图书。作者是为2.6内核加入了抢占的人,对调度部分非常精通,而调度是整个系统的核心,因此本书是很权威的。这本书讲解浅显易懂,全书没有列举一条汇编语句,但是给出了整个Linux操作系统2.6内核的概观,使你能通过阅读迅速获得一个overview.而且对内核中较为混乱的部分(如下半部),它的讲解是最透彻的。对没怎么深入内核的人来说,这是强烈推荐的一本书。

翻译:翻译水平、负责任程度都不错,但是印刷存在一些错误。买了此书的朋友可以参考我在Linux高级应用版的《Linux内核设计与实现中文版勘误》:http://bbs.chinaunix.net/forum/viewtopic.php?t=541234另外,此书2005年有了第二版,目前尚无中译本面世。我就是对照着2nd-en勘误1st-cn的。

2, 《Linux内核源代码情景分析》上、下。毛德操、胡希明著,浙江大学出版社,上册¥80,下册¥70. 评说:本书是基于2.4.0内核的,比较早,也没听说会出第二版。上册讲解内存管理、中断、异常与系统调用、进程控制、文件系统与传统Unix IPC;下册讲解socket、设备驱动、SMP和引导。关于这套书的评价褒贬不一,我个人认为其深度是同类著作中最优秀的。本书基于Intel IA32体系,由于厚度大,很多体系上的知识都捎带讲解了,所以如果你想深入了解内核的工作机制而又不非常熟悉Intel CPU的体系构造,本书是最合适的。缺点是:版本较老,没有TCP/IP协议栈部分(它讲的socket只是Unix域协议的),图表太少,不适合初学者入门。还有就是对学生朋友来说,可能书价偏高,这样的话可以考虑先买上册,因为上册是核心部分,下册一大部分都在讲具体PCI/ISA/USB设备的驱动。

翻译:没什么翻译,作者是国人,而且行文流畅。本人书桌上诸多计算机经典图书当中,这套是唯一又经典又无阅读障碍的。

www.linuxforum.net内核版好多朋友已经把这书读到六七遍了,我很惭愧,上册差不多读熟了,下册就SMP部分还看过──但这就花费了整整1年的时间,还有好多弄不懂的。这里顺便说明另外一个研究内核常见的误区:目标太庞大。要知道Linux内核(最新的2.6.13)bzip2压缩之后37M,解压缩之后244M,根本不是哪个人能够吃透的。即使是内核的核心开发团队中,恐怕也只Linus Torvalds、Alan Cox、David Miller、Ingo Molnar寥寥数人会有比较全面的了解,其它人都是做自己专门的部分。我自己来说,目前已经决定放弃内存管理的全部(slab层、LRU、rbtree等)、文件系统部分、外设驱动部分,暂时也没打算弄IA32以外的其它体系的部分。

3,《深入理解Linux内核》第二版。中国电力出版社。也是陈莉君译。此书是Linux内核黑客在推荐图书时的首选。评说:此书C版的converse兄送了我一本第一版,因此就没买第二版,比较后悔。因此只就第一版说一说,第一版基于2.2,第二版2.4 .我见O'Reilly官方主页上说第三版的英文版将于2005年11月出版,也不知咱们何时才能见到。此书图表很多,形象地给出了关键数据结构的定义,与《情景分析》相比,本书内容紧凑,不会一个问题讲解动辄上百页,有提纲挈领的功用,但是深度上要逊于《情景分析》。

4, 其它的几本书。市面上能见到的其它的Linux内核的图书,象《Linux设备驱动程序》、《Linux内核源代码完全注释》以及新出的《Linux内核分析及编程》等。

《Linux设备驱动程序》第二版是基于2.4的,中文翻译不错,中国电力出版。这书强调动手实践,但它是讲解“设备驱动”的,不是最核心的东西,而且有些东西没硬件的话无法实践,可能更适合驱动开发的程序员吧,不太适合那些For fun and profit的人。此书有第三版英文版,东南大学出版社影印,讲解2.6的,行文流畅,讲解的面也比第二版更广泛,我读过其中关于同步与互斥、内存分配的部分,感觉很不错。

《Linux内核源代码完全注释》(机械工业出版社)是同济大学的博士生赵炯的著作,讲解0.1Linux内核,我没买也没看,有看过的朋友说一说。

《Linux内核分析及编程》(电子工业出版社)是刚刚出版的,国人写的,讲解2.6.11 .很多人说好,但有人说不够系统,我没买,不敢评说。

还有一本清华出的《Linux内核编程指南(第三版)》,原书应该是好书,但是翻译、排版十分糟烂,脱字跳行,根本没法看,我买了一本又扔掉了。

5, 其它资源。 TLDP(The Linux Documentation Project)有大量文档,其中不少是关于内核的,有些是在国外出版过的,象《Linux Kernel Interls》《The Linux Kernel》《Linux Kernel Module Programming Guide》等,作者都是亲身参加开发的人,著作较为可信。

Http://www.linuxforum.net中国Linux论坛的内核版。该版是研究内核的中文Linux社区中水平最高的,有很多专家级别的牛人,强烈推荐去学习一下(但建议不要问太过分简单的问题,人家脾气再好也会烦的^_^),它的置顶贴简直是一个包罗万象的FAQ,精华区也有很多资料。只可惜太过曲高和寡,人气不是很旺。

6,一本不是讲解Linux的书:《现代体系结构上的Unix系统:内核程序员的SMP和Caching技术》,人民邮电出版社2003版,定价¥39. 本书虽然不是讲解Linux,但是对所有Unix内核都是适用的,适合对SMP和CPU的Cache这些组成原理知识不是很熟的朋友,而且是很多国外牛人推荐的书。中文版翻译非常负责。

还有个很重要的问题:怎样浏览内核源代码。有的朋友喜欢在Windows上工作,用Source Insight;有的在Linux,用Source Navigator;还有专门浏览源代码的软件,象lxr(Linux Cross Reference);还有用ctags/ectags/cscope等,这些都是很优秀的软件。我个人用Vim + ctags浏览(参考了www.linuxforum.net内核版wheelz大侠的文档,)。

此外,前边已经提到的一个重要的问题是:你研究内核的目的是什么, 开发? 乐趣?如果是开发,而且是国内做开发,把kernel API熟悉一下就差不太多了(你也知道国内的水平有多差),比方说copy_from_user()、kmalloc()函数等,kernel API在Internet上找得到,编译内核时也可以用DocBook生成(具体请参考内核源代码包下的README文件);如果是研究,那就差别很大了,需要下很大的苦功:会用kmalloc()绝不说明你懂得Linux内核的虚存管理子系统,正如同会讲汉语不说明你懂中国文化一样。

1.01.2008

RAR for Linux

a 向压缩包中添加文件
c 添加压缩注释
cf 添加文件注释
cw 向文件中写压缩注释
d 从压缩包中删除文件
e 在当前目录下解压缩文件
f 刷新压缩文件中的文件
i[par]= 在压缩包中查找指定字符串
k 锁住压缩包
l[t,b] 列出压缩包的内容[t(technical)详细列表,b(bare)简单列表]
m[f] 向压缩包里移动内容[f(files only)只移动文件]
p 在标准输出上打印文件内容
r 修复压缩包
rc 修复丢失卷
rn 重命名压缩的文件
rr[N] 添加数据恢复记录
rv[N] 创建恢复卷
s[name|-] 将压缩包转换为自解压文件,或从自解压文件转换为压缩包
t 测试压缩文件
u 更新压缩包中的文件
v[t,b] 列出压缩包中文件(冗长型)[t(technical)详细列表,b(bare)简单列表]
x 以全路径方式解压文件

- 停止switches扫描
ad 在目的路径后添加压缩文件名
ag[format] 用当前日期生成压缩文件名
ap 设置压缩包内部的路径
as 同步压缩内容
av 设置授权认证(注册版功能)
av- 禁用授权认证检查
c- 禁止内容显示
cfg- 不读取设置
cl 将名称转换为小写
cu 将名称转换为大写
df 在压缩完成后删除源文件
dh 打开共享文件
ds 对于固实压缩包,禁用名称排序
e 设置文件不包含的属性
ed 不添加空目录
en 不设置‘压缩文件尾标志’块
ep 在名称中去掉路径
ep1 在名称中去掉基本路径
ep2 展开全路径
f 刷新文件
hp[password] 对文件数据和文件头都进行加密
idp 禁用百分比显示
ierr 给标准错误输出发送所有信息
ilog[name] 生成错误日志文件(注册版功能)
inul 禁用所有信息
isnd 启用声效
k 锁住压缩包
kb 保留破损的解压文件
m<0..5> 设置压缩率(0-存储...3-默认...5-最大)
mc 设置高级压缩参数
md 以KB显示大小(64,128,256,512,1024,2048,4096 或者A-G)
ms[ext;ext] 指定存储的文件类型
o+ 覆盖已存在文件
o- 不覆盖已存在文件
ol 将符号链接保存为链接而不是文件
ow 保存或恢复文件属主/组
p[password] 设置密码
p- 不查询密码
r 对子目录内容循环
r0 只对通配符进行子目录内容循环
rr[N] 添加数据恢复记录
rv[N] 创建恢复卷
s[,v[-],e] 创建固实压缩包
s- 禁用固实压缩
sfx[name] 创建自解压压缩包
t 压缩后进行解压测试
ta 处理在(YYYYMMDDHHMMSS格式)日期后修改的文件
tb 处理在(YYYYMMDDHHMMSS格式)日期前修改的文件
tk 保留初始压缩时间
tl 设置压缩时间为最新文件的时间
tn 处理在时间后修改的文件
to 处理在时间前修改的文件
ts[N] 保存或恢复文件时间(修改,创建,访问)
u 更新文件
v 以自动分卷大小分卷压缩,或列出所有分卷
v[k,b] 以*1000大小分卷压缩[k-*1024, b-*1]
ver[n] 文件版本控制
vn 使用旧的分卷命名方式
vp 每次分卷前暂停
w 设置工作目录
x 排除指定文件
x@ 从标准输入中读取要排除的文件名
x@> 排除列表文件中指定的文件
y 对所有问题均回复yes
z 从文件中读取压缩包内容
============================================
查看压缩包中的文件
$rar l XXX.rar 或者 $rar v XXX.rar
查看压缩包中的文件(只看有什么文件)
$rar lb XXX.rar 或者 $rar vb XXX.rar
查看压缩包中的文件(详细信息)
$rar lt XXX.rar 或者 $rar vt XXX.rar
============================================
把压缩包的内容解压到当前目录
$rar e XXX.rar
把压缩包的内容解压到指定目录,比如/home/yxd/tmp/下面
$rar e XXX.rar /home/yxd/tmp/
把压缩包解的内容压到指定目录,比如/home/yxd/tmp/下面,包含压缩包中的路径
$rar x XXX.rar /home/yxd/tmp/
============================================
压缩指定的一个文件,比如aaa,以默认压缩率
$rar a XXX.rar aaa
压缩指定的一个文件,比如aaa,以最大压缩率
$rar a -m5 XXX.rar aaa
压缩指定的一个目录下的所有文件,比如ddd目录下的所有文件
$rar a XXX.rar ddd/
压缩指定的一个目录下的所有文件,比如ddd目录下的所有文件和所有子目录
$rar a -r XXX.rar ddd/
压缩指定的一个目录下的所有文件,比如ddd目录下的所有文件和所有子目录,但是不包含空目录
$rar a -r -ed XXX.rar ddd/
压缩指定的一个目录下的所有文件,比如ddd目录,连目录也一起压缩,包括子目录
$rar a XXX.rar ddd
============================================
分卷压缩指定的一个文件,比如aaa,分卷大小为5000B
$rar a -v5 XXX.rar aaa
分卷压缩指定的一个文件,比如aaa,分卷大小为5k(5*1024B)
$rar a -v5k XXX.rar aaa
分卷压缩指定的一个文件,比如aaa,分卷大小为5B
$rar a -v5b XXX.rar aaa
============================================

来自:http://zhangjingking.spaces.live.com

12.20.2007

ubuntu SSH 连接

ubuntu SSH 连接

安装 SSH(Secure Shell) 服务以提供远程管理服务

sudo apt-get install ssh

SSH 远程登入 Ubuntu 机

ssh username@192.168.0.1

将 文件/文件夹 从远程 Ubuntu 机拷至本地(scp)

scp -r username@192.168.0.1:/home/username/remotefile.txt .

将 文件/文件夹 从本地拷至远程 Ubuntu 机(scp)

scp -r localfile.txt username@192.168.0.1:/home/username/

将 文件/文件夹 从远程 Ubuntu 机拷至本地(rsync)

rsync -v -u -a --delete --rsh=ssh --stats username@192.168.0.1:/home/username/remotefile.txt .

将 文件/文件夹 从本地拷至远程 Ubuntu 机(rsync)

rsync -v -u -a --delete --rsh=ssh --stats localfile.txt username@192.168.0.1:/home/username/

在 Windows 机上用 SSH 远程登录 Ubuntu 机

下载 PuTTY


如何在 Windows 机上拷贝 文件/文件夹 从/到 远程 Ubuntu 机

下载 FileZilla

如何限制通过SSH远程连接的用户帐号

如,假如你启用了SSH服务,那么任何有有效帐号的用户都可以远程连接。这可能会导致一些安全问题,由于有一些远程密码破解工具可以尝试常见的用户名/密码

备份SSH服务的配置文件

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.ORIGINAL

编辑配置文件

sudo gedit /etc/ssh/sshd_config

* 将参数 PermitRootLogin 由 yes 更改为 no。 超级用户不能直接通过远程联机。
* 添加参数 AllowUsers 设定远程连接的用户名 (用空格来分割) 。
* 您也可以使用 DenyUsers for fine-grained selection of users.
* If you enable the openssh server and you have no intention for now to enable remote connections, you may add AllowUsers nosuchuserhere to disable anyone connecting.


SSH 命令

ssh 命令可以用来在远程机器上不经 shell 提示登录而执行命令。它的语法格式是: ssh hostname command。譬如,如果你想在远程主机 penguin.example.net 上执行 ls /usr/share/doc 命令,在 shell 提示下键入下面的命令:

ssh penguin.example.net ls /usr/share/doc

3.2. 使用 scp 命令

  scp 命令可以用来通过安全、加密的连接在机器间传输文件。它与 rcp 相似。

  把本地文件传输给远程系统的一般语法是:

  scp localfile username@tohostname:/newfilename

  localfile 指定源文件,username@tohostname:/newfilename 指定目标文件。

  要把本地文件 shadowman 传送到你在 penguin.example.net 上的账号内,在 shell 提示下键入(把 username 替换成你的用户名):

  scp shadowman username@penguin.example.net:/home/username

  这会把本地文件 shadowman 传输给 penguin.example.net 上的 /home/username/shadowman 文件。

  把远程文件传输给本地系统的一般语法是:

  scp username@tohostname:/remotefile /newlocalfile

  remotefile 指定源文件,newlocalfile 指定目标文件。

  源文件可以由多个文件组成。譬如,要把目录 /downloads 的内容传输到远程机器 penguin.example.net 上现存的 uploads 目录,在 shell 提示下键入下列命令:

  scp /downloads/* username@penguin.example.net:/uploads/

  3.3. 使用 sftp 命令

  sftp 工具可以用来打开一次安全互动的 FTP 会话。它与 ftp 相似,只不过,它使用安全、加密的连接。它的一般语法是:sftp username@hostname.com。一旦通过 验证,你可以使用一组和使用 FTP 相似的命令。请参阅 sftp 的说明书页(man)来获取这些 命令的列表。要阅读说明书页,在 shell 提示下执行 man sftp 命令。sftp 工具只在 OpenSSH 版本 2.5.0p1 以上才有。


SSH 概念

SSH是指Secure Shell,SSH协议族由IETF(Internet Engineering Task Force)的Network Working Group制定,SSH协议的内容SSH协议是建立在应用层和传输层基础上的安全协议。

传统的网络服务程序,如FTP、Pop和Telnet其本质上都是不安全的;因为它们在网络上用明文传送数据、用户帐号和用户口令,很容易受到中间人(man-in-the-middle)攻击方式的攻击。就是存在另一个人或者一台机器冒充真正的服务器接收用户传给服务器的数据,然后再冒充用户把数据传给真正的服务器。

SSH(Secure Shell)是目前比较可靠的为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。通过SSH,可以把所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。
SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、Pop、甚至为PPP提供一个安全的"通道"。

ssh -X guoshuang@192.168.100.4

支持 SSH 图形界面。也就是说,gedit 打开和另存都是在服务器端操作的。nautilus 打开服务器端的文件管理器。这下就比只用命令行方便多了。不知道 windows 下的 putty 支持不。

ssh -X guoshuang@192.168.100.4 ls

直接在服务器端执行 ls 返回结果到客户端

12.19.2007

Firefox 快捷键

转:Firefox 快捷键大全(2.0版)
作者:大徐 发表时间:2006-11-06 10:59:02
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处。
http://daxu.net/archives/434.html
Firefox 键盘快捷键
导航类
后退: Alt+左方向键 或 Backspace
前进: Shift+Backspace 或 Alt+右方向键
首页: Alt+Home
打开文件: Ctrl+O
重新载入: F5 或 Ctrl+R
重新载入 (忽略缓存): Ctrl+F5 或 Ctrl+Shift+R
停止: Esc

当前页
到页面底部: End
到页面顶部: Home
移到下一帧: F6
移到上一帧: Shift+F6
页面源代码: Ctrl+U
打印: Ctrl+P
页面另存为: Ctrl+S
放大文字: Ctrl++
缩小文字: Ctrl+-
恢复文本大小: Ctrl+0

编辑
复制: Ctrl+C
剪切: Ctrl+X
删除: Del
粘贴: Ctrl+V
重做: Ctrl+Y
全选: Ctrl+A
撤消: Ctrl+Z

搜索
本页查找: Ctrl+F
再次查找: F3
输入查找链接: '
输入查找文本: /
查找: Shift+F3
网页搜索: Ctrl+K 或 Ctrl+E

窗口和标签
关闭标签: Ctrl+W 或 Ctrl+F4
关闭窗口: Ctrl+Shift+W 或 Alt+F4
向左移动标签: Ctrl+左方向键 或 Ctrl+上方向键
向右移动标签: Ctrl+右方向键 或 Ctrl+下方向键
移动标签到开头: Ctrl+Home
移动标签到结尾: Ctrl+End
新建标签页: Ctrl+T
新建窗口: Ctrl+N
下一个标签页: Ctrl+Tab 或 Ctrl+PageDown
在新标签页打开网址: Alt+Enter
前一个标签页: Ctrl+Shift+Tab 或 Ctrl+PageUp
撤销关闭标签页: Ctrl+Shift+T
选择标签页 [1 to 8]: Ctrl+[1 到 8]
选择最后标签页: Ctrl+9

工具
添加所有为书签: Ctrl+Shift+D
添加当前为书签: Ctrl+D
打开书签: Ctrl+B 或 Ctrl+I
插入浏览: F7
下载: Ctrl+J
历史: Ctrl+H
清除私有数据: Ctrl+Shift+Del

其他
补全 .com 地址: Ctrl+Enter
补全 .net 地址: Shift+Enter
补全 .org 地址: Ctrl+Shift+Enter
删除选定的自匹配输入: Del
全屏: F11
选择地址条: Alt+D 或 F6 或 Ctrl+L
选择或管理搜索引擎: Alt+上方向键 或 Alt+下方向键 或 F4

Firefox 鼠标快捷键
后退: Shift+Scroll down
关闭标签页: 在标签上按鼠标中键
减小文字大小: Ctrl+Scroll up
前进: Shift+Scroll up
增大文字大小: Ctrl+Scroll down
新建标签页: 在标签页栏双击鼠标
在后台打开标签页: Ctrl+Left-click 或 点击鼠标中键
在前台打开标签页: Shift+Ctrl+Left-click 或 Shift+点击鼠标中键
在新窗口打开: Shift+Left-click
刷新 (覆盖缓存): Shift+Reload button
保存页面为: Alt+Left-click
逐行滚动: Alt+Scroll

以上快捷键由困兽根据 Firefox 2.0 帮助文件整理,适用于 Firefox 2.0 版本。

KDE的使用技巧

转自 linuxsir ,作者:pluskid

最近一直用KDE,有一些小技巧,共享出来给大家吧!

1. 加速 Konqueror 启动:
设置-> 配置 Konqueror -> 性能 -> 预加载:
保留预加载的实例数 设为2
并选中 “KDE 启动之后预加载实例” 和 “必须有一个预加载实例”。
怎么样?现在Konqueror启动是不是快如飞啦?Opera尚比不上,就更别提那个乌龟似的Firefox了。

2. Konqueror 的标签浏览
和Firefox一样,Ctrl+点击就是在新的标签中打开,更进一步的设置请见:
设置-> 配置 Konqueror -> Web行为 -> 标签式浏览 -> 高级选项
值得注意的是里面的一个“显示关闭按钮而不是网站图标”,选中之后,标签上就有一个可以直接点击就关掉标签的按钮了。

3. Konqueror “狗皮膏药”
按一下 Ctrl ,是不是屏幕上出来一些稀奇古怪的黄颜色的像狗皮膏药一样的东西?其实那是为了笔记本的用户设计的,你看没一个膏药里面都有一个对应键盘上的数字或者字母,按那个键就好比用鼠标点击了那个“膏药”处一样,当然,膏药都是在网页上的链接呀、按钮呀之类的地方出现的,这可是一个很人性化的设置哟!如果你不喜欢,在 ~/.kde/share/config/konquerorrc 里面加入:
[Access Keys]
Enabled=false
就可以禁用了。

4. Konqueror 上选课网
设置-> 配置 Konqueror -> 浏览器识别
里面新建,把 10.10.10.32, 10.10.10.33, 10.10.10.34 (不知道教务网怎么网址是变来变去的)都分别添加进去,并选择标识为IE 6.0 on Windows XP 就可以正常访问选课网了。

5. Konqueror flash插件
如果你给 Mozilla 或者 Firefox 装过 flash 的插件
设置-> 配置 Konqueror -> 插件
扫描新插件 就可以扫描到 Firefox 的 flash 插件,就可以正常使用了。

6. Konqueror 的速搜
在地址栏输入
gg:Konqueror
是不是就连接上了 google搜索 Konqueror 了?你可以在
设置-> 配置 Konqueror -> 速搜
里面配置,我是把 gg 的网址改成了 www.google.cn 了的,这样会快一点嘛。

7. 鼠标手势
KDE 里面不止Konqueror可以使用鼠标手势,任何地方都可以使用鼠标手势,在
控制中心 -> 区域和辅助功能 -> 输入动作
里面可以配置鼠标手势,请注意,要启用鼠标手势,请点击右下的“全局设置”,并把“手势设置”一栏里面的“全局禁用鼠标手势”选项前面的勾去掉。

8. Konqueror 中键点击关闭标签
本来是用那个按钮关闭标签,后来不想用按钮了,用鼠标手势,我现在已经很习惯中键点击关闭标签了,要实现这个功能,只要在 ~/.kde/share/config/konquerorrc 里面的 [FMSettings] 一节里面加入
MouseMiddleClickClosesTab=true
就可以了,如果不行的话,请在 设置-> 配置 Konqueror -> Web行为 -> 标签式浏览 里面把鼠标行为里面的“中键单击打开选中的URL”前面的勾去掉。

9. yakuake 超酷终端!
apt-get install yakuake
然后运行yakuake,恩?没有反应?按一下F12,哈哈!屏幕上方出现了一个终端!按F12它有缩回去了。你可以配置成失去焦点之后自动缩回去,可以改变大小,其他配置都是共享 Konsole 的配置方法的,设置背景、颜色之类的,有几个默认快捷键:Ctrl+Shift+N 新建标签。Shift+Right转到右边一个标签。Shift+Left转到左边一个标签。呵呵!真的很方便哟!用了这个之后,我再也没有开过其他终端了。不要再犹豫了,做个链接,让他随着KDE的启动而启动吧!
ln -s /usr/bin/yakuake ~/.kde/Autostart/

10. 加速 KDE
是不是觉得 KDE 有时候有些地方显示有点慢甚至很慢?其实这是 KDE 现在的一个 Bug,就是字体的问题,在
控制中心 -> 外观和主题 -> 字体
那里面看看,如果有设置为 Monospace 或者是 Serif 、 Sans Serif 的,把他改成其他的你喜欢的字体就可以加快KDE的速度。因为 Serif 这些字体其实是 fontconfig 虚拟出来的字体,而KDE现在在处理这个问题上会造成性能很大的下降,官方说的是一个Bug,希望以后会改正。同理,在 Konqueror 的设置里面更改字体也可以提升 Konqueror 的性能。我以前 Konqueror 的地址栏的那个下拉列表,每次我输入网址至少都要4、5秒种,郁闷死了,改过之后就基本上没有延迟了。如果你想使用fontconfig那类似的字体替换,例如,英文使用Courier New,而中文使用SimSun,请参见[11. 用 qtconfig 来实现字体替换]

11. 用 qtconfig 来实现字体替换
apt-get install qt3-qtconfig
现在,运行qtconfig,选 Fonts 一栏。左边有说明的,如果不愿意看,直接设置把,那儿“Font Substitution”的地方,在"Select or enter a family" 那儿选择要替换的字体,比如 Tahoma ,然后在下面 "select substitute family" 选择一种中文字体,比如 SimSun ,然后按 Add。就是这类似的步骤,现在,你可以选择系统的字体为 Tahoma 了,系统使用 Tahoma 字体,但是当他遇到中文字体而 Tahoma 这种英文字体里面不能找到中文字体的时候,就会依次查找你设置的替换字体列表,现在,他找到了 SimSun ,OK!中文就用SimSun来显示了。这有点类似fontconfig的那一套吧?不过这是针对qt程序的,其实KDE就是基于Qt的嘛!^_^

12. 窗口遍历
左边 Alt + Tab 就是遍历窗口,右边Alt+Tab 就是在最近使用的两个窗口之间来回切换。(有些网友说他的刚好相反,我还没有找到这个是在哪儿设置的呢,呵呵!)
在 控制中心 -> 桌面 -> 窗口行为 -> 导航 里面可以设置一些具体的东西。另外 Ctrl+Tab 是用来在桌面之间切换的,不过被我禁用掉了,因为我把这个快捷键用到我的Emacs里面去了。


13. 鼠标单击还是双击的问题
很多朋友都习惯了双击打开文件,但是Konqueror默认是单击打开的,而且Konqueror里面还没有设置选项。其实是可以设置的,但是是在另外一个地方: 控制中心 -> 外设 -> 鼠标 里面改。不过,我还是喜欢单击,习惯了之后,你会发现单击比双击要舒服哟!

14. Konqueror 里面查看 man 、info
在地址栏输入:man:/konqueror 就可以查看 konqueror 的 man page了。同理,输入 info:/cvs 就可以查看 cvs 的 info 文档。当然,前提是里的系统里面装了这些文档。直接输入 info: 会打开一个系统里面的 info 列表。man也是一样,作为一个快捷输入,你可以输入 “#” 来代替 “man:/”,比如: #kate

15. Konqueror 里面通过 ssh 进行远程文件管理
在地址栏输入 fish://user@host 然后按提示输入密码,怎么样?远程文件出现了吧?可以直接预览图像呀之类的,这可比开一个远程的X程序要快得多哟!也可以直接编辑远程文件,但是必须用 KDE的那些程序如Kate之类的,好像是用到kio还是什么吧?反正是很方便的哟!

16. Konqueror 的拼写检查
这个功能会造成文本框输入很慢,而且像我们这样经常输入代码(被Konqueror检查就是一大堆错别字),几乎用不上那个功能,但是这个又不能永久关掉。其实,你可以配置拼写检查,把他改成你没有的拼写检查工具就可以了,例如,我设置的是 zemberek 土耳其语。 这下感觉好多了。

Koqueror的常见问题,很多有用的Tip

http://www.konqueror.org/faq/

其实有不少问题,认真阅读KDE的帮助中心,会找到答案,帮助中心中也有不少所谓Tips & Tricks,比如一些影响KDE的环境变量如`KDE_DEBUG', `KDE_NO_IPV6', `KDE_LANG'等。但也有一些隐藏的,只有通过配置文件才能修改的设置,希望大家补充。

比如说在
~/.kde/share/config/konqsidebartng.rc

开头加入
ShowArchivesAsFolders=false

这样文件管理器视图的侧边栏中的目录树中就不会出现归档文件了。

12.17.2007

VIM简单配置文件

set helplang=cn
set backspace=indent,eol,start
set number
set encoding=cp936
set guifont=Bitstream_Vera_Sans_Mono:h11:cANSI
set hlsearch
set ts=4
set sw=4
set sm
syntax on

以上是简单的配置vimrc,能够满足你大部分需要了。

SSH上传下载实例

上传:
root@tiger:~/download$ scp phpMyAdmin-2.11.3-all-languages.tar.bz2 m1781289@dbcip.cs.uni-duesseldorf.de:/home/m1781289/code/

phpMyAdmin-2.11.3-all-languages.tar.bz2 100% 3014KB 502.3KB/s 00:06

Linux实用命令--文件系统操作
2007-09-22 23:14 来源: sense5.cublog.cn 作者:sense5 网友评论 0 条 浏览次数 67

文件系统操作是最基本的操作,没有文件系统,操作系统根本就运行不了。

下面是我们经常要做的一些事情。在下面具体参数意义不解释,要了解这些

可以查询该命令帮助文档

1. 创建目录

mkdir

NO1. 在当前路径创建一级目录

[root@rehat root]# mkdir test

NO2. 在当前路径创建多级目录

[root@rehat root]# mkdir -p mytest/test1/test1_1

NO3. 在创建目录的同时给新建的目录赋权限

[root@rehat root]# mkdir -m 777 testmod

这样任何人对此目录都有任何权限

2. 复制文件与文件夹

cp

NO1. 复制指定目录的文件到当前目录,并重命名

[root@rehat root]# cp ~/.bashrc bashrc_bak

NO2. 强制复制指定目录的文件到当前目录,而不管当前目录是否含有该文件

[root@rehat root]# cp -f ~/.bashrc bashrc

NO2. 复制指定目录到当前目录

[root@rehat root]# cp -r /root/test .

[root@rehat root]# cp -r /root/test/ .

两者效果一样,在复制目录时,会将源路径的最后一级目录全部复制过去,包括它本身。

NO3. 复制指定目录的文件到指定目录

[root@rehat root]# cp ~/.bashrc /bak/.bashrc

NO4. 在复制时将源文件的全部属性也复制过来。若不指定参数,则目标文件与源文件属性可能不一致。

[root@rehat root]# cp -a ~/.bashrc /bak/.bashrc

NO5. 若两个文件夹要保证同步,一个文件的改了,另一个文件也跟着改,但是要保证两个文件的文件都是最新的。

[root@rehat root]# cp -u /src/.bashrc /bak_src/bashrc

3. 建立链接文件,包括硬链接与软链接

ln

NO1. 建立类似于 Windows 的快捷方式

[root@rehat root]# ln -s test.txt test.txt_slnk

NO2. 当想备份一个文件,但空间又不够,则可以为该文件建立一个硬连接。这样,就算原文件删除了,只要该

链接文件没被删除,则在存储空间里还是没有被删除。

[root@rehat root]# ln -l test.txt test.txt_hlnk

4. 删除文件

rm

NO1. 删除当前目录的文件

[root@rehat root]# rm test.txt

NO2. 强制删除当前目录的文件,不弹出提示

[root@rehat root]# rm -f test.txt

NO3. 强制删除整个目录,包括目录与文件全部删除,需要管理员权限

[root@rehat root]# rm -r -f test

5. 删除文件夹

rmdir

NO1. 删除一个空目录

[root@rehat root]# rmdir emptydir

NO2. 删除多级空目录

[root@rehat root]# rmdir -p emptydir/d1/d11

6. 挂载文件系统与卸载文件系统

mount / umount

NO1. 挂载光驱

[root@rehat root]# mount -t iso9660 /dev/cdrom /mnt/cdrom

NO2. 挂载光驱,支持中文

[root@rehat root]# mount -t iso9660 -o codepage=936,iocharset=cp936 /dev/cdrom /mnt/cdrom

NO3. 挂载 Windows 分区,FAT文件系统

[root@rehat root]# mount -t vfat /dev/hda3 /mnt/cdrom

NO4. 挂载 Windows 分区,NTFS文件系统

[root@rehat root]# mount -t ntfs -o iocharset=cp936 /dev/hda7 /mnt/had7

No5. 挂载 ISO 文件

[root@rehat root]# mount -o loop /abc.iso /mnt/cdrom

NO6. 挂载 软驱

[root@rehat root]# mount /dev/fd0 /mnt/floppy

NO7. 挂载闪盘

[root@rehat root]# mount /dev/sda1 /mnt/cdrom

NO8. 挂载 Windows 操作系统共享的文件夹

[root@rehat root]# mount -t smbfs -o username=guest,password=guest //machine/path /mnt/cdrom

NO9. 显示挂载的文件系统

[root@rehat root]# mount

[root@rehat root]# cat /etc/fstab 显示系统启动自动加载的文件系统

[root@rehat root]# cat /etc/mtab 显示当前加载的文件系统

7. 检查磁盘空间

df

NO1. 显示所有存储系统空间使用情况,同时显示存储系统的文件系统类型s

[root@rehat root]# df -aT

NO2. 显示指定文件系统的空间使用情况

[root@rehat root]# df -t ext3

NO3. 人性化显示各存储空间大小

[root@rehat root]# df -ah

NO4. 有时候挂载了网络文件系统,若只想看本机的文件系统用如下命令

[root@rehat root]# df -ahlT

NO5. 查看某个文件系统的磁盘使用情况

[root@rehat root]# df -h /dev/cdrom


8. 检查目录空间大小

du

NO1. 查看当前文件夹大小

[root@rehat root]# du -sh

NO2. 查看当前文件及文件中包含的子文件夹大小

[root@rehat root]# du -ch

NO3. 查看文件的大小

[root@rehat root]# du -h test1.txt

NO4. 同时查看多个文件的大小

[root@rehat root]# du -h test1.txt test2.txt

9. 磁盘碎片整理

linux 下基本上不用碎片整理,它每隔一段时间会自动整理

10. 创建/改变文件系统

NO1. 创建文件系统类型

[root@rehat root]# umount /dev/sdb1

[root@rehat root]# mkfs -t ext3 /dev/db1

[root@rehat root]# mount /dev/sdb1 /practice

11. 改变文件或文件夹权限

chmod

NO1. 将自己的笔记设为只有自己才能看

[root@rehat root]# chmod go-rwx test.txt

或者

[root@rehat root]# chmod 700 test.txt

NO2. 同时修改多个文件的权限

[root@rehat root]# chmod 700 test1.txt test2.txt

NO3. 修改一个目录的权限,包括其子目录及文件

[root@rehat root]# chmod 700 -R test

12. 改变文件或文件夹拥有者

chown 该命令只有 root 才能使用

NO1. 更改某个文件的拥有者

[root@rehat root]# chown jim:usergroup test.txt

NO2. 更改某个目录的拥有者,并包含子目录

[root@rehat root]# chown jim:usergroup -R test

13. 查看文本文件内容

cat

NO1. 查看文件内容,并在每行前面加上行号

[root@rehat root]# cat -n test.txt

NO2. 查看文件内容,在不是空行的前面加上行号

[root@rehat root]# cat -b test.txt

NO3. 合并两个文件的内容

[root@rehat root]# cat test1.txt test2.txt > test_new.txt

NO4. 全并两具文件的内容,并追回到一个文件

[root@rehat root]# cat test1.txt test2.txt >> test_total.txt

NO5. 清空某个文件的内容

[root@rehat root]# cat /dev/null > test.txt

NO6. 创建一个新的文件

[root@rehat root]# cat > new.txt 按 CTRL + C 结束录入

14. 编辑文件文件

vi

NO1. 新建档案文件

[root@rehat root]# vi newfile.txt

NO2. 修改档案文件

[root@rehat root]# vi test.txt test.txt 已存在

NO3. vi 的两种工作模式:命令模式,编辑模式

NO4. 进入 vi 后为命令模式,按 Insrt 键进入编辑模式

按 ESC 进入命令模式,在命令模式不能编辑,只能输入命令

NO5. 命令模式常用命令

:w 保存当前文档

:q 直接退出 vi

:wq 先保存后退出

15. 路径操作

cd pwd

NO1. 显示当前路径

[root@rehat root]# pwd

NO2. 返回用户主目录

[root@rehat root]# cd

NO3. 改变到其它路径

[root@rehat root]# cd /etc

NO4. 返回到上一级目录

[root@rehat root]# cd ..

NO5. 返回到根目录

[root@rehat root]# cd /

16. 查询文件或文件夹

find

NO1. 查找当前用户主目录下的所有文件

[root@rehat root]# find ~

NO2. 让当前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件;

[root@rehat root]# find . -perm 644 -exec ls -l {} \;

NO3. 为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径;

[root@rehat root]# find / size 0 -type f -exec ls -l {} \;

NO4. 查找/var/logs目录中更改时间在7日以前的普通文件,并在删除之前询问它们;

[root@rehat root]# find /var/logs -mtime +7 -type f -ok rm -i {} \;

NO5. 为/找系统中所有属于root组的文件;

[root@rehat root]# find / -group root -exec ls -l {} \;

NO6. find命令将删除当目录中访问时间在7日以来、含有数字后缀的admin.log文件

[root@rehat root]# find . -name "admin.log[0-9][0-9][0-9]" -atime -7 -ok rm { } \;

NO7. 为了查找当前文件系统中的所有目录并排序

[root@rehat root]# find . -type d | sort

NO8. 为了查找系统中所有的rmt磁带设备

[root@rehat root]# find /dev/rmt

17. 显示文件/文件夹清单

ls / dir

NO1. 显示所有文件,包括以.开头的隐含文件

[root@rehat root]# ls -a

NO2. 显示文件的详细信息

[root@rehat root]# ls -l

NO3. 显示当前目录及所有子目录信息

[root@rehat root]# ls -Rl

NO4. 以时间排序显示目录,这在找最新文件有用

[root@rehat root]# ls -tl

NO5. 以文件大小排序

[root@rehat root]# ls -Sl

NO6. 显示文件大小,并按大小排序

[root@rehat root]# ls -s -l -S

18. 移动或更改文件/文件夹名称

mv 与 cp命令用法相似

NO1. 若移动目标文件已存在,要在移动之前,先备份原来的目录文件

[root@rehat root]# mv -b test.txt test2/

这样在 test2 下将有两个文件 test.txt 及 text.txt~

其中 test.txt~ 是备份文件,test.txt是新的文件

NO2. 若移动目标文件已存在,但不想弹出是否覆盖的提示,直接覆盖

[root@rehat root]# mv -f test.txt test2/

NO3. 当源与目标都拥有同一个文件,若源文件比目标新则移动,否则不移动

[root@rehat root]# mv -u test.txt test2/

NO4. 更改文件名称

[root@rehat root]# mv test.txt test2.txt

NO5. 更改目录名称

[root@rehat root]# mv /test2 /test2_2