Linux 第02天 1.Linux磁盘和文件系统 VFS————虚拟文件系统 df命令————查看已挂载的分区 df 分区名 du命令————查看文件夹大小 du 文件夹名 ln命令————符号链接 fdisk命令————分区命令 fdisk 硬盘名 partprobe命令————更新分区表 partprobe 硬盘名 mkfs命令————格式化分区(新建分区只有格式化后才能使用) mkfs -t 文件系统类型(ext3、ext4) 分区名 mkfs.文件系统类型(ext3、ext4) 分区名(等同于上面的) fsck/badblocks命令————磁盘检验 badblocks -sv 分区名 mount命令————挂载设备(临时,关机重启后无效) mount 外部设备 目录 将外部设备挂载在目录里 umount命令————卸载设备 umount 挂载点 umount 外部设备 fstab文件————挂载文件(重启关机均有效) 配置信息格式: 设备名 挂载点 格式类型 默认权限 备份标识 检验标识 2.文件的压缩和打包 2.1 常用的压缩命令 Compress命令 gzip/zcat命令 gzip 文件名(会直接将原文件压缩成.gz后缀的文件,源文件没有了) gzip -c 文件名 > 文件名.gz(会直接将原文件压缩成.gz后缀的文件,源文件还存在) gzip -d 文件名(会直接将源文件解压,源文件没有了) zcat 文件名(查看压缩文件内容,纯文本) bzip2/bzcat命令(使用方式同上 注意后缀为bz2) 2.2 常用的打包命令 tar命令(无压缩功能) tar cvf 文件名.tar 文件名(打包文件,保留源文件) tar cvf 文件名.tar 文件名 --remove-files(打包文件,不保留源文件) tar tvf 文件(不解包下查看文件内容) tar xvf 文件(解包下查看文件内容) 2.3 常用备份命令 ————完全备份 (0) ————差异备份 (级别从高往低) ————增量备份 (级别从低往高) dump命令————备份 dump 级别(0~9) 备份文件名 需备份文件 2.4 常用还原命令 restore命令————恢复 3.vim程序编辑器 vim是vi的增强版 1.插入模式: 1.i 当前光标后一字符 2.I 本行开头 3.a 当前光标后后一字符 4.A 本行行尾 5.o 本行后空一行 6.O 本行前空一行 7.insert 当前光标 2.命令模式: 1.esc 2.yy————复制行 3.p————粘贴行 4.dd————删除当前行 5.x————删除当前字符 6.r————替换当前字符 3.末行模式: 1.冒号:(保存w、退出q、替换s、定位(直接输入数字跳转到该数字行)) 2.斜杠/ (查找) 3.next 切换下个文件 4.first 第一个文件 5.last 最后一个文件 4.特殊符号: 1.^ 表示行开头 2.$ 表示尾部 3.% 表示所有行 4.认识和学习bash 1.查看系统支持的shell cat /etc/shells(Linux 默认使用bash) 2.which命令————查看命令所在目录 which 命令名(如果找不到目录且该命令可用,则表示该命令为bash内置命令) 3.type命令————查看命令所属信息 type 命令名 4.变量 1.变量赋值:变量名=值 2.变量使用:$变量名(前面一定要有美元符号) 3.变量取消:unset 变量名 4.本地变量(只在当前会话有效) 定义 变量名=变量值 5.环境变量(所有会话有效) 定义 export 变量名=变量值 6.位置变量(指定位置的变量) $0(第一个变量) $1(第二个变量) $#(总共几个变量) $*(变量分别是...) 7.变量查看 set命令(查看所有变量 即本地和环境变量) env/export/export -p 命令(显示环境变量) 8.read命令————将键盘输入的值赋值给变量(以回车为结束标识) read 变量名 9.数组 定义 xx=(aa bb cc) 输出 echo ${xx[*]} 全部输出 echo ${xx[0]} 输出第一个元素 echo ${#xx[*]} 输出数组元素个数 echo ${!xx[*]} 输出所有元素下标 10.declare命令————定义变量 declare -x aa=1 (是环境变量) declare +x aa=1 (不是环境变量) declare -r aa (aa值不能更改,即常量) 11.通配符 1.[] 匹配一个字符 2.- 表示范围 a-z即 a到z 3.? 表示任意一个字符 4.!或者^ 表示非 [^0-9]即非数字 5.* 表示任意一个或多个字符 5.输出重定向 1.>命令————将控制台的输出输出到文件(若文件不存在,则创建该文件,如果存在,则覆盖) cal > 文件名 (只能重定向正确的结果) cal 2> 文件名 (只能重定向不正确的结果) 2.>>命令————将控制台的输出输出到文件(若文件不存在,则创建该文件,如果存在,则追加) cal >> 文件名 (只能重定向正确的结果) cal 2>> 文件名 (只能重定向不正确的结果) 3.&>命令————将控制台的输出输出到文件(无论正确或者错误均可重定向,覆盖文件) 6.命令特殊符号 1.: 命令1:命令2(即执行完命令1后执行命令2,无论命令1是否正确) 2.&& 命令1&&命令2(如果命令1不正确,不会执行命令2) 3.|| 命令1||命令2(如果命令1正确,不会执行命令2) 7.管道 命令1的结果通过管道传给命令2做参数 如 命令1 | 命令2 1.选取命令 cut————分隔文件内容,适用于有规律的文件 如:cut -d: -f1 文件名(即按:来选取第1部分的文件内容) grep————选取文件内容,适用于无规律但知道关键字的文件 如:ifconfig eth1 | grep "Mask"(即按Mask关键字将所在行过来展现出来) 2.排序命令 sort————将结果排序输出 如: grep -ivn "abc" 文件名 | sort -r (将结果反向输出) wc————字数统计 如:wc 文件名(返回行号、单词数、字符数(空格和换行符均算)) uniq————结果统计 如:uniq 文件名 -c(返回结果和结果次数) 3.双向重定向命令 tee————将结果输出到文件 如: ifconfig eth1 | tee 文件名 |grep "Mask" 4.字符转换命令 tr————转换字符 如: tr 'a-z' 'A-Z' < 文件名 col————转换字符(将tab转换成空格) 如: col -x 文件名 join————匹配合并文件(匹配文件1和文件2关键字再合并,以分隔符标识关键字) 如:join -t ':' 文件1 文件2 paste————粘贴合并文件(直接粘贴合并) 如:paste 文件1 文件2 expand————(功能与col一致) 如: expand 文件名 5.切割命令 split————把大文件切割成若干个小文件 如: split -b 10k 大文件 小文件(小文件大小为10k) 6.参数代换 xargs————对于不支持管道的命令提供参数支持 如:find -name "xxx*" |xargs ls -h 5.shellscript脚本 1.开头格式 #!/bin/bash 2.注释行使用 # 3.执行脚本 1.source 脚本文件名 2.bash 脚本文件名 3. ./脚本文件名 4.返回值 1.执行成功返回0 2.执行错误返回非0 5.判断分支 1.if...;then...elif...;then...else....fi 2.case...esac 3.function 6.循环分支 1.while /until ... do ... done 2.for...do...done