正则表达式 ^ $ .[ ] { } - ?* + ( ) |
这里以 sed 匹配 text 文件为例
1 2 3 4 5 6 7 8 9 sed -n '/b[abcd]r/p' text sed -n '/b[a-d]r/p' text sed -n '/b[^ef]r/p' text sed -n '/be*r/p' text sed -n '/be+r/p' text sed -n '/be?r/p' text sed -n '/be{2}r/p' text sed -n '/be{2,}r/p' text sed -n '/be{2,4}r/p' text
Shell 数组拼接 1 2 s1=(11 22 33); s2=(44 55 66) s3=(${num1[@]} ${num2[*]} )
多线程运行 1 2 3 4 5 6 for i in ${series[*]} ; do { sleep 5 }& done wait
常见的判断 文件状态 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 if [ -e ${PATH} ]; then echo "路径${PATH} 存在" ; fi if [ -d ${DIR} ]; then echo "${DIR} 是目录" ; fi if [ -f ${FILE} ]; then echo "${FILE} 是文件" ; fi if [ -x ${FILE} ]; then echo "${FILE} 有执行权限" ; fi if [ -w ${FILE} ]; then echo "${FILE} 有写权限" ; fi if [ -r ${FILE} ]; then echo "${FILE} 有读权限" ; fi
比较 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 if [ ${num1} -eq ${num2} ]; then echo "${num1} 等于 ${num2} " ; fi if [ ${num1} -ne ${num2} ]; then echo "${num1} 不等于 ${num2} " ; fi if [ ${num1} -gt ${num2} ]; then echo "${num1} 大于 ${num2} " ; fi if [ ${num1} -le ${num2} ]; then echo "${num1} 小于等于 ${num2} " ; fi if [ ${string1} == "STRING" ]; then echo "${string1} 等于 STRING" ; fi if [ -z ${string1} ]; then echo "${string1} 为空" ; fi
逻辑判断 1 2 3 4 5 6 7 8 if [ condition1 ] && [ condition2 ]; then echo "condition1 且 condition2" ; fi if [ condition1 ] || [ condition2 ]; then echo "condition1 或 condition2" ; fi if [ ! condition1 ]; then echo "非 condition1" ; fi
USB disk 挂载与解挂 查看本地设备状态和路径 1 2 3 4 5 6 7 8 9 10 11 12 ... Disk /dev/sdd:21.85 TiB,24000214335488 字节,46875418624 个扇区 Disk model: My Book Duo 25F6 单元:扇区 / 1 * 512 = 512 字节 扇区大小(逻辑/物理):512 字节 / 4096 字节 I/O 大小(最小/最佳):4096 字节 / 4096 字节 磁盘标签类型:gpt 磁盘标识符:2A0E2E54-B2E7-458F-9949-32EC13EE85A9 设备 起点 末尾 扇区 大小 类型 /dev/sdd1 2048 46875416575 46875414528 21.8T Microsoft 基本数据 ...
可以看到插入设备的存放路径 /dev/sdd1
创建文件夹并挂载设备 1 2 sudo mkdir /mnt/usbname sudo mount /dev/sdd1 /mnt/usbname
卸载挂载 1 sudo umount /dev/sdd1 /mnt/usbname
检查是否解挂成功
1 2 3 4 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT ... sdd 8:64 0 21.8T 0 disk └─sdd1 8:65 0 21.8T 0 part /media/wangbj/WD20T
确保对应设备 part 后面的挂载文件夹已经解挂,方可拔出设备