现在的位置: 首页 > 综合 > 正文

Linux操作系统基础(一)

2017年12月14日 ⁄ 综合 ⁄ 共 8887字 ⁄ 字号 评论关闭

1、 Linux 简介

Linux是一个自由的,免费的,源码开放的操作系统。也是开源软件中最著名的例子。其最主要的目的就是为了建立不受任何商品化软件版权制约的,全世界都能使用的Unix兼容产品.

注:UNIX,是一个强大的多用户、多任务操作系统,支持多种处理器架构,最早由KenThompsonDennisRitchieDouglasMcIlroy1969年在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(通用公共许可证)

4Linux的组成

1内核:是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序。

2Shell:是系统的用户界面,提供了用户和内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,是一个命令解释器。但它不仅使命令解释器,而且还是高级编程语言shell编程。

3文件系统:文件系统是文件存放在磁盘等存储设备上的组织方法,Linux支持多种文件系统,如ext3,ext2,NFS,SMB,iso9660

4应用程序:标准的Linux操作系统都会有一套应用程序例如X-Window,Open Office

5Linux版本

1发行版本:是一些厂商将Linux系统内核与应用软件和文档包装起来,并提供一些安装界面和系统设定管理工具的一个软件包的集合,例如RedHat LinuxDebianUbuntu, Novell/SuSE Linux等。

2Ubuntu版本号由该次发布的年份和月份组成,并未反映其实际版本.首次发布是在200410月,因此该版本为4.10。于2009423日发布,因此版本号为9.04。 

6Linux发展与未来

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目录结构

  1bin  存放二进制可执行文件(ls,cat,mkdir)

  2boot  存放用于系统引导时使用的各种文件

  3dev 用于存放设备文件

  4etc  存放系统配置文件

  5home 存放所有用户文件的根目录

  6lib  存放跟文件系统中的程序运行所需要的共享库及内核模块

  7mnt  系统管理员安装临时文件系统的安装点

  8opt  额外安装的可选应用程序包所放置的位置

  9proc  虚拟文件系统,存放当前内存的映射

  10root  超级用户目录

  11sbin存放二进制可执行文件,只有root才能访问

  12tmp   sbin用于存放各种临时文件

  13usr  用于存放系统应用程序,比较重要的目录/usr/local 本地管理员软件安装目录

  14var  用于存放运行时需要改变数据的文件

9、常用指令介绍

文件目录操作命令

1ls 显示文件和目录列表  

 -l 列出文件的详细信息

 -a 列出当前目录所有文件,包含隐藏文件

2mkdir 创建目录  

 -p 父目录不存在情况下先生成父目录

3cd 切换目录

4touch 生成一个空文件

5echo 生成一个带内容文件

6cattac 显示文本文件内容

7cp 复制文件或目录

8rm 删除文件

-r 同时删除该目录下的所有文件

-f 强制删除文件或目录

9mv 移动文件或目录、文件或

 mv  aaa bbb aaa改名为bbb

10find 在文件系统中查找指定的文件

 -name  文件名

11wc 统计文本文档的行数,字数,字符数

12grep 在指定的文本文件中查找指定的字符串

13rmdir 删除空目录

14tree 显示目录目录改名树 

15pwd 显示当前工作目录 

16ln 建立链接文件

17moreless 分页显示文本文件内容

18Headtail分别显示文件开头和结尾内容 

19kill 杀死一个进程 

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 建立软连接

系统管理命令

1stat 显示指定文件的相关信息,ls命令显示内容更多 

2who显示在线登录用户 

3whoami 显示用户自己的身份 

4hostname 显示主机名称 

5uname显示系统信息 

6top 显示当前系统中耗费资源最多的进程 

7ps 显示瞬间的进程状态

8dmesg 显示系统启动信息 

9显示指定的文件(目录)已使用的磁盘空间的总量 

10df 显示文件系统磁盘空间的使用情况 

11free 显示当前内存和交换空间的使用情况 

12ifconfig 显示网络接口信息 

13ping 测试网络的连通性 

14netstat 显示网络状态信息 

15man 命令帮助信息查询

16Alias 设置命令别名

      alias [别名]=[“指令名”]

17Clear 清屏

18Kill 杀死进程

举例:

(1)stat 显示指定文件的相关信息 

cd /home/itcast

stat familyA

(2)who显示在线登录用户 

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 测试网络的连通性 

备份压缩命令

1gzip 压缩(解压)文件或目录,压缩文件后缀为gz 

2bzip2 压缩(解压)文件或目录,压缩文件后缀为bz2 

3tar 文件、目录打(解)包

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 :使用档名,在 之后要立即接档名

-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 best” /home/*  | more 

10、dpkg软件包管理工具 

1dpkg(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 

抱歉!评论已关闭.