Ubuntu命令技巧
前言
下面的命令大都需要在控制台 /终端/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 (这一步安装应用程序更新,不安装新内核等)
查询程序属于哪一个debian包
如,程序名是 dh_installdeb
$dpkg -S `which dh_installdeb`
debhelper: /usr/bin/dh_installdeb
$dpkg -l | grep debhelper
ii debhelper 7.4.15ubuntu1 helper programs for debian/rules
修复apt-get系统
根据提示进行修复,一般是apt-get install 包名 后加上 --fix-missing 或者 -f
如果还是不行,使用如下命令修复:
sudo dpkg --configure -a
修复dpkg的错误。如果无法修复,根据提示删除出错的包。
清除所有已删除包的残馀配置文件
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
如果报如下错误,证明你的系统中没有残留配置文件了,无须担心。
dpkg:--purge needs at least one package name argument
Typedpkg --help for help about installing and deinstalling packages[*];
Use `dselect' or `aptitude' for user-friendly packagemanagement;
Type dpkg -Dhelp for a list of dpkg debug flagvalues;
Type dpkg --force-help for a list of forcing options;
Typedpkg-deb --help for help about manipulating *.deb files;
Type dpkg--license for copyright license and lack of warranty (GNU GPL) [*].
Optionsmarked [*] 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 dselect-upgrade
安装debian包时自动回答yes
sudo apt-get install/dselect-upgrade 等命令后,可以加上-y 表示自动回答yes。但在遇到安装一个未验证的deb包,或者删除一个本质的deb包时,安装过程会终止。如果再加上--force-yes
那么不论什么样的情况,apt-get都会执行安装。 但使用这个选项可能会造成系统问题。
清理旧版本的软件缓存
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系统升级
这里指的是版本间的升级,例如9.04=>10.04。
使用该升级方式通常需要使能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
Blocks字段表示分区的大小,它的单位是1024字节,也就是KB。
硬盘分区
#危险!小心操作。 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硬盘信息