参考资料
正点原子:http://www.openedv.com/docs/boards/arm-linux/zdyz-i.mx6ull.html
1 linux 命令
1.1 fdisk命令
1.1.1 查看分区
fdisk -l显示磁盘分区使用情况
1.1.2 删除分区
fdisk /dev/sdb1 用来对sdb1进行分区:
输入m表示获取帮助,默认有分区sdb1, 然后输入d删除分区1,p打印出分区表,i表示打印出详细分区信息,n表示新增分区信息,w表示保存,q表示退出。
来看dev/sd*信息,发现已经没有了sdb1
1.1.3 创建分区
再来看如何建立分区1:
先建立一个1GB的分区,1GB= 1024 * 1024 * 1024=1073741824 B = 2097152 个sector,一个sector有512 byte,再加上2048 个sector,那么等于2099200个sector。
再来何建立分区2:
这里First sector使用默认值2101248,Last sector使用4198400(1G是2097152, 2101248 + 2097152 = 4198400),分区2也是1GB
再来何建立分区3:
First sector和Last sector使用默认,那么最终分区3有26.8GiB。
最后输入w保存退出,来看下分区:
1.2 磁盘格式化命令
mkfs命令用来对磁盘分区格式化,将格式化好的sd卡放入windows系统查看,可以看到3个盘。
1.3 du命令
1.4 df命令
1.5 xargs命令
find -name *.sh |xargs grep -rn "build_all"
1.6 grep命令
find /path/to/directory -type f -name "*.txt" | grep "keyword"
-w 全词匹配。
-v 反向搜索
-i 不区分大小写
$匹配以字符串结尾的行
^ 匹配以字符串开头的行
找出空行 grep "^$" test.txt -n
找出unix开头的行grep "^unix" geekfile.txt
找出.结尾的行 grep "\.$" test.txt -n -o
找出os.结尾的行,grep "os.$" geekfile.txt
[abc]中括号
匹配abc字符中的任意一个
匹配a-z
下面一个脚本用grep -v排除掉不需要的行,也就是删除包含指定字符的行从一个文件。
#!/bin/bash
# 定义要删除的特定字符
pattern="特定字符"
# 定义要处理的文件名
filename="文件名"
# 使用grep命令找到含有特定字符的行,并将结果输出到一个临时文件中
grep -v "$pattern" "$filename" > temp.txt
# 将临时文件的内容复制回原始文件
cat temp.txt > "$filename"
# 删除临时文件
rm temp.txt
1.7 网络命令
ifconfig eth0 up/down
udhcpc -i eth0 //通过路由器分配 IP 地址
ifconfig eth0 192.168.1.251 netmask 255.255.255.0 //设置 IP 地址和子网掩码
route add default gw 192.168.1.1 //添加默认网关
shell命令
解释器
- sh解释器
- bash解释器
脚本开头用#!用来申明用什么解释器,如:
段代码注释
<<EOF
...
EOF
read命令
test命令
测试文件,数值,权限,字符串等参数。
中括号也能表示测试,里面只能用==或!=
命令行参数
$0, $1, $2, $3...
$0表示脚本文件名
$1表示第一个参数
$n表示第n个参数
$#表示一共有多少个命令行参数
$@表示所有的命令行参数集合,$0 $1 $2 ... $n
$*表示等价$@
$?表示上一条命令是否返回成功,成功为0,错误非0
$$表示当前脚本的进程号
条件语句
case语句
函数
循环
typeset或者declare
sh脚本默认所有变量都是字符串,比如val=1,也表示val是一个字符串“1”。那么需要如何声明一个变量类型,用typeset或者declare。
typeset -i data=1
unset
清除变量值
readonly
只读变量
2 ftp服务
sudo apt install vsftpd
vi /etc/vsftpd.conf
local_enable=YES
write_enable=YES
sudo /etc/init.d/vsftpd restart
2.1 windows客户端
https://filezilla-project.org/
新建站点,配置ftp协议, 主机输入ubuntu IP地址,用户密码信息,即可连接成功。