《Linux Shell脚本攻略》 笔记 第三章:文件操作

简介: 《Linux Shell脚本攻略》 笔记第三章:文件操作

1、生产任意大小的文件

[root@localhost dd_test]#

[root@localhost dd_test]# dd if=/dev/zero of=junk.data bs=1k count=10

10+0 records in

10+0 records out

10240 bytes (10 kB) copied, 0.00137023 s, 7.5 MB/s


2、文件系统相关测试

[ -f $file_var ]: 给定的变量包含正常的文件路径或文件名,则返回真

[ -d $var ]: 给定的变量是目录,则返回真。

[ -e $var ]: 给定的变量包含的文件存在,则返回真。

[ [ -z $str1 ]]: 如果str1包含的是空字符串,则返回真。

[ [ -n $str1 ]]: 如果str1包含的是非空字符串,则返回真。

-gt: 大于

-lt: 小于

-ge: 大于或等于.

-le: 小于或等于.


3、文件权限

[root@localhost program_test]# chmod 777 cnts.sh


4、批量生成任意大小的文件

[root@localhost touch_more]# cat create_morefile.sh

#!/bin/bash

for name in {1..100}.txt

do

touch $name

dd if=/dev/zero of=$name bs=1k count=1

done




5、生成符号链接文件

[root@localhost touch_more]# ln -s 100.txt 100_symbol.txt

[root@localhost touch_more]# ll -al 100*

lrwxrwxrwx. 1 root root    7 Jan  2 00:24 100_symbol.txt -> 100.txt

-rw-r--r--. 1 root root 1024 Jan  2 00:22 100.txt


查找符号链接的文件

方法一:

[root@localhost touch_more]# ls -al | grep '^l' | awk '{print $9}'   //特征标记,以l开头。

100_symbol.txt

方法二:

[root@localhost touch_more]# find ./ -type l

./100_symbol.txt


打印符号链接指向文件的名称:

[root@localhost touch_more]# ls -al 100_symbol.txt |  awk '{ print $11 }'

100.txt


6、遍历文件,分类型统计文件

[root@localhost touch_more]# cat filestat.sh

#!/bin/bash


if [ $# -ne 1 ];

then

       echo $0 basepath;

       exit 1

fi

path=$1


declare -A statarray;


while read line;

do

       ftype=$(file -b "$line")

       let statarray["$ftype"]++;

done < <(find $path -type f -print)  //以子进程统计文件名


echo ===================FILE types and counts ===============


for ftype in "${!statarray[@]}"; //数组表

do

       echo $ftype : ${statarray["$ftype"]}

done




6、实时观看不断增长的文件

[root@localhost touch_more]# tail -f filestat.sh


7、目录切换

[root@localhost program_test]# cd -

/home/yxx/program_test/touch_more


相关文章
|
4天前
|
Linux
Linux(5)WIFI/BT调试笔记
Linux(5)WIFI/BT调试笔记
20 0
|
5天前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
24 1
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
|
18天前
|
Web App开发 Java Linux
Linux之Shell基本命令篇
Linux之Shell基本命令篇
Linux之Shell基本命令篇
|
25天前
|
Linux Shell
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
78 1
|
28天前
|
Linux Shell Python
Linux执行Python脚本
Linux执行Python脚本
27 1
|
4天前
|
Linux Shell Android开发
自动化脚本之GPIO/LED相关适用于Android/Linux
自动化脚本之GPIO/LED相关适用于Android/Linux
13 0
|
4天前
|
Linux Android开发
Linux(6)CH9434 SPI调试笔记
Linux(6)CH9434 SPI调试笔记
12 0
|
16天前
|
存储 Shell Linux
【攻防世界】unseping (反序列化与Linux bash shell)
【攻防世界】unseping (反序列化与Linux bash shell)
|
19天前
|
Shell Linux
【Linux】12. 模拟实现shell
【Linux】12. 模拟实现shell
27 2
|
21天前
|
Linux API C语言
FFmpeg开发笔记(一)搭建Linux系统的开发环境
本文指导初学者如何在Linux上搭建FFmpeg开发环境。首先,由于FFmpeg依赖第三方库,可以免去编译源码的复杂过程,直接安装预编译的FFmpeg动态库。推荐网站<https://github.com/BtbN/FFmpeg-Builds/releases>提供适用于不同系统的FFmpeg包。但在安装前,需确保系统有不低于2.22版本的glibc库。详细步骤包括下载glibc-2.23源码,配置、编译和安装。接着,下载Linux版FFmpeg安装包,解压至/usr/local/ffmpeg,并设置环境变量。最后编写和编译简单的C或C++测试程序验证FFmpeg环境是否正确配置。
37 8
FFmpeg开发笔记(一)搭建Linux系统的开发环境