1、 Linux 简介
Linux是一个自由的,免费的,源码开放的操作系统。也是开源软件中最著名的例子。其最主要的目的就是为了建立不受任何商品化软件版权制约的,全世界都能使用的Unix兼容产品.
注:UNIX,是一个强大的多用户、多任务操作系统,支持多种处理器架构,最早由KenThompson、DennisRitchie和DouglasMcIlroy于1969年在AT&T的贝尔实验室开发。经过长期的发展和完善,目前已成长为一种主流的操作系统技术和基于这种技术的产品大家族。由于UNIX具有技术成熟、可靠性高、网络和数据库功能强、伸缩性突出和开放性好等特色,可满足各行各业的实际需要,特别能满足企业重要业务的需要,已经成为主要的工作站平台和重要的企业操作平台。曾经是服务器操作系统的首选,占据最大市场份额,但最近在跟WINDOWSSERVER以及Linux的竞争中有所失利。
2、 Linux的产生
Linux最初是由芬兰赫尔辛基大学学生Linus Torvalds由于自己不满意教学中使用的MINIX操作系统, 所以在1990年底由于个人爱好设计出了LINUX系统核心。后来发布于芬兰最大的ftp服务器上,用户可以免费下载,所以它的周边的程序越来越多,Linux本身也逐渐发展壮大起来,之后Linux在不到三年的时间里成为了一个功能完善,稳定可靠的操作系统.
“有些人生来就具有统率百万人的领袖风范;另一些人则是为写出颠覆世界的软件而生。唯一一个能同时做到这两者的人,就是Linus Torvalds。”这是美国《时代》周刊对Linux之父Linus的评价。Linus除了是一位IT奇才外,还是一个乐观幽默的学者。
Linus没有想过Linux发展到今天会变得这么大,他说当初他写Linux只 是当作一个短期的项目,并随时准备用更好的来替代的。他认为一定会有其他人做出更强大更专业的内核来。同时,当时他只是将Linux当做自己的一个小爱好而已。
Linus认为开源软件是一个了解世界编程情况的好方法。 开源不像课堂项目,一个活跃的项目需要与人交流共同来解决问题。一些公司需要技术人才,常常会在开源社区中找那些活跃分子。所以参与到开源项目中来,也是 一个向全世界推销自己的好方式。
Linus Torvalds在一个讨论技术的邮件列表上透露他已经在上周成为美国公民
3、 Linux的特点
(1)开放性,多用户,多任务,丰富的网络功能,可靠的系统安全,良好的可移植性,具有标准兼容性,良好的用户界面(命令界面,图形界面等),出色的速度性能
(2)基于GPL(通用公共许可证)
4、Linux的组成
(1)内核:是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序。
(2)Shell:是系统的用户界面,提供了用户和内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,是一个命令解释器。但它不仅使命令解释器,而且还是高级编程语言,shell编程。
(3)文件系统:文件系统是文件存放在磁盘等存储设备上的组织方法,Linux支持多种文件系统,如ext3,ext2,NFS,SMB,iso9660等
(4)应用程序:标准的Linux操作系统都会有一套应用程序例如X-Window,Open Office等
5、Linux版本
(1)发行版本:是一些厂商将Linux系统内核与应用软件和文档包装起来,并提供一些安装界面和系统设定管理工具的一个软件包的集合,例如RedHat Linux,Debian,Ubuntu, Novell/SuSE Linux等。
(2)Ubuntu版本号由该次发布的年份和月份组成,并未反映其实际版本.首次发布是在2004年10月,因此该版本为4.10。于2009年4月23日发布,因此版本号为9.04。
6、Linux发展与未来
(1)现在有很多公司都在使用Linux操作系统,Linux操作系统从桌面到服务器,从操作系统到嵌入式系统,从零散的应用到整个产业都初见雏形 。Linux服务器操作系统在整个服务器操作系统市场格局中占据了越来越多的市场份额,并且形成了大规模的应用局面.例如:
(2)机顶盒,ATM,车载电脑,路由器,移动通讯设备,智能家电等等。
7、Ubuntu安装
一. 安装Vmware 虚拟机
第一步:执行 VMware-workstation-full-7.0.1.227600.exe
第二步:
第三步:选择Typical安装
第四步:选择安装路径
第五步:
第六步:
第七步:
第八步:安装 VMware完毕 restart Later
第九步: 安装Linux 选择 File –》New—》Virtual Machine
第十步:选择Typical
第十一步: 选择 Ubuntu 安装镜像
第十二步:个人信息录入 (注意:user name 不能为root)
第十三步:选择 Ubuntu 安装目录
(新建一个安装目录,并且有10g空间)
第十四步:Next
第十五步: Finish
第十六步: 开始安装
第十七步: Linux 安装完成 进入登录界面
8、Linux目录结构
(1)bin 存放二进制可执行文件(ls,cat,mkdir等)
(2)boot 存放用于系统引导时使用的各种文件
(3)dev 用于存放设备文件
(4)etc 存放系统配置文件
(5)home 存放所有用户文件的根目录
(6)lib 存放跟文件系统中的程序运行所需要的共享库及内核模块
(7)mnt 系统管理员安装临时文件系统的安装点
(8)opt 额外安装的可选应用程序包所放置的位置
(9)proc 虚拟文件系统,存放当前内存的映射
(10)root 超级用户目录
(11)sbin存放二进制可执行文件,只有root才能访问
(12)tmp sbin用于存放各种临时文件
(13)usr 用于存放系统应用程序,比较重要的目录/usr/local 本地管理员软件安装目录
(14)var 用于存放运行时需要改变数据的文件
9、常用指令介绍
文件目录操作命令
(1)ls 显示文件和目录列表
-l 列出文件的详细信息
-a 列出当前目录所有文件,包含隐藏文件
(2)mkdir 创建目录
-p 父目录不存在情况下先生成父目录
(3)cd 切换目录
(4)touch 生成一个空文件
(5)echo 生成一个带内容文件
(6)cat、tac 显示文本文件内容
(7)cp 复制文件或目录
(8)rm 删除文件
-r 同时删除该目录下的所有文件
-f 强制删除文件或目录
(9)mv 移动文件或目录、文件或
mv aaa bbb 将aaa改名为bbb
(10)find 在文件系统中查找指定的文件
-name 文件名
(11)wc 统计文本文档的行数,字数,字符数
(12)grep 在指定的文本文件中查找指定的字符串
(13)rmdir 删除空目录
(14)tree 显示目录目录改名树
(15)pwd 显示当前工作目录
(16)ln 建立链接文件
(17)more、less 分页显示文本文件内容
(18)Head、tail分别显示文件开头和结尾内容
(19)kill 杀死一个进程
Kill -9 强制杀死一个进程
举例:
(1)touch 新建空文件
touch bed.txt
echo "Your are the best boy." > book.txt 建立带简单内容的文件
cat book.txt 查看文件内容
(2)cd 切换目录
cd .. 返回上一级目录
cd roomC
(3)touch 新建空文件
touch bed.txt
echo "Your are the best girl." > book.txt
cat book.txt
touch doll.txt
(4)cp 拷贝文件
cp doll.txt /home/itcast/familyA/house/roomB
(5)cd 切换目录
cd ..
cd roomB
(6)ls 显示目录内容:
ls 显示
(7)cd 切换目录
cd ..
(8)mv 移动文件
mv sofa.txt /home/itcast/familyA/house/roomB
(9)cd 切换目录
cd roomB
(10)ls 显示目录内容:
ls 显示
(11)rm 删除文件目录
rm doll.txt
(12)more less 分页显示
more book.txt
(13)wc 显示文档行数,字数,字符数
wc book.txt
(14)find 查找指定的文件
find -name book.txt
(15)grep 查找指定字符串
grep best book.txt
(16)pwd 显示当前目录
(17)tree 显示目录树
(18)rmdir 删除空目录
rmdir bathroom
(19)ln -s 建立软连接
系统管理命令
(1)stat 显示指定文件的相关信息,比ls命令显示内容更多
(2)who、w 显示在线登录用户
(3)whoami 显示用户自己的身份
(4)hostname 显示主机名称
(5)uname显示系统信息
(6)top 显示当前系统中耗费资源最多的进程
(7)ps 显示瞬间的进程状态
(8)dmesg 显示系统启动信息
(9)u 显示指定的文件(目录)已使用的磁盘空间的总量
(10)df 显示文件系统磁盘空间的使用情况
(11)free 显示当前内存和交换空间的使用情况
(12)ifconfig 显示网络接口信息
(13)ping 测试网络的连通性
(14)netstat 显示网络状态信息
(15)man 命令帮助信息查询
(16)Alias 设置命令别名
alias [别名]=[“指令名”]
(17)Clear 清屏
(18)Kill 杀死进程
举例:
(1)stat 显示指定文件的相关信息
cd /home/itcast
stat familyA
(2)who、w 显示在线登录用户
who
(3)whoami 显示用户自己的身份
(4)hostname 显示主机名称
hostname
hostname -i 显示主机IP
(5)uname 显示系统信息
uname -a 显示全部信息 (内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称)
(6)top 显示当前系统中耗费资源最多的进程 动态显示过程,实时监控
(7)ps 显示瞬间进程状态
ps -aux 显示所有瞬间进程状态
(8)du 显示指定的文件(目录)已使用的磁盘空间的总量 .可以使用--help查看帮助
du
du familyA
du -h familyA
(9)df 显示文件系统磁盘空间的使用情况
df
df -h
(10)free 显示当前内存和交换空间的使用情况
(11)ifconfig 显示网络接口信息
(12)ping 测试网络的连通性
备份压缩命令
(1)gzip 压缩(解压)文件或目录,压缩文件后缀为gz
(2)bzip2 压缩(解压)文件或目录,压缩文件后缀为bz2
(3)tar 文件、目录打(解)包
gzip命令
命令格式:
gzip [选项] 压缩(解压缩)的文件名
参数:
-d 将压缩文件解压。
-l 对每个压缩文件,显示压缩文件的大小,未压缩文件的大小,压缩比,未压缩文件的名字
-v 对每一个压缩和解压的文件,显示文件名和压缩比。
-num 用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6
bzip2命令
命令格式:
bzip2 [-cdz] 档名
参数:
-d :解压缩的参数
-z :压缩的参数
-num 用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6
tar命令
命令格式:
tar [-cxzjvf] 压缩打包文档的名称 欲备份目录
参数:
-c :建立一个归档文件的参数指令
-x :解开一个压缩文件的参数指令!
-z :是否需要用 gzip 压缩?
-j :是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件
-f :使用档名,在 f 之后要立即接档名
-tf :查看归档文件里面的文件
举例:
gzip 命令
把/home/itcast目录下的familyA目录下所有文件压缩成.gz文件
cd /home/itcast
tar -cvf /home/itcast/familyA.tar /home/itcast/familyA 首先进行打包,因为gzip不能直接对目录进行压缩
gzip familyA.tar 进行压缩
gzip -l familyA.tar.gz 查看压缩包详细信息
解压缩familyA.tar
gzip -dv familyA.tar.gz
gzip -v -9 familyA.tar 高压缩比
gzip -l familyA.tar.gz
gzip -dv familyA.tar.gz
gizp -v -1 familyA.tar 低压缩比
gzip -l familyA.tar.gz
bzip2 命令
把/home/itcast目录下的familyA目录下所有文件压缩成.bz2文件
cd /home/itcast
tar -cvf /home/itcast/familyA.tar /home/itcast/familyA
bzip2 -z familyA.tar 压缩需加上参数-z
解压缩itcast.tar.bz2
bzip2 -d familyA.tar.bz2
tar 命令
将整个/home/itcast/familyA目录下的文件全部打包成为/home/itcast/familyA.tar
仅打包,不压缩
tar -cvf /home/itcast/familyA.tar /home/itcast/familyA
打包后,以gzip压缩
tar -zcvf /home/itcast/familyA.tar.gz /home/itcast/familyA
打包后,以bzip2压缩
tar -jcvf /home/itcast/familyA.tar.bz2 /home/itcast/familyA
# 特别注意,在参数f之后的文件档名是自己取的,我们习惯上都用.tar来作为辨识
# 如果加z参数,则以.tar.gz或.tgz来代表gzip压缩过的tar file
9、Linux 管道
简单地说,一个通道接受一个工具软件的输出,然后把那个输出输入到其它工具软件。使用UNIX/Linux的词汇,这个通道接受了一个过程的标准输出,并把这个标准的输出作为另一个过程的标准输入。如果你没有重新定向这个输出,这个输出就在屏幕上显示出来。使用一个通道,你可以重新定向这个输出,这样它就变成了另一个工具软件的标准的输入。
例如:grep –r “best” /home/* | more
10、dpkg软件包管理工具
(1)dpkg(Debian Package)管理工具 ,Ubuntu 相关的软件包文件使用 .deb 后缀,就是因为Ubuntu 与 Debian GNU/Linux 发行版有着紧密的关系。要安装 .deb 文件可以打开一个终端并输入:
sudo dpkg -i package_file.deb 来安装 .deb 文件。
(2)如需卸载 .deb 文件输入:
sudo dpkg -r package_name
如果你手动下载了一个 .deb 包,通过以下命令
安装 Debian 包裹文件:
sudo dpkg -i debfilename
列出包裹包含的内容:
sudo dpkg -c debfilename
从 .deb 文件中提取包裹信息:
sudo dpkg -I debfilename1
卸载一个已安装的包裹:
sudo dpkg -r packagename
完全清除一个已安装的包裹。和 remove 不同的是,remove 只是删掉数据和可执行文件,purge 另外还删除所有的配制文件:
sudo dpkg -P packagename
列出包裹安装的所有文件清单。(同时请看 dpkg -c 来检查一个 .deb 文件的内容):
sudo dpkg -L packagename
显示已安装包裹的信息:
sudo dpkg -s
重新配制一个已经安装的包裹,如果它使用的是 debconf (debconf 为包裹安装提供了一个统一的配制界面),你能够重新配制 debconf 它本身:
sudo dpkg-reconfigure packagename
获取软件包裹状态:
sudo dpkg --get-selections | grep keyname
设置软件包裹状态,比如 HOLD 某个包裹不允许升级:
echo "packagename hold" | sudo dpkg --set-selections
从 HOLD 状态恢复软件包裹标志位:
echo "packagename install" | sudo dpkg --set-selections
修正依赖关系损坏的包裹:
sudo apt-get -f install
目录下,其子目录/var/lib/dpkg/info用于保存各个软件包的配置文件列表:
(1).conffiles记录了Ubuntu软件包的配置文件列表
(2).list保存软件包中的文件列表,用户可以从.list的信息中找到软件包中文件的具体安装位置.
(3).md5sums记录了软件包的md5信息,这个信息是用来进行包验证的.
(4).prerm脚本在Debian包解包之前运行,主要作用是停止作用于即将升级的Ubuntu软件包的服务,直到软件包安装或升级完成.
(5).postinst脚本是完成Debian包解开之后的配置工作,通常用于执行所安装软件包相关命令和服务重新启动.
/var/lib/dpkg/available文件的内容是Ubuntu软件包的描述信息,该软件包括当前系统所使用的Debian安装源中的所有软件包,
其中包括当前系统中已安装的和未安装的Ubuntu软件包.
/var/cache/apt/archives目录是在用apt-getinstall安装软件时,软件包的临时存放路径
/etc/apt/sources.list存放的是软件源站点,当你执行sudoapt-getinstallxxx时,Ubuntu就去这些站点下载软件包到本地并执行安装
11、APT软件包管理
APT (Advanced Packaging Tool高级软件包工具) 是一个强大的包管理系统,而那些图形化程序如 添加/删除 应用程序 都是建立 在它的基础之上的。有了dpkg后,Debian再次开发了apt,它能自动处理依赖文件并维护已有的配置文件,快速,实用,高效
APT 使用的一些常用命令:
安装软件包:
sudo apt-get install packagename
删除软件包:
sudo apt-get remove packagename
获取新的软件包列表:
sudo apt-get update
升级有可用更新的系统:
sudo apt-get upgrade
列出更多命令和选项:
apt-get help
常用的APT命令参数
apt-cache search package 搜索包
apt-cache show package 获取包的相关信息,如说明、大小、版本等
sudo apt-get install package 安装包
例如:
sudo apt-get install eclipse
sudo apt-get install sun-java6-jdk
下载安装程序到你的/var/cache/apt文件夹里面然后进行安装。
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 检查是否有损坏的依赖
12、将 .rpm 文件转为 .deb 文件
对于软件包为.rpm后缀的 Red Hat 软件包管理器文件。我们并不建议在 Ubuntu 系统中安装它们。在绝大多数情况下,Ubuntu 自身的 .deb 软件包是可用的。然而,如果绝对必要,可以使用程序 alien 将 .rpm 文件转化为.deb 文件。
安装 alien 程序。
在终端使用管理权限运行以下命令:
sudo alien package_file.rpm