嵌入式基础总结3

文件系统

  1. 文件系统的类型:

按照文件系统存储的位置区分

磁盘文件系统 —>>> 磁盘上 —>>>NTFS EXT3 EXT4
虚拟文件系统 —>>> 内存上 —>>> proc sysfs
网络文件系统 —>>> NFS

  1. 文件系统的逻辑结构(层次结构):

/ : | etc
| bin
| home
| dev
| lib
| mnt
| sys
| proc

  1. 文件系统的目录结构:

文件系统层次结构:倒置的树

linux : 分区属于目录
Windows:目录属于分区

  1. 文件系统的相关命令

cd:切换路径

绝对路径:指文件在文件系统中的准确位置。通常在本地主机上,
以根目录为起点。例如“/usr/games/gnect”就是绝对路径。
相对路径:指相对于用户当前位置的一个文件或目录的位置。例如,
用户处在usr目录中时,只需要“games/gnect”就可确定这个文件。

. : 当前目录
…: 上一级目录
~ : 家目录

ls:列举路径目录下的内容

-a:列举所有文件,包括隐藏文件
-l:列举文件的详细信息
-h: with -l, print sizes in human readable format (e.g., 1K 234M 2G)

d rwxr-xr-x 2 root root 4096 Mar 21 02:38 bin

第一字段 : 文件类型

bcd-lsp:

b:块设备文件
c:字符设备文件
d:目录
-:普通文件
l:链接文件(符号链接/软链接)
s:套接字文件
p: 管道文件

第二字段:rwx r-x r-x
111 101 101 (0755)
文件所属者 同组用户 其他用户

root root

文件所属者 文件所属组

修改文件权限的命令:

chmod 0644 filename

u 文件所属者
g 同组用户
o 其他用户

r
w
x

chmod u-x filename
chmod u+w filename

cp:拷贝

cp filename(带路径) filename(路径)

-a:
-r:

rm:删除

-r

mv:移动

创建链接文件

硬链接是利用Linux中为每个文件分配的物理编号——inode建立链接。因此,
硬链接不能跨越文件系统。
软链接(符号链接)是利用文件的路径名建立链接。通常建立软链接使用
绝对路径而不是相对路径,以最大限度增加可移植性。

硬链接:

ln 文件名 硬链接名

软链接:

ln -s 文件名 软链接名

文件打包压缩

压缩工具

gzip
bzip2
zip

eg:zip xxxx.zip xxxx

解压工具

gunzip
bunzip2
unzip

归档压缩命令:

归档压缩:

tar -czf xxx.tar.gz xxx
tar -cjf xxx.tar.bz2 xxx

解压:

tar -xvf 压缩包名

网络配置

  1. 图形化界面配置

[1]. 动态分配

[2]. 静态指定

  1. 配置文件配置

[1]. 动态分配

  1. 网络接口配置文件 /etc/network/interfaces

动态分配
auto eth0
iface eth0 inet dhcp

  1. 保存退出

  2. 重启网络

sudo /etc/init.d/networking restart

  1. 查看网络配置情况

ifconfig

ip ad

ifconfig eth0 up/down

  1. ping

ping -c number IP地址/域名

[2]. 静态指定

  1. 网络接口配置文件 /etc/network/interfaces

auto eth0

iface eth0 inet static
address 192.168.0.9
netmask 255.255.255.0
gateway 192.168.0.1

  1. DNS域名服务器地址配置文件

/etc/resolv.conf

nameserver 192.168.1.1

  1. 修改开机自启动脚本

vi /etc/rc.local

echo “nameserver 8.8.8.8” >> /etc/resolv.conf

exit 0

  1. 重启网络

sudo /etc/init.d/networking restart

  1. 查看网络配置情况

ifconfig

  1. ping

shell脚本编程

c语言 —>>> 编译性语言

shell脚本 —>>> 解析性语言 —>>> 需要有解析器(shell —>>> bash)解析

本质:shell命令的有序集合

  1. 创建shell脚本文件

xxxx.sh

  1. 编写脚本

完成特定功能的shell命令集合

  1. 执行脚本

bash xxx.sh

增加可执行权限

[1]. 变量

用户自定义变量

变量名=值

位置变量即命令行参数

$0 与键入的命令行一样,包含脚本文件名
$1,$2,……$9 分别包含第一个到第九个命令行参数
${n}
$@ 包含所有命令行参数:“$1,$2,……$9”
$* 包含所有命令行参数:“$1,$2,……$9”

预定义变量

$? 包含前一个命令的退出状态
$# 包含命令行参数的个数
$$ 包含正在执行进程的ID号

环境变量

[2]. 说明性语句

1.以#号开始到该行结束,不被解释执行

  1. #!/bin/bash 指定当前脚本的解析器

[3]. 功能性语句

  1. read 从标准输入读值赋值给变量(阻塞方式读)

read VAL

read VAL1 VAL2 VAL3 …

  1. expr 简单的算术运算 + - * / %

expr 3 + 3 * 5

  1. test 测试 数字、字符串、文件属性

字符串:

s1 = s2 	测试两个字符串的内容是否完全一样

s1 != s2	测试两个字符串的内容是否有差异

-z s1 		测试s1 字符串的长度是否为0

-n s1 		测试s1 字符串的长度是否不为0

数字:

-eq		等于
-ne		不等于
-gt		大于
-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 更旧

[4]. 结构性语句

  1. 条件语句
if…then…fi

if 表达式    --->>> [ ]
then
命令表
fi
if 	表达式
then 
命令表
else
命令表
fi
if 表达式
then 
命令表
elif 表达式
then 
命令表
elif 表达式
then 
命令表
else 
命令表
fi
  1. 多路分支语句
case ... esac

case   字符串变量   in
    模式1)
               命令表1
                ;;
    模式2 | 模式3)   
               命令表2
                ;;
     ……
    模式n)
               命令表n
                ;;
esac
  1. 循环语句
for…do…done

for   变量名   in   单词表
do
      命令表
done
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值