内容:
#文件系统及Shell的基本概念
#文件及目录操作命令
#VI的使用
#软件包的管理
一、文件系统及Shell的基本概念
1.文件系统的含义
文件系统是用来管理和组织保存在磁盘驱动器上数据的系统软件
2.Linux的文件系统
Linux系统采用虚拟文件系统技术(VFS)、结构采用倒立树型、VFS使Linux支持以下文件系统:
EXT2: 二次扩展
EXT3: 三次扩展
SWAP: 交换文件系统
FAT、FAT32
NTFS (默认不支持,需要特定的模块)
VFAT: 虚拟FAT
SYSV: Unix的文件系统
HPFS: OS/2的文件系统
ISO9660: 光盘文件系统
NFS: 网络文件系统
3.Linux中的文件分类
(1)普通文件
文本文件:采用ASCII编码方式,可编辑,可修改
二进制:不可查看,不可修改
(2)目录文件
存放的内容是目录中的文件名和子目录名
(3)设备文件(/dev)
用于用户访问物理设备所用,分为块设备和字符设备文件
(4)链接文件
软链接文件:目标文件和链接文件可以跨越索引点,相当于文件的快捷方式
删除原文件,则符号链接文件失去意义
删除符号链接文件,不影响原文件
硬链接文件:链接同一索引点中的文件,相当文件的副本
两个文件指向同一存储区,内容、长度相同
删除一个文件不影响,其它文件
(5)管道文件
FIFO缓存队列
4.Shell的主要功能
~命令行解释
交互模式
后台运行
~命令的多种执行顺序
~命令替换 (` `)
~I/O重定向(>,>>,<,<<)
~管道(|)
~通配符(*,?,[],[!])
~系统环境维护
~Shell编程
~历史记录(history)
~自动补齐(TAB)
5.Shell的命令解释过程
二、文件操作命令
1.pwd
功能:显示当前目录
实例:
?# pwd
2.cd
功能:改变当前目录
实例:
?# cd /usr/sbin (进入/usr/sbin)
# cd../u1 (进入父目录下面的u1目录)
# cd..(返回父目录)
# cd(进入用户主目录)
# cd ~ (进入用户主目录)
3.mkdir
功能:建立目录
格式:mkdir [参数] <目录名>
参数:-m 属性值:指定目录的属性 (r、w、x或4、2、1)
-p:循环建立目录
实例:
# mkdird1(在当前目录下建立d1子目录)
# mkdir/d1/d2 /d1/d3 /d1/d4(同时在/d1目录中建立d2,d3,d4子目录)
# mkdir –p /d1/d2(在/d1目录中建立d2子目录,先建d1)
4.rmdir
功能:删除空目录
格式:rmdir [参数] <目录名>
参数:-p:循环删除
实例:
# rmdir a1(删除当前目录下的a1子目录)
# rmdir /etc/a2(删除/etc下a2子目录)
# rmdir -p /a1/a2
5.ls
功能:显示目录中的文件及子目录的名称
格式:ls[参数] [文件名]
参数:-a:显示所有文件(包括隐含文件,以“.”开头的文件为隐含文件)
-l:以长格式显示文件名及目录名(显示文件的详细信息)
-F:显示文件名,同时显示类型
-R:显示目录中所有文件及子目录中的文件结构
-t:按照修改时间排序显示
-s:显示文件的大小,以block为单位
-S:按照文件大小排序显示
-m:分列显示文件名
实例:
# ls
# ls /bin/
# ls grub.conf查找当目录下是否存在grub.conf
# ls-l
# ls --help显示ls的详细的帮助信息
# ls -a
6.cp
功能:复制文件
格式:cp[参数]<源路径> <目标路径>
参数:-f:文件在目标路径中存在时,则直接覆盖
-i:文件在目标路径中存在时, 提示是否覆盖
-r:复制指定中所有内容和结构
-b:生成覆盖文件的备份
-a:保持文件原有属性
实例:
# cp /etc1' aa
如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.*),这些字符后面紧跟着另外一个es(/1),找到就显示该行。如果用egrep或grep -E,就不用"/"号进行转义,直接写成'w(es)t.*/1'就可以了。
13.文件压缩操作
(1)gzip(*.gz)
功能:对单个文件压缩
格式:gzip [参数] 压缩(解压缩)文件名
参数: -d:用于解压缩
-t:检验压缩文件是否损坏
-l:显示压缩文件压缩比例
-r :递归式地查找指定目录并压缩其中的所有文件或者是解压缩
-num: 用指定的数字 num 调整压缩的速度,-1 或 --fast 表示最快压缩方法(低压缩比)
实例:
?# gzip/a1
# gzip-d /a1.gz
# gzip-dv/*.gz
# gzip-r /www
(2)zip
功能:压缩文件
格式:#zip [参数] 文件或目录名
-d从压缩文件内删除指定的文件。
-F尝试修复已损坏的压缩文件。
-t<mmddyy>把压缩文件的日期设成指定的日期。
-u更换较新的文件到压缩文件内。
-v显示指令执行过程或显示版本信息。
-z替压缩文件加上注释。
-<压缩效率>压缩效率是一个介于1-9的数值。
-P 口令利用指定口令加密压缩包
-m添加文件到ZIP压缩包中
实例:
?#zip abc.zip f1f2 f3
#zip -r –P 123 soft.zip /soft/
#zip -d soft.zip soft/wb
#zip –u soft.zipabc.log
#zip -m soft.zipinstall.log
(3)unzip
功能: 解压缩zip文件
格式: #unzip [.zip文件]
-l 显示压缩文件内所包含的文件。
-P<密码>
-d<目录>指定文件解压缩后所要存储的目录。
实例:
?#unzip f1.zip -d /f1
#unzip –l f1.zip
(4)tar(*.tar)
功能:为文件或目录创建备份
格式:tar [参数]文件/目录名
参数:-t:列出压缩包中的文件(*.tar)
-x:解压缩(*.tar)
-z:使用gzip的压缩文件
-c:创建压缩包
-f:指定文件名
-j:使用bzip的压缩文件
-v:显示操作信息
-C:指定解压路径(默认路径为当前路径)
-r: 向压缩包添加文件
-u:更新压缩包中的文件
-k:还原文件过程中,遇到相同文件不覆盖
-m:还原文件过程中,修改文件的时间为当前时间
实例:
?# tar -cvf all.tar *.jpg
# tar -uvf all.tar logo.gif
# tar -rf all.tar *.gif
# tar -cvfzetc.tar.gz/etc
# tar -xvf all.tar
# tar -xzvfetc.tar.gz -C /soft
除以上的压缩工具外,还有compress(uncompress)、bzip2(unbzip2)
14.ln
功能:建立链接文件
格式:ln [参数] <源文件> <链接文件>
参数:-s:建立软链接文件
-i:提示是否覆盖目标文件
-f:直接覆盖已存在的目标文件
实例:
?# ln /etc/abc /abc
# ln -s /a1/etc/a1
15. touch
功能:创建空文件或修改文件的时间
格式:#touch [参数] 文件名
参数:-r 修改文件的时间为指定文件的日期时间
-d <yymmdd> 指定文件日期时间为yymmdd
-t <yymmddhhmm> 指定文件日期时间为yymmddhhmm
-c 不创建指定的文件
实例:
?#touch/f1 /f2
#touch -r /f1 /f2
#touch -d "6:03pm 05/06/2000" file
16. sort
功能:对文本文件进行排序
格式:sort [参数] [文件]
参数:-o 文件名 将排序结果保存到指定文件中
-u去除重复行
实例:
?#sort /etc/passwd
#sort –o /etc/oldpass /etc/passwd
17. paste
功能:合并文本文件
实例:
?#paste f1 f2>f3
18. cmp
功能:比较两个文件是否有差异
格式:#cmp [参数] 文件1 文件2
参数:-l显示不同的字节位置
-s不显示不同之处,只显示返回状态
实例:
?#cmp f1 f2
#cmp -l f1 f2
18. diff
功能:显示文件的不同之处
格式:#diff [参数]文件1文件2
参数:-c显示全文,并标出不同之处
-u合并显示,并标出不同之处
实例:
?#diff f1f2
#diff -c f1 f2
19. wc
功能:统计文件中的行数、单词数、字符数
格式:#wc [参数]文件名
参数:-c 统计字符数
-w 统计单词数
-l统计行数
实例:
?#wc /etc/passwd
#wc -c /etc/passwd
注:
1.命令自动补齐
按TAB键进行自动扩充
2.命令历史记录
Linux系统采用.history文件存放命令历史记录,以下是与历史记录相关的操作:
! n:调用正序第n个命令
!! :调用上一条命令
history:查看命令历史记录
history -c:清除历史记录
history -w 文件名:保存历史记录到指定的文件中
3.命令重定向
“>”:将命令输出结果保存到指定文件中,如果文件不存在先建立,存在就覆盖
“>>”:将命令输出结果保存到指定文件中,如果文件不在存先建立,存在就覆盖
“<”:把文件内容输入指定命令
“<<”:将一对分隔之间的正文输入给指定命令
实例:
?#ls>abc.txt
#ls /etc >>abc.txt
#wc</etc/passwd
#wc<<!
4.命令管道(前一个命令的输出作为后一个命令的输入)
实例:ls|more
5.命令替换(取指定命令的结果)
实例:# cat`ls abc`
6.多个命令执行顺序
“;”:顺序执行多个命令
“||”:前后命令的执行存在“逻辑或”关系,只有||前面的命令执行失败后,它后面的命令才被执行
“&&”:前后命令的执行存在“逻辑与”关系,只有&&前面的命令执行成功后,它后面的命令才被执
实例:
?# ls /etc;cd /etc
# ls /d1/f1||touch f1
7.命令别名
实例:#alias [别名=’命令’]
三、vi编辑器的使用
1.vi 定义
Vi 是Unix/Linux系统中的一种文本编辑软件
2.vi三种模式
命令模式:删除字符、排版
插入模式:插入字符、删除、修改字符
最后行模式:通过命令操作vi软件
3.vi的使用
(1)启动VI
# vi [参数][文件名]
(2)VI常用命令
~移动光标
左移一个字符:按h
右移一个字符:按l
下移一行:按j
上移一行:按k
移至行首:按^
移至行尾:按$
移至文件顶部:按H
移至文件尾部:按L
移至文件中部:按M
前翻一屏:按ctrl+f
后翻一屏:按ctrl+b
前翻半屏:按ctrl+d
后翻半屏:按ctrl+u
移动光标到指定行:输入:数字
~插入文本
在光标右边插入文本:按a
在一行的结尾处添加文本:按A
光标左边插入文本:按i
在行首插入文本: 按I
在光标所在行的下一行插入新行:按o
在光标所在行的上一行插入新行:按O
~撤消和重复操作
撤消上一个操作:按u
撤消光标所在行的更改:按U
重复操作:输入”.”
~删除文本
删除当前字符:按x
删除一词:按dw
删除一行:按dd(剪切)
删除行的部分内容:按D(删除光标右的内容)或按d0(删除光标左的内容)
删除到文件的结尾:按dG
dL :删除直到屏幕上最后一行的内容
dH :删除直到屏幕上第一行的内容
dG :删除直到工作缓存区结尾的内容(文尾)
d1G :删除直到工作缓存区开始的内容 (文头
:n,md: 从第n行开始删除m行
~复制和粘贴
复制一行内容:按yy
粘贴:按p
查找和替换命令
/string:向前查找字符串
?string:向后查找字符串
n:继续上一次查找
shift+n:以与上一次相反的方向查找
:%s/字符串1/字符串2/g:在全文中替换字符串1为字符串2
n,ms/字符串1/字符串2/g:替换n到m行中的字符串1为字符串2
~保存和退出命令
:w:写缓冲区
:w 文件名:把缓冲区写入指定文件
:wq:保存退出
:q!:不保存退出
:wq!:保存退出,对拥有者忽略只读权限
E!:取消自上次保存以来所做的修改
ZZ:保存退出
~修改文本命令
cl :更改当前字符
cw :修改到某个单词的结尾位置
c3w :修改到第三个单词的结尾位置
cb :修改到某个单词的开始位置
c0 :修改到某行的结尾位置
c):修改到某个语句的结尾位置
c4):修改到第四个语句的结尾位置
c} :修改到某个段落的结尾位置
c2{ :修改到当前段落起始位置之前的第2个段落位置
ctc :修改当前行直到下一个字符c所出现位置之间的内容
C :修改到某一行的结尾
cc :修改当前行
~会话定制命令
:set: 显示vi变量
:set all:显示所有可能的vi变量和它们当前的值
:set nu:显示行号
:set nonu:隐藏行号
:set showmode:显示当前操作模式
:set noshowmode:隐藏当前操作模式
:set ai:自动对齐
:set dir=目录:设置缓冲区的位置
4.VI的高级应用
(1)编辑多个文件
#vi [-o]文件1 文件2 ………
-o:同一窗口打开多个文件
:next:编辑下一个文件
:prev:编辑上一个文件
:args:显示所有打开的文件名称
Ctrl+ww :切换窗口
:e 文件名:读入另一文件
(2)高级复制
:start,end cp dest:将start到end行的内容复制到dest行以下
:start,end m dest:将start到end行的内容移动到dest行以下
nY:将从光标所在行开始的n行内容暂存
:[m],[n]w<文件名>:把m到n内容另存到指定文件中
(3)其它高级应用
:X 输入口令:以口令加密保存
:ctrl+s:锁定VI(ctrl+q解锁)
:r !<命令>:执行指定命令,并将命令结果插入到当前文件中
:J:合并上下两行
四、软件包的管理
1.Linux软件包主要类型
(1)RPM包
由于RedHat公司开发的一种软件封包方式,可以用于多种Linux系统
RPM包名称格式为:软件名-版本号.运行平台.rpm(foo-1.2.0-3.i386.rpm)
Linux系统会使用专用的数据库记录RPM包的安装情况
(2)TAR包
TAR包封装的通常是软件源代码,并且利用了gzip或其它方式进行二次压缩
2.RPM包的管理
(1)安装RPM包
#rpm -ivh [详细选项] RPM包名称
详细选项:
--nodeps忽略依赖关系
--rplacepkgs强制覆盖已存在的RPM包
实例:
?#rpm –ivh grub-0.93-7.i386.rpm
(2)升级RPM包
?#rpm -Uvh [--nodeps/--replacepkgs] 软件包名称
实例:
?#rpm –Uvh bind-9.2.20-8.i385.rpm
(3)查询RPM包
#rpm -q[a/f 文件名/l/][软件名称]
实例:
#rpm –q bind(查询软件名为bind的软件包)
#rpm –qa(查询系统中所有已安装的RPM包)
#rpm –qf/boot/grub/grub.conf (查询grub.conf文件所属的RPM包)
#rpm -ql bind (查询软件名为bind软件包并显示软件包的内容)
(4)卸载RPM包
#rpm -e 软件名称
实例:#rpm -e bind
(5)检验RPM包
#rpm –V软件名称
实例:#rpm -Vbind
3.TAR软件包的管理
(1)安装TAR包
解压缩
配置安装参数
编译和安装
实例:
#tar –xzvfbind-9.2.0.tar.gz
#cd bind-9.2.0
#./configure --prefix=/usr/named
#make
#make install
(2)卸载TAR包
直接删除安装
实例:
#rm -rf /usr/named
发表评论