内容: #文件系统及Shell的基本概念 #文件及目录操作命令 #VI的使用 #软件包的管理 一、文件系统及Shell的基本概念 1.文件系统的含义 文件系统是用来管理和组织保存在磁盘驱动器上数据的系统软件 2.Linux的文件系统 Linux系统采用虚拟文件系统技术(VFS)、结构采用倒立树型、VFS使Linux支持以下文件系统: EXT2: 二次扩展 EXT3: 三次扩展 SWAP: 交换文件系统 FAT、FAT NTFS (默认不支持,需要特定的模块) VFAT: 虚拟FAT SYSV: Unix的文件系统 HPFS: OS/2的文件系统 ISO: 光盘文件系统 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 :循环建立目录 实例:# mkdir d1 (在当前目录下建立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 /etc/* /a1/ 把/etc下的所有文件复制到a1目录中 # cp /bin/ls /dir1 /bin/ls文件到/目录取名为dir1 # cp -f /sbin/* /exe/ 直接将/sbin下的所有文件到/exe目录中 # cp -r /soft /abc/ 7.rm 功能:删除文件 格式:rm [参数] <文件名> 参数:-f: 不提示确认删除 -i: 提示确认删除 -r: 递归删除 实例:# rm /m1/f1 删除/m1目录下的f1 # rm –f /m1/* 删除m1目录下的所有文件 #rm -rf /m1 强制删除一个目录 8.mv 功能:移动文件、重命名文件 格式:mv [参数] <源路径> <目标路径> 参数:-i: 如果存在文件重名则提示是否覆盖 -b: 建立覆盖文件的备份 -f: 如果存在文件重名则直接覆盖 实例: # mv /m1/f1 /m2/ 移动/m1目录下f1文件到/m2目录下 # mv f1 f2 将当前目录下的f1文件改名f2 # mv -f /d1/* /d2/ 移动/d1中的所有文件到/d2目录中 9.file 功能:检测文件类型 格式:file [参数] <文件名> 参数: -z:检测压缩包文件 -L:跟随符号链接 实例:# file /etc/lilo.conf # file -z 1.gz .显示文本文件内容(1) cat 格式:cat [参数] <文件名> 参数:-n 显示行号 -b 显示行号,但空白行不显示行号 实例:#cat /etc/inittab #cat -n /d1/f1 /d1/f2 >txt1 (2)more 格式:more [参数] <文件名> 实例:# ls|more 将ls的显示结果输入到more中 # more /etc/rc.d/rc 显示/etc/rc.d/rc文件的内容 说明:可以用回车键向下换行,空格键向下换页 按Q键退出more(3)less 实例:# ls|less 将ls的显示结果输入到less中 # less /var/named/localhost.zore 说明:Page up /Page Down键上下滚动、Q键退出(4)head、tail 实例: # head - /a1 显示a1中前行 # tail - /a1 显示中a1后行 (5)cut 功能:显示文件中指定数目的字符、字节或字段 格式:#cut 参数 数字 文件 参数:-c 以字符为单位 -b 以字节为单位 -f 以字段为单位 -d 指定分隔符 实例:#cut -c 3 /etc/passwd #cut -f 1-6 -d :/etc/passwd #cut -b -8 /etc/passwd .搜索文件(1) find 格式:find 查找路径 查找条件 条件: -name “文件名”:查找指定名称文件 -lname “文件名”:查找指定文件所有的接文件 -user 用户名:查找指定用户拥有的文件 -group 组名:查找指定组拥有的文件 -links n:查找拥有n个链接的文件 -mtime n:查找在N天前被修改过的文件 -atime n:查找在N天前被访问过的文件 -type d/f/b/l/p:查找指定类型的文件 -s n[bcwkMG]:查找指定大小的文件 -empty:查找为空的文件 -perm mode:查找指定属性的文件 -exec command {}; 查找指定的文件并执行指定的命令 -newer 文件名 查找比指定文件新的文件 实例:# find / -name “named*” # find / -user root #find ./ -type d -exec chmod {} ; #find . –empty #find . -perm #find . -newer oldfile ! -newer newfile (2) whereis 功能:查找二进制可执行、手册及源文件 实例:# whereis umount (3) locate 功能:在资料库中查找指定的文件 格式:#locate [参数] 文件名 参数: -u /-U 建立资料库,-u 会由根目录开始,-U 则可以指定开始位置 -e <目录1…> 排除指定目录在寻找范围之外 -l <0/1> 设置安全级别,1启用安全模式,0关闭安全模式 -f <文件类型> 在资料库中排除特定类型文件排除在外 -n 至多显示n个输出 -r 使用正规运算式做寻找的条件 -o 指定资料库存的名称。 -d 指定资料库的路径实例:#locate -u #locate chdrv #locate -n a.out (4) which 功能:查找指定命令文件 格式:#which 文件名 实例:#which mount .grep 功能:在文本文件中查找匹配的字符串 格式:#grep [参数] “字符串” 文件 参数: -? 同时显示匹配行上下的?行 -b 在匹配行前面打印该行所在的块号 -c 只打印匹配的行数,不显示匹配的内容 -f File 从文件中提取模板,空文件中包含0个模板,所以什么都不匹配 -h 当搜索多个文件时,不显示匹配文件名前缀 -I 忽略大小写差别 -q 取消显示,只返回退出状态。0则表示找到了匹配的行 -l 打印匹配模板的文件清单 -L 打印不匹配模板的文件清单 -n 在匹配的行前面打印行号 -s 不显示关于不存在或者无法读取文件的错误信息 -v 反检索,只显示不匹配的行 -w 如果被<和>引用,就把表达式做为一个单词搜索正则表达式元字符:^ 锚定行的开始 如:'^grep'匹配所有以grep开头的行$ 锚定行的结束 如:'grep$'匹配所有以grep结尾的行. 匹配一个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p* 匹配零个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟grep的行。 .*一起用代表任意字符[] 匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep [^] 匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行(..) 标记匹配字符,如'(love)',love被标记为1< 锚定单词的开始,如:'<grep'匹配包含以grep开头的单词的行 > 锚定单词的结束,如:'grep>'匹配包含以grep结尾的单词的行 x{m} 重复字符x,m次,如:'0{5}'匹配包含5个o的行x{m,} 重复字符x,至少m次,如:'o{5,}'匹配至少有5个o的行x{m,n} 重复字符x,至少m次,不多于n次,如:'o{5,}'匹配5--个o的行w 匹配文字和数字字符,也就是[A-Za-z0-9],如:'Gw*p'匹配以G后跟零个或多个文字或数字字符,然后是pW w的反置形式,匹配一个或多个非单词字符,如点号句号等b 单词锁定符,如: 'bgrepb'只匹配grep+ 匹配一个或多个先前的字符。如:'[a-z]+able',匹配一个或多个小写字母后跟able的串,如loveable,enable,disable等。? 匹配零个或多个先前的字符。如:'gr?p'匹配gr后跟一个或没有字符,然后是p的行。a|b|c 匹配a或b或c。如:grep|sed匹配grep或sed() 分组符号,如:love(able|rs)ov+匹配loveable或lovers,匹配一个或多个ov。x{m},x{m,},x{m,n} 作用同x{m},x{m,},x{m,n} 实例:# ls -l | grep '^a' 通过管道过滤ls -l输出的内容,只显示以a开头的行。 # grep 'test' d* 显示所有以d开头的文件中包含test的行。 # grep 'test' aa bb cc 显示在aa,bb,cc文件中匹配test的行。 # grep '[a-z]{5}' aa 显示所有包含每个字符串有5个连续小写字符的字符串的行。 # grep 'w(es)t.*1' aa 如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.*),这些字符后面紧跟着另外一个es(1),找到就显示该行。如果用egrep或grep -E,就不用""号进行转义,直接写成'w(es)t.*1'就可以了。 .文件压缩操作(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 f1 f2 f3 #zip -r –P soft.zip /soft/ #zip -d soft.zip soft/wb #zip –u soft.zip abc.log #zip -m soft.zip install.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 -cvfz etc.tar.gz /etc # tar -xvf all.tar # tar -xzvf etc.tar.gz -C /soft 除以上的压缩工具外,还有compress(uncompress)、bzip2(unbzip2).ln 功能:建立链接文件 格式:ln [参数] <源文件> <链接文件> 参数:-s:建立软链接文件 -i:提示是否覆盖目标文件 -f:直接覆盖已存在的目标文件 实例:?# ln /etc/abc /abc # ln -s /a1 /etc/a1 . touch 功能:创建空文件或修改文件的时间 格式:#touch [参数] 文件名 参数:-r 修改文件的时间为指定文件的日期时间 -d <yymmdd> 指定文件日期时间为yymmdd -t <yymmddhhmm> 指定文件日期时间为yymmddhhmm -c 不创建指定的文件 实例:?#touch /f1 /f2 #touch -r /f1 /f2 #touch -d "6:pm //" file . sort 功能:对文本文件进行排序 格式:sort [参数] [文件] 参数:-o 文件名 将排序结果保存到指定文件中 -u 去除重复行 实例:?#sort /etc/passwd #sort –o /etc/oldpass /etc/passwd . paste 功能:合并文本文件 实例:?#paste f1 f2>f3 . cmp 功能:比较两个文件是否有差异 格式:#cmp [参数] 文件1 文件2 参数:-l 显示不同的字节位置 -s 不显示不同之处,只显示返回状态 实例:?#cmp f1 f2 #cmp -l f1 f2 . diff 功能:显示文件的不同之处 格式:#diff [参数] 文件1 文件2 参数:-c 显示全文,并标出不同之处 -u 合并显示,并标出不同之处实例:?#diff f1 f2 #diff -c f1 f2 . 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|more5.命令替换(取指定命令的结果) 实例:# 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.i.rpm) Linux系统会使用专用的数据库记录RPM包的安装情况(2)TAR包 TAR包封装的通常是软件源代码,并且利用了gzip或其它方式进行二次压缩2.RPM包的管理(1)安装RPM包 #rpm -ivh [详细选项] RPM包名称 详细选项: --nodeps 忽略依赖关系 --rplacepkgs 强制覆盖已存在的RPM包 实例:?#rpm –ivh grub-0.-7.i.rpm (2)升级RPM包?#rpm -Uvh [--nodeps/--replacepkgs] 软件包名称 实例:?#rpm –Uvh bind-9.2.-8.i.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 -V bind3.TAR软件包的管理(1)安装TAR包 解压缩 配置安装参数 编译和安装 实例:#tar –xzvf bind-9.2.0.tar.gz #cd bind-9.2.0 #./configure --prefix=/usr/named #make #make install (2)卸载TAR包 直接删除安装 实例:#rm -rf /usr/named
推荐整理分享linux学习笔记之linux文件管理 (linux讲解),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:linux ?,linux learn,linux实用技巧,linux ll,linux learn,linux ll,细说linux基础知识,linux实用技巧,内容如对您有帮助,希望把文章链接给更多的朋友!
linux之虚拟内存相关介绍 什么是虚存?为什么需要它?我们知道程序代码和数据必须驻留在内存中才能得以运行,然而系统内存数量很有限,往往不能容纳一个完整程序的所有代
linux中查看各硬件资源信息的命令小结 1.显卡信息dmesg|grep-ivgalspci|grep-ivga//查看显卡信息2.dmidecode|grep-i'serrialnumber'//查看主板信息,查看主板的序列号3.CPU信息#通过/proc文件系统cat/proc/cpuinfodmesg
Linux操作系统网络服务器模型分享 所谓并发服务器就是在同一个时刻可以处理来自多个客户端的请求;循环服务器是指服务器在同一时刻只可以响应一个客户端的请求。而且对于TCP和UDP套