ubuntu使用技巧精品资料.doc
Ubuntu 命令技巧1前言92安装升级92.1查看软件xxx安装内容92.2查找软件库中的软件92.3显示系统安装包的统计信息92.4显示系统全部可用包的名称102.5显示包的信息102.6查找文件属于哪个包102.7查看已经安装了哪些包102.8查询软件xxx依赖哪些包102.9查询软件xxx被哪些包依赖102.10增加一个光盘源102.11系统升级102.12清除所有已删除包的残馀配置文件102.13编译时缺少h文件的自动处理112.14查看安装软件时下载包的临时存放目录112.15备份当前系统安装的所有包的列表112.16从上面备份的安装包的列表文件恢复所有包112.17清理旧版本的软件缓存112.18清理所有软件缓存122.19删除系统不再使用的孤立软件122.20查看包在服务器上面的地址122.21彻底删除Gnome122.22彻底删除KDE122.23一键安装 LAMP 服务122.24删除旧内核122.25导入ppa源的key值122.26增加一个ppa源133系统133.1查看内核133.2查看Ubuntu版本133.3查看内核加载的模块133.4查看PCI设备133.5查看USB设备133.6查看网卡状态133.7激活网卡的 Wake-on-LAN133.8查看CPU信息143.9显示当前硬件信息143.10获取CPU序列号或者主板序列号143.11显示当前内存大小143.12查看硬盘温度143.13显示系统运行时间144硬盘154.1查看硬盘的分区154.2硬盘分区154.3硬盘格式化154.4硬盘检查154.5分区挂载154.6分区卸载154.7只读挂载ntfs分区154.8可写挂载ntfs分区164.9挂载fat32分区164.10挂载共享文件164.11挂载ISO文件164.12查看IDE硬盘信息164.13查看软raid阵列信息164.14参看硬raid阵列信息164.15查看SATA硬盘信息164.16查看硬盘剩余空间174.17查看目录占用空间174.18优盘没法卸载174.19使用文件来增加交换空间174.20查看硬盘当前读写情况185进程185.1查看当前的内存使用情况185.2连续监视内存使用情况185.3动态显示进程执行情况185.4查看当前有哪些进程185.5查看目前登入用户运行的程序195.6查看当前用户程序实际内存占用,并排序195.7统计程序的内存耗用195.8按内存从大到小排列进程195.9按cpu利用率从大到小排列进程195.10查看当前进程树195.11中止一个进程195.12强制中止一个进程(在上面进程中止不成功的时候使用)195.13图形方式中止一个程序195.14查看进程打开的文件205.15显示开启文件abc.txt的进程205.16显示22端口现在运行什么程序205.17显示nsd进程现在打开的文件205.18在后台运行程序,退出登录后,并不结束程序205.19在后台运行交互式程序,退出登录后,并不结束程序205.20详细显示程序的运行信息215.21增加系统最大打开文件个数215.22清除僵死进程215.23将大于120M内存的php-cgi都杀掉215.24Linux系统中如何限制用户进程CPU占用率216 ADSL216.1配置 ADSL216.2ADSL手工拨号216.3激活 ADSL226.4断开 ADSL226.5查看拨号日志226.6如何设置动态域名227网络227.1根据IP查网卡地址227.2根据IP查电脑名227.3查看当前IP地址227.4查看当前外网的IP地址227.5查看当前监听80端口的程序237.6查看当前网卡的物理地址237.7同一个网卡增加第二个IP地址237.8立即让网络支持nat237.9查看路由信息237.10手工增加一条路由237.11手工删除一条路由237.12修改网卡MAC地址的方法247.13统计当前IP连接的个数247.14统计当前所有IP包的状态247.15统计当前20000个IP包中大于100个IP包的IP地址247.16屏蔽IPV6247.17察看当前网络连接状况以及程序257.18查看网络连接状态257.19查看当前系统所有的监听端口257.20查看网络的当前流量257.21查看域名的注册备案情况257.22查看到某一个域名的路由情况257.23重新从服务器获得IP地址257.24从当前页面开始镜像整个网站到本地267.25如何多线程下载267.26如何查看HTTP头267.27快速使用http方式共享目录267.28 SSH 远程端口转发268 iptables268.1防止外网用内网IP欺骗268.2查看nat规则278.3查看filter规则278.4取消nat规则278.5取消filter规则278.6阻止一个IP连接本机278.7关闭 1234 端口278.8开启 80 端口278.9禁止一个IP或者一个IP段访问服务器端口服务279安全289.1检查本地是否存在安全隐患289.2如何安装杀毒软件289.3 Linux下可以使用的商业杀毒软件2810服务2810.1添加一个服务2810.2删除一个服务2810.3临时重启一个服务2910.4临时关闭一个服务2910.5临时启动一个服务2911用户管理2911.1增加用户2911.2删除用户2911.3修改当前用户的密码2911.4修改用户密码2911.5修改用户资料2911.6如何禁用/启用某个帐户2911.7增加用户到admin组,让其有sudo权限3011.8如何切换到其他帐号(需要该用户的密码)3011.9如何切换到root帐号3012设置3012.1配置默认Java使用哪个3012.2给apt设置代理3012.3修改系统登录信息3012.4使用eclipse等其他自带java编译器的软件,换回sun的编译器方法3013中文3113.1切换输入法引擎3113.2转换文件名由GBK为UTF83113.3批量转换src目录下的所有文件内容由GBK到UTF83113.4转换文件内容由GBK到UTF83113.5批量转换文件内容由GBK到UTF83113.6转换 mp3 标签编码3113.7控制台下显示中文3213.8lftp 登录远程Windows中文FTP3213.9java6 的安装和中文设置3213.10程序显示有些字大,有些小3213.11PDF 文件乱码3313.12Flash中文乱码3313.13增加农历3313.14unzip 中文文件名乱码3313.15 ibus跟随3314文件管理3314.1一屏查看文件内容3414.2不显示以开头的行3414.3分页查看文件内容3414.4可控分页查看文件内容3414.5带行号显示文件的内容3414.6去除文件中的行号3414.7删除文件中的重复行3414.8根据字符串匹配来查看文件部分内容3414.9显示包含或者不包含字符串的文件名3414.10快速查找某个文件3514.11创建两个空文件3514.12递归式创建一些嵌套目录3514.13递归式删除嵌套目录3514.14回当前用户的宿主目录3514.15回到上一次的目录3514.16查看当前所在目录的绝对路经3514.17获得文件的后缀名3514.18去除文件的后缀名3614.19列出当前目录下的所有文件,包括以.开头的隐含文件3614.20移动路径下的文件并改名3614.21复制文件或者目录3614.22查看文件类型3614.23对比两个文件之间的差异3614.24显示xxx文件倒数6行的内容3614.25让tail不停地读取最新的内容3614.26查看文件中间的第五行(含)到第10行(含)的内容3714.27查找关于xxx的命令3714.28通过ssh传输文件3714.29把所有文件的后辍由rm改为rmvb3714.30把所有文件名中的大写改为小写3714.31删除特殊文件名的文件,如文件名:-help.txt3714.32查看当前目录的子目录3714.33将当前目录下最近30天访问过的文件移动到上级back目录3814.34查找当前目录下最近30天访问过的文件打包备份3814.35显示系统服务器一小时以内的包含 xxxx 的所有邮件3814.36将当前目录下最近2小时到8小时之内的文件显示出来3814.37删除修改时间在30天之前的所有文件3814.38删除创建时间在30天之前的所有文件3814.39查找guest用户的以avi或者rm结尾的文件并删除掉3814.40查找不以java和xml结尾,并7天没有使用的文件删除掉3814.41查找目录下所有有包含abcd文字的文本文件,并替换为xyz3814.42删除当前目录里面所有的 .svn 目录3914.43删除当前目录所有以“”结尾的临时文件3914.44统计当前文件个数3914.45统计当前目录下所有jpg文件的尺寸3914.46统计当前目录个数3914.47统计当前目录下占空间最大的前10名文件或目录3914.48显示当前目录下2006-01-01的文件名3914.49备份当前系统到另外一个硬盘3914.50使用ssh方式同步远程数据到本地目录4014.51使用ftp方式同步远程数据到本地目录4014.52去掉文件中的M4014.53转换Dos文本文件到Unix文本文件4014.54转换bin/cue到iso文件4014.55转换目录到iso文件4014.56转换CD到iso文件4015影像4115.1播放swf文件4115.2如何保存串流视频(mms/rtsp)4115.3批量将rmvb转为avi4115.4批量将DVD转为avi4115.5批量将任何格式的电影转为ogv4115.6批量将rmvb格式的电影转为ogv4115.7利用gst来转换任意电影为ogv4215.8批量转换任意文件为ipod touch使用的mp44215.9图形界面为ipod touch转mp4的方法4315.10mencoder/mplayer 反拉丝参数4315.11合并多个 rm 文件为一个 avi 文件4315.12 CD 抓轨为 mp3 (有损)4315.13 CD 抓轨为 Flac (无损)4315.14ape 转换为 flac4415.15ape/flac 转换为 mp34415.16批量将 ape 转为 mp34415.17批量将 flac 转为 mp34415.18批量将svg转为png4415.19批量转换格式到mp34415.20批量缩小图片到30%4515.21批量转换jpg到png4515.22如何压缩png图片4515.23批量把pdf转换为txt并格式化4515.24转换 pdf 到 png4515.25获取jpg的扩展信息(Exif)4515.26获取视频文件 xxx.avi 的信息4515.27查看MKV视频文件 xxx.mkv 的信息4516压缩4616.1增加 7Z 压缩软件4616.2增加 rar 软件压缩和解压缩支持4616.3解压缩 xxx.tar.gz4616.4解压缩 xxx.tar.bz24616.5压缩aaa bbb目录为xxx.tar.gz4616.6压缩aaa bbb目录为xxx.tar.bz24616.7增加 lha 支持4616.8增加解 cab 文件支持4617 Nautilus4717.1显示隐藏文件4717.2显示地址栏4717.3特殊 URI 地址4717.4查看已安装字体4718日期和时间4718.1显示日历4718.2设置日期4818.3设置时间4818.4将时间写入CMOS4818.5查看CMOS时间4818.6读取CMOS时间4818.7从服务器上同步时间4818.8设置电脑的时区为上海4818.9XP 和 Ubuntu 相差了 8 小时的时差4819工作区4819.1不同工作区间切换4920控制台4920.1指定控制台切换4920.2控制台下滚屏4920.3控制台抓图4921数据库4921.1mysql的数据库存放路径4921.2从mysql中导出和导入数据4921.3忘了mysql的root口令怎么办4921.4修改mysql的root口令5021.5如何优化mysql5021.6mysql命令行中文显示?号5021.7常用mysql管理语句5022控制5022.1如何使用命令关闭显示器5022.2设置CPU的频率5022.3命令关机5122.4定时关机5122.5命令重启电脑5122.6如何修改ssh登录提示5122.7如何关闭ssh登录提示5122.8如何使用命令关闭笔记本的触摸板5123统计5123.1统计最常用的10条命令5123.2统计每个单词的出现频率,并排序5223.3统计80端口的连接个数并按照从大到小排列5224编辑器5224.1vim中删除技巧5224.2如何配置Emacs5324.3vim 如何显示彩色字符5324.4让 vim 直接支持编辑 .gz 文件5324.5vim 如何显示行号,在/.vimrc中加入5424.6vim配色方案 (/.vimrc)5424.7解决vim中文编码问题,在/.vimrc中加入5424.8 gedit中文乱码的解决5425编译和打包5425.1安装通用编译环境5425.2通用的编译安装步骤5425.3如何编译安装软件 kate5525.4获得源代码包5525.5解压缩还原源代码包5525.6安装编译打包环境5525.7重新编译并打包Debian化的源码5525.8获得源码并重新打包5525.9给源代码打补丁5526其它5526.1把终端加到右键菜单5626.2如何删除Totem电影播放机的播放历史记录5626.3清除桌面挂载硬盘图标5626.4如何更换gnome程序的快捷键5626.5基于 OpenVZ 的 VPS 支持 OpenVPN 对外访问设置5627 GNOME登录时自动运行程序5627.1man 如何显示彩色字符5627.2如何在命令行删除在会话设置的启动程序5727.3如何提高wine的反应速度5727.4如何命令行刻录5727.5延迟抓图5727.6回收站在哪里5727.7强制清空回收站5827.8默认打开方式的配置文件在哪里5827.9Firefox 的缓存目录在哪里5827.10查看samba的用户5827.11增加一个用户到samba5827.12从samba账户中删除一个用户5827.13显示samba账户信息5827.14测试samba账户是否正常5827.15samba的数据库存在哪里5827.16samba用户Windows下无法登录5927.17Pidgin 的聊天记录在哪里5927.18安装PDF打印机5927.19nvidia快速重设显示设置及配置多显示器5927.20kacpid进程大量占用CPU591前言 下面的命令大都需要在 控制台 / 终端 / shell 下输入。 控制台, 终端, 和 shell 意味着同样一件事 - 一个命令行界面, 他可以用来控制系统。 打开一个控制台: 应用程序 -> 附件 -> 终端 任何一个使用 'sudo' 作为前缀的命令都需要拥有管理员 (或 root) 访问权限。 所以你会被提示输入你自己的密码。 2安装升级 2.1查看软件xxx安装内容 dpkg -L xxx 2.2查找软件库中的软件 apt-cache search 正则表达式或aptitude search 软件包2.3显示系统安装包的统计信息 apt-cache stats2.4显示系统全部可用包的名称 apt-cache pkgnames2.5显示包的信息 apt-cache show k3b2.6查找文件属于哪个包 apt-file search filename2.7查看已经安装了哪些包 dpkg -l2.8查询软件xxx依赖哪些包 apt-cache depends xxx2.9查询软件xxx被哪些包依赖 apt-cache rdepends xxx2.10增加一个光盘源 sudo apt-cdrom add2.11系统升级 sudo apt-get update (这一步更新包列表)sudo apt-get dist-upgrade (这一步安装所有可用更新)或者sudo apt-get upgrade (这一步安装应用程序更新,不安装新内核等)2.12清除所有已删除包的残馀配置文件 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' ! 2.13编译时缺少h文件的自动处理 sudo auto-apt run ./configure2.14查看安装软件时下载包的临时存放目录 ls /var/cache/apt/archives2.15备份当前系统安装的所有包的列表 dpkg -get-selections | grep -v deinstall > /somefile2.16从上面备份的安装包的列表文件恢复所有包 dpkg -set-selections < /somefilesudo dselect2.17清理旧版本的软件缓存 sudo apt-get autoclean2.18清理所有软件缓存 sudo apt-get clean2.19删除系统不再使用的孤立软件 sudo apt-get autoremove2.20查看包在服务器上面的地址 apt-get -qq -print-uris install ssh | cut -d' -f22.21彻底删除Gnome apt-get -purge remove liborbit22.22彻底删除KDE apt-get -purge remove libqt3-mt libqtcore42.23一键安装 LAMP 服务 sudo tasksel install lamp-server2.24删除旧内核 sudo aptitude purge ilinux-image-.*(!uname -r)2.25导入ppa源的key值 #W: GPG签名验证错误: jaunty Release: 由于没有公钥,下列签名无法进行验证: NO_PUBKEY 5126890CDCC7AFE0sudo apt-key adv -recv-keys -keyserver 5126890CDCC7AFE0 #5126890CDCC7AFE0替换为你需要导入的Key值2.26增加一个ppa源 sudo add-apt-repository ppa:user/ppa-name #使用 ppa 的地址替换 ppa:user/ppa-name3系统 3.1查看内核 uname -a3.2查看Ubuntu版本 cat /etc/issue或 cat /etc/lsb-release 或 lsb_release -dsc3.3查看内核加载的模块 lsmod3.4查看PCI设备 lspci3.5查看USB设备 lsusb #加参数 -v 可以显示USB设备的描述表(descriptors)lsusb -v3.6查看网卡状态 sudo ethtool eth03.7激活网卡的 Wake-on-LAN sudo apt-get install wakeonlan或 sudo ethtool -s eth0 wol g3.8查看CPU信息 cat /proc/cpuinfo3.9显示当前硬件信息 sudo lshw3.10获取CPU序列号或者主板序列号 #CPU IDsudo dmidecode -t 4 | grep ID#Serial Numbersudo dmidecode | grep Serial#CPUsudo dmidecode -t 4#BIOSsudo dmidecode -t 0#主板:sudo dmidecode -t 2#OEM:sudo dmidecode -t 113.11显示当前内存大小 free -m |grep "Mem" | awk 'print $2'3.12查看硬盘温度 sudo apt-get install hddtempsudo hddtemp /dev/sda3.13显示系统运行时间 $ uptime11:47:04 up 85 days, 2:10, 1 user, load average: 2.40, 2.18, 2.344硬盘 4.1查看硬盘的分区 sudo fdisk -l4.2硬盘分区 #危险!小心操作。sudo fdisk /dev/sda4.3硬盘格式化 #危险!将第一个分区格式化为 ext3 分区, mkfs.reiserfs mkfs.xfs mkfs.vfatsudo mkfs.ext3 /dev/sda14.4硬盘检查 #危险!检查第一个分区,请不要检查已经挂载的分区,否则容易丢失和损坏数据sudo fsck /dev/sda14.5分区挂载 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=0224.6分区卸载 sudo umount 目录名或设备名4.7只读挂载ntfs分区 sudo mount -t ntfs -o nls=utf8,umask=0 /dev/sdb1 /mnt/c4.8可写挂载ntfs分区 sudo mount -t ntfs-3g -o locale=zh_CN.utf8,umask=0 /dev/sdb1 /mnt/c4.9挂载fat32分区 sudo mount -t vfat -o iocharset=utf8,umask=0 /dev/sda1 /mnt/c4.10挂载共享文件 sudo mount -t smbfs -o username=xxx,password=xxx,iocharset=utf8 /192.168.1.1/share /mnt/share4.11挂载ISO文件 sudo mount -t iso9660 -o loop,utf8 xxx.iso /mnt/iso4.12查看IDE硬盘信息 sudo hdparm -i /dev/hda4.13查看软raid阵列信息 cat /proc/mdstat4.14参看硬raid阵列信息 dmesg |grep -i raidcat /proc/scsi/scsi4.15查看SATA硬盘信息 sudo hdparm -I /dev/sda或sudo apt-get install blktoolsudo blktool /dev/sda id4.16查看硬盘剩余空间 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 显示版本信息并离开4.17查看目录占用空间 du -hs 目录名4.18优盘没法卸载 syncfuser -km /media/usbdisk4.19使用文件来增加交换空间 #创建一个512M的交换文件 /swapfilesudo dd if=/dev/zero of=/swapfile bs=1M count=512 sudo mkswap /swapfilesudo swapon /swapfile#sudo vim /etc/fstab #加到fstab文件中让系统引导时自动启动/swapfile swap swap defaults 0 04.20查看硬盘当前读写情况 # 首先安装 sysstat 包sudo apt-get install sysstat#每2秒刷新一次sudo iostat -x 25进程 5.1查看当前的内存使用情况 freeusage: 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 exit5.2连续监视内存使用情况 watch -d free# 使用 Ctrl + c 退出5.3动态显示进程执行情况 toptop指令运行时输入H或?打开帮助窗口,输入Q退出指令。5.4查看当前有哪些进程 ps -AFL5.5查看目前登入用户运行的程序 w5.6查看当前用户程序实际内存占用,并排序 ps -u $USER -o pid,rss,cmd -sort -rss5.7统计程序的内存耗用 ps -eo fname,rss|awk 'arr$1+=$2 END for (i in arr) print i,arri'|sort -k2 -nr5.8按内存从大到小排列进程 ps -eo "%C : %p : %z : %a"|sort -k5 -nr5.9按cpu利用率从大到小排列进程 ps -eo "%C : %p : %z : %a"|sort -nr5.10查看当前进程树 pstree5.11中止一个进程 kill 进程号(就是ps -A中的第一列的数字)或者 killall 进程名5.12强制中止一个进程(在上面进程中止不成功的时候使用) kill -9 进程号或者 killall -9 进程名5.13图形方式中止一个程序 xkill 出现骷髅标志的鼠标,点击需要中止的程序即可5.14查看进程打开的文件 lsof -p 进程的pid5.15显示开启文件abc.txt的进程 lsof abc.txt 5.16显示22端口现在运行什么程序 lsof -i :22 5.17显示nsd进程现在打开的文件 lsof -c nsd5.18在后台运行程序,退出登录后,并不结束程序 nohup 程序 &#查看中间运行情况tail nohup5.19在后台运行交互式程序,退出登录后,并不结束程序 sudo apt-get install screenscreen 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.9C-a a#发送 C-a到当前窗口C-a d#暂时断开screen会话C-a k#杀掉当前窗口5.20详细显示程序的运行信息 strace -f -F -o outfile <cmd>5.21增加系统最大打开文件个数 echo 4096 > /proc/sys/fs/file-max#或者ulimit -n 40965.22清除僵死进程 ps -eal | awk ' if ($2 = "Z") print $4' | xargs sudo kill -95.23将大于120M内存的php-cgi都杀掉 ps -eo pid,fname,rss|grep php-cgi|grep -v grep|awk 'if($3>=120000) print $1' | xargs sudo kill -95.24Linux系统中如何限制用户进程CPU占用率 renice +10 ps aux | awk ' if ($3 > 0.8 && id -u $1 > 500) print $2' #或直接编辑/etc/security/limits.conf文件。6 ADSL 6.1配置 ADSL sudo pppoeconf6.2ADSL手工拨号 sudo pon dsl-provider6.3激活 ADSL sudo /etc/ppp/pppoe_on_boot6.4断开 ADSL sudo poff6.5查看拨号日志 sudo plog6.6如