Linux第02天

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
	 
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	

  

原文地址:https://www.cnblogs.com/ciade/p/4941134.html