提示:命令太多,查找的时候请用Shift+F。

目录

• 1. 前言

• 2 安装升级

• 2.1 查看软件 xxx 安装内容

• 2.2 查找软件库中的软件

• 2.3 显示系统安装包的统计信息

• 2.4 显示系统全部可用包的名称

• 2.4 显示包的信息

• 2.6 查找文件属于哪个包

• 2.7 查看已经安装了哪些包

• 2.8 查询软件 xxx 依赖哪些包

• 2.9 查询软件 xxx 被哪些包依赖

• 2.10 增加一个光盘源

• 2.11 系统更新

• 2.12 清除所有已删除包的残馀配置文件

• 2.13 编译时缺少 h 文件的自动处理

• 2.14 查看安装软件时下载包的临时存放目录

• 2.15 备份当前系统安装的所有包的列表

• 2.16 从上面备份的安装包的列表文件恢复所有包

• 2.17 清理旧版本的软件缓存

• 2.18 清理所有软件缓存

• 2.19 删除系统不再使用的孤立软件

• 2.20 查看包在服务器上的地址

• 2.21 彻底删除 Gnome

• 2.22 彻底删除 KDE

• 2.23 一键安装 LAMP 服务

• 2.24 删除旧内核

• 2.25 导入 ppa 源的 key 值

• 2.26 增加一个 ppa 源

• 2.27 系统升级

• 3 系统

• 3.1 查看内核

• 3.2 查看系统是 32 位还是 64 位

• 3.3 查看 Ubuntu 版本

• 3.4 查看内核加载的模块

• 3.5 查看 PCI 设备

• 3.6 查看 USB 设备

• 3.7 查看网卡状态

• 3.8 激活网卡的 Wake-on-LAN

• 3.9 查看 CPU 信息

• 3.10 显示当前硬件信息

• 3.11 获取 CPU 序列号或者主板序列号

• 3.12 显示当前内存大小

• 3.13 查看硬盘温度

• 3.14 显示系统运行时间

• 3.15 存看系统限制

• 3.16 查看内核限制

• 3.17 查看当前屏幕分辨率

• 4 硬盘

• 4.1 查看硬盘的分区

• 4.2 硬盘分区

• 4.3 硬盘格式化

• 4.4 硬盘检查

• 4.5 分区挂载

• 4.6 分区卸载

• 4.7 只读挂载 ntfs 分区

• 4.8 可写挂载 ntfs 分区

• 4.9 挂载 fat32 分区

• 4.10 挂载共享文件

• 4.11 挂载 ISO 文件

• 4.12 查看 IDE 硬盘信息

• 4.13 查看软 raid 阵列信息

• 4.14 查看硬 raid 阵列信息

• 4.15 查看 SATA 硬盘信息

• 4.16 查看硬盘剩余空间

• 4.17 查看目录占用空间

• 4.18 优盘没法卸载

• 4.19 使用文件来增加交换空间

• 4.20 查看硬盘当前读写情况

• 5 进程

• 5.1 查看当前的内存使用情况

• 5.2 连续监视内存使用情况

• 5.3 动态显示进程执行情况

• 5.4 查看当前有哪些进程

• 5.5 查看进程的启动时间

• 5.6 查看目前登入用户运行的程序

• 5.7 查看当前用户程序实际内存占用,并排序

• 5.8 统计程序的内存耗用

• 5.9 按内存从大到小排列进程

• 5.10 按 cpu 利用率从大到小排列进程

• 5.11 查看当前进程树

• 5.12 中止一个进程

• 5.13 强制中止一个进程 ( 在上面进程中止不成功的时候使用 )

• 5.14 图形方式中止一个程序

• 5.15 查看进程打开的文件

• 5.16 显示开启文件 abc.txt 的进程

• 5.17 显示 22 端口现在运行什么程序

• 5.18 显示 nsd 进程现在打开的文件

• 5.19 在後台运行程序,退出登录後,并不结束程序

• 5.20 在后台运行交互式程序,退出登录后,并不结束程序

• 5.21 详细显示程序的运行信息

• 5.22 增加系统最大打开文件个数

• 5.23 清除僵尸进程

• 5.24 将大于 120M 内存的 php-cgi 都杀掉

• 5.25 Linux 系统中如何限制用户进程 CPU 占用率

• 6 ADSL

• 6.1 配置 ADSL

• 6.2 ADSL 手工拨号

• 6.3 激活 ADSL

• 6.4 断开 ADSL

• 6.5 查看拨号日志

• 6.6 如何设置动态域名

• 7 网络

• 7.1 根据 IP 查网卡地址

• 7.2 根据 IP 查电脑名

• 7.3 查看当前 IP 地址

• 7.4 查看当前外网的 IP 地址

• 7.5 查看当前监听 80 端口的程序

• 7.6 查看当前网卡的物理地址

• 7.7 同一个网卡增加第二个 IP 地址

• 7.8 立即让网络支持 nat

• 7.9 查看路由信息

• 7.10 手工增加一条路由

• 7.11 手工删除一条路由

• 7.12 修改网卡 MAC 地址的方法

• 7.13 统计当前 IP 连接的个数

• 7.14 统计当前所有 IP 包的状态

• 7.15 统计当前 20000 个 IP 包中大于 100 个 IP 包的 IP 地址

• 7.16 屏蔽 IPV6

• 7.17 察看当前网络连接状况以及程序

• 7.18 查看网络连接状态

• 7.19 查看当前系统所有的监听端口

• 7.20 查看网络的当前流量

• 7.21 查看域名的注册备案情况

• 7.22 查看到某一个域名的路由情况

• 7.23 重新从服务器获得 IP 地址

• 7.24 从当前页面开始镜像整个网站到本地

• 7.25 如何多线程下载

• 7.26 如何查看 HTTP 头

• 7.27 快速使用 http 方式共享目录

• 7.28 SSH 远程端口转发

• 7.29 监控网络所有的 tcp 数据

• 7.30 监控 TCP/UDP 连接的流量

• 8 iptables

• 8.1 防止外网用内网 IP 欺骗

• 8.2 查看 nat 规则

• 8.3 查看 filter 规则

• 8.4 取消 nat 规则

• 8.5 取消 filter 规则

• 8.6 阻止一个 IP 连接本机

• 8.7 关闭 1234 端口

• 8.8 开启 80 端口

• 8.9 禁止一个 IP 或者一个 IP 段访问服务器端口服务

• 9 安全

• 9.1 检查本地是否存在安全隐患

• 9.2 如何安装杀毒软件

• 9.3 Linux 下可以使用的商业杀毒软件

• 9.4 防止服务器被暴力破解 ssh 密码

• 10 服务

• 10.1 添加一个服务

• 10.2 删除一个服务

• 10.3 临时重启一个服务

• 10.4 临时关闭一个服务

• 10.5 临时启动一个服务

• 11 用户管理

• 11.1 增加用户

• 11.2 删除用户

• 11.3 修改当前用户的密码 

• 11.4 修改用户密码 

• 11.5 修改用户资料

• 11.6 如何禁用 / 启用某个帐户

• 11.7 增加用户到 admin 组,让其有 sudo 权限

• 11.8 如何切换到其他帐号 ( 需要该用户的密码 )

• 11.9 如何切换到 root 帐号

• 12 设置

• 12.1 配置默认 Java 使用哪个

• 12.2 给 apt 设置代理

• 12.3 修改系统登录信息

• 12.4 使用 eclipse 等其他自带 java 编译器的软件,换回 sun 的编译器方法

• 13 中文

• 13.1 切换输入法引擎

• 13.2 转换文件名由 GBK 为 UTF8

• 13.3 批量转换 src 目录下的所有文件内容由 GBK 到 UTF8

• 13.4 转换文件内容由 GBK 到 UTF8

• 13.5 批量转换文件内容由 GBK 到 UTF8

• 13.6 转换 mp3 标签编码

• 13.7 控制台下显示中文

• 13.8 lftp 登录远程 Windows 中文 FTP  

• 13.9 java6 的安装和中文设置

• 13.10 openjdk6 的安装和中文设置

• 13.11 程序显示有些字大,有些小

• 13.12 PDF 文件乱码

• 13.13 Flash 中文乱码

• 13.14 增加农历

• 13.15 unzip 中文文件名乱码

• 13.16 ibus 跟随

• 14 文件管理

• 14.1 一屏查看文件内容

• 14.2 不显示以#开头的行

• 14.3 分页查看文件内容

• 14.4 可控分页查看文件内容

• 14.5 带行号显示文件的内容

• 14.6 去除文件中的行号

• 14.7 删除文件中的重复行

• 14.8 根据字符串匹配来查看文件部分内容

• 14.9 显示包含或者不包含字符串的文件名

• 14.10 快速查找某个文件

• 14.11 创建两个空文件

• 14.12 递归式创建一些嵌套目录

• 14.13 递归式删除嵌套目录

• 14.14 回当前用户的宿主目录

• 14.15 回到上一次的目录

• 14.16 查看当前所在目录的绝对路经

• 14.17 获得文件的后缀名

• 14.18 去除文件的后缀名

• 14.19 列出当前目录下的所有文件 , 包括以 . 开头的隐含文件

• 14.20 移动路径下的文件并改名

• 14.21 复制文件或者目录

• 14.22 查看文件类型

• 14.23 查看文件的时间

• 14.24 对比两个文件之间的差异 

• 14.25 显示 xxx 文件倒数 6 行的内容

• 14.26 让 tail 不停地读取最新的内容

• 14.27 查看文件中间的第五行(含)到第 10 行(含)的内容

• 14.28 查找关于 xxx 的命令

• 14.29 通过 ssh 传输文件

• 14.30 把所有文件的後辍由 rm 改为 rmvb

• 14.31 把所有文件名中的大写改为小写

• 14.32 删除特殊文件名的文件,如文件名: --help.txt

• 14.33 查看当前目录的子目录

• 14.34 将当前目录下最近 30 天访问过的文件移动到上级 back 目录

• 14.35 查找当前目录下最近 30 天访问过的文件打包备份

• 14.36 显示系统服务器一小时以内的包含 xxxx 的所有邮件

• 14.37 将当前目录下最近 2 小时到 8 小时之内的文件显示出来

• 14.38 删除修改时间在 30 天之前的所有文件

• 14.39 删除访问时间在 30 天之前的所有文件

• 14.40 查找 guest 用户的以 avi 或者 rm 结尾的文件并删除掉

• 14.41 查找不以 java 和 xml 结尾 , 并 7 天没有使用的文件删除掉

• 14.42 查找目录下所有有包含 abcd 文字的文本文件,并替换为 xyz

• 14.43 删除当前目录里面所有的 .svn 目录

• 14.44 “ 删除当前目录所有以 ~” 结尾的临时文件

• 14.45 统计当前文件个数

• 14.46 统计当前目录下所有 jpg 文件的尺寸

• 14.47 统计当前目录个数

• 14.48 统计当前目录下占空间最大的前 10 名文件或目录

• 14.49 显示当前目录下 2006-01-01 的文件名

• 14.50 备份当前系统到另外一个硬盘 

• 14.51 使用 ssh 方式同步远程数据到本地目录

• 14.52 使用 ftp 方式同步远程数据到本地目录

• 14.53 去掉文件中的 ^M

• 14.54 转换 Dos 文本文件到 Unix 文本文件

• 14.55 转换 bin/cue 到 iso 文件

• 14.56 转换目录到 iso 文件

• 14.57 转换 CD 到 iso 文件

• 14.58 将一个文件作为附件发到邮箱

• 14.59 合并多个 pdf 文件到一个 pdf 文件

• 15 影像

• 15.1 播放 swf 文件

• 15.2 如何保存串流视频 (mms/rtsp)

• 15.3 批量将 rmvb 转为 avi

• 15.4 批量将 DVD 转为 avi

• 15.5 批量将任何格式的电影转为 ogv

• 15.6 批量将 rmvb 格式的电影转为 ogv

• 15.7 利用 gst 来转换任意电影为 ogv

• 15.8 批量转换任意文件为 ipod touch 使用的 mp4

• 15.9 转换任意格式的视频到 H264

• 15.10 压制 DVD 到 H264 ,支持 ipod

• 15.11 图形界面为 ipod touch 转 mp4 的方法

• 15.12 mencoder/mplayer 反拉丝参数

• 15.13 合并多个 rm 文件为一个 avi 文件

• 15.14 合并视频到一个文件

• 15.15 CD 抓轨为 mp3 ( 有损 )

• 15.16 CD 抓轨为 Flac ( 无损 )

• 15.17 ape 转换为 flac

• 15.18 ape/flac 转换为 mp3

• 15.19 批量将 ape 转为 mp3

• 15.20 批量将 flac 转为 mp3

• 15.21 批量将 svg 转为 png

• 15.22 批量转换格式到 mp3

• 15.23 批量缩小图片到 30%

• 15.24 批量转换 jpg 到 png

• 15.25 将文字转为图片

• 15.26 如何压缩 png 图片

• 15.27 将多张图片合并到一个 PDF 文件

• 15.28 批量把 pdf 转换为 txt 并格式化

• 15.29 转换 pdf 到 png

• 15.30 获取 jpg 的扩展信息 (Exif)

• 15.31 获取视频文件 xxx.avi 的信息

• 15.32 查看 MKV 视频文件 xxx.mkv 的信息

• 15.33 抓取桌面操作的视频

• 15.34 命令行读出文本

• 15.35 命令行抓屏

• 16 压缩

• 16.1 增加 7Z 压缩软件

• 16.2 增加 rar 软件压缩和解压缩支持

• 16.3 增加 zip 格式压缩和解压缩支持

• 16.4 解压 xxx.tar.gz

• 16.5 解压缩 xxx.tar.bz2

• 16.6 压缩 aaa bbb 目录为 xxx.tar.gz

• 16.7 压缩 aaa bbb 目录为 xxx.tar.bz2

• 16.8 增加 lha 支持

• 16.9 增加解 cab 文件支持

• 17 Nautilus

• 17.1 显示隐藏文件

• 17.2 显示地址栏

• 17.3 特殊 URI 地址

• 17.4 查看已安装字体

• 18 日期和时间

• 18.1 显示日历

• 18.2 设置日期

• 18.3 设置时间

• 18.4 将时间写入 CMOS

• 18.5 查看 CMOS 时间

• 18.6 读取 CMOS 时间

• 18.7 从服务器上同步时间

• 18.8 设置电脑的时区为上海

• 18.9 XP 和 Ubuntu 相差了 8 小时的时差

• 19 工作区

• 19.1 不同工作区间切换

• 20 控制台

• 20.1 指定控制台切换

• 20.2 控制台下滚屏

• 20.3 控制台抓图

• 21 数据库

• 21.1 mysql 的数据库存放路径

• 21.2 从 mysql 中导出和导入数据

• 21.3 忘了 mysql 的 root 口令怎么办

• 21.4 修改 mysql 的 root 口令

• 21.5 如何优化 mysql

• 21.6 mysql 命令行中文显示 ? 号

• 21.7 常用 mysql 管理语句

• 21.8 mysql 的自动备份

• 22 控制

• 22.1 如何使用命令关闭显示器

• 22.2 设置 CPU 的频率

• 22.3 命令关机

• 22.4 定时关机

• 22.5 命令重启电脑

• 22.6 如何修改 ssh 登录提示

• 22.7 如何关闭 ssh 登录提示

• 22.8 如何使用命令关闭笔记本的触摸板

• 22.9 从命令行通知桌面消息

• 23 统计

• 23.1 统计最常用的 10 条命令

• 23.2 统计每个单词的出现频率,并排序

• 23.3 统计 80 端口的连接个数并按照从大到小排列

• 24 编辑器

• 24.1 vim 中删除技巧

• 24.2 如何配置 Emacs

• 24.3 vim 如何显示彩色字符

• 24.4 让 vim 直接支持编辑 .gz 文件

• 24.5 vim 如何显示行号,在 ~/.vimrc 中加入

• 24.6 vim 配色方案 (~/.vimrc)

• 24.7 解决 vim 中文编码问题,在 ~/.vimrc 中加入

• 24.8 gedit 中文乱码的解决

• 25 编译和打包

• 25.1 安装通用编译环境

• 25.2 通用的编译安装步骤

• 25.3 如何编译安装软件 kate

• 25.4 获得源代码包

• 25.5 解压缩还原源代码包

• 25.6 安装编译打包环境

• 25.7 重新编译并打包 Debian 化的源码

• 25.8 获得源码并重新打包

• 25.9 给源代码打补丁

• 26 其它

• 26.1 把终端加到右键菜单

• 26.2 如何删除 Totem 电影播放机的播放历史记录

• 26.3 清除桌面挂载硬盘图标

• 26.4 如何更换 gnome 程序的快捷键

• 26.5 基于 OpenVZ 的 VPS 支持 OpenVPN 对外访问设置

• 26.6 GNOME 登录时自动运行程序

• 26.7 man 如何显示彩色字符

• 26.8 如何在命令行删除在会话设置的启动程序

• 26.9 如何提高 wine 的反应速度

• 26.10 如何命令行刻录

• 26.11 延迟抓图

• 26.12 回收站在哪里

• 26.13 强制清空回收站

• 26.14 默认打开方式的配置文件在哪里

• 26.15 Firefox 的缓存目录在哪里

• 26.16 查看 samba 的用户

• 26.17 增加一个用户到 samba

• 26.18 从 samba 账户中删除一个用户

• 26.19 显示 samba 账户信息

• 26.20 测试 samba 账户是否正常

• 26.21 samba 的数据库存在哪里

• 26.22 samba 用户 Windows 下无法登录

• 26.23 Pidgin 的聊天记录在哪里

• 26.24 安装 PDF 打印机

• 26.25 nvidia 快速重设显示设置及配置多显示器

• 26.26 kacpid 进程大量占用 CPU

• 26.27 替换上一条命令中的一个短语

• 26.28 AMD64 位系统安装免费的杀毒软件 avast!

前言

下面的命令大都需要在 控制台 / 终端 / shell 下输入。

控制台 , 终端 , 和 shell 意味着同样一件事 - 一个命令行界面, 他可以用来控制系统。

打开一个控制台 :

应用程序 --> 附件 --> 终端

任何一个使用 'sudo' 作为前缀的命令都需要拥有管理员 ( 或 root) 访问权限。 所以你会被提示输入你

自己的密码。

安装升级

查看软件 xxx 安装内容

dpkg -L xxx

查找软件库中的软件

apt-cache search 正则表达式



aptitude search 软件包

显示系统安装包的统计信息

apt-cache stats

显示系统全部可用包的名称

apt-cache pkgnames

 显示包的信息

apt-cache show k3b

查找文件属于哪个包

apt-file search filename

查看已经安装了哪些包

dpkg -l

查询软件 xxx 依赖哪些包

apt-cache depends xxx

查询软件 xxx 被哪些包依赖

apt-cache rdepends xxx

增加一个光盘源

sudo apt-cdrom add

系统更新

sudo apt-get update (这一步更新包列表)

sudo apt-get dist-upgrade (这一步安装所有可用更新)

或者

sudo apt-get upgrade (这一步安装应用程序更新,不安装新内核等)

清除所有已删除包的残馀配置文件

dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P

如果报如下错误,证明你的系统中没有残留配置文件了,无须担心。

dpkg: --purge needs at least one package name argument

Type dpkg --help for help about installing and deinstalling packages [*];

Use `dselect' or `aptitude' for user-friendly package management;

Type dpkg -Dhelp for a list of dpkg debug flag values;

Type dpkg --force-help for a list of forcing options;

Type dpkg-deb --help for help about manipulating *.deb files;

Type dpkg --license for copyright license and lack of warranty (GNU GPL) [*].

Options marked [*] produce a lot of output - pipe it through `less' or `more' !

编译时缺少 h 文件的自动处理

sudo auto-apt run ./configure

查看安装软件时下载包的临时存放目录

ls /var/cache/apt/archives

备份当前系统安装的所有包的列表

dpkg --get-selections | grep -v deinstall > ~/somefile

从上面备份的安装包的列表文件恢复所有包

dpkg --set-selections < ~/somefile

sudo dselect

清理旧版本的软件缓存

sudo apt-get autoclean

清理所有软件缓存

sudo apt-get clean

删除系统不再使用的孤立软件

sudo apt-get autoremove

查看包在服务器上面的地址

apt-get -qq --print-uris install ssh | cut -d\' -f2

彻底删除 Gnome

apt-get --purge remove liborbit2

彻底删除 KDE

apt-get --purge remove libqt3-mt libqtcore4

一键安装 LAMP 服务

sudo tasksel install lamp-server

删除旧内核

sudo aptitude purge ~ilinux-image-.*\(\!`uname -r`\)

导入ppa 源的 key 值

#W: GPG 签名验证错误: http://ppa.launchpad.net jaunty Release: 由于没有公钥,下列签名

无法进行验证:NO_PUBKEY 5126890CDCC7AFE0

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 5126890CDCC7AFE0

#5126890CDCC7AFE0 替换为你需要导入的 Key 值

增加一个 ppa 源

sudo add-apt-repository ppa:user/ppa-name

# 使用ppa 的地址替换 ppa:user/ppa-name

系统升级

1. 这里指的是版本间的升级,例如 9.04=>10.04 。

2. 使用该升级方式通常需要使能 backports 源。

sudo apt-get update

sudo apt-get install update-manager-core

sudo do-release-upgrade

系统

查看内核

uname -a

查看系统是 32 位还是 64 位

#查看 long 的位数,返回 32或 64

getconf LONG_BIT

#查看文件信息,包含 32-bit就是 32位,包含64-bit 就是 64位

file /sbin/init

查看Ubuntu 版本

cat /etc/issue

或cat /etc/lsb-release

或lsb_release -dsc

查看内核加载的模块

lsmod

查看PCI 设备

lspci

查看USB 设备

lsusb

# 加参数-v 可以显示 USB设备的描述表(descriptors)

lsusb -v

查看网卡状态

sudo apt-get install ethtool

sudo ethtool eth0

激活网卡的 Wake-on-LAN

sudo apt-get install wakeonlan

或sudo ethtool -s eth0 wol g

查看CPU 信息

cat /proc/cpuinfo

显示当前硬件信息

sudo lshw

获取CPU 序列号或者主板序列号

#CPU ID

sudo dmidecode -t 4 | grep ID

#Serial Number

sudo dmidecode | grep Serial

#CPU

sudo dmidecode -t 4

#BIOS

sudo dmidecode -t 0

#主板:

sudo dmidecode -t 2

#OEM:

sudo dmidecode -t 11

显示当前内存大小

free -m |grep "Mem" | awk '{print $2}'

查看硬盘温度

sudo apt-get install hddtemp

sudo hddtemp /dev/sda

显示系统运行时间

uptime

查看系统限制

ulimit -a

 查看内核限制

ipcs -l

查看当前屏幕分辨率

xrandr

硬盘

查看硬盘的分区

sudo fdisk -l

硬盘分区

#危险!小心操作。

sudo fdisk /dev/sda

硬盘格式化

# 危险!将第一个分区格式化为ext3 分区, mkfs.reiserfs mkfs.xfs mkfs.vfat

sudo mkfs.ext3 /dev/sda1

硬盘检查

#危险!检查第一个分区,请不要检查已经挂载的分区,否则容易丢失和损坏数据

sudo fsck /dev/sda1

分区挂载

sudo mount -t 文件系统类型 设备路经 访问路经

# 常用文件类型如下:iso9660 光驱文件系统, vfat fat/fat32分区, ntfs ntfs分区, smbfs

windows网络共享目录, reiserfs、ext3、xfs Linux 分区

# 如果中文名无法显示尝试在最後增加-o nls=utf8 或 -o iocharset=utf8

# 如果需要挂载後,普通用户也可以使用,在-o 的参数後面增加 ,umask=022 如:-o

nls=utf8,umask=022

分区卸载

sudo umount 目录名或设备名

只读挂载 ntfs 分区

sudo mount -t ntfs -o nls=utf8,umask=0 /dev/sdb1 /mnt/c

可写挂载 ntfs 分区

sudo mount -t ntfs-3g -o locale=zh_CN.utf8,umask=0 /dev/sdb1 /mnt/c

挂载fat32 分区

sudo mount -t vfat -o iocharset=utf8,umask=0 /dev/sda1 /mnt/c

挂载共享文件

sudo mount -t smbfs -o

username=xxx,password=xxx,iocharset=utf8 //192.168.1.1/share /mnt/share

挂载ISO 文件

sudo mount -t iso9660 -o loop,utf8 xxx.iso /mnt/iso

查看IDE 硬盘信息

sudo hdparm -i /dev/sda

查看软 raid 阵列信息

cat /proc/mdstat

参看硬 raid 阵列信息

dmesg |grep -i raid

cat /proc/scsi/scsi

查看SATA 硬盘信息

sudo hdparm -I /dev/sda



sudo apt-get install blktool

sudo blktool /dev/sda id

查看硬盘剩余空间

df

用法: df [ 选项 ]... [ 文件 ]... 显示每个 < 文件 > 所在的文件系统的信息,默认是显示所有文件系统。

长选项必须用的参数在使用短选项时也是必需的。

-a, --all 包括大小为 0 个块的文件系统

-B, --block-size= 大小 块以指定<大小>的字节为单位

-h, --human-readable 以容易理解的格式印出文件系统大小 ( 例如 1K 234M 2G)

-H, --si 类似 -h ,但取1000 的次方而不是 1024

-i, --inodes 显示 inode 信息而非块使用量

-k 即 --block-size=1K

-l, --local 只显示本机的文件系统

--no-sync 取得使用量数据前不进行同步动作 (默认)

-P, --portability 使用 POSIX 兼容的输出格式

--sync 取得使用量数据前先进行同步动作

-t, --type= 类型 只印出指定文件系统为指定<类型>的信息

-T, --print-type 印出文件系统类型

-x, --exclude-type= 类型 只印出文件系统不是指定<类型>信息

-v (忽略)

 --help 显示此帮助信息并离开

--version 显示版本信息并离开

查看目录占用空间

du -hs 目录名

优盘没法卸载

sync

fuser -km /media/usbdisk

使用文件来增加交换空间

#创建一个 512M 的交换文件 /swapfile

sudo dd if=/dev/zero of=/swapfile bs=1M count=512

sudo mkswap /swapfile

sudo swapon /swapfile

#sudo vim /etc/fstab #加到 fstab 文件中让系统引导时自动启动

/swapfile swap swap defaults 0 0

查看硬盘当前读写情况

# 首先安装 sysstat 包

sudo apt-get install sysstat

#每 2秒刷新一次

sudo iostat -x 2

进程

查看当前的内存使用情况

free

usage: free [-b|-k|-m|-g] [-l] [-o] [-t] [-s delay] [-c count] [-V]

-b,-k,-m,-g show output in bytes, KB, MB, or GB

-l show detailed low and high memory statistics

-o use old format (no -/+buffers/cache line)

-t display total for RAM + swap

-s update every [delay] seconds

-c update [count] times

-V display version information and exit

连续监视内存使用情况

watch -d free

# 使用 Ctrl + c 退出

动态显示进程执行情况

top

top 指令运行时输入 H或?打开帮助窗口,输入 Q退出指令。

 查看当前有哪些进程

ps -AFL

查看进程的启动时间

ps -A -opid,stime,etime,args

查看目前登入用户运行的程序

w

查看当前用户程序实际内存占用,并排序

ps -u $USER -o pid,rss,cmd --sort -rss

统计程序的内存耗用

ps -eo fname,rss|awk '{arr[$1]+=$2} END {for (i in arr) {print i,arr[i]}}'|sort

-k2 -nr

按内存从大到小排列进程

ps -eo "%C : %p : %z : %a"|sort -k5 -nr

按 cpu 利用率从大到小排列进程

ps -eo "%C : %p : %z : %a"|sort -nr

查看当前进程树

pstree

中止一个进程

kill 进程号(就是 ps -A中的第一列的数字)

或者killall 进程名

强制中止一个进程(在上面进程中止不成功的时候使用)

kill -9 进程号

或者killall -9 进程名

图形方式中止一个程序

xkill 出现骷髅标志的鼠标,点击需要中止的程序即可

 查看进程打开的文件

lsof -p 进程的pid

显示开启文件 abc.txt 的进程

lsof abc.txt

显示22 端口现在运行什么程序

lsof -i :22

显示nsd 进程现在打开的文件

lsof -c nsd

在後台运行程序,退出登录後,并不结束程序

nohup 程序 &

#查看中间运行情况 tail nohup

在后台运行交互式程序,退出登录后,并不结束程序

sudo apt-get install screen

screen vim a.txt

# 直接退出后使用

screen -ls # 1656.pts-0.ubuntu (Detached)

screen -r 1656 #恢复

#热键,同时按下 Ctrl 和 a键结束后,再按下功能键

C-a ? #显示所有键绑定信息

C-a w #显示所有窗口列表

C-a C-a #切换到之前显示的窗口

C-a c #创建一个新的运行shell 的窗口并切换到该窗口

C-a n #切换到下一个窗口

C-a p #切换到前一个窗口(与C-a n 相对)

C-a 0..9 #切换到窗口 0..9

C-a a # 发送 C-a到当前窗口

C-a d #暂时断开screen 会话

C-a k #杀掉当前窗口

详细显示程序的运行信息

strace -f -F -o outfile <cmd>

增加系统最大打开文件个数

echo 4096 > /proc/sys/fs/file-max

#或者

ulimit -n 4096

清除僵尸进程

ps -eal | awk '{ if ($2 == "Z") {print $4}}' | xargs sudo kill -9 #top

将大于 120M 内存的php-cgi 都杀掉

ps -eo pid,fname,rss|grep php-cgi|grep -v grep|awk '{if($3>=120000) print $1}' |

xargs sudo kill -9

Linux 系统中如何限制用户进程 CPU 占用率

renice +10 `ps aux | awk '{ if ($3 > 0.8 && id -u $1 > 500) print $2}'`

#或直接编辑/etc/security/limits.conf 文件。

ADSL

配置ADSL

sudo pppoeconf

ADSL 手工拨号

sudo pon dsl-provider

激活ADSL

sudo /etc/ppp/pppoe_on_boot

断开ADSL

sudo poff

查看拨号日志

sudo plog

如何设置动态域名

# 首先去http://www.3322.org 申请一个动态域名

# 然後修改/etc/ppp/ip-up 增加拨号时更新域名指令

sudo vim /etc/ppp/ip-up

#在最後增加如下行

w3m -no-cookie -dump 'http://username:password@members.3322.org/dyndns/update?

system=dyndns&hostname=yourdns.3322.org'

网络

根据IP 查网卡地址

arping IP地址

#top

#top

根据IP 查电脑名

nmblookup -A IP 地址

查看当前 IP 地址

ifconfig eth0 |awk '/inet/ {split($2,x,":");print x[2]}'

查看当前外网的 IP 地址

w3m -no-cookie -dump www.ip138.com/ip2city.asp|grep -o '[0-9]\{1,3\}\.[0-9]\

{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'

w3m -no-cookie -dump ip.loveroot.com|grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\

{1,3\}\.[0-9]\{1,3\}'

curl ifconfig.me

查看当前监听 80 端口的程序

lsof -i :80

查看当前网卡的物理地址

ifconfig eth0 | head -1 | awk '{print $5}'

同一个网卡增加第二个 IP 地址

#在网卡 eth0 上增加一个 1.2.3.4的IP:

sudo ifconfig eth0:0 1.2.3.4 netmask 255.255.255.0

#删除增加的 IP:

sudo ifconfig eth0:0 down

立即让网络支持 nat

echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward

sudo iptables -t nat -I POSTROUTING -j MASQUERADE

查看路由信息

netstat -rn

sudo route -n

手工增加一条路由

sudo route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1

手工删除一条路由

sudo route del -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1

#top

修改网卡 MAC 地址的方法

sudo ifconfig eth0 down #关闭网卡

sudo ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE #然后改地址

sudo ifconfig eth0 up #然后启动网卡

永久改地址方法

sudo gedit /etc/network/interfaces

在 iface eth0 inet static 后面添加一行:

pre-up ifconfig eth0 hw ether 01:01:01:01:01:01

配置文件应该像如下

iface eth0 inet static

pre-up ifconfig eth0 hw ether 01:01:01:01:01:01

address 192.168.1.10

netmask 255.255.255.0

gateway 192.168.1.1

最后是 logout 或者 reboot

统计当前 IP 连接的个数

netstat -na|grep ESTABLISHED|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|

sort -r -n

netstat -na|grep SYN|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -r

-n

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

统计当前所有 IP 包的状态

netstat -nat|awk '{print awk $NF}'|sort|uniq -c|sort -n

统计当前 20000 个 IP包中大于 100个 IP包的 IP 地址

tcpdump -tnn -c 20000 -i eth0 | awk -F "." '{print $1"."$2"."$3"."$4}' | sort |

uniq -c | sort -nr | awk ' $1 > 100 '

屏蔽IPV6

echo "blacklist ipv6" | sudo tee /etc/modprobe.d/blacklist-ipv6

察看当前网络连接状况以及程序

sudo netstat -atnp

查看网络连接状态

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

#top

 查看当前系统所有的监听端口

nc -zv localhost 1-65535

查看网络的当前流量

# 安装ethstatus 软件

sudo apt-get install ethstatus

# 查看ADSL 的速度

sudo ethstatus -i ppp0

# 查看 网卡 的速度

sudo ethstatus -i eth0

# 或安装bwm-ng

sudo apt-get install bwm-ng

#查看当前网络流量

bwm-ng

查看域名的注册备案情况

whois baidu.cn

查看到某一个域名的路由情况

tracepath baidu.cn

重新从服务器获得IP 地址

sudo dhclient

从当前页面开始镜像整个网站到本地

wget -r -p -np -k http://www.21cn.com

· -r:在本机建立服务器端目录结构;

· -p: 下载显示 HTML文件的所有图片;

· -np:只下载目标站点指定目录及其子目录的内容;

· -k: 转换非相对链接为相对链接。

如何多线程下载

sudo apt-get install axel

axel -n 5 http://xxx.xxx.xxx.xxx/xxx.zip

或者

lftp -c "pget -n 5 http://xxx.xxx.xxx.xxx/xxx.zip“

如何查看 HTTP 头

w3m -dump_head http://www.example.com

或curl --head http://www.example.com

快速使用 http 方式共享目录

#进入需要共享的目录后运行:

python -m SimpleHTTPServer #top

#其它电脑使用 http://ip:8000 来访问

#自定义端口为 8080:

python -m SimpleHTTPServer 8080

SSH 远程端口转发

ssh -v -CNgD 7070 username@sshhostipaddress

监控网络所有的 tcp 数据

sudo apt-get install snort #安装 snort 入侵检测程序

sudo snort -vde

监控TCP/UDP 连接的流量

sudo apt-get install iftop

sudo iftop

#或

sudo apt-get install iptraf

sudo iptraf

iptables

防止外网用内网 IP 欺骗

#eth0 为外网网卡

sudo iptables -t nat -A PREROUTING -i eth0 -s 10.0.0.0/8 -j DROP

sudo iptables -t nat -A PREROUTING -i eth0 -s 172.16.0.0/12 -j DROP

sudo iptables -t nat -A PREROUTING -i eth0 -s 192.168.0.0/16 -j DROP

查看nat 规则

sudo iptables -t nat -L

查看filter 规则

sudo iptables -L -n

取消nat 规则

sudo iptables -t nat -F

取消filter 规则

sudo iptables -F

阻止一个 IP 连接本机

#规则位于最后

sudo iptables -t filter -A INPUT -s 192.168.1.125 -i eth0 -j DROP

#top

#top

 关闭1234 端口

sudo iptables -A OUTPUT -p tcp --dport 1234 -j DROP

开启80 端口

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

禁止一个 IP 或者一个 IP 段访问服务器端口服务

#80 端口 ,规则插入到前面

sudo iptables -t filter -I INPUT -s 192.168.2.0/24 -p tcp --dport http -j DROP

#21 端口,规则插入到前面

sudo iptables -t filter -I INPUT -s 192.168.1.23 -p tcp --dport ftp -j DROP

安全

检查本地是否存在安全隐患

sudo apt-get install rkhunter

sudo rkhunter --checkall

如何安装杀毒软件

sudo apt-get install clamav

clamscan -r ~/

Linux 下可以使用的商业杀毒软件

卡巴斯基(deb) : http://www.kaspersky.com/productupdates?chapter=146274389

avast!(免费/deb) : http://www.avast.com/eng/download-avast-for-linux-edition.html

小红伞(gz) : http://www.avira.com/en/downloads/avira_antivir_professional.html

BitDefender(比特梵德/run):

http://download.bitdefender.com/SMB/Workstation_Security_and_Management/BitDefen

der_Antivirus_Scanner_for_Unices/Unix/Current/EN_FR_BR_RO/Linux/

申请比特梵德的 KEY : http://www.bitdefender.com/site/Products/ScannerLicense/

防止服务器被暴力破解 ssh 密码

sudo apt-get install denyhosts

服务

添加一个服务

sudo update-rc.d 服务名 defaults 99

#top

#top

 删除一个服务

sudo update-rc.d 服务名 remove

临时重启一个服务

/etc/init.d/ 服务名 restart

临时关闭一个服务

/etc/init.d/ 服务名 stop

临时启动一个服务

/etc/init.d/ 服务名 start

用户管理

增加用户

sudo adduser 用户名

删除用户

sudo deluser 用户名

修改当前用户的密码

passwd

修改用户密码

sudo passwd 用户名

修改用户资料

sudo chfn userid

如何禁用/ 启用某个帐户

sudo usermod -L 用户名 #锁定用户

sudo usermod -U 用户名 #解锁



sudo passwd -l 用户名 #锁定用户

sudo passwd -u 用户名 #解锁

增加用户到 admin 组,让其有 sudo 权限

sudo usermod -G admin -a 用户名

#top

#top

如何切换到其他帐号(需要该用户的密码)

su 用户名

如何切换到 root 帐号

sudo -s

sudo -i

sudo su

设置

配置默认 Java 使用哪个

sudo update-alternatives --config java

给 apt 设置代理

export http_proxy=http://xx.xx.xx.xx:xxx

修改系统登录信息

sudo vim /etc/motd

使用eclipse 等其他自带 java 编译器的软件,换回 sun 的编译器方法

对于 Java JDK6 ( 就是 1.6 , sun 缩短 Java 的版本名字了 ):

sudo update-java-alternatives -s java-6-sun

对于 Java JDK1.5

sudo update-java-alternatives -s java-1.5.0-sun

中文

切换输入法引擎

im-switch -c

转换文件名由 GBK 为 UTF8

sudo apt-get install convmv

convmv -r -f cp936 -t utf8 --notest --nosmart *

批量转换 src 目录下的所有文件内容由 GBK 到 UTF8

find src -type d -exec mkdir -p utf8/{} \;

find src -type f -exec iconv -f GBK -t UTF-8 {} -o utf8/{} \;

mv utf8/* src

#top

#top

#top

rm -fr utf8

转换文件内容由 GBK 到 UTF8

iconv -f gbk -t utf8 $i > newfile

批量转换文件内容由 GBK 到 UTF8

for i in `find . *`; do if [ -f "$i" ]; then iconv -f gb2312 -t utf8 $i >

"./converted/$i" fi ; done

转换mp3 标签编码

sudo apt-get install python-mutagen

find . -iname '*.mp3' -execdir mid3iconv -e GBK {} \;

“ 或者使用图形界面工具 小 K ” ,具体请参考解决文件名 mp3 标签和文本文件内容的乱码问题

控制台下显示中文

sudo apt-get install zhcon

使用时,输入 zhcon即可

更具体的输入:zhcon --utf8 --drv=vga

如果在/etc/zhcon.conf 中指定了分辨率,可以去掉--drv=vga以指定的分辨率启动。

zhcon 是个外挂的控制平台 , 也就是像 US-DOS 那样是额外安装的软件 , 装完后是需要驱动才能进去的,

不然有可能死机 ; 当然驱动什么的在你 sudo apt-get install zhcon 的时候就已经安装了 ; 你所需要

的是在进 zhcon 时要申明你所用的驱动 , 而 zhcon 在安装时 , 就装了 3 种驱

动 :vga,framebuffer,libggi, 而我们一般都 是用的第一种驱动 , 因为比较方便简单 , 而那 2 钟驱动 . 很

麻烦 , 我也就没改过 . 好了说了这么多该告诉各位怎么进入 zhcon 了;运行时需输入: zhcon --utf8

--drv=vga

lftp 登录远程 Windows 中文 FTP

lftp :~>set ftp:charset GBK

lftp :~>set file:charset UTF-8

java6 的安装和中文设置

#下面是 ubuntu安装标准的 sun-java,安装过程中需要使用 tab键切换同意其授权协议

sudo add-apt-repository "deb http://archive.canonical.com/ `lsb_release -c | awk

'{print $2}'` partner"

sudo apt-get update

sudo apt-get install sun-java6-jdk sun-java6-plugin ttf-wqy-microhei

sudo apt-get remove ttf-kochi-gothic ttf-kochi-mincho ttf-unfonts ttf-unfonts-

core

sudo mkdir -p /usr/lib/jvm/java-6-sun/jre/lib/fonts/fallback

sudo ln -s /usr/share/fonts/truetype/arphic/wqy-microhei.ttc /usr/lib/jvm/java-

6-sun/jre/lib/fonts/fallback

#top

openjdk6 的安装和中文设置

sudo apt-get install openjdk-6-jdk ttf-wqy-microhei

#有两种解决办法,第一种关闭 Java 的 AA

echo "export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on'" >> ~/.profile

#第二种直接修改 Java 字体配置

echo "allfonts.umingcn=WenQuanYi Microhei Hei" | sudo tee -a /usr/lib/jvm/java-

6-openjdk/jre/lib/fontconfig.properties

echo "allfonts.uminghk=WenQuanYi Microhei Hei" | sudo tee -a /usr/lib/jvm/java-

6-openjdk/jre/lib/fontconfig.properties

echo "allfonts.umingtw=WenQuanYi Microhei Hei" | sudo tee -a /usr/lib/jvm/java-

6-openjdk/jre/lib/fontconfig.properties

echo "allfonts.wqy-zenhei=WenQuanYi Microhei Hei" | sudo tee -a

/usr/lib/jvm/java-6-openjdk/jre/lib/fontconfig.properties

echo "allfonts.shanheisun=WenQuanYi Microhei Hei" | sudo tee -a

/usr/lib/jvm/java-6-openjdk/jre/lib/fontconfig.properties

echo "filename.WenQuanYi_Microhei_Hei=/usr/share/fonts/truetype/wqy/wqy-

microhei.ttc" | sudo tee -a /usr/lib/jvm/java-6-

openjdk/jre/lib/fontconfig.properties

程序显示有些字大,有些小

sudo apt-get remove ttf-kochi-gothic ttf-kochi-mincho ttf-unfonts ttf-unfonts-

core

PDF 文件乱码

sudo apt-get install xpdf-chinese-simplified xpdf-chinese-traditional poppler-

data

Flash 中文乱码

sudo gedit /etc/fonts/conf.d/49-sansserif.conf

将倒数第四行<string>sans-serif</string>

改为<string>sans</string>

保存即可,重启 firefox

增加农历

sudo apt-get install lunar-applet

鼠标点击面板右键-> 添加到面板 -> 农历日期

unzip 中文文件名乱码

sudo apt-get install p7zip-full

export LANG=zh_CN.GBK #临时在控制台修改环境为 zh_CN.GBK,然后解压缩即可

7za e docs.zip

ibus 跟随

安装 ibus-gtk 即可 , 最好另外安装: ibus-qt4

文件管理

一屏查看文件内容

cat 文件名

不显示以#开头的行

cat /etc/vsftpd.conf |grep -v ^#

分页查看文件内容

more 文件名

可控分页查看文件内容

less 文件名

带行号显示文件的内容

nl 文件名

cat -n 文件名

去除文件中的行号

cut -c 5- a.py

删除文件中的重复行

cat file.txt |sort -u

根据字符串匹配来查看文件部分内容

grep 字符串 文件名

显示包含或者不包含字符串的文件名

grep -l -r 字符串 路径 #显示内容包含字符串的文件名

grep -L -r 字符串 路径 #显示内容不包含字符串的文件名

find . -path './cache' -prune -o -name "*.php" -exec grep -l

"date_cache[$format]['lang']" {} \; #显示当前目录下不包含 cache目录的所有含有

“date_cache[$format]['lang']”字符串的 php文件。

快速查找某个文件

whereis filename

find 目录 -name 文件名

locate 文件名 # 注意,为了得到更好的效果,运行前可以更新下数据库,运行 sudo updatedb 即可,

但这个命令每隔一段时间会自动运行,所以不用太在意

#top

#top

 创建两个空文件

touch file1 file2

递归式创建一些嵌套目录

mkdir -pv /tmp/xxs/dsd/efd

递归式删除嵌套目录

rm -fr /tmp/xxs

回当前用户的宿主目录

cd ~

# 或者更简单的

cd

回到上一次的目录

cd -

查看当前所在目录的绝对路经

pwd

获得文件的后缀名

echo xxx.xxx.rmvb |sed 's/.*\(\..*$\)/\1/'

去除文件的后缀名

echo xxx.xxx.rmvb |sed 's/\(.*\)\..*$/\1/'

列出当前目录下的所有文件,包括以. 开头的隐含文件

ls -a

移动路径下的文件并改名

mv 路径/ 文件 /新路径/新文件名

复制文件或者目录

cp -av 原文件或原目录 新文件或新目录

查看文件类型

file filename

#top

 查看文件的时间

stat filename

对比两个文件之间的差异

diff file1 file2

显示xxx文件倒数 6 行的内容

tail -6 xxx

让 tail 不停地读取最新的内容

tail -10f /var/log/apache2/access.log

或者

tailf /var/log/apache2/access.log

查看文件中间的第五行(含)到第 10 行(含)的内容

sed -n '5,10p' /var/log/apache2/access.log

查找关于 xxx 的命令

apropos xxx

man -k xxx

通过ssh 传输文件

scp -rp /path/filename username@remoteIP:/path #将本地文件拷贝到服务器上

scp -rp username@remoteIP:/path/filename /path #将远程文件从服务器下载到本地

tar cvzf - /path/ | ssh username@remoteip "cd /some/path/; cat -> path.tar.gz" #

压缩传输

tar cvzf - /path/ | ssh username@remoteip "cd /some/path/; tar xvzf -" #压缩传输

一个目录并解压

把所有文件的後辍由 rm改为 rmvb

rename 's/.rm$/.rmvb/' *

把所有文件名中的大写改为小写

rename 'tr/A-Z/a-z/' *

删除特殊文件名的文件,如文件名:--help.txt

rm -- --help.txt 或者 rm ./--help.txt

#top

 查看当前目录的子目录

ls -d */ 或 echo */

将当前目录下最近30 天访问过的文件移动到上级 back 目录

find . -type f -atime -30 -exec mv {} ../back \;

查找当前目录下最近 30 天访问过的文件打包备份

find . -type f -atime -30 | xargs tar zcvpf backup.tar.gz

find . -type f -atime -30 -print -exec tar rvpf backup.tar {} \;

显示系统服务器一小时以内的包含 xxxx 的所有邮件

find /home/ -path "*Maildir*" -type f -mmin -60|xargs -i grep -l xxxx '{}'

将当前目录下最近2小时到 8 小时之内的文件显示出来

find . -mmin +120 -mmin -480 -exec more {} \;

删除修改时间在 30 天之前的所有文件

find . -type f -mtime +30 -mtime -3600 -exec rm {} \;

删除访问时间在 30 天之前的所有文件

find . -type f -atime +30 -atime -3600 -exec rm {} \;

查找guest用户的以 avi或者rm 结尾的文件并删除掉

find . -name '*.avi' -o -name '*.rm' -user 'guest' -exec rm {} \;

查找不以 java 和 xml 结尾,并 7 天没有使用的文件删除掉

find . ! -name *.java ! -name ‘*.xml’ -atime +7 -exec rm {} \;

查找目录下所有有包含 abcd 文字的文本文件,并替换为 xyz

grep -rIl "abcd" ./* --color=never | xargs sed -i "s/abcd/xyz/g" #注意 grep的一个

参数是大写的 i,一个参数是小写的 L

删除当前目录里面所有的 .svn 目录

find . -name .svn -type d -exec rm -fr {} \;

“ 删除当前目录所有以 ~” 结尾的临时文件

find . -name "*~" -exec rm {} \;

#top

 统计当前文件个数

ls /usr/bin|wc -w

统计当前目录下所有 jpg 文件的尺寸

find . -name *.jpg -exec wc -c {} \;|awk '{print $1}'|awk '{a+=$1}END{print a}'

统计当前目录个数

ls -l /usr/bin|grep ^d|wc -l

统计当前目录下占空间最大的前10 名文件或目录

du -sm * | sort -nr | head -10

显示当前目录下 2006-01-01 的文件名

ls -l |grep 2006-01-01 |awk '{print $8}'

备份当前系统到另外一个硬盘

sudo rsync -Pa / /media/disk1 --exclude=/media/* --exclude=/home/*

--exclude=/sys/* --exclude=/tmp/* --exclude=/proc/* --exclude=/mnt/*

使用ssh 方式同步远程数据到本地目录

rsync -Pa -I --size-only --delete --timeout=300 Remote_IP:/home/ubuntu/back

/backup

使用ftp 方式同步远程数据到本地目录

lftp -c "open Remote_IP;user UserName Password;set cache:enable false;set

ftp:passive-mode false;set net:timeout 15;mirror -e -c /back /backup;"

去掉文件中的^M

#注意不要使用同样的文件名,会清空掉原文件

cat filename | tr -d "^M" > newfile;

或者

sed -e "s/^M//g" filename > newfile;

或者

ex "+:%s/[Ctrl+V][Enter]//g" "+:wq" filename #直接修改文件

转换Dos 文本文件到 Unix 文本文件

tr -d '\15\32' < dosfile.txt > unixfile.txt #dos = >

unix

awk '{ sub("\r$", ""); print }' dosfile.txt > unixfile.txt #dos = > unix

awk 'sub("$", "\r")' unixfile.txt > dosfile.txt #unix = > dos

#top

转换bin/cue 到 iso 文件

#sudo apt-get install bchunk

bchunk image.bin image.cue image

转换目录到 iso 文件

mkisofs -o isofile.iso dirname

转换CD 到iso 文件

dd if=/dev/cdrom of=isofile.iso

将一个文件作为附件发到邮箱

#sudo apt-get install mailutils sharutils

uuencode xxx.tar.gz xxx.tar.gz |mail xxx@xxx.com

(echo "hello, please see attached file"; uuencode xxx.tar.gz xxx.tar.gz)| mail

xxx@xxx.com

合并多个 pdf 文件到一个 pdf 文件

#apt-get install gs pdftk

gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=output.pdf -dBATCH input1.pdf

input2.pdf

影像

播放swf文件

安装 swf 解码器

sudo apt-get install swfmill

如何保存串流视频(mms/rtsp)

mplayer -dumpfile dump.rm -dumpstream rstp://....

批量将 rmvb转为 avi

#ipod touch可用

for i in *.rmvb; do mencoder -vf harddup -oac mp3lame -lameopts vbr=3 -ovc xvid

-xvidencopts fixed_quant=4 -of avi $i -o `echo $i | sed -e 's/rmvb$/avi/'`; done

批量将 DVD转为avi

for i in *.VOB; do mencoder -oac mp3lame -lameopts aq=7:vbr=2:q=6 -srate 44100

-ovc xvid -xvidencopts fixed_quant=4 -of avi $i -o `echo $i | sed -e

's/VOB$/avi/'`; done

#top

#top

批量将任何格式的电影转为 ogv

#sudo apt-get install ffmpeg2theora

#firefox3.5或chrome直接支持播放,无需安装任何解码器,注意不支持 rmvb,rmvb会出现 a/v 不同

步问题

for i in *; do ffmpeg2theora --optimize --deinterlace $i; done

批量将 rmvb格式的电影转为ogv

#!/bin/bash

for i in *; do

mkfifo "/tmp/$i"

mencoder -quiet -vf harddup -ovc raw -oac pcm -o "/tmp/$i" "$i" &

ffmpeg2theora --optimize --deinterlace "/tmp/$i" -o "`echo $i | sed 's/\

(.*\)\..*$/\1/'`.ogv"

rm "/tmp/$i"

done

利用gst 来转换任意电影为 ogv

#!/bin/bash

for i in *; do

gst-launch-0.10 filesrc location="$i" ! decodebin name=demux \

{ oggmux name=mux ! filesink location="`echo $i | sed 's/\

(.*\)\..*$/\1/'`.ogv" } \

{ demux. ! queue ! audioconvert ! vorbisenc ! queue ! mux. } \

{ demux. ! queue ! ffmpegcolorspace ! videorate ! theoraenc ! mux. }

done

批量转换任意文件为 ipod touch 使用的mp4

#!/bin/bash

#ubuntu10.04自带的mencoder 由于版权问题,不支持 h264编码,需要重新编译;也可以直接参考下面

的压缩方法。

#sudo apt-get install mencoder mplayer

find . -name '*.avi' -o -name '*.rm' -o -name '*.rmvb' -o -name '*.wmv' -o \

-name '*.vob' -o -name '*.asf' -o -name '*.mpg' -o -name '*.ts' -o \

-name '*.flv' -o -name '*.mpeg' -o -name '*.ogv' -o -name '*.mov' -o \

-name '*.mkv' -o -name '*.dat' | while read i; do

basename=`echo $i | sed 's/\(.*\)\..*$/\1/'`

font="WenQuanYi Zen Hei"

if [ -f "${basename}.srt" ] ; then

cp "${basename}.srt" $$.srt

m0="-vf scale=480:-10,harddup -sub $$.srt -unicode -subcp GB18030 -subfont-

text-scale 3";

else

m0="-vf scale=480:-10,harddup";

fi

x0="-lavfopts format=mp4 -faacopts mpeg=4:object=2:raw:br=160 -oac faac -ovc

x264 -sws 9 -x264encopts

nocabac:level_idc=30:bframes=0:global_header:threads=auto:subq=5:frameref=6:part

itions=all:trellis=1:chroma_me:me=umh:bitrate=500 -of lavf -ofps 24000/1001";

mencoder $m0 -fontconfig -font "${font}" $x0 -o "$$.mp4" "$i"

mv "$$.mp4" "${basename}.mp4"

if [ -f "${basename}.mp4" ] ; then

#top

 rm "$i"

fi

done

转换任意格式的视频到 H264

#!/bin/bash

#sudo apt-get install faac x264 gpac mplayer mencoder

basename=`echo $1 | sed 's/\(.*\)\..*$/\1/'`

#获得视频的长宽和帧数

mplayer -vo null -ao null -identify -frames 0 "$1" 2>/dev/null > video.info

FPS=`cat video.info | grep ID_VIDEO_FPS | cut -d = -f 2`

#FPS=23.976

W=`cat video.info | grep ID_VIDEO_WIDTH | cut -d = -f 2`

H=`cat video.info | grep ID_VIDEO_HEIGHT | cut -d = -f 2`

WIDTH=480

HEIGHT=`expr $WIDTH \* $H \/ $W`

echo $1 FPS=$FPS WIDTH=$WIDTH HEIGHT=$HEIGHT

mkfifo audio.wav video.yuv

faac -o audio.aac audio.wav &

mplayer -ao pcm:file=audio.wav:fast -vc null -vo null "$1"

x264 --profile baseline --fps $FPS -o video.264 video.yuv ${WIDTH}x${HEIGHT} &

mencoder -vf scale=$WIDTH:$HEIGHT,harddup,pp=fd,format=i420 -nosound -ovc raw

-of rawvideo -ofps $FPS -o video.yuv "$1"

MP4Box -new -add video.264 -add audio.aac -fps $FPS "$basename.mp4"

rm video.info audio.aac video.264 audio.wav video.yuv

# 使用方法将上面的脚本保存为x264.sh , x264.sh xxx.avi 来进行转化。

压制DVD 到 H264,支持 ipod

#sudo apt-get install faac x264 gpac mplayer

FPS=29.970

mkfifo audio.wav

cat VTS_01_1.VOB VTS_02_1.VOB VTS_02_2.VOB VTS_03_1.VOB VTS_04_1.VOB | mplayer

-nocorrect-pts -vo null -vc null -ao pcm:file=audio.wav:fast - &

faac audio.wav -o audio.aac

mkfifo video.y4m

cat VTS_01_1.VOB VTS_02_1.VOB VTS_02_2.VOB VTS_03_1.VOB VTS_04_1.VOB | mplayer

-vo yuv4mpeg:file=video.y4m -vf scale=480:-3,harddup,pp=fd -nosound - &

x264 --profile baseline --muxer mp4 --demuxer y4m video.y4m -o video.mp4

MP4Box -add video.mp4 -add audio.aac -fps $FPS video.mp4

图形界面为 ipod touch 转mp4 的方法

先确保有 zenity 和 memcoder

wget http://linuxfire.com.cn/~lily/toIpod -O ~/.gnome2/nautilus-scripts/toIpod

&& chmod +x ~/.gnome2/nautilus-scripts/toIpod

在 nautilus 里对视频文件点右键,选择 " 脚本 "-"toIpod".

详情请查看出处 。

mencoder/mplayer 反拉丝参数

-vf lavcdeint

#top

 合并多个 rm 文件为一个 avi 文件

mencoder -ovc lavc 1.rm -oac mp3lame -o 1.avi

mencoder -ovc lavc 2.rm -oac mp3lame -o 2.avi

mencoder -idx 1.avi -ovc copy -oac copy -o o1.avi

mencoder -idx 2.avi -ovc copy -oac copy -o o2.avi

cat o1.avi o2.avi | mencoder -noidx -ovc copy -oac copy -o output.avi -

合并视频到一个文件

mencoder -ovc copy -oac copy -idx -o 目标文件名 文件名 1 文件名 2

CD 抓轨为 mp3 (有损)

#sudo apt-get install abcde

abcde -o mp3 -b

CD 抓轨为 Flac (无损)

#sudo apt-get install abcde

abcde -o flac -b

ape 转换为 flac

#sudo apt-get install flac shntool iconv

iconv -f GB2312 -t UTF-8 example.cue -o example_UTF-8.cue

shntool split -t "%n.%p-%t" -f example_UTF-8.cue -o flac example.ape -d

flacOutputDir

ape/flac 转换为 mp3

#sudo apt-get install flac shntool lame

#ape 需要安装 monkeys 包

iconv -f GB2312 -t UTF-8 example.cue -o example_UTF-8.cue

shntool split -t "%n.%p-%t" -f example_UTF-8.cue -o 'cust ext=mp3 lame --r3mix

-b 320 --quiet - %f' example.ape -d mp3OutputDir

批量将 ape 转为 mp3

for i in *.ape; do shnconv -i ape -o "cust ext=mp3 lame -b 320 - %f" "$i" -d

mp3OutputDir; done

批量将 flac 转为 mp3

for i in *.flac; do shnconv -i flac -o "cust ext=mp3 lame -b 320 - %f" "$i" -d

mp3OutputDir; done

批量将 svg 转为 png

for i in *.svg; do inkscape $i --export-png=`echo $i | sed -e 's/svg$/png/'`;

done

#top

批量转换格式到 mp3

#sudo apt-get install lame mplayer

for i in *; do base=${i%.*}; mplayer -quiet -vo null -vc dummy -af

volume=0,resample=44100:0:1 -ao pcm:waveheader:file="$i.wav" "$i" ; lame -V0 -h

-b 192 -vbr-new "$i.wav" "$base.mp3"; rm -f "$i.wav" ; done

批量缩小图片到 30%

for i in *.jpg; do convert -resize 30%x30% "$i" "sm-$i"; done

批量转换 jpg 到 png

for i in *.jpg; do convert $i `echo $i | sed -e 's/jpg$/png/'`; done

将文字转为图片

convert -size 200x30 xc:transparent -font /usr/share/fonts/truetype/wqy/wqy-

microhei.ttc -fill red -pointsize 16 -draw "text 5,15 '测试中文转为图片'" test.png

如何压缩 png 图片

#sudo apt-get install optipng

optipng -o7 old.png new.png

# 或sudo apt-get install pngcrush

#pngcrush -brute old.png new.png

将多张图片合并到一个 PDF 文件

convert *.jpg out.pdf

批量把 pdf 转换为 txt 并格式化

sudo apt-get install poppler-utils poppler-data

find ./ -name '*.txt' | while read i; do cat $i | awk '{if ($0 ~ "^space:”)

{printf “\n”$0} else {printf $0}}’ | sed ‘/^space:*digit:*$/d’ | sed ’s/^space:\

+/ /’ | sed ’s/"/”/g’ > “../txt/$i”; done

转换pdf 到 png

#sudo apt-get install imagemagick

convert -density 196 FILENAME.pdf FILENAME.png

获取jpg 的扩展信息(Exif)

identify -verbose xxx.jpg

获取视频文件 xxx.avi 的信息

mplayer -vo null -ao null -frames 0 -identify "xxx.avi" 2>/dev/null | sed -ne

'/^ID_/ { s/[]()|&;<>`'"'"'\\!$" []/\\&/g;p }'

#top

查看MKV 视频文件 xxx.mkv 的信息

#sudo apt-get install mkvtoolnix

mkvinfo -v xxx.mkv

抓取桌面操作的视频

ffmpeg -f x11grab -s wxga -r 25 -i :0.0 -sameq /tmp/out.mpg

命令行读出文本

espeak -vzh "从前有座山"

命令行抓屏

scrot -s screenshot.png

压缩

增加7Z 压缩软件

# 支持7Z,ZIP,Zip64,CAB,RAR,ARJ,GZIP,BZIP2,TAR,CPIO,RPM,ISO,DEB 压缩文件格式

sudo apt-get install p7zip p7zip-full p7zip-rar

#将所有已 txt 结尾的文件都加入到 files.7z

7z a -t7z files.7z *.txt

#解压缩 files.zip

7z x files.zip

# 删除files.zip 中所有已 bak结尾的文件

7z d -r files.zip *.bak

#列出 file.7z中所有的文件信息

7z l files.7z

#测试 files.zip中所有doc结尾文件的正确性

7z t -r files.zip *.doc

#更新 files.zip中的所有doc结尾的文件(不是所有的压缩格式都支持更新这一选项)

7z u files.zip *.doc

增加rar 软件压缩和解压缩支持

sudo apt-get install rar unrar

增加zip 格式压缩和解压缩支持

sudo apt-get install zip unzip

解压缩 xxx.tar.gz

tar -zxvf xxx.tar.gz

#top

#top

 解压缩 xxx.tar.bz2

tar -jxvf xxx.tar.bz2

压缩aaa bbb 目录为 xxx.tar.gz

tar -zcvf xxx.tar.gz aaa bbb

压缩aaa bbb 目录为 xxx.tar.bz2

tar -jcvf xxx.tar.bz2 aaa bbb

增加lha 支持

sudo apt-get install lha

增加解 cab 文件支持

sudo apt-get install cabextract

Nautilus

显示隐藏文件

Ctrl+h

显示地址栏

Ctrl+l

特殊URI 地址

* computer:/// - 全部挂载的设备和网络

* network:/// - 浏览可用的网络

* burn:/// - 一个刻录 CDs/DVDs 的数据虚拟目录

* smb:/// - 可用的 windows/samba 网络资源

* x-nautilus-desktop:/// - 桌面项目和图标

* file:/// - 本地文件

* trash:/// - 本地回收站目录

* ftp:// - FTP 文件夹

* ssh:// - SSH 文件夹

* fonts:/// - 字体文件夹,可将字体文件拖到此处以完成安装

* themes:/// - 系统主题文件夹

查看已安装字体

fc-list

在 nautilus ” 的地址栏里输入 fonts:///“,就可以查看本机所有的 fonts (这个似乎不行)

日期和时间

显示日历

cal # 显示当月日历

cal 2 2007 # 显示2007 年 2月的日历

设置日期

date -s mm/dd/yy

设置时间

date -s HH:MM

将时间写入 CMOS

hwclock --systohc

查看CMOS 时间

hwclock --show

读取CMOS 时间

hwclock --hctosys

从服务器上同步时间

sudo ntpdate ntp.ubuntu.com

sudo ntpdate time.nist.gov

设置电脑的时区为上海

sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

XP 和 Ubuntu 相差了 8 小时的时差

#关闭 UTC,将当前时间写入 CMOS。

sudo sed -ie 's/UTC=yes/UTC=no/g' /etc/default/rcS

sudo hwclock --systohc

工作区

不同工作区间切换

Ctrl + ALT + ←

Ctrl + ALT + →

或者,将滚轮鼠标放在工作区图标上滚动

控制台

指定控制台切换

Ctrl + ALT + Fn(n:1~7)

控制台下滚屏

SHIFT + pageUp/pageDown

控制台抓图

setterm -dump n(n:1~7)

只是支持 tty1-7 。没中文。没颜色代码序列。

数据库

mysql 的数据库存放路径

/var/lib/mysql

从 mysql 中导出和导入数据

mysqldump 数据库名 > 文件名 #导出数据库

mysqladmin create 数据库名 #建立数据库

mysql 数据库名 < 文件名 #导入数据库

忘了mysql 的 root 口令怎么办

sudo /etc/init.d/mysql stop

sudo mysqld_safe --skip-grant-tables &

sudo mysqladmin -u user password 'newpassword

sudo mysqladmin flush-privileges

修改mysql 的 root 口令

sudo mysqladmin -u root -p password '你的新密码'

如何优化 mysql

wget http://www.day32.com/MySQL/tuning-primer.sh

chmod +x tuning-primer.sh

./tuning-primer.sh

mysql 命令行中文显示? 号

mysql> set names utf8;

#top

#top

#top

常用mysql 管理语句

show table status; #查询表状态

show full processlist; #查询 mysql进程

alter table site_stats engine=MyISAM; #转换表为 MyISAM类型,转表锁为行锁。

show variables; #查看 mysql 变量

mysql 的自动备份

# 备份forum myweb 数据库到 /backup/mysql 目录,并删除 7天之前的备份记录

mysqldump --opt --skip-lock-tables -u root forum | gzip -9 >

/backup/mysql/forum.`date +%Y%m%d`.sql.gz

mysqldump --opt --skip-lock-tables -u root myweb | gzip -9 >

/backup/mysql/myweb.`date +%Y%m%d`.sql.gz

find /backup/mysql/ -type f -ctime +7 -exec rm {} \;

控制

如何使用命令关闭显示器

xset dpms force off

设置CPU 的频率

sudo apt-get install cpufrequtils

#查看 cpu 当前频率信息

sudo cpufreq-info

设置模式,对应于{最省电(最低频率),用户控制,最高或最低,正常,最大性能}

cpufreq-set -g {powersave, userspace, ondemand, conservative, performance}

命令关机

sudo halt

sudo shutdown -h now #现在关机

定时关机

sudo shutdown -h 23:00 #晚上 11点自动关机

sudo shutdown -h +60 #60 分钟后关机

命令重启电脑

sudo reboot

sudo shutdown -r now

如何修改 ssh 登录提示

sudo gedit /etc/motd

#top

#top

如何关闭 ssh 登录提示

sudo gedit /etc/ssh/sshd_config 修改这一行为: PrintLastLog no

如何使用命令关闭笔记本的触摸板

synclient touchpadoff=1

那么开启触摸板就是:

synclient touchpadoff=0

从命令行通知桌面消息

#sudo apt-get install libnotify-bin

notify-send "hello world"

统计

统计最常用的 10 条命令

history | awk '{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " "

CMD[a]/count*100 "% " a;}' | grep -v "./" | column -c3 -s " " -t | sort -nr | nl

| head -n10

统计每个单词的出现频率,并排序

awk '{arr[$1]+=1 }END{for(i in arr){print arr[i]"\t"i}}' FILE_NAME | sort -rn

统计80 端口的连接个数并按照从大到小排列

netstat -na|grep :80|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -r

-n

编辑器

vim 中删除技巧

:%s/[Ctrl-v][Enter]//g 删除 DOS 方式的回车^M

:%s= *$== 删除行尾空白

:%!sort -u 删除重复行

:%s/^.{-}pdf/new.pdf/ 只是删除第一个 pdf

:%s/// 删除多行注释

:g/^$/d 删除所有空行

:g!/^dd/d 删除不含字符串'dd'的行

:v/^dd/d 删除不含字符串'dd'的行

:g/str1/,/str2/d 删除所有第一个含 str1 到第一个含 str2之间的行

:v/./.,/./-1join 压缩空行

:g/^$/,/./-j 压缩空行

ndw 或 ndW 删除光标处开始及其后的 n-1 个字符。

d0 删至行首。

d$ 删至行尾。

ndd 删除当前行及其后 n-1 行。

x 或 X 删除一个字符。

#top

#top

#top

Ctrl+u 删除输入方式下所输入的文本。

D 删除到行尾

x,y 删除与复制包含高亮区

dl 删除当前字符(与 x命令功能相同)

d0 删除到某一行的开始位置

d^ 删除到某一行的第一个字符位置(不包括空格或 TAB字符)

dw 删除到某个单词的结尾位置

d3w 删除到第三个单词的结尾位置

db 删除到某个单词的开始位置

dW 删除到某个以空格作为分隔符的单词的结尾位置

dB 删除到某个以空格作为分隔符的单词的开始位置

d7B 删除到前面 7个以空格作为分隔符的单词的开始位置

d )删除到某个语句的结尾位置

d4 ) 删除到第四个语句的结尾位置

d (删除到某个语句的开始位置

d )删除到某个段落的结尾位置

d{ 删除到某个段落的开始位置

d7{ 删除到当前段落起始位置之前的第 7个段落位置

dd 删除当前行

d/text “ 删除从文本中出现 text”中所指定字样的位置,一直向前直到下一个该字样所出现的位置(但不包

括该字样)之间的内容

dfc “ 删除从文本中出现字符 c”的位置,一直向前直到下一个该字符所出现的位置(包括该字符)之间的内容

dtc “ 删除当前行直到下一个字符 c”所出现位置之间的内容

D 删除到某一行的结尾

d$ 删除到某一行的结尾

5dd 删除从当前行所开始的 5行内容

dL 删除直到屏幕上最后一行的内容

dH 删除直到屏幕上第一行的内容

dG 删除直到工作缓存区结尾的内容

d1G 删除直到工作缓存区开始的内容

如何配置 Emacs

打开新立得或者命令行,查找 emacs , 选择你想要的版本,比如 emacs22 或者 emacs21.

之后的配置参考 Emacs 常见问题及其解决方法

vim 如何显示彩色字符

sudo cp /usr/share/vim/vimcurrent/vimrc_example.vim /usr/share/vim/vimrc

让 vim 直接支持编辑 .gz 文件

sudo apt-get install vim-full

vim 如何显示行号,在~/.vimrc 中加入

set number

如果没有 ~/.vimrc 文件,则可以在 /etc/vim/vimrc 中加入

set number

vim 配色方案 (~/.vimrc)

colorscheme scheme

可用的scheme 在 /usr/share/vim/vim71/colors/

#top

解决vim中文编码问题,在~/.vimrc 中加入

let &termencoding=&encoding

set fileencodings=utf-8,gbk,ucs-bom,cp936

#再提供一个实践中觉得不错的配置:

" Encoding related

set encoding=UTF-8

set langmenu=zh_CN.UTF-8

language message zh_CN.UTF-8

set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1

set fileencoding=utf-8

gedit 中文乱码的解决

gconftool-2 --set /apps/gedit-2/preferences/encodings/auto_detected "[UTF-

8,CURRENT,GB18030,BIG5,ISO-8859-15,UTF-16]" --type list --list-type string

编译和打包

安装通用编译环境

sudo apt-get install build-essential

通用的编译安装步骤

./configure && make && sudo make install

如何编译安装软件kate

sudo apt-get install apt-build

sudo apt-build install kate

获得源代码包

sudo apt-get source mysql-server

解压缩还原源代码包

dpkg-source -x mysql-dfsg-5.1_5.1.30-1.dsc

安装编译打包环境

sudo apt-get build-dep mysql-server

重新编译并打包 Debian 化的源码

dpkg-buildpackage -rfakeroot

#top

#top

 获得源码并重新打包

apt-get source php5-cgi

# 或手工下载源码后使用dpkg-source -x php5_5.2.6.dfsg.1-3ubuntu4.1.dsc 解开源码

sudo apt-get build-dep php5-cgi

cd php5-5.2.6.dfsg.1

dpkg-buildpackage -rfakeroot -uc -b

给源代码打补丁

patch -p0 < mysql.patch

其它

把终端加到右键菜单

sudo apt-get install nautilus-open-terminal

如何删除 Totem 电影播放机的播放历史记录

rm ~/.recently-used

清除桌面挂载硬盘图标

gconftool-2 --set /apps/nautilus/desktop/volumes_visible 0 --type bool

恢复:

gconftool-2 --set /apps/nautilus/desktop/volumes_visible 1 --type bool

如何更换 gnome 程序的快捷键

点击菜单,鼠标停留在某条菜单上,键盘输入任意你所需要的键,可以是组合键,会立即生效;

如果要清除该快捷键,请使用 backspace

基于OpenVZ 的 VPS 支持 OpenVPN 对外访问设置

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j MASQUERADE

#或

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j SNAT --to-source VPS-

IP-ADDRESS

GNOME 登录时自动运行程序

系统 -> 首选项 -> 会话 ->

启动程序

man 如何显示彩色字符

vim ~/.bashrc

#增加下面的内容:

#top

#top

export LESS_TERMCAP_mb=$'\E[01;31m'

export LESS_TERMCAP_md=$'\E[01;31m'

export LESS_TERMCAP_me=$'\E[0m'

export LESS_TERMCAP_se=$'\E[0m'

export LESS_TERMCAP_so=$'\E[01;44;33m'

export LESS_TERMCAP_ue=$'\E[0m'

export LESS_TERMCAP_us=$'\E[01;32m'

#生效文件

#source .bashrc

如何在命令行删除在会话设置的启动程序

cd ~/.config/autostart

rm 需要删除启动程序

如何提高 wine 的反应速度

sudo sed -ie '/GBK/,/^}/d' /usr/share/X11/locale/zh_CN.UTF-8/XLC_LOCALE

可能造成某些游戏帧数降低

如何命令行刻录

mkisofs -o test.iso -Jrv -V test_disk /home/carla/

cdrecord -scanbus

scsibus1:

1,1,0 101) 'HL-DT-ST' 'CD-RW GCE-8481B ' '1.04' Removable CD-ROM

cdrecord -v -eject speed=8 dev=1,1,0 test.iso

http://www.ibm.com/developerworks/cn/linux/l-cdburn/index.html

延迟抓图

gnome-screenshot -d 10 #延迟 10 秒抓图

gnome-screenshot -w -d 5 #延迟 5秒抓当前激活窗口

回收站在哪里

Ubuntu8.04 Gnome 2.22.2 以后在 $HOME/.local/share/Trash/

Ubuntu8.04 之前在 $HOME/.Trash/

强制清空回收站

sudo rm -fr $HOME/.local/share/Trash/files/

默认打开方式的配置文件在哪里

#全局

/etc/gnome/defaults.list

#个人

~/.local/share/applications/mimeapps.list

#top

Firefox 的缓存目录在哪里

ls ~/.mozilla/firefox/*.default/Cache/

查看samba 的用户

sudo pdbedit -L

增加一个用户到 samba

sudo pdbedit -a username

从 samba 账户中删除一个用户

sudo pdbedit -x username

显示samba 账户信息

sudo pdbedit -r username

测试samba 账户是否正常

smbclient -L 192.168.1.1 -U username -d 3

samba 的数据库存在哪里

/var/lib/samba/passdb.tdb

samba 用户 Windows 下无法登录

在 Windows 的运行输入 cmd ,进入终端,输入 net use 命令,将显示已经连接的帐号如

\\192.168.1.1\username

再输入net use \\192.168.1.1\username /delete 删除现有的共享连接,再尝试进入另外一个目

录就可以正常登录了。

Pidgin 的聊天记录在哪里

~/.purple/logs/

安装PDF 打印机

sudo apt-get install cups-pdf

#打印生成的 pdf 文件在 ~/PDF 文件夹里面

nvidia 快速重设显示设置及配置多显示器

sudo dpkg-reconfigure xserver-xorg

sudo nvidia-xconfig

#nvidia-settings 用于设置分辨率和多显示器

sudo nvidia-settings

#top

kacpid 进程大量占用 CPU

硬件驱动中不要激活无线网卡驱动即可

替换上一条命令中的一个短语

^foo^bar^

!!:s/foo/bar/

AMD64 位系统安装免费的杀毒软件 avast!

wget http://files.avast.com/files/linux/avast4workstation_1.3.0-2_i386.deb

sudo dpkg --force-architecture -i avast4workstation_1.3.0-2_i386.deb

sudo apt-get install ia32-libs

# 然后打开http://www.avast.com/registration-free-antivirus.php 去申请免费一年的许可证



#top

Ubuntu 命令手册的更多相关文章

  1. ubuntu命令大全

    一.文件/文件夹管理 ls 列出当前目录文件(不包括隐含文件) ls -a 列出当前目录文件(包括隐含文件) ls -l 列出当前目录下文件的详细信息 cd .. 回当前目录的上一级目录 cd - 回 ...

  2. WinDbg 命令三部曲:(一)WinDbg 命令手册

    本文为 Dennis Gao 原创技术文章,发表于博客园博客,未经作者本人允许禁止任何形式的转载. 系列博文 <WinDbg 命令三部曲:(一)WinDbg 命令手册> <WinDb ...

  3. WinDbg 命令三部曲:(三)WinDbg SOSEX 扩展命令手册

    本文为 Dennis Gao 原创技术文章,发表于博客园博客,未经作者本人允许禁止任何形式的转载. 系列博文 <WinDbg 命令三部曲:(一)WinDbg 命令手册> <WinDb ...

  4. WinDbg 命令三部曲:(二)WinDbg SOS 扩展命令手册

    本文为 Dennis Gao 原创技术文章,发表于博客园博客,未经作者本人允许禁止任何形式的转载. 系列博文 <WinDbg 命令三部曲:(一)WinDbg 命令手册> <WinDb ...

  5. UBoot常用命令手册

    UBoot常用命令手册 U-Boot还提供了更加详细的命令帮助,可以通过”?”显示支持的命令列表,通过help [CommandName]命令还可以查看每个命令的参数说明. 1.bootm bootm ...

  6. Redis常用命令手册:服务器相关命令

    Redis提供了丰富的命令(command)对数据库和各种数据类型进行操作,这些command可以在Linux终端使用.在编程时,比如各类语言包,这些命令都有对应的方法.下面将Redis提供的命令做一 ...

  7. [置顶] linux常用命令手册

    前言:整理了一份linux常用命令手册,与大家分享.这是一些比较常用的命令. 我已经整理成一份PDF带书签的手册,可以到CSDN免费下载. 下载地址:http://download.csdn.net/ ...

  8. WinDbg 命令手册

    WinDbg 命令三部曲:(一)WinDbg 命令手册   本文为 Dennis Gao 原创技术文章,发表于博客园博客,未经作者本人允许禁止任何形式的转载. 系列博文 <WinDbg 命令三部 ...

  9. Linux常用命令手册

    Linux常用命令手册 NO 分类 PS1 命令名 用法及参数 功能注解 对应章节 1 文件管理 # ls ls -a 列出当前目录下的所有文件,包括以.头的隐含文件     文件管理 # ls ls ...

随机推荐

  1. Java学习笔记(一)网格袋布局

    网格袋布局类似于Win8的Metro布局,用于将组件按大小比例放在不同位置的网格内,各组件的实际大小会随着窗口的改变而改变,但相对位置不变,能够很好的适应屏幕. 通过阅读<21天学通Java&g ...

  2. win32 线程通信初步

    // 线程通信机制.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #define NUM_THREADS 10 #include < ...

  3. OAF隐藏显示题头

    当一个页面的内容较多时,我们需要将内容进行分组显示.这个时候我们就需要用到隐藏显示. 本文将介绍如何使用OAF的隐藏显示题头功能 一.新建AM 在test.oracle.apps.cux上点右键,选择 ...

  4. 加载SpriteBuilder中的scene为何不能带后缀

    我们在Xcode中切换SpriteBuilder中的scene时,一般使用的是如下代码: -(void)exitButtonPressed:(CCControl*)sender{ CCLOG(@&qu ...

  5. MySql常用操作语句(1:启动、连接数据库及用户操作)

    下方将个人常用的MySql操作语句(Win7下)总结如下: 1. 启动与关闭数据库 “管理员”权限, MySql安装目录下bin目录//:  1.1 启动 @>net start mysql   ...

  6. x64系统的判断和x64下文件和注册表访问的重定向——补记

    原来的地址 x64系统的判断和x64下文件和注册表访问的重定向(1) x64系统的判断和x64下文件和注册表访问的重定向(2) x64系统的判断和x64下文件和注册表访问的重定向(3) 之前在(3)里 ...

  7. 【ROM修改教程】添加高级电源重启菜单(安卓4.0.4官方ROM)

    准备工作: 电脑上安装好JDK.下载smali和baksmali.下载apktools.要修改的ROM.adb工具(可选) 注:由于本教程面向的对象为有一定ROM修改基础的兄弟,所以对于如何使用电脑, ...

  8. ubuntu15.04下sublime text不能输入中文的解决

    原因是由于中文输入法的输入焦点不能插入sublime的输入窗口中,需要使用代码强制插入输入焦点. 代码是cjacker 君提供的,可以看原始的讨论帖子: http://www.sublimetext. ...

  9. 安卓TV开发(七) 移动智能终端多媒体之在线解析网页视频源

    载请标明出处:http://blog.csdn.net/sk719887916/article/details/40049137,作者:skay 结束了所有UI绘制的学习,智能设备常用的应用音视频类, ...

  10. DB Query Analyzer 5.05 is released, 65 articles concerned have been published

    DB Query Analyzer 5.05 is released, 65 articles concerned have been published DB Query Analyzer is p ...