Linux文件系统
一、文件系统
1.文件系统的类型:
通过文件系统存储的位置划分
磁盘文件系统:存放在磁盘上的
网络文件系统:NFS 存放在服务器
虚拟文件系统:存放在内存上的
2.文件系统的逻辑结构(层次结构)
Linux文件组织模式像一个倒置的树
3.文件系统的目录结构:
有文件层次标准规定
windows:目录属于分区
Linux:分区属于目录
4.文件系统相关命令
pwd 查看当前所处的路径
ls 列举当前目录下的内容
-a:显示所有文件,包括隐藏文件
-l:使用列表的形式来显示
-h:以人类更好理解的语言显示
d rwx rwx r-x 15 linux linux 4.0K Jan 25 05:55 A53
文件类型 所属用户权限 同组用户 其他用户 文件所属用户 文件所属组
文件类型:
bcd-lsp:
b:块设备文件
c:字符设备文件
d:目录
-:普通文件
l:链接文件
s:套接字文件
p:管道文件
chmod u/g/o
u:用户 +/- rwx
g:组
o:其他
cd:切换目录
绝对路径:起始是根目录
相对路径:其实是当前目录:.
. : 当前目录
.. :上级目录
~ :家目录
- : 上一次执行的目录
二、创建链接文件
1.硬链接
特点:源文件删除后,还可以访问到该文件
ln 创建链接文件
ln 源文件名 链接文件名
不可以对目录创建硬链接
2.软链接
使用绝对路径常见软链接
源文件删除后不能访问源文件内容
三、文件打包压缩
压缩工具: 解压工具 文件扩展名
gzip gunzip .gz
bzip2 bunzip2 .bz2
zip unz .zip
zip压缩源文件还在
zip 生成的.zip文件名(生成多个) 源文件名(可以是多个)
归档压缩:
重点:
tar:
用于将若干个文件或目录合并成一个文件,以便备份和压缩。
-czf xxx.tar.gz xxx
-cjf xxx.tar.bz2 xxx
解压:
-xvf xxx.tar.gz/bz2
-c:创建新的归档文件
-z:由gz压缩
-j:由bzip2压缩
-v:显示归档和释放信息
-f:用户指定归档文件的文件名
-x:解压
四、网络配置
1. 网络配置内容
[1]. 本机的IP地址
[2]. 网关地址
[3]. 子网掩码
[4]. DNS(域名解析器)
2. 网络配置的方法
[1]. 图形化界面配置
a.动态分配
DHCP(Dynamic Host Configuration Protocol):动态主机配置协议
b.静态指定ip地址
2配置文件配置网络
动态分配
auto eth0
#动态分配
iface eht0 inet dhcp
静态制定
ifconfig 查看网络状况
/etc/network/interface
auto eth0
iface eth0 inet static
#静态指定ip地址
address
netmask
gateway
2.配置DNS服务器
/etc/resolv.conf
nameserver 8.8.8.8
3.开机自启动脚本
/etc/rc.local
4.重启网络
sudo /etc/init.d/networking restart
五、shell脚本编程
本质是shell命令的有序集合,属于解释性语言(不用编译)由shell来解释 (bash)
除了给执行权限还可以直接用bash解析
bash+脚本名
shell脚本编写
1。创建一个脚本文件
xxx。sh
2.编写shell脚本文件
1.说明性语句
#!/bin/bash
2.shell中的变量
没有数据类型
变量名=变量值
变量的四种类型:
1.自定义变量
2.位置变量(命令行参数)$0----${n} $@ $*
3.预定义变量
$# 命令行参数个数
$? 前一个命令推出状态
$$ 进程的id号
4.环境变量
【3】.shell程序语句
1.说明性语句
#! #说明 ---注释
2.功能性语句
1.read
格式:read 变量名..(可以有多个变量名)
2.expr 算术运算
加(+)、减(-)、乘(\*)、整除(/)和求模(%)
expr 3 + 2 \* 5
3.test 测试
对象:字符串 整数 文件属性
字符串:
= != -z 字符串为空 -n 字母串不为空
整数:
-eq:
-ne:
-gt:大于 great than
-lt:
-ge:大于等于
-le:
文件的属性:
-d name 测试name 是否为一个目录
-e name 测试一个文件是否存在
-f name 测试name 是否为普通文件
-L name 测试name 是否为符号链接
-r name 测试name 文件是否存在且为可读
-w name 测试name 文件是否存在且为可写
-x name 测试name 文件是否存在且为可执行
-s name 测试name 文件是否存在且其长度不为0
f1 -nt f2 测试文件f1 是否比文件f2 更新
f1 -ot f2 测试文件f1 是否比文件f2 更旧
3.结构性语句
条件语句
if【 表达式 】
then
fi
=========================
if [ 表达式 ]
then 命令表
elif [ 表达式 ]
then 命令表
elif [ 表达式 ]
then 命令表
else
命令表
fi
=================
多路分支
case 字符串变量 in
模式1)
命令表1
;;
模式2 | 模式3)
命令表2;;
。。。
esac
循环:
for…do…done 循环语句
for 变量名 in 单词表
do
命令表
done
从单词表中取出一个单词赋值给变量,执行一次命令表,循环直到单词表单词遍历结束
循环次数由单词表的单词个数决定
while循环:
while 表达式或命令
do
命令表
done
循环控制:
辅助控制语句:
break & continue
shell函数:
在shell程序中, 常常把完成固定功能、且多次使用的一组命令(语句)封装在一个函数里,
每当要使用该功能时只需调用该函数名即可。
定义方式:
1.
函数名()
{
命令集合
}
2.
function 函数名()
{
命令集合
}
3.执行shell脚本
1. bash xxx。sh
2。修改文件权限,增加可执行权限