ubuntu - oyaji's Blog
Sed学习笔记
Copyright © 2004,2005, 本文遵从GNU 的自由文档许可证(Free Document License)的条款,欢迎转载、修改、散布。 发布时间:2004年09月20日 最近更新:2005年12月22日,增加小技巧章节。 sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。以下介绍的是Gnu版本的Sed 3.02。 可以通过定址来定位你所希望编辑的行,该地址用数字构成,用逗号分隔的两个行数表示以这两行为起止的行的范围(包括行数表示的那两行)。如1,3表示1,2,3行,美元符号($)表示最后一行。范围可以通过数据,正则表达式或者二者结合的方式确定 。 调用sed命令有两种形式:
Sed脚本是一个sed的命令清单,启动Sed时以-f选项引导脚本文件名。Sed对于脚本中输入的命令非常挑剔,在命令的末尾不能有任何空白或文本,如果在一行中有多个命令,要用分号分隔。以#开头的行为注释行,且不能跨行。
" named.conf |
Nautilus Tips and Tricks
Managing Nautilus from the keyboard
You don’t have to be slowed down by the mouse just because you are using a GUI. Nautilus has great keyboard shortcuts that will allow you to use it quickly and effectively.
Here is a quick table of the shortcut keys and their functionality
Key(s) | Action |
---|---|
Searching | |
Start Typing | Select the matching name of a file or directory |
CTRL+F | Search filenames and content of indexed files |
CTRL+S | Selects all files or directories matching a pattern |
Display and Window Management | |
CTRL+N | Create a new Nautilus window |
CTRL+W | Close a Nautilus window |
CTRL+SHIFT+W | Close all Nautilus windows |
CTRL+1 | View files in icon mode |
CTRL+2 | View files in list mode |
F9 | Toggle sidebar pane |
File Management | |
CTRL+H | Show hidden files |
CTRL+SHIFT+N | Create a new folder |
CTRL+T or Del | Delete the file or directory and move to the trash |
Shift+Del | Delete the selected file or directory and skip the trash |
F2 | Rename the selected file or directory |
Alt+Enter | View properties of the selected file or directory |
Movement | |
CTRL+L | Move into the location bar |
Alt+HOME | Go to your $HOME folder |
* or + or SHIFT+RArrow | Expand Directory in list view |
- or SHIFT+LArrow | Close Directory in list view |
ALT+LArrow | Browse through files and folders to the left |
ALT+RArrow | Browse through files and folders to the right |
ALT+UArrow | Move to the parent folder one level above |
ALT+DArrow | Open the selected file or folder |
Accessibility | |
CTRL++ | Zoom in |
CTRL+- | Zoom out |
CTRL+0 | Normal zoom |
-->>from http://opensuse-tutorials.com/2008/07/nautilus-tips-and-tricks/
Ubuntu关联site集(J)
Ubuntuを紹介しているBlog等
-
- Ubuntuウィークリーニュースレター(Ubuntu Weekly Newsletter, UWN) - 今週のUbuntu・Kubuntu・Edubuntu・Xubuntuの全ての活動をレポートします。
-
日本語への翻訳協力者募集中です。(詳細)
-
- Ubuntuコミュニティに興味があるユーザ向けに,ML・Wiki・フォーラムなどの最新の話題を1週間分厳選してお届けします。基本的に毎週金曜日に更新されます。Ubuntu Japanese Team 提供です。
-
- Ubuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。基本的に毎週水曜日に更新されます。Ubuntu Japanese Team 提供です。
-
- Ubuntuの今をフレンドリーに座談会形式で解説。基本的に隔週木曜日に更新されます。Ubuntu Japanese Team 提供です。
-
- Full Circle is a free, independent, magazine dedicated to the Ubuntu family of Linux operating systems. Each month, it contains helpful how-to articles and reader submitted stories.
-
月刊のフリーUbuntu雑誌です。面白い読み物と役に立つHowToが充実しています。
- 日本語への翻訳協力者募集中です。
-
- 英語フォーラムに寄せられたTipsのうち秀逸なものを毎週1つずつ紹介しています。
-
日本語への翻訳協力者募集中です。(詳細)
-
- 極力コマンドラインを使わない、直感的な Ubuntu の利用・紹介記事が充実。u-bon氏による。
-
- ふつうの人のふつうのLinux の著者によるブログ。
-
-
Ubuntuに限らず、デスクトップ用途での Linux 利用記事が充実しています。Compiz関連情報も。vine_user 氏による。
-
-
-
エントリ中に"メチャな女の子やクールな女性や若い奥様に向けてLinuxやUbuntuの話題を書いているブログ"と執筆者のコメントがあるように、ポップな雰囲気で分かりやすい。Akira Ohgaki 氏による。
-
-
- 「世界初!? 学園Ubuntuラブコメ」
-
第一話が有志の手により現時点で日本語を含め17ヵ国語で読めるようになっているとのこと。Cc-By-Nc-2.1-jpで公開されている。瀬尾浩史 氏による。
-
-
Nobuto MURATA さんによるブログ
-
-
-
かおりんLinux さんによるブログ
-
-
- Kawaji さんによるブログ
-
-
鶏崎ひよこ さんによるブログ
-
-
- ubuntuとEmacsに関する記述が多いです。
-
-
ユウヤ さんが運営していて、情報を発信するUbuntuブロガーと、情報を探しているUbuntuユーザの架け橋を目指しているそうです。
-
-
- tmin さんによるブログです。
ソフトウェア関連
-
-
公式のリリースノートです。各バージョンのUbuntuのリリース時点における既知の不具合の情報が記載されているます。日本語訳はこちらを参照のこと。
-
-
-
公式 Ubuntu 関連ドキュメントサイトです。"Ubuntu Documentation Project Team"による。システム ▶ ヘルプとサポート (yelp) から閲覧できます。
-
-
- 通常コマンド"man"で利用するマニュアルページがブラウザ上から利用出来る。Ubuntu公式です。
-
- 公式のバグトラッカーです。バグに遭遇した際の解決策の検索に有用です。
-
Community Ubuntu Documentation
- コミュニティにより保守されているドキュメントです。
-
- 有志による Ubuntuの利用ガイド。
- 日本語への翻訳協力者募集中。
-
- 公式のパッケージ検索サイトです。検索機能に特化しています。
-
- "Web-based package browser"
-
apturlを利用しており、ブラウザ上からアプリケーションの検索とインストールが行える。Akira Ohgaki氏による。
-
- Personal Package Archives (PPA) allow you to upload Ubuntu source packages to be built and published as an apt repository by Launchpad.
- PPA で提供されているパッケージは Ubuntu の開発チームによってサポートされているわけではないため導入は自己責任で。
-
- 公式リポジトリでは配布の難しいソフトを配布。
- サードパーティのレポジトリを利用した場合アップグレード時に特別な操作が必要となる場合あり。
- 利用しようとするソフトが目的の用途で国内法的に問題ないことを確認して利用のこと。
-
日本語Wikiにおける利用方法の紹介。
-
- まだリポジトリで提供されていない、リポジトリにあるものは最新ではない、といったソフトウェアのパッケージを大量に配布。
- 公式リポジトリ外のパッケージの導入はシステムにセキュリティ上のリスク、アップグレードの際のリスク、運用上の予期せぬ不具合の可能性を与えることを認識の上利用のこと。
-
- Windowsにおける「窓の手」に類似したソフト"ubuntu-tweak"の開発と配布。
- 公式リポジトリ外のパッケージの導入はシステムにセキュリティ上のリスク、アップグレードの際のリスク、運用上の予期せぬ不具合の可能性を与えることを認識の上利用のこと。
-
-
Ubuntu のセキュリティアップデートに関する情報があります。日本語訳は Ubuntu Weekly Topics の今週のセキュリティアップデートにあります。
-
Linux 全般に関する情報
-
JF (Japanese FAQ) Project (プロジェクトページ)
- Linux に関する文章やその翻訳文章があります。
-
JM (Japanese Man-Page) Project (プロジェクトページ)
- 日本語 Man ページがあります。
-
- Linux関係の情報のみの中から Google 検索できます。
-
- あるソフトウェアに類似したソフトウェアを紹介してくれるサイトです。
ハードウェア関連
-
-
Linux のハードウェアレビューが充実しています。Phoronix Mediaが提供しています。
-
-->>from https://wiki.ubuntulinux.jp/UbuntuSites
gedit tips
自从开始编程了以后,一直苦于没有找到一款好的编辑器。 用过很多功能强大的IDE,但是觉得它们太笨重,有非常多的不需要的功能。
在mac上,由于textmate迟迟不推出2.0版本,而现在的版本又在多字节的文字显示有问题,所以一直再用Coda,勉强还能过去。 在Linux上,感觉gedit还不错,但是总是觉得它功能有些不全。
最近终于发现了一个好东西Gmate,可以在Linux下近乎实现textmate中的功能,而且gedit也有mac版,所以理论上说,mac下面也能用。
简单的说,Gmate是一个对gedit提供theme,code snippets和多种实用插件的集合包。 下面把我个人觉得应该使用的内容记录一下,供以后配置的时候参考。
安装
首先安装gedit,然后在安装gmate
配置
Theme
Gmate提供很多,个人喜好的theme是如下三个
- Monokai
- GitHub
- Railscasts Improved
Plugins
大部分是Gmate提供的,也有自己download的,基础的插件是Gedit自带(default)的。
-
Advanced Bookmarks (download)
在读代码的时候非常有用,可以对代码作暂时的说明,能非常方便的比较代码
-
Align (gmate)
可以自己指定分隔符,使代码在列方向对齐
-
File Browser Pane (default)
这个是必备的,以下的很多plugin都以此为基础
-
Fuzzy Open (gmate)
模糊查找当前文件夹下的文件,非常的方便,而且如果使用git的话,还可以显示文件在git repo中的当前状态
-
File Search (download)
一直没有扎到一个十分好用的搜索多个文件内容的插件,这个算是最好用的了。 可以设置rails常用的文件类型如下,速度会快很多。
*.rb *.rake *.erb *.yml *.css *.js *.html
-
Classbrowser (gmate)
可以列出当前文件的类,方法,变量等信息。需要安装 ctags-exuberant 包。
-
TODO List (gmate)
相当方便的用来在代码中做记录的插件
-
Gemini (gmate)
自动补全引号、括号等字符
-
Quick Highligt Mode (gmate)
方便快捷的选择代码高亮的语言模板,不必再在很长的list中用鼠标拖动选择
-
Rails Extract Partial (gmate)
抽出选中的内容,并用其创建新的partial文件的快捷方式
-
Rails File Loader (gmate)
判断文件是否为rails的文件,如果是的话,则自动打开rubyonrails的高亮模式
-
Rails Hotcommands (gmate)
Rails相关的快捷键
-
Rails Hotkeys (gmate)
用快捷键打开rails中的各种文件,适合没有怎么customize过的项目
-
Regex Search Replace (gmate)
用正则表达式查找当前文件中的字符
-
Smart Indent (gmate)
在编写程序的同时自动indent
-
TabSwitch (gmate)
在打开的文件之间切换
-
Text Tools (gmate)
进行编辑、选择的键盘快捷方式
Clear Line: '<Shift><Control>c' Duplicate Line '<Shift><Control>d' Move Line Up '<Alt>Up' Move Line Down '<Alt>Down' Select Enclosed Text '<Alt><Control>9' Select Word '<Alt>W' Select Word Special '<Alt><Shift>W'
-
Save without trailing space (gmate)
在保存文件的时候去除所有文件结尾的空字符,仅仅保留一个newline
-
Word Completion (gmate)
非常不错的补全插件
-
Multi Edit (gmate)
同时进行多点编辑的插件
-
Zen Coding (gmate)
超级快速编辑html的插件。语法参考
-
A gedit plugin that automatically inserts brackets, quotes, and parenthesis.
Usage
Automatically inserts a closing parenthesis ) whenever an opening parenthesis ( is typed. The default paired characters are (), [], {},"", '', and ``. The plugin is smart enough to automatically overwrite existing closing brackets when appropriate.
Selecting a block of text and typing an opening parenthesis or quote character will enclose the selection in quotes or parenthesis.
To quickly jump out of nested quotes or brackets and start a newline, type Ctrl+Return. To jump to the end of the line, insert a semicolon, and start a newline, type Ctrl+Shift+Return.
Custom sets of per-language paired characters are supported. To change the default paired characters, or add support for new languages, edit the file pair_char_lang.py.
Installation
- Download the latest version of the plugin and extract it
- Run the install.sh script.
- Restart gedit if it is already started.
- Select Edit->Preferences from the menu. Click on the Plugins tab and enable the Pair Character Completion plugin.
-->>from 旷兄的提示。补记
不足之处:
没有完整的emacs风格的快捷键支持,虽然可以用
gconftool-2 --set /desktop/gnome/interface/gtk_key_theme Emacs --type string
gconftool-2 --set /desktop/gnome/interface/gtk_key_theme Default --type string
的方式,将gtk的keybinding在emacs和default之间来回切换, 但是在emacs的模式下,keybinding有些能用(比如C-f, C-b, C-a, C-e), 但是有些还是不能用(比如C-v还是粘贴)
ubuntu下svn的使用
0、ubuntu下svn的安装
sudo apt-get install subversion subversion-tools
详细请看 http://www.subversion.org.cn/svnbook/1.1/index.html svn子命令
1、检出
svn
svn
svn
注:如果不带--password 参数传输密码的话,会提示输入密码,建议不要用明文的--password 选项。
其中 username 与 password前是两个短线,不是一个。
不指定本地目录全路径,则检出到当前目录下。
例子:
svn co svn://192.168.0.3/测试工具 /home/testtools --username wzhnsc
svn co http://192.168.0.3/test/testapp --username wzhnsc
svn checkout svn://192.168.0.3/测试工具 /home/testtools --username wzhnsc
svn checkouthttp://192.168.0.3/test/testapp --username wzhnsc
2、导出(导出一个干净的不带.svn文件夹的目录树)
svn
svn
svn
注:第一种从版本库导出干净工作目录树的形式是指定URL,
如果指定了修订版本号,会导出相应的版本,
如果没有指定修订版本,则会导出最新的,导出到指定位置。
如果省略
第二种形式是指定 本地检出的目录全路径 到 要导出的本地目录全路径,所有的本地修改将会保留,
但是不在版本控制下(即没提交的新文件,因为.svn文件夹里没有与之相关的信息记录)的文件不会拷贝。
例子:
svn exportsvn://192.168.0.3/测试工具 /home/testtools --username wzhnsc
svn exporthttp://192.168.0.3/test/testapp --username wzhnsc
svn export/home/testapp /home/testtools
3、添加新文件
注:告诉SVN服务器要添加文件了,还要用svn commint -m真实的上传上去!
例子:
svn add test.php <- 添加test.php
svn commit -m “添加我的测试用test.php“ test.php
svn add *.php <- 添加当前目录下所有的php文件
svn commit -m “添加我的测试用全部php文件“ *.php
4、提交
svn commit -m “提交备注信息文本“ [-N] [--no-unlock] 文件名
svn ci -m “提交备注信息文本“ [-N] [--no-unlock] 文件名
必须带上-m参数,参数可以为空,但是必须写上-m
例子:
svn commit -m “提交当前目录下的全部在版本控制下的文件“ * <- 注意这个*表示全部文件
svn commit -m “提交我的测试用test.php“ test.php
svn commit -m “提交我的测试用test.php“ -N --no-unlock test.php <- 保持锁就用–no-unlock开关
svn ci -m “提交当前目录下的全部在版本控制下的文件“ * <- 注意这个*表示全部文件
svn ci -m “提交我的测试用test.php“ test.php
svn ci -m “提交我的测试用test.php“ -N --no-unlock test.php <- 保持锁就用–no-unlock开关
5、更新文件
svn update
svn update -r 修正版本 文件名
svn update 文件名
例子:
svn update <- 后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本
svn update -r 200 test.cpp <- 将版本库中的文件 test.cpp 还原到修正版本(revision)200
svn update test.php <- 更新与版本库同步。
提交的时候提示过期冲突,需要先 update 修改文件,
然后清除svn resolved,最后再提交commit。
6、删除文件
svn delete svn://路径(目录或文件的全路径) -m “删除备注信息文本”
推荐如下操作:
svn delete 文件名
svn ci -m “删除备注信息文本”
例子:
svn delete svn://192.168.1.1/testapp/test.php -m “删除测试文件test.php”
推荐如下操作:
svn delete test.php
svn ci -m “删除测试文件test.php”
7、加锁/解锁
svn unlock 文件名
例子:
svn lock -m “锁信测试用test.php文件“ test.php
svn unlock test.php
8、比较差异
svn diff -r 修正版本号m:修正版本号n 文件名
例子:
svn diff test.php<- 将修改的文件与基础版本比较
svn diff -r 200:201 test.php<- 对 修正版本号200 和 修正版本号201 比较差异
9、查看文件或者目录状态
svn st
svn status 目录路径/名<- 目录下的文件和子目录的状态,正常状态不显示
【?:不在svn的控制中;
A:预定加入到版本库;K:被锁定】
svn
svn status -v 目录路径/名<- 显示文件和子目录状态
【第一列保持相同,第二列显示工作版本号,
第三和第四列显示最后一次修改的版本号和修改人】
注:svn status、svn diff和 svn revert这三条命令在没有网络的情况下也可以执行的,
原因是svn在本地的.svn中保留了本地版本的原始拷贝。
10、查看日志
svn log 文件名
例子:
svn log test.php<- 显示这个文件的所有修改记录,及其版本号的变化
11、查看文件详细信息
svn info 文件名
例子:
svn info test.php
12、SVN 帮助
svn help <- 全部功能选项
svn help ci <- 具体功能的说明
13、查看版本库下的文件和目录列表
svn list svn://路径(目录或文件的全路径)
svn ls svn://路径(目录或文件的全路径)
例子:
svn list svn://192.168.0.3/test
svn ls svn://192.168.0.3/test <- 显示svn://192.168.0.3/test目录下的所有属于版本库的文件和目录
14、创建纳入版本控制下的新目录
svn mkdir 目录名
svn mkdir -m "新增目录备注文本" http://目录全路径
例子:
svn mkdir newdir
svn mkdir -m "Making a new dir." http://192.168.0.3/test/newdir
注:添加完子目录后,一定要回到根目录更新一下,不然在该目录下提交文件会提示“提交失败”
svn update
注:如果手工在checkout出来的目录里创建了一个新文件夹newsubdir,
再用svn mkdir newsubdir命令后,SVN会提示:
svn: 尝试用 “svn add”或 “svn add --non-recursive”代替?
svn: 无法创建目录“hello”: 文件已经存在
此时,用如下命令解决:
svn add --non-recursive newsubdir
在进入这个newsubdir文件夹,用ls -a查看它下面的全部目录与文件,会发现多了:.svn目录
再用 svn mkdir -m "添hello功能模块文件" svn://192.168.0.3/test/newdir/newsubdir 命令,
SVN提示:
svn: File already exists: filesystem '/data/svnroot/test/db', transaction '4541-1',
path '/newdir/newsubdir '
15、恢复本地修改
注意: 本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复被删除的目录。
例子:
svn revert foo.c <- 丢弃对一个文件的修改
svn revert --recursive . <-恢复一整个目录的文件,. 为当前目录
例子:
svn switch http://192.163.0.3/test/456 . <- (原为123的分支)当前所在目录分支到192.163.0.3/test/456
17、解决冲突
例子:
$ svn update
C foo.c
Updated to revision 31.
如果你在更新时得到冲突,你的工作拷贝会产生三个新的文件:
$ ls
foo.c
foo.c.mine
foo.c.r30
foo.c.r31
当你解决了foo.c的冲突,并且准备提交,运行svn resolved让你的工作拷贝知道你已经完成了所有事情。
你可以仅仅删除冲突的文件并且提交,但是svn resolved除了删除冲突文件,还修正了一些记录在工作拷贝管理区域的记录数据,所以我们推荐你使用这个命令。
18、不checkout而查看输出特定文件或URL的内容
例子:
svn cat http://192.168.0.3/test/readme.txt
ubuntu 系统异常
1. 发现了几次系统在休眠状态下假死的现象
2. 今天再次在假死状态下强制重启动之后,
系统的默认主题,字体,颜色等都不正常了
3. 然后重新启动后,用root用户登录之后,主题字体等是正常的
然后在切换到日常工作账户下,又变回正常状态
ubuntu 截屏工具shutter
收joe(http://joe.is-programmer.com/posts/18028.html)的启发,试用shutter工具
安装步骤
1. sudo add-apt-repository ppa:shutter/ppa
2. sudo apt-get update
3. sudo apt-get install shutter
2011.1.21
给ubuntu安装了
1. putty
sudo apt-get install putty
2. dia
类似windows下visio的工具
sudo apt-get install dia
3. sqlite3
sudo apt-get install sqlite sqlite3
4. sqlitebrowser
sudo apt-get install sqlitebrowser
ubuntu 安装awn,ror
ubuntu下安装awn
ubuntu 安装fcitx openoffice
1. 安装fcitx4.0输入法