时间:2023-06-02 16:16:41 来源: 人气:
内容: #文件系统及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 :循环建立目录 实例: # 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 10.显示文本文件内容 (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 -20 /a1 显示a1中前20行 # tail -20 /a1 显示中a1后20行 (5)cut 功能:显示文件中指定数目的字符、字节或字段 格式:#cut 参数 数字 文件 参数:-c 以字符为单位 -b 以字节为单位 -f 以字段为单位 -d 指定分隔符 实例: #cut -c 3 /etc/passwd #cut -f 1-6 -d :/etc/passwd #cut -b -8 /etc/passwd 11.搜索文件 (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 755 {} ; #find . –empty #find . -perm 644 #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 100 a.out (4) which 功能:查找指定命令文件 格式:#which 文件名 实例: #which mount 12.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 < 锚定单词的开始,如: