Linux第02天

时间:2022-03-23 06:12:35
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