第6章 Shell
Shell就是一个命令解释器,负责完成用户与内核之间的交互。
目前流行电Shell主要有:Bourne Shell( sh )、Bourne Again Shell( Bash )、C Shell( csh )和Korn Shell( ksh ),Ubuntu Linux默认支持电shell有bash和sh。Bourne Shell是Unix的第一个Shell程序。
Shell命令或程序严格区分大小写;一条命令的三个要素之间用空格隔开;若要将多个命令在一行书写,用分号将各命令隔开;若一条命令在一行不能写完,在行尾使用反斜杠标明该命令为结束。
在sh shell环境下输入的命令文本不能修改,只能删除整行,重新输入;bash shell允许返回文本电任何位置,完成修改、插入、删除等命令行电编辑操作。
在默认情况下,命令终端就将用户输入的命令交给默认的Shell(bash、sh等)执行。
Shell快捷操作:
1、连续按两下【Tab】或【Esc】键,用于命令补齐,按一次你【Tab】或【Esc】键,用于文件名补齐。
2、按【Up】或【Down】键可以翻阅命令历史;Bash Shell还提供了history命令,将命令历史容量保存在环境变量HISTSIZE中,使用“echo $HISTSIZE”命令可查看当前历史命令容量,也通过直接赋值的方法修改这个环境变量。
3、在命令行终端:选中即是复制,按下鼠标中间或滚轮即为粘贴。
Shell中的特殊字符:
1、通配符:( * )、( ? )、( […] )、( [ - ] )、( [^...] )
2、管道:“ | ”,前一命令的输出为后一命令的输入,如ls /usr/bin | wc -w
3、输入输出重定向:
>file 新建模式,如ls /usr > Lsoutput.txt
>>file 追加模式,如ls /usr >> Lsoutput.txt
<file 作输入源,如wc < file1
2>或&> 输出错误信息:如ls text.txt 2>err.log
4、命令置换:command1 `command2`
命令command2的输出作为命令comnmand1的参数,如ls `pwd`,命令置换电单 引号为【Esc】键下方的【`】键。
Shell常用命令:
1、alias :在不带任何参数的情况下,默认列出当前已定义的别名;若打算取消某个别名,可使用unalias命令。为命令取的别名在本次登录期间始终有效;若希望新的别名在重新登录后依然有效,就需要将alias命令写入初始化脚本文件中。
2、wc :统计
3、cat :在标准输出上显示文件内容
4、shutdown:关机或重启
5、man :获取指定命令的相关联机帮助信息
6、info :获取指定命令的相关系统帮助信息
7、wall :对全部已登录的用户发送信息
8、write :向系统中某一个用户发送信息
9、Mesg :设定是否允许其他用户用write命令给自己发送信息
10、sync :将内存中的数据写回硬盘,并释放缓存
11、df :查看磁盘空间的使用情况
12、free :查看系统内存的使用情况
13、uptime :显示系统已经运行了多长时间
14、passwd :为已有账户重新修改用户口令
15、su :临时改变用户身份,具有其他用户的权限;单独使用转为超级用户root
16、sudo :临时授权某个用户具有超级用户的权限
17、echo :用于在标准输出上显示一段文字
18、cal :显示某年某月的日历
19、date :显示和设置系统日期和时间
20、clear :清除屏幕上的信息
21、pwd :显示用户在文件系统中的当前位置
22、touch :用于创建一个新文件
23、file :用于判定一个文件的类型
24、cp mv rm mkdir rmdir
25、more、less :用于在终端上显示文本文件
26、head、tail :用于显示文件或标准输入的前几行或后几行
27、od :用于按照特殊格式(进制)查看文件内容
28、ln :创建文件的链接文件
29、comm :用于对美女已排好序的文件进行比较
30、chmod :改变文件或目录的访问权限
31、chgrp :改变文件或目录所属的组
32、chown :将指定文件的所有者改变为指定用户或组
33、grep :在文件中搜索用户所指定的查询关键字,然后将结果打印出来
34、find :在目录结构中查找文件
35、tar zip unzip gzip ungzip bzip2 bunzip2
36、wget :手动下载文件
第7章文件系统
链接文件就类似于微软的快捷方式,之保留目标文件的地址,而不占用存储空间。Linux]中有两种类型的链接:硬链接和软链接(符号链接)。硬链接是利用Linux中为每个文件分配的物理编号——incod建立链接,因此,硬链接不能跨越文件系统。软连接是利文件的路径名建立链接,通常建立软连接使用绝对路径,已最大限度增加可移植性。
归档文件是将一组文件或目录保存在一个文件中。压缩文件是将一组文件或目录保存在一个文件中,并按照某种存储格式保存在磁盘上,所占磁盘空间比其中所有文件总和要少。
Linux中的文本编辑器:gedit、kwrite、OpenOffice、emacs、Vi、nano
Vi的使用:进入插入模式按【i】或【Insert】,退出插入模式(返回命令行模式)按【Esc】;在命令行模式中进入底行模式按【:】。
第8、9章软件包管理
Ubuntu有两种类型的软件包:二进制软件包(deb)和源码包(deb-src)。
Deb软件包管理工具:
命令行:dpkg-deb、dpkg、apt
文本窗口界面:dselect、aptitude、tasksel
图形界面:synaptic
dpkg软件包管理器:
dpkg两大缺陷:不能从镜像站点获取软件包;安装软件包时无法检查软件包的依赖关系
dpkg将当前系统中所有软件包的详细信息保存在配置文件/var/lib/dpkg/status中;dpkg命令将当前系统中已安装的软件包信息全部记录在/var/lib/dpkg/available文件中。
获取已安装软件包的信息:
1、dpkg -l 查看当前已安装软件包
2、dpkg -s 获取已安装软件包的详细信息
3、dpkg -L 查询已安装软件包的相关文件
获取软件包的信息:
1、dpkg -I 查询软件包的描述信息
2|、dpkg -c 显示软件包中包含的文件列表
3、dpkg -i 安装独立软件包
4、dpkg -r 不完全卸载,删除安装文件,而保留原有的配置文件
5、dpkg -P 完全卸载
alien命令:将Rpm软件包转换为Deb软件包
Ubuntu采用集中式的软件仓库制,将各式各样的软件包分门别类的存放在软件仓库中,进行有效的组织和管理。然后将软件仓库置于许多镜像服务器中,并保持基本一致。这些镜像服务器就是他们的软件源。在Ubuntu系统中,使用软件源配置文件/etc/apt/sources.list为用户列出了最适合访问的镜像站点地址。在该文件中,添加的软件源镜像站点称为一个配置项。在每次修改完此配置文件后,一定要运行“apt-get update”才会使更改有效。
netselect -vv命令:评测各个镜像站点在当前网络中的性能。
Apt能检查Ubuntu Linux系统中的软件包依赖关系。APT命令会扫描软件源中每个镜像站点服务器,为可用的软件包资源建立索引文件,并存放在本地的/var/lib/apt/lists/目录中。
获取源码包之前确保软件源配置文件/etc/apt/sources.list中添加了deb-src项。通常将源码包编译成二进制可执行的应用程序,还需要很多的头文件和共享库。因此,在编译源码包之前,需要安装具有依赖关系的相关软件包。“apt-get build-dep 源码包名”命令可主动获取并安装所有关联的软件包。使用”dpkg-buildpackage“命令可编译软件包并将生成的Deb软件包放置在上层目录中。
Apt-cache :查询软件源和软件包的相关信息。
apt-cache pkgnames:获得当前系统中所有已安装的软件包
apt-cache search :按照关键字检索软件包信息
apt-cache dumpavail:获取系统中所有软件包的详细描述信息
apt-cache show :获取指定软件包的详细信息
apt-cache showpkg:获取软件包的常规信息
apt-cache showsrc:查询源码包
apt-cache policy :获取软件包的安装状态
apt-cache depends:查询存在依赖关系的软件包
apt-cache rdepends:查询存在反向依赖关系的软件包
apt-get :管理软件包
apt-get update :刷新软件源
apt-get upgrade :将系统中所有软件包一次性升级到最新版本
apt-get install :先将下载的包文件全存放在/var/cache/apt/archives中,再安装
apt-get --reinstall install:重新安装软件包
apt-get -f install :修复软件包的依赖关系
apt-get check :对软件包依赖关系进行检查
apt-get remove :不完全卸载 =apt-get install 软件名-
apt-get --purge remove:完全卸载 =apt-get install 软件名+
apt-get clean :清理/var/cache/apt/archives中除了lock锁文件和partial目录的 整个软件包缓冲区
apt-get autoclean :按照依赖关系清理缓冲区中多余的软件包
apt-get source :获取源码包
系统升级到新版本:
1、修改软件源配置文件/etc/apt/sources.list的各个配置项的版本标识
2、apt-get update刷新软件源
3、apt-get dist-upgrade命令为系统升级到新版本
搭建apt代理服务:
apt代理服务可实现主动获取Ubuntu镜像站点的最新软件包,并为局域网内的多台Ubuntu系统提供软件包的安装和更新服务。
apt-proxy是实现apt代理服务的程序组件,能主动从ubuntu镜像站点主动获取软件包并保存在服务器的缓冲区中。将局域网中的Ubuntu主机的更新软件源都指向apt-proxy服务器,就可直接从服务器上获取更新软件包。若主机请求下载的软件包不存在,服务器也会到镜像源站点上寻找并主动下载。
apt-proxy服务器默认开辟一个缓冲区——/var/cache/apt-proxy,将Ubuntu镜像站点下载的软件包保存在这个目录下;apt-proxy默认的apt服务监听端口号是9999。
配置apt-proxy服务器:1、修改配置文件/ etc/apt-proxy/apt-proxy-v2.conf 2、重新启动apt-proxy服务:/etc/init.d/apt-proxy restart 3、初始化apt-proxy服务:apt-get update
配置apt-proxy客户端:1、修改配置文件/etc/apt/sources.list 2、apt-get update
第11章多媒体工具
gstreamer-properties:多媒体系统选择器,测试多媒体设备能否正常工作
rhythmbox :音乐播放器
totem :Totem-Xine视频播放器
gnome-screenshot:抓图工具
f-spot :图片管理器
第14章网络
Ip网络中通常将最小的IP地址标识网络本身,将最大的IP地址作为该网络的广播地址,其余所有IP地址都分配给网络中的主机。然而,局域网中的主机并不能直接访问Internet,需要通过一个作为代理的网关或网络地址转换器(NAT)才能访问Internet。通常将IP地址的第一个或最后一个留给该网络的Internet网关。在网络中,依靠IP地址标识主机,依靠路由表传输数据。
lo代表主机本身,也称为回送接口(Loopback),其IP地址约定为127.0.0.1;eth0代表主机的第一个以太网卡;wlan0代表第一个无线网卡。
ifconfig :显示或设置网卡的配置
route :显示或修改路由表
netstat :显示系统中当前网络的状况
nslookup:查询Internet域名服务器,获取IP地址与域名之间的映射关系
ping :网络连接检测工具
hostname:查询或设置主机名和域名
gnome-nettool:网络工具
gnome-network-admin:网络设置工具
配置静态IP地址:ifconfig eth0 IP地址
配置动态IP地址:设置用户主机为DHCP客户端,执行命令/etc/init.d/networking restart
只要局域网中架设有DHCP(Dynamic Host Configuration Protiocol,动态主机配置协议)服务器,就可配置动态IP地址。通常普通以太网和无线网卡可配置动态IP,而调制解调器等网络不能配置动态IP。
网络中的每台计算机、都有一个DNS客户端,向DNS服务器提交域名解析的请求,由DNS服务器完成域名到IP地址的映射。
计算机将IP信息都保存在配置文件/etc/network/interfaces中
DNS服务器地址保存在配置文件/etc/resolv.conf
hostname:显示或设置主机名;修改主机名配置文件/etc/hostname
host列表配置文件——/etc/hosts