2007年5月3日星期四

linux学习笔记(4)shell初步知识

认识SHELL
alias 显示当前所有的命令别名 alias lm="ls -al" 命令别名 unalias lm 取消命令别名
type 类似which
exprot 设置或显示环境变量
exprot PATH="$PATH":/sbin 添加/sbin入PATH路径
echo $PATH 显示PATH路径
bash 进入子程序
name=yang 设定变量
unset name 取消变量
echo $name 显示变量的内容
myname="$name its me" & myname='$name its me' 单引号时$name失去变量内容
ciw=/etc/sysconfig/network-scripts/ 设置路径
env 列出所有环境变量
echo $RANDOM 显示随意产生的数
set 设置SHELL
PS1='[\u@\h \w \A #\#]\$ ' 提示字元的設定
[root@linux ~]# read [-pt] variable -----------读取键盘输入的变量
參數:
-p :後面可以接提示字元!
-t :後面可以接等待的『秒數!』
declare 声明 shell 变量
ulimit -a 显示所有限制资料
ls /tmp/yang && echo "exist" || echo "not exist"
意思是說,當 ls /tmp/yang 執行後,若正確,就執行echo "exist" ,若有問題,就執行echo "not exist"
echo $PATH | cut -d ':' -f 5 以:为分隔符,读取第5段内容
export | cut -c 10-20 读取第10到20个字节的内容
last | grep 'root' 搜索有root的一行,加[-v]反向搜索
cat /etc/passwd | sort 排序显示
cat /etc/passwd | wc 显示『行、字数、字节数』
正规表示法
[root@test root]# grep [-acinv] '搜尋字串' filename
參數說明:
-a :將 binary 檔案以 text 檔案的方式搜尋資料
-c :計算找到 '搜尋字串' 的次數
-i :忽略大小寫的不同,所以大小寫視為相同
-n :順便輸出行號
-v :反向選擇,亦即顯示出沒有 '搜尋字串' 內容的那一行!
grep -n 'the' 123.txt 搜索the字符 -----------搜尋特定字串
grep -n 't[ea]st' 123.txt 搜索test或taste两个字符---------利用 [] 來搜尋集合字元
grep -n '[^g]oo' 123.txt 搜索前面不为g的oo-----------向選擇 [^]
grep -n '[0-9]' 123.txt 搜索有0-9的数字
grep -n '^the' 123.txt 搜索以the为行首-----------行首搜索^
grep -n '^[^a-zA-Z]' 123.txt 搜索不以英文字母开头
grep -n '[a-z]$' 123.txt 搜索以a-z结尾的行---------- 行尾搜索$
grep -n 'g..d' 123.txt 搜索开头g结尾d字符----------任意一個字元 .
grep -n 'ooo*' 123.txt 搜索至少有两个oo的字符---------重複字元 *
sed 文本流编辑器 利用脚本命令来处理文本文件
awd 模式扫描和处理语言
nl 123.txt | sed '2,5d' 删除第二到第五行的内容
diff 比较文件的差异
cmp 比较两个文件是否有差异
patch 修补文件
pr 要打印的文件格式化

linux学习笔记(3)vi的一般用法

vi一般用法
一般模式 编辑模式 指令模式
h 左 a,i,r,o,A,I,R,O :w 保存
j 下 进入编辑模式 :w! 强制保存
k 上 dd 删除光标当前行 :q! 不保存离开
l 右 ndd 删除n行 :wq! 保存后离开
0 移动到行首 yy 复制当前行 :e! 还原原始档
$ 移动到行尾 nyy 复制n行 :w filename 另存为
H 屏幕最上 p,P 粘贴 :set nu 设置行号
M 屏幕中央 u 撤消 :set nonu 取消行号
L 屏幕最下 [Ctrl]+r 重做上一个动作 ZZ 保存离开
G 档案最后一行 [ctrl]+z 暂停退出 :set nohlsearch 永久地关闭高亮显示
/work 向下搜索 :sp 同时打开两个文档
?work 向上搜索 [Ctrl]+w 两个文档设换
gg 移动到档案第一行 :nohlsearch 暂时关闭高亮显示

linux学习笔记(2)常用命令

uname -a 查看内核版本
ls -al 显示所有文件的属性
pwd 显示当前路径
cd - 返回上一次目录 cd ~ 返回主目录
date s 设置时间、日期
cal 显示日历 cal 2006
bc 计算器具
man & info 帮助手册
locale 显示当前字体 locale -a 所有可用字体 /etc/sysconfig/i18n设置文件
LANG=en 使用英文字体
sync 将数据同步写入硬盘
shutdonw -h now & half & poweroff 关机
reboot 重启
startx & init 5 进入图形介面
/work & ?work 向上、下查找文档内容
chgrp 改变档案群组 chgrp testing install.log
chown 改变所属人 chown root:root install.log
chmod 改变属性 chmod 777 install.log read=4 write=2 execute=1
cp 复制 cp filename
rm 删除文件 rm -rf filename 强制删除文件
rmdir 删除文件夹
mv 移动 mv 123.txt 222.txt 重命名
mkdir 创建文件夹
touch 创建文件 更新当前时间
cat 由第一行开始显示 cat |more 分页
nl 在内容前加行号
more & less 一面一面翻动
head -n filename 显示第N行内容
tail -n filename 显示后N行内容
od 显示非纯文档
df -h 显示分区空间
du 显示目录或文件的大小
fdisk 分区设置 fdisk -l /dev/hda 显示硬盘分区状态
mkfs 建立各种文件系统 mkfs -t ext3 /dev/ram15
fsck 检查和修复LINUX档案
ln 硬链接 ln -s 软件链接
whereis 查找命令
locate 查找
find 查找 find / -name "***.***"
which 查看工具
whoami 显示当前用户
gcc -v 查看GCC版本
chattr +i filename 禁止删除 chattr -i filename 取消禁止
lsattr 显示隐藏档属性
updatedb 更新资料库
mke2fs 格式化 mkfs -t ext3
dd if=/etc/passwd of=/tmp/passwd.bak 备份
mount 列出系统所有的分区
mount -t iso9660 /dev/cdrom /mnt/cdrom 挂载光盘
mount -t vfat /dev/fd0 /mnt/floppy 挂载软盘
mount -t vfat -o iocharset=utf8,umask=000 /dev/hda2 /mnt/hda2 挂载fat32分区
mount -t ntfs -o nls=utf8,umask=000 /dev/hda3 /mnt/hda3 挂载ntfs分区
Linux-NTFS Project: http://linux-ntfs.sourceforge.net/
umount /mnt/hda3 缷载
ifconfig 显示或设置网络设备
service network restart 重启网卡
ifdown eth0 关闭网卡
ifup eth0 开启网卡
clear 清屏
history 历史记录 !55 执行第55个指令
stty 设置终端 stty -a
fdisk /mbr 删除GRUB
at 僅進行一次的工作排程
crontab 循環執行的例行性命令 [e]编辑,[l]显示,[r]删除任务
& 后台运行程序 tar -zxvf 123.tar.gz & --------->后台运行
jobs 观看后台暂停的程序 jobs -l
fg 将后台程序调到前台 fg n ------>n是数字,可以指定进行那个程序
bg 让工作在后台运行
kill 结束进程 kill -9 PID [9]强制结束,[15]正常结束,[l]列出可用的kill信号
ps aux 查看后台程序
top 查看后台程序 top -d 2 每两秒更新一次 top -d 2 -p10604 观看某个PID
top -b -n 2 > /tmp/top.txt ----->將 top 的資訊進行 2 次,然後將結果輸出到 /tmp/top.txt
pstree 以树状图显示程序 [A]以 ASCII 來連接, [u]列出PID, [p]列出帐号
killall 要刪除某個服務 killall -9 httpd
free 显示内存状态 free -m -------->以M为单位显示
uptime 显示目前系统开机时间
netstat 显示网络状态 netstat -tulnp------>找出目前系統上已在監聽的網路連線及其 PID
dmesg 显示开机信息 demsg | more
nice 设置优先权 nice -n -5 vi & ----->用 root 給一個 nice 植為 -5 ,用於執行 vi
renice 调整已存在优先权
runlevel 显示目前的runlevel
depmod 分析可载入模块的相依性
lsmod 显示已载入系统的模块
modinfo 显示kernel模块的信息
insmod 载入模块
modprobe 自动处理可载入模块
rmmod 删除模块
chkconfig 检查,设置系统的各种服务 chkconfig --list ----->列出各项服务状态
ntsysv 设置系统的各种服务
cpio 备份文件

压缩命令:
*.Z compress 程式壓縮的檔案;
*.bz2 bzip2 程式壓縮的檔案;
*.gz gzip 程式壓縮的檔案;
*.tar tar 程式打包的資料,並沒有壓縮過;
*.tar.gz tar 程式打包的檔案,其中並且經過 gzip 的壓縮
compress filename 压缩文件 加[-d]解压 uncompress
gzip filename 压缩 加[-d]解压 zcat 123.gz 查看压缩文件内容
bzip2 -z filename 压缩 加[-d]解压 bzcat filename.bz2 查看压缩文件内容
tar -cvf /home/123.tar /etc 打包,不压缩
tar -xvf 123.tar 解开包
tar -zxvf /home/123.tar.gz 以gzip解压
tar -jxvf /home/123.tar.bz2 以bzip2解压
tar -ztvf /tmp/etc.tar.gz 查看tar内容
cpio -covB > [file|device] 份份
cpio -icduv < [file|device] 还原

linux学习笔记(1)linux目录结构

/ 根目录
/bin 常用的命令 binary file 的目錄
/boot 存放系统启动时必须读取的档案,包括核心 (kernel) 在内
/boot/grub/menu.lst GRUB设置
/boot/vmlinuz 内核
/boot/initrd 核心解壓縮所需 RAM Disk
/dev 系统周边设备
/etc 系统相关设定文件
/etc/DIR_COLORS 设定颜色
/etc/HOSTNAME 设定用户的节点名
/etc/NETWORKING 只有YES标明网络存在
/etc/host.conf 文件说明用户的系统如何查询节点名
/etc/hosts 设定用户自已的IP与名字的对应表
/etc/hosts.allow 设置允许使用inetd的机器使用
/etc/hosts.deny 设置不允许使用inetd的机器使用
/etc/hosts.equiv 设置远端机不用密码
/etc/inetd.conf 设定系统网络守护进程inetd的配置
/etc/gateways 设定路由器
/etc/protocols 设定系统支持的协议
/etc/named.boot 设定本机为名字服务器的配置文件
/etc/sysconfig/network-scripts/ifcfg-eth0 设置IP
/etc/resolv.conf 设置DNS
/etc/X11 X Window的配置文件,xorg.conf 或 XF86Config 這兩個 X Server 的設定檔
/etc/fstab 记录开机要mount的文件系统
/etc/inittab 设定系统启动时init进程将把系统设置成什么样的runlevel
/etc/issue 记录用户登录前显示的信息
/etc/group 设定用户的组名与相关信息
/etc/passwd 帐号信息
/etc/shadow 密码信息
/etc/sudoers 可以sudo命令的配置文件
/etc/securetty 设定哪些终端可以让root登录
/etc/login.defs 所有用户登录时的缺省配置
/etc/exports 设定NFS系统用的
/etc/init.d/ 所有服務的預設啟動 script 都是放在這裡的,例如要啟動或者關閉
/etc/xinetd.d/ 這就是所謂的 super daemon 管理的各項服務的設定檔目錄
/etc/modprobe.conf 内核模块额外参数设定
/etc/syslog.conf 日志设置文件
/home 使用者家目录
/lib 系统会使用到的函数库
/lib/modules kernel 的相关模块
/var/lib/rpm rpm套件安装处
/lost+found 系統不正常產生錯誤時,會將一些遺失的片段放置於此目錄下
/mnt 外设的挂载点
/media 与/mnt类似
/opt 主机额外安装的软件
/proc 虚拟目录,是内存的映射
/proc/version 内核版本
/proc/sys/kernel 系统内核功能
/root 系统管理员的家目录
/sbin 系统管理员才能执行的指令
/srv 一些服務啟動之後,這些服務所需要取用的資料目錄
/tmp 一般使用者或者是正在執行的程序暫時放置檔案的地方
/usr 最大的目录,存许应用程序和文件
/usr/X11R6: X-Window目录
/usr/src: Linux源代码
/usr/include:系统头文件
/usr/openwin 存放SUN的OpenWin
/usr/man 在线使用手册
/usr/bin 使用者可執行的 binary file 的目錄
/usr/local/bin 使用者可執行的 binary file 的目錄
/usr/lib 系统会使用到的函数库
/usr/local/lib 系统会使用到的函数库
/usr/sbin 系统管理员才能执行的指令
/usr/local/sbin 系统管理员才能执行的指令
/var 日志文件
/var/log/secure 記錄登入系統存取資料的檔案,例如 pop3, ssh, telnet, ftp 等都會記錄在此檔案中
/var/log/wtmp 記錄登入者的訊息資料, last
/var/log/messages 幾乎系統發生的錯誤訊息
/var/log/boot.log 記錄開機或者是一些服務啟動的時候,所顯示的啟動或關閉訊息
/var/log/maillog 紀錄郵件存取或往來( sendmail 與 pop3 )的使用者記錄
/var/log/cron 記錄 crontab 這個例行性服務的內容
/var/log/httpd, /var/log/news, /var/log/mysqld.log, /var/log/samba, /var/log/procmail.log:
分別是幾個不同的網路服務的記錄檔

傻瓜式安装rpm及源码包安装管理器

kde-apps下的,叫做kpack,解开后, ./configure make make install 装完后rpm文件可以直接双击打开安装,tgz包可以右键选打开方式,kpack,也可以安装。以后就不用慢慢打命令了。方便懒人和菜鸟。
下载地址:http://www.51files.com/?ONJHAKGOQ5MJDP1FK6L4

安装linux版超级玛丽

sudo apt-get install supertux

SuperTux 是一款跨平台横版过关游戏,以GNU/Linux 的吉祥物企鹅Tux 为主角,游戏仿照超级马里奥(Super Mario) 的风格,画面相当精美,是一款不可多得的优秀游戏。

Ubuntu 7.04 Feisty Fawn on USB 隨身碟/硬碟

原文
這兩個禮拜以來, Ubuntu 7.04 Feisty Fawn 造成蠻大的話題性,似乎有許多人認為 Linux 教學也可以帶來不少的流量,紛紛開始寫起 Ubuntu 的安裝教學(這是好事),然後自己把自己的網頁收到社會書籤去推銷一番(這就蠻ooxx的),不過的確是有不少不錯的文章,而比較熱門的話題大概就是將 Ubuntu 安裝到 USB 隨身碟或是隨身硬碟去(圖片與本文無關,純粹是因為我喜歡這張可愛的桌布)。

將 Ubuntu 安裝到隨身碟或是隨身硬碟當中其實有兩種考量:
1.這個作業系統要用來作啥?
2.要怎麼用?
這 也取決了儲存設備要採用甚麼,如果是要「方便安裝」、「加速安裝」、「隨取隨用」、「緊急救援」的話,將 LiveCD 轉到 USB Flash Disk (也就是俗稱的「隨身碟」或「U 盤」)當中是最好不過的,但是這有個缺點,就是在這種情況下所有的 apt 更新、經過 apt 下載安裝的程式似乎都不起作用;如果是要一個隨處可以立即使用的個人工作環境,安裝到隨身硬碟則是較佳的選擇,並且可以更新、套用新程式、完整應用,但是 這也有個缺點,就是龐大、透過 USB 運作相當遲緩、有設定 SWAP 的話速度更糟糕(尤其是在運轉中受到振動或是撞擊硬碟易掛),如果是使用 IEEE1394 介面、Firewire 介面的隨身硬碟則另當別論,至於兩者怎麼取捨則看個人,而我則是選擇將 Live CD 轉到硬碟當中(亂七八糟大綜合),就只當作救援、易於安裝、網咖取用的「活系統」來使用,不再使用 cd 或 cd-rw 也較為環保(先前燒的就送人當禮物了)。

如果要直接將完整的作業系統安裝進 USB 設備當中,可以參考這篇文章(不 過這篇文章竟然是在有名大站,隨時有消失或網頁脫衣的可能性),其實過程就跟一般安裝沒兩樣,要注意的是將 grub 安裝進 usb 碟中的相對位置,而將 Ubuntu 的 Live CD 轉到 USB 硬碟當中花了我一點時間才摸懂,並且可以分成兩種情況來說明。

首先要先準備:
1. Ubuntu 7.04 Feisty Fawn 的 ISO 檔
2.一顆 USB 隨身硬碟;
3.稍微懂得使用 GNOME Partition Editor(或 Partition Magic,兩者差不多)

如 果已經有安裝 Ubuntu ,準備一份 iso 檔案會更方便(如果還沒安裝,就先燒一片出來),然後開機進入 Ubuntu 當中(或是開機進入 Live CD 中)等系統都 READY 了,接上隨身硬碟,系統會直接載入隨身硬碟的各磁區,接著直接將 USB 硬碟給 umount (XD):

sudo umout /dev/sdb
如 果電腦是用一顆 SATA 硬碟,隨身硬碟應該會被辨識為 /dev/sdb (如果有兩顆則變成 /dev/sdc,沒有 SATA 就是 /dev/sda ,依此類推),磁區則分別為 /dev/sdbX,如果不確定隨身硬碟是哪顆,開啟 GNOME Partition Editor 就可以看個分明,尚未安裝的可以在「應用程式\添加和刪除」中勾選 GNOME Partition Editor 後套用即可安裝,(使用 Live CD 的則可以)直接在「系統\管理」中找到後啟動。

現在一顆隨身硬碟大多應該是從 40GB 起跳,對於隨身硬碟的規劃主要還是以攜帶資料為主,所以利用 GNOME Partition Editor 我做了下面這種規劃:

38GB - Primary Partition - NTFS 格式 - /dev/sdb1
攜帶資料用
1GB - Primary Partition - FAT16 格式 - /dev/sdb2
放 Live CD 主要檔案使用(至少大於 700MB,別太小氣)
1GB - Primary Partition - ReiserFS 格式 - /dev/sdb3
使用 Live CD 所產生的檔案可以放在這邊(例如文件檔案),用這個格式是看文件說這個檔案格式比較不會有反覆讀寫的問題,可以增進些效率(如果是 USB 隨身碟也避免縮短使用壽命,FLASH 記憶體是有讀寫次數的壽命限制)。

當 然也可以用 GNOME Partition Editor 切出三個主邏輯區,再用命令列來格式化會比較方便,至於用命令列的方式來切割硬碟,對於新手來說實在是太難了。要格式化時,第一個磁區就不管他了,拿到別 台 Windows XP 再 Format 就好,只要格式化第二與第三個磁區即可,分別使用下列指令:
sudo mkfs.vfat -F 16 -n USB /dev/sdb2
sudo mkfs.reiserfs -l casper-rw /dev/sda3
如果是 /dev/sdc 請記得更換相關名稱。 USB 與 casper-rw 分別是給予兩個磁區的名稱,如果要另外取名,可在這個階段更換名稱(例如原本叫 USB 那區可以改叫做 rescue),但是底下步驟就得跟著更換名稱。

格式化完畢後,將隨身硬碟電源關閉,再重新打開,這時候 Ubuntu 就會重新將兩個磁區抓回來(mount),並且連結到 /media/USB 與 /media/casper-rw 底下,這時候就算是全部準備完畢了。

使用下列指令安裝 syslinux 與 mtools(功能就如同在 dos 底下使用 sys 讓磁區具有開機的功能):
sudo apt-get install syslinux mtools


接著是讓叫做 USB 的那個磁區具有開機能力,使用下列指令:
syslinux -sf /dev/sdb2


接著要準備開始 COPY 系統相關檔案:
1.如果是在已經安裝好的 Ubuntu 底下並且有備用的 iso 檔案,就先將 iso 檔案給連上來(類似虛擬光碟機一樣),假設 iso 檔案已經放在家目錄當中,開啟一個終端機使用下列指令:
sudo mkdir /media/iso/
sudo modprobe loop
sudo mount -t iso9660 -o loop ubuntu-7.04-desktop-i386.iso /media/iso/
cd /media/iso
到 /media/iso/ 資料夾中準備進行下一步。
2.如果是在 Live CD 當中則開啟一個終端機後輸入:
cd /cdrom
直接進入 cdrom 當中,準備進行下一步。

於終端機當中輸入下列指令複製相關檔案:
cp -rf casper disctree dists install pics pool preseed .disk isolinux/* md5sum.txt README.diskdefines ubuntu.ico casper/vmlinuz casper/initrd.gz install/mt86plus /media/usb/
就能夠把開機所需的相關檔案複製到開機磁區當中了,當然,要 COPY 所有檔案也行。注意最後面的粗體,如果之前有更換掉磁區名稱,要換成更換後的名稱(例如 rescue)。

接著下載 usyslinux.tar 這個檔案,雙點這個檔案(會開啟「壓縮檔管理員」)將裡面 syslinux.cfg 這個檔案解壓縮到 /media/USB 資料夾當中,如果無法下載,就自己用純文字編輯器或 gedit 複製底下文字另存一個:
DEFAULT USB

GFXBOOT bootlogo

GFXBOOT-BACKGROUND 0xB6875A

APPEND file=preseed/ubuntu.seed boot=casper initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash --

LABEL USB

menu label ^Start Ubuntu in persistent mode

kernel vmlinuz

append file=preseed/ubuntu.seed boot=casper persistent initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash --

LABEL live

menu label ^Start or install Ubuntu

kernel vmlinuz

append file=preseed/ubuntu.seed boot=casper initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash --

LABEL xforcevesa

menu label Start Ubuntu in safe ^graphics mode

kernel vmlinuz

append file=preseed/ubuntu.seed boot=casper xforcevesa initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash --

LABEL check

menu label ^Check CD for defects

kernel vmlinuz

append boot=casper integrity-check initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash --

LABEL memtest

menu label ^Memory test

kernel mt86plus

append -

LABEL hd

menu label ^Boot from first hard disk

localboot 0x80

append -

DISPLAY isolinux.txt

TIMEOUT 300

PROMPT 1

F1 f1.txt

F2 f2.txt

F3 f3.txt

F4 f4.txt

F5 f5.txt

F6 f6.txt

F7 f7.txt

F8 f8.txt

F9 f9.txt

F0 f10.txt
大功告成!

如 果使用 Live CD 沒有問題的話,通常使用這個也應該沒有問題,在開機的時候按 del 進入 BIOS 當中將開機選項改為 USB-HDD 或 USB-ZIP 優先開機即可,比較新的主機板按 F8 或 F12 則會跳出開機設備選單,選擇 USB (甚至直接列出硬碟型號)即可,在進入系統之前,記得先選取語言,因為是 Live CD 版本,進入後再改也沒用,這就算是完工了。

如 果有朋友想安裝 Ubuntu ,帶這顆硬碟去,直接從 USB 開機就可以進行硬碟切割與系統安裝,甚至執行一些系統修復或是搶救資料等等,尤其是系統安裝複製檔案的時候可說是飛快,而這還只是使用 cdrom 版本所作的隨身硬碟,如果是用 dvd 版本的 Ubuntu 7.04 Live CD 應該會更方便吧?

參考文件:
USB Ubuntu Edgy install tutorial for Linux Users
用USB隨身碟做一個ubuntu的LiveUSB

Install a Drop-Down Console in Ubuntu

Install a Drop-Down Console in Ubuntu :: the How-To Geek: "Tilda is a console that drops down off the top of the screen, the same way the console in a first person shooter game does, with just the press of a key.

Installing the console is easy. Open up a terminal window and type in the following command:

sudo apt-get install tilda

The properties dialog will pop up, just close it for now. Hit the F1 key, and down pops the console:

So useful! I don’t think I’ll ever use the regular console again. If you want to get to the properties window to change some of the settings, just right click the window and choose preferences."

Beryl的快捷键

全局选项:
Alt + 鼠标滚轮 上/下使窗口 透明/不透明

程序切换:
Alt + Tab:在当前工作台中切换窗口
Ctrl + Alt + Tab:在所有工作台中切换窗口

窗口排列(编排并显示所有窗口):上/下
左下角(关键区域):所有工作台(点击一个窗口缩放它到前台)
右上角(关键区域):当前工作台

显示桌面(看当前立体面的桌面):
右下角(关键区域):开/关

立方体旋转:
Ctrl + Alt + 左/右方向键:立体地切换桌面
Ctrl + Shift + Alt + 左/右方向键:把活动窗口移到左/右工作台
Ctrl + Alt + 鼠标左键并拖曳:手动旋转立方体

缩放:
Win + 鼠标右键:缩放一次
Win + 鼠标滚轮 上/下:手动缩放大/小

移动窗口:
Alt + 鼠标左键并拖曳:移动窗口
Ctrl + Shift + 鼠标左键:迅速移动窗口(会粘住边框)

调整窗口大小:
Alt + 鼠标中键

水波效果:
Ctrl + Win + 移动鼠标:关标在水上移动(默认无效)
Shift + F9:雨点降落在你的屏幕上

模糊效果:
在透明窗口下添加一些模糊(会使计算机变慢)

动画效果:
当创建或者关闭窗口时使用动画效果(对菜单也有效,不过你要选择“未知”,只选“菜单”没用)

反色效果:
Win + m:屏幕反色
Win + n:当前窗口反色

反射效果:
给装饰添加一些纹理(当透明时大多数可见)

屏幕截图:
Win + 鼠标左键并拖曳:将所选区域截图(图片保存在桌面)

焦点轨迹效果:
更旧的窗口更加透明

摆动效果:
使窗口丶菜单等像棉花糖

亮度和饱和度:
Ctrl + 鼠标滚轮 上/下:增加/减少 饱和度(对桌面也有效)
Shfit + 鼠标滚轮 上/下:增加/减少 亮度(对桌面也有效)

窗口对齐:
Win + 小键盘1...9:在屏幕中快速对齐一个窗口(1=左下,2=中下,3=右下......)

Assign Custom Shortcut Keys on Ubuntu Linux

Ubuntu includes a very limited shortcut key configuration utility which doesn’t allow you to assign hotkeys to your own applications or scripts. To get around this limitation, we can use the built-in gconf-editor utility to assign them ourselves.

First you’ll want to load up gconf-editor by typing it into the Alt+F2 Run dialog.

Once in the application, navigate to the following key. If you are familiar with regedit on Windows, this is very similar.

apps \ metacity \ keybinding_commands

You’ll notice a bunch of values on the right. These are the available commands that you can create for assigning to shortcut keys in the next step.

Double-click on command_1 and enter in the full path to your script or executable that you are trying to run. (Note that you can use the which command from the shell to find the path most of the time)

Now navigate to the key “global_keybindings”, which is directly above the one we were on.

Here you will want to select run_command_1. Enter in the shortcut key in plain text. For instance, for Alt+T, you’ll do T. You could use T or T, or whatever you want to assign to the key.

You can also create custom commands in the keybinding_commands and assign them in the global_keybindings if you want. Just remember that the keybindings will start with run_(name of command).