欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ubuntu常用命令 博客分类: os操作系统UbuntuLinux linuxUbuntuos命令

程序员文章站 2024-03-18 15:55:58
...

ubuntu常用命令
2009-08-16 17:27
1.列举本地更新
sudo apt-get update
2.安装可用更新
sudo apt-get upgrade
3.查询软件包
apt-cache search package_name
4.安装一个软件包
sudo apt-get install package_name
5.删除一个软件包
sudo apt-get remove package
6.列举其他apt-get 命令
apt-get help
7.install/unstall .deb files
sudo dpkg -i package_file.deb ,sudo dpkg -r package_filename
8.convert .rpm to .deb files
sudo alien package
9.install tarballs
tar xfvz tarball_name


/*************************/


一、APT的使用(Ubuntu Linux软件包管理工具一)

apt-cache search # ------(package 搜索包)

apt-cache show #------(package 获取包的相关信息,如说明、大小、版本等)

sudo apt-get install # ------(package 安装包)

sudo apt-get install # -----(package - - reinstall 重新安装包)

sudo apt-get -f install # -----(强制安装?#"-f = --fix-missing"当是修复安

装吧...)

sudo apt-get remove #-----(package 删除包)

sudo apt-get remove - - purge # ------(package 删除包,包括删除配置文件

等)

sudo apt-get autoremove --purge # ----(package 删除包及其依赖的软件包+配置文件等(只对6.10有效,强烈推荐))

sudo apt-get update #------更新源

sudo apt-get upgrade #------更新已安装的包

sudo apt-get dist-upgrade # ---------升级系统

sudo apt-get dselect-upgrade #------使用 dselect 升级

apt-cache depends #-------(package 了解使用依赖)

apt-cache rdepends # ------(package 了解某个具体的依赖?#当是查看该包被哪些包依赖吧...)

sudo apt-get build-dep # ------(package 安装相关的编译环境)

apt-get source #------(package 下载该包的源代码)

sudo apt-get clean && sudo apt-get autoclean # --------清理下载文件的存

档 && 只清理过时的包

sudo apt-get check #-------检查是否有损坏的依赖





apt-get install 的用法

apt-get install <package>

下载 <package> 以及所有倚赖的包裹,同时进行包裹的安装或升级.如果某个包裹被设置了 hold (停止标志,就会被搁在一边(即不会被升级).更多 hold 细节请看下面.



apt-get remove [--purge] <package>

移除 <package> 以及任何倚赖这个包裹的其它包裹.--purge 指明这个包裹应该被完全清除 (purged) ,更多信息请看 dpkg -P .



apt-get update

升级来自 Debian 镜像的包裹列表,如果你想安装当天的任何软件,至少每天运行一次,而且每次修改了

/etc/apt/sources.list 后,必须执行.



apt-get upgrade [-u]

升级所以已经安装的包裹为最新可用版本.不会安装新的或移除老的包裹.如果一个包改变了倚赖关系而需要安装一个新的包裹,那么它将不会被升级,而是标志为 hold .apt-get update 不会升级被标志为 hold 的包裹 (这个也就是 hold 的意思).请看下文如何手动设置包裹为 hold .我建议同时使用 '-u' 选项,因为这样你就能看到哪些包裹将会被升级.



apt-get dist-upgrade [-u]

和 apt-get upgrade 类似,除了 dist-upgrade 会安装和移除包裹来满足倚赖关系.因此具有一定的危险性.



apt-cache search <pattern>

搜索满足 <pattern> 的包裹和描述.



apt-cache show <package>

显示 <package> 的完整的描述.



apt-cache showpkg <package>

显示 <package> 许多细节,以及和其它包裹的关系.



dselect, console-apt, aptitude, gnome-apt,是APT 的几个图形前端(其中一些在使用前得先安装).这里 dselect 无疑是最强大的,也是最古老,最难驾驭.



-------------------------------------



二、 DPKG的 用法(Ubuntu Linux软件包管理工具二)

dpkg -i <package.deb>

安装一个 Debian 包裹文件;如你手动下载的文件.



dpkg -c <package.deb>

列出 <package.deb> 的内容.



dpkg -I <package.deb>

从 <package.deb> 中提取包裹信息.



dpkg -r <package>

移除一个已安装的包裹.



dpkg -P <package>

完全清除一个已安装的包裹.和 remove 不同的是, remove 只是删掉数据和可执行

文件, purge 另外还删除所有的配制文件.



dpkg -L <package>

列出 <package> 安装的所有文件清单.同时请看 dpkg -c 来检查一个 .deb 文件

的内容.



dpkg -s <package>

显示已安装包裹的信息.同时请看 apt-cache 显示 Debian 存档中的包裹信息,以

及 dpkg -I 来显示从一个

.deb 文件中提取的包裹信息.



dpkg-reconfigure <package>

重新配制一个已经安装的包裹,如果它使用的是 debconf (debconf 为包裹安装提

供了一个统一的配制界面).你能够重新配制 debconf 它本身,如你想改变它的前端

或提问的优先权.例如,重新配制 debconf ,使用一个 dialog 前端,简单运行:



dpkg-reconfigure --frontend=dialog debconf (如果你安装时选错了,这里可以

改回来哟



echo "<package> hold" | dpkg --set-selections

设置 <package> 的状态为 hlod (命令行方式)



dpkg --get-selections "<package>"

取的 <package> 的当前状态 (命令行方式)



支持通配符,如:

Debian:~# dpkg --get-selections *wine*









备注:



-------------------------------------例如:

大家现在用的都是 gaim-0.58 + QQ-plugin,为了防止 gaim 被升级,我们可以采用

如下方法:



方法一:

Debian:~# echo "gaim hold" | dpkg --set-selections

然后用下面命令检查一下:

Debian:~# dpkg --get-selections "gaim"

gaim hold

现在的状态标志是 hold,就不能被升级了.



如果想恢复怎么办呢?

Debian:~# echo "gaim install" | dpkg --set-selections

Debian:~# dpkg --get-selections "gaim"

gaim install

这时状态标志又被重置为 install,可以继续升级了.



同志们会问,哪个这些状态标志都写在哪个文件中呢?

在 /var/lib/dpkg/status 里,你也可以通过修改这个文件实现 hold.



有时你会发现有的软件状态标志是 purge,不要奇怪.

如:事先已经安装了 amsn, 然后把它卸了.

apt-get remove --purge amsn

那么状态标志就从 install 变成 purge.



方法二:

在/etc/apt 下手动建一个 preferences 文件

内容:

Package: gaim

Pin: version 0.58*

保存

更详细内容请看:

http://linuxsir.com/bbs/showthread....&threadid=22601



dpkg -S <file>

在包裹数据库中查找 <file>,并告诉你哪个包裹包含了这个文件.(注:查找的是事

先已经安装的包裹)



从源码建立deb packages



apt-get source [-b] <package>

下载一个源码的包并解开。

你必须在你的/etc/apt/sources.list文件里写入一条 deb-src 的记录才能完成这

项工作。

如果你输入了一个-b参数,并且是以root的身份,deb包会被自动的创建。



apt-get build-dep <package>

自动下载并安装通过源码创建 <package> 时需要的包。

只有apt 0.5以上版本才支持这个功能。

现在woody和以上版本包含了这个功能。

如果你使有一个旧版本的apt,查找依赖性最简单的方法是查看源码包中

debian/control 这个文件,

注意这个路径是相对的,是包内的路径。



普通的用法,结合 apt-get source -b,例子 (as root):



apt-get build-dep <package>

apt-get source -b <package>



会下载源码包,建立依赖性,然后尝试编译源码。



dpkg-source -x <package.dsc>

如果你手工下载了一个程序的源码包,其中包含了几个类

似 .orig.tar.gz , .dsc ,

以及 .diff.gz 之类的文件,

那么你就可以对 .dsc 文件使用这个命令来 unpack 源码包。



dpkg-buildpackage

从 Debian 源码树建立一个deb包。你必须在source tree的主目录才能生效。例

如:



dpkg-buildpackage -rfakeroot -uc -b



这里 '-rfakeroot' 指定命令使用 fakeroot 程序来模仿 root 权限 (来实现所有

者(ownership)目的),

'-uc' 表示 "Don't cryptographically sign the changelog", '-b' 代表只建立

二进制包.



debuild

一个快速打包脚本类似 dpkg-buildpackage ,能自动的识别是否使用 fakeroot,

同时为你运行 lintian 和 gpg



修正倚赖关系



dpkg --configure --pending

如果dpkg在apt-get install upgrade dist-uptradeing 的时候出错退出,

尝试使用此命令来配置已经unpack的包。

然后再用 apt-get install ,upgrade, or dist-upgrade -f ,

然后再用 apt-get install, upgrade, or dist-upgrade.



可能会重复多次,这样通常可以解决大多数的依赖性问题。

(同时,如果提示由于某种原因需要某个特定的包裹,你可以常识安装或卸载这个包)



apt-get install -f

apt-get upgrade -f

apt-get dist-upgrade -f

尝试修正上述过程中出现依赖性关系

注意 apt-get install -f 不需要 <package> 作为参数。







-------------------------------------

用apt-cdrom -d /media/cdrom0 add 加载光驱,



/dev/hdc /cdrom iso9660 user,noauto 0 0

用编辑器修改一下存盘,重启,应该可以了。

然后,apt-cdrom -d /cdrom add

apt-get install (你要装的软件名:《例如gcc》)

gcc相关的软件会自动装入。

昨天,刚试过,很爽。

注意:apt不会认你手动挂载的光驱,如果fstab中设置不对apt不会正常工作。



用apt-cdrom -d /media/cdrom0 add 加载光驱,

需要使用#mkdir /media/cdrom0 否则会错误提示说“无法读取文件系统挂载

点/media/cdrom的状态 -stat(2 没有那个文件或目录)”



/*********************************************************************************/

最近很喜欢使用ubuntu,尤其对那个终端着迷,但是好多命令都不知道,所以就从网上摘这个来作参考使用
---------------------------------------------------
sudo apt-get install 软件名 安装软件命令

sudo nautilus 打开文件(有root权限)

su root 切换到“root”

ls 列出当前目录文件(不包括隐含文件)

ls -a 列出当前目录文件(包括隐含文件)

ls -l 列出当前目录下文件的详细信息

cd .. 回当前目录的上一级目录

cd – 回上一次所在的目录

cd ~ 或 cd 回当前用户的宿主目录

mkdir 目录名 创建一个目录

rmdir 空目录名 删除一个空目录

rm 文件名 文件名 删除一个文件或多个文件

rm -rf 非空目录名 删除一个非空目录下的一切

shixinyu

mv 路经/文件 /经/文件 移动相对路经下的文件到绝对路经下

mv 文件名 新名称 在当前目录下改名

find 路经 -name “字符串” 查找路经所在范围内满足字符串匹配的文件和目录

fdisk fdisk -l 查看系统分区信息

fdisk fdisk /dev/sdb 为一块新的SCSI硬盘进行分区

chown chown root /home 把/home的属主改成root用户

chgrp chgrp root /home 把/home的属组改成root组

Useradd 创建一个新的用户

Groupadd 组名 创建一个新的组

Passwd 用户名 为用户创建密码

Passwd -d用户名 删除用户密码也能登陆

Passwd -S用户名 查询账号密码

Usermod -l 新用户名 老用户名 为用户改名

Userdel–r 用户名 删除用户一切

tar -c 创建包 –x 释放包 -v 显示命令过程 –z 代表压缩包

tar –cvf benet.tar /home/benet 把/home/benet目录打包

tar –zcvf benet.tar.gz /mnt 把目录打包并压缩

tar –zxvf benet.tar.gz 压缩包的文件解压恢复

tar –jxvf benet.tar.bz2 解压缩

tar -tvzf *.tar.gz 显示压缩文件目录(仅查看不解压)

make 编译

make install 安装编译好的源码包

reboot Init 6 重启LINUX系统

Halt Init 0 Shutdown –h now 关闭LINUX系统

uname -a 查看内核版本

cat /etc/issue 查看ubuntu版本

lsusb 查看usb设备

sudo ethtool eth0 查看网卡状态

cat /proc/cpuinfo 查看cpu信息

lshw 查看当前硬件信息

sudo fdisk -l 查看磁盘信息

df -h 查看硬盘剩余空间

free -m 查看当前的内存使用情况

ps -A 查看当前有哪些进程

kill 进程号(就是ps -A中的第一列的数字)或者 killall 进程名( 杀死一个进程)

kill -9 进程号 强制杀死一个进程

常用apt命令:

apt-cache search package 搜索包

apt-cache show package 获取包的相关信息,如说明、大小、版本等

sudo apt-get install package 安装包

sudo apt-get install package – - reinstall 重新安装包

sudo apt-get -f install 修复安装”-f = –fix-missing”

sudo apt-get remove package 删除包

sudo apt-get remove package – - purge 删除包,包括删除配置文件等

sudo apt-get update 更新源

sudo apt-get upgrade 更新已安装的包

sudo apt-get dist-upgrade 升级系统

sudo apt-get dselect-upgrade 使用 dselect 升级

apt-cache depends package 了解使用依赖

apt-cache rdepends package 是查看该包被哪些包依赖

sudo apt-get build-dep package 安装相关的编译环境

apt-get source package 下载该包的源代码

sudo apt-get clean && sudo apt-get autoclean 清理无用的包

sudo apt-get check 检查是否有损坏的依赖

清理所有软件缓存(即缓存在/var/cache/apt/archives目录里的deb包 )

sudo apt-get clean

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

sudo apt-get autoremove

============================
1 文件管理 # ls ls -a 列出当前目录下的所有文件,包括以.头的隐含文件

文件管理 # ls ls -l或ll 列出当前目录下文件的详细信息

文件管理 # pwd pwd 查看当前所在目录的绝对路经

文件管理 # cd cd .. 回当前目录的上一级目录

文件管理 # cd cd – 回上一次所在的目录

文件管理 # cd cd ~ 或 cd 回当前用户的宿主目录

文件管理 # cd cd ~用户名 回指定用户的宿主目录

2 文件管理 # mkdir mkdir 目录名 创建一个目录

文件管理 # mkdir mkdir –p 递归式去创建一些嵌套目录

文件管理 # rmdir Rmdir 空目录名 删除一个空目录

3 文件管理 # rm rm 文件名 文件名 删除一个文件或多个文件

文件管理 # rm rm -rf 非空目录名 递归删除一个非空目录下的一切,不让提式-f

4 文件管理 # cat cat文件名 一屏查看文件内容

5 文件管理 # more more文件名 分页查看文件内容

6 文件管理 # less less 文件名 可控分页查看文件内容

7 文件管理 # grep grep字符 文件名 根据字符匹配来查看文件部分内容

8 文件管理 # mv mv 路经/文件 /经/文件 移动相对路经下的文件到绝对路经下

文件管理 # mv mv 文件名 新名称 在当前目录下改名

9 文件管理 # cp cp /路经/文件 ./ 移动绝对路经下的文件到当前目录下

10 文件管理 # find find 路经 -name “字符串” 查找路经所在范围内满足字符串匹配的文件和目录

11 文件管理 # ln ln 源文件 链接名 创建当前目录源文件的硬链接

ln /home/test /usr/test1 在/usr下建立/home/test的硬链接

12 文件管理 # ln Ln -s a b 创建当前目录下a的符号链接b

13 文件管理 # touch touch file1 file2 创建两个空文件

14 磁盘管理 # df df 用于报告文件系统的总容量,使用量,剩余容量。

15 磁盘管理 # du du -b /home 查看目前/HOME目录的容量(k)及子目录的容量(k)。

16 磁盘管理 # fdisk fdisk -l 查看系统分区信息

17 磁盘管理 # fdisk fdisk /dev/sdb 为一块新的SCSI硬盘进行分区

18 磁盘管理 # mkfs.ext3 Mkfs.ext3 /dev/sdb1

为第一块SCSI硬盘的第一主分区格式化成

ext3的文件系统

mkfs.ext2 Mkfs.ext2/dev/sdb2 格式化成ext2文件系统

19 磁盘管理 # mount mount -t 文件系统类型 设备路经 访问路经

磁盘管理 # 文件系统类型

Iso9660 光驱文件系统

vfat Fat文件系统(windows)

挂载光驱 # mount –t iso9660 /dev/cdrom /mnt/cdrom

挂载FAT # mount –t vfat /dev/hda5 /mnt/cdrom 挂第一个ide的第五个逻辑分区

17 磁盘管理 # Umount /mnt/cdrom 卸载/mnt/cdrom为空

18 文件权限 # chmod chmod u+s file 为file的属主加上特殊权限

chmod g+r file 为file的属组加上读权限

chmod o+w file 为file的其它用户加上写权限

chmod a-x file 为file的所有用户减去执行权限

chmod 765 file 为file的属主设为完全权限,属组设成读写权,其它用户具有读和执心权限

19 文件权限 # chown chown root /home 把/home的属主改成root用户

20 文件权限 # chgrp chgrp root /home 把/home的属组改成root组

21 打印管理 # redhat-config-printer-tui 进入安装打印机界面

22 打印管理 # lp lp –d hptr file 打印file到hptr的打印机上

23 打印管理 # lpq Lpq –P 打印机名 查看打印机的状态

24 打印管理 # lprm Lprm –P 打印机名 a 删除打印机内的打印作业

25 打印管理 # disable Disable –r “changing paper” HPtr 禁用打印机并提示原因

26 打印管理 # enable Enable HPtr 重新启用被禁用的

27 用户管理 # useradd Useradd 创建一个新的用户

28 用户管理 # groupadd Groupadd 组名 创建一个新的组

29 用户管理 # passwd Passwd 用户名 为用户创建密码

30 用户管理 # Passwd -d Passwd -d用户名 删除用户密码也能登陆

31 用户管理 # Passwd -l Passwd -l用户名 锁定账号密码

32 用户管理 # Passwd -u Passwd -u用户名 解锁账号密码

33 用户管理 # Passwd -S Passwd -S用户名 查询账号密码

34 用户管理 # Usermod -l Usermod -l 新用户名 老用户名 为用户改名

35 用户管理 # Usermod -L Usermod -L 要锁定用户名 锁定用户登陆

36 用户管理 # Usermod -U Usermod –U解锁用户名 解锁用户登陆

37 用户管理 # Usermod -u Usermod –u 501用户名 改变用户UID

38 用户管理 # Userdel Userdel–r 用户名 删除用户一切

39 用户管理 # Groupmod -n Groupmod –n新用户名 老用户名 为组改名

40 用户管理 # Groupmod -g Groupmod –g 501 组名 改变组GID

41 用户管理 # groupdel Groupdel组名 先应删它的用户 删除组

42 用户管理 # gpasswd -a gpasswd -a 用户名 组名 增加用户到组

43 用户管理 # Id id 用户名 查用户信息

44 软件管理 # rpm -qa rpm –qa | less 查询已安装RPM

45 软件管理 # rpm –qa | grep ftp 查询指定RPM

46 软件管理 # rpm -q rpm -q 已安装的RPM包 查是否安装

47 软件管理 # rpm -q telnet-server 查看telnet服务器包

48 软件管理 # rpm -qi rpm –qi 软件包名称 查看软件的描述信息

49 软件管理 # rpm -ql rpm –ql软件包名称 查询软件包的文件列表

50 软件管理 # rpm -qf rpm –qf软件包名称 查询某个文件所属的软件包

51 软件管理 # rpm -qp rpm –qp软件包全名 查询未安装的软件包信息

52 软件管理 # rpm -e rpm –e 软件包名称 删除具体的软件包

53 软件管理 # rpm -U rpm –Uvh软件包全名 升级软件包并显示过程

54 软件管理 # rpm -ivh rpm –ivh 软件包全名 安装软件包并显示过程

55 软件管理 # rpm -V rpm –V软件包名称 验证软件包的大小,类型等

56 软件管理 # tar -c 创建包 –x 释放包 -v 显示命令过程 –z 代表压缩包

57 软件管理 # tar -cf tar –cvf benet.tar /home/benet 把/home/benet目录打包

58 软件管理 # tar -czf tar –zcvf benet.tar.gz /mnt 把目录打包并压缩

59 软件管理 # tar –tf tar –tf benet.tar 看非压缩包的文件列表

60 软件管理 # tar –tzf tar –tf benet.tar.gz 看压缩包的文件列表

61 软件管理 # tar –xf tar –xf benet.tar 非压缩包的文件恢复

62 软件管理 # tar –zxvf tar –zxvf benet.tar.gz 压缩包的文件解压恢复

63 软件管理 # tar -jxvf tar –jxvf benet.tar.bz2

64 软件管理 # diff diff file1 file2 > 补丁名.patch 为新旧文件生成补丁文件

65 软件管理 # diff diff file1 file2 比较两个文件的区别

66 软件管理 # Patch Patch file补丁名.patch 打补丁

67 软件管理 # ./configure –prefix=/usr/local/ 编译前配置

68 软件管理 # make 编译

69 软件管理 # make install 安装编译好的源码包

70 启动管理 # reboot Init 6 重启LINUX系统

71 启动管理 # Halt Init 0 Shutdown –h now 关闭LINUX系统

72 启动管理 # runlevel 显示系统运行级

73 启动管理 # Init [0123456] 改变系统运行级,7种

74 启动管理 # Chkconfig –-list [服务名称] 查看服务的状态

75 启动管理 # Chkconfig –-level on|off|set 设置服务的启动状态

76 启动管理 # Chkconfig on|off|set 设置非独立服务启状态

77 进程管理 # Top动态 Ps-aux静态 进程树pstree 查看系统进程

78 进程管理 # 程序名 & 后台运行程序

79 进程管理 # fg 把后台运行的进程调回前台

80 进程管理 # bg 把前台运行进程调到后台

81 进程管理 # renice Renice +1 180 把180号进程的优先级加1

82 进程管理 # kill Kill PID 终止某个PID进程

83 进程管理 # at at 5pm + 3 days

/bin/ls 指定三天后下午5:00执行/bin/ls

84 进程管理 # crontab Crontab -e 用VI的形式来编辑自动周期性任务

85 进程管理 # crontab Crontab -l 查看自动周期性任务

86 进程管理 # crontab Crontab -r 删除自动周期性任务

87 进程管理 # crond Service crond

马上启动自动周期性服务 Service crond

实现磁盘配额 (注安装LINUX时建立/home分区)

目标:对用户zhao在/home目录上实现soft limit为5k,hard limit 为10k的磁盘配额

实现步骤:

1. 修改包含/home的行, #vi /etc/fstab, 改为:defaults,usrquota。也就是增加usrquota项。然后保存退出。

2、卸载/home目录 #umount /home

3. 挂接/home目录 #mount /home

4、增加用户zhao #useradd zhao

5、修改密码 #passwd zhao

6、生成关于/home目录的quota信息 # quotacheck -cmug /home

#quotacheck -vu /home

7、查看所有用户的信息 #repquota -au

8、设置配额 #edquota -u zhao

将soft 和hard 分别改为5和10

9、保存并退出 #wq!

10、修改时间 #edquota -t

11、 #wq!

12.开启/home上的磁盘配额功能 #quotaon /home

13.查询配额 #quota -u zhao

14.验证配额 #su – zhao

$touch myfile


/********************************************************************************/


非常实用的Ubuntu命令大全2009年01月10日 星期六 19:40
1. dpkg: package manager for Debian 
* 安装: dpkg -i package 
* 卸载: dpkg -r package 
* 卸载并删除配置文件: dpkg -P |--purge package 
* 如果安装一个包时。说依赖某些库。 可以先 apt-get install somelib... 
* 查看软件包安装内容 :dpkg -L package 
* 查看文件由哪个软件包提供: dpkg -S filename
* 另外 dpkg还有 dselect和aptitude 两个frontend.
2. apt 
* 安装: apt-get install packs 
* apt-get update : 更新源 
* apt-get upgrade: 升级系统。 
* apt-get dist-upgrade: 智能升级。安装新软件包,删除废弃的软件包 
* apt-get -f install : -f == --fix broken 修复依赖 
* apt-get autoremove: 自动删除无用的软件 
* apt-get remove packages :删除软件 
* apt-get remove package --purge 删除包并清除配置文件 
* 清除所以删除包的残余配置文件: dpkg -l |grep ^rc|awk '{print $2}' |tr ["/n"] [" "]|sudo xargs dpkg -P 
* 安装软件时候包的临时存放目录 : /var/cache/apt/archives 
* 清除该目录: apt-get clean 
* 清除该目录的旧版本的软件缓存: apt-get autoclean 
* 查询软件some的依赖包: apt-cache depends some 
* 查询软件some被哪些包依赖: apt-get rdepends some 
* 搜索软件: apt-cache search name|regexp 
* 查看软件包的作用:apt-cache show package
* 查看一个软件的编译依赖库: apt-cache showsrc packagename|grep Build-Depends 
* 下载软件的源代码 : apt-get source packagename (注: sources.list 中应该有 deb-src 源)
* 安装软件包源码的同时, 安装其编译环境 :apt-get build-dep packagename (有deb-src源)
* 如何将本地光盘加入安装源列表: apt-cdrom add
3. 系统命令: 
* 查看内核版本: uname -a 
* 查看ubuntu 版本: cat /etc/issue 
* 查看网卡状态 : ethtool eth0 
* 查看内存,cpu的信息: cat /proc/meminfo ; cat /proc/cpuinfo 
(/proc下面的有很多系统信息) 
* 打印文件系统空间使用情况: df -h 
* 查看硬盘分区情况: fdisk -l 
* 产看文件大小: du -h filename; 
* 查看目录大小: du -hs dirname ; du -h dirname是查看目录下所有文件的大小 
* 查看内存的使用: free -m|-g|-k 
* 查看进程: ps -e 或ps -aux -->显示用户 
* 杀掉进程: kill pid 
* 强制杀掉: killall -9 processname 
4. 网络相关:   
* 配置 ADSL:   sudo pppoeconf 
* ADSL手工拨号: sudo pon dsl-provider 
* 激活 ADSL :   sudo /etc/ppp/pppoe_on_boot 
* 断开 ADSL:   sudo poff 
* 根据IP查网卡地址: arping IP地址 
* 产看本地网络信息(包括ip等): ifconfig | ifconfig eth0 
* 查看路由信息: netstat -r 
* 关闭网卡: sudo ifconfig eth0 down 
* 启用网卡: sudo ifconfig eth0 up 
* 添加一个服务: sudo update-rc.d 服务名 defaults 99 
* 删除一个服务: sudo update-rc.d 服务名 remove 
* 临时重启一个服务: /etc/init.d/服务名 restart 
* 临时关闭一个服务: /etc/init.d/服务名 stop 
* 临时启动一个服务: /etc/init.d/服务名 start 
* 控制台下显示中文: sudo apt-get install zhcon 
* 查找某个文件: whereis filename 或 find 目录 -name 文件名 
*通过ssh传输文件 
scp -rp /path/filename username@remoteIP:/path #将本地文件拷贝到服务器上 
scp -rp username@remoteIP:/path/filename /path #将远程文件从服务器下载到本地 
5. 压缩: 
*解压缩 a.tar.gz:   tar zxvf a.tar.gz 
*解压缩 a.tar.bz2: tar jxvf a.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
6. Nautilus: 
特殊 URI 地址 
* computer:/// - 全部挂载的设备和网络 
* network:/// - 浏览可用的网络 
* burn:/// - 一个刻录 CDs/DVDs 的数据虚拟目录 
* smb:/// - 可用的 windows/samba 网络资源 
* x-nautilus-desktop:/// - 桌面项目和图标 
* file:/// - 本地文件 
* trash:/// - 本地回收站目录 
* ftp:// - FTP 文件夹 
* ssh:// - SSH 文件夹 
* fonts:/// - 字体文件夹,可将字体文件拖到此处以完成安装 
* themes:/// - 系统主题文件夹 
* 显示隐藏文件: Ctrl+h 
* 显示地址栏: Ctrl+l 
* 查看已安装字体: 在nautilus的地址栏里输入”fonts:///“,就可以查看本机所有的fonts
7.补充部分:
* 查看本地所有的tpc,udp监听端口: netstat -tupln (t=tcp, u=udp, p=program, l=listen, n=numric)
* 通过man搜说相关命令: man -k keyword . eg: man -k user
* 或者用 apropos
* 统计文件所占用的实际磁盘空间: du   (du - estimate file space usage)
* 统计文件中的字符,字节数: wc -c/-l/-w   (wc - print the number of newlines, words, and bytes in files)
* 查看文件的内容: od -x/-c/....   (od - dump files in octal and other formats)
我认为od最有用的就是文件的字节流了: od -t x1 filename
查看文件的 Ascii 码形式: od -t c filename (其中统计信息最左边的是: 字节数)
* 查找命令所在文件的位置: which od 输出: /usr/bin/od
查看该文件由哪个包提供: dpkg -S /usr/bin/od   输出: coreutils: /usr/bin/od
再查看coreutils包的全部内容就知道了linux的核心命令: dpkg -L coreutils
然后 info coreutils    哈哈,认真学吧, 满世界都是命令!
* 可以用man 命令产看某个命令的所有section 的解释: man -a tty
然后用q,和next 转换到下一个section的解释
* bash 的好用的快捷键:
ctrl+a:光标移到行首。
ctrl+b:光标左移一个字母
ctrl+c:杀死当前进程。
ctrl+d:退出当前 Shell。
ctrl+e:光标移到行尾。
ctrl+h:删除光标前一个字符,同 backspace 键相同。
ctrl+k:清除光标后至行尾的内容。
ctrl+l:清屏,相当于clear。
ctrl+r:搜索之前打过的命令。会有一个提示,根据你输入的关键字进行搜索bash的history
ctrl+u: 清除光标前至行首间的所有内容。
ctrl+w: 移除光标前的一个单词
ctrl+t: 交换光标位置前的两个字符
ctrl+y: 粘贴或者恢复上次的删除
ctrl+d: 删除光标所在字母;注意和backspace以及ctrl+h的区别,这2个是删除光标前的字符
ctrl+f: 光标右移
ctrl+z : 把当前进程转到后台运行,使用’ fg ‘命令恢复。比如top -d1 然后ctrl+z ,到后台,然后fg,重新恢复
* 快速粘贴:先在一个地方选中文字,在欲粘贴的地方按鼠标 中键 即可。
* 等效中键:a 、按下滑轮等效于中键。b、同时按下鼠标 左右键,等效于中键。
* 快速重启X服务: 同时按下: Alt + Ctrl + Backspace 三个键。
* 打开"运行"窗口: 同时按下 Alt + F2 键。
* 戴屏: a、全屏:直接按下 PrtScr 键。
b、当前窗口:同时按下 Alt + PrtScr 键。
c、延时戴屏:在 终端 或 "运行"窗口中输入命令: gnome-screenshot --delay 3 ,将延时 3 秒后戴屏。
* 直接将 文件管理器 中的文件拖到 GNOME终端 中就可以在终端中得到完整的路径名。
8. ulimit 
ulimit:显示(或设置)用户可以使用的资源的限制(limit),这限制分为软限制(当前限制)和硬限制(上限),其中硬限制是软限制的上限值,应用程序在运行过程中使用的系统资源不超过相应的软限制,任何的超越都导致进程的终止。
ulimited      不限制用户可以使用的资源,但本设置对可打开的最大文件数(max open files)
和可同时运行的最大进程数(max user processes)无效
-a      列出所有当前资源极限
-c      设置core文件的最大值.单位:blocks
-d      设置一个进程的数据段的最大值.单位:kbytes
-f      Shell 创建文件的文件大小的最大值,单位:blocks
-h      指定设置某个给定资源的硬极限。如果用户拥有 root 用户权限,可以增大硬极限。任何用户均可减少硬极限
-l      可以锁住的物理内存的最大值
-m      可以使用的常驻内存的最大值,单位:kbytes
-n      每个进程可以同时打开的最大文件数
-p      设置管道的最大值,单位为block,1block=512bytes
-s      指定堆栈的最大值:单位:kbytes
-S      指定为给定的资源设置软极限。软极限可增大到硬极限的值。如果 -H 和 -S 标志均未指定,极限适用于以上二者
-t      指定每个进程所使用的秒数,单位:seconds
-u      可以运行的最大并发进程数
-v      Shell可使用的最大的虚拟内存,单位:kbytes
eg: ulimit -c 1000(可以先通过ulimit -c 查看原来的值)