《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


相关文章
|
2月前
|
存储 安全 Unix
七、Linux Shell 与脚本基础
别再一遍遍地敲重复的命令了,把它们写进Shell脚本,就能一键搞定。脚本本质上就是个存着一堆命令的文本文件,但要让它“活”起来,有几个关键点:文件开头最好用#!/usr/bin/env bash来指定解释器,并用chmod +x给它执行权限。执行时也有讲究:./script.sh是在一个新“房间”(子Shell)里跑,不影响你;而source script.sh是在当前“房间”里跑,适合用来加载环境变量和配置文件。
405 9
|
Ubuntu Linux 网络安全
Linux系统初始化脚本
一款支持Rocky、CentOS、Ubuntu、Debian、openEuler等主流Linux发行版的系统初始化Shell脚本,涵盖网络配置、主机名设置、镜像源更换、安全加固等多项功能,适配单/双网卡环境,支持UEFI引导,提供多版本下载与持续更新。
276 0
Linux系统初始化脚本
|
2月前
|
存储 Shell Linux
八、Linux Shell 脚本:变量与字符串
Shell脚本里的变量就像一个个贴着标签的“箱子”。装东西(赋值)时,=两边千万不能有空格。用单引号''装进去的东西会原封不动,用双引号""则会让里面的$变量先“变身”再装箱。默认箱子只能在当前“房间”(Shell进程)用,想让隔壁房间(子进程)也能看到,就得给箱子盖个export的“出口”戳。此外,Shell还自带了$?(上条命令的成绩单)和$1(别人递进来的第一个包裹)等许多特殊箱子,非常有用。
289 2
|
2月前
|
算法 Linux Shell
Linux实用技能:打包压缩、热键、Shell与权限管理
本文详解Linux打包压缩技巧、常用命令与原理,涵盖.zip与.tgz格式操作、跨系统传文件方法、Shell运行机制及权限管理,助你高效使用Linux系统。
Linux实用技能:打包压缩、热键、Shell与权限管理
|
4月前
|
Web App开发 缓存 安全
Linux一键清理系统垃圾:释放30GB空间的Shell脚本实战​
这篇博客介绍了一个实用的Linux系统盘清理脚本,主要功能包括: 安全权限检查和旧内核清理,保留当前使用内核 7天以上日志文件清理和系统日志压缩 浏览器缓存(Chrome/Firefox)、APT缓存、临时文件清理 智能清理Snap旧版本和Docker无用数据 提供磁盘空间使用前后对比和大文件查找功能 脚本采用交互式设计确保安全性,适合定期维护开发环境、服务器和个人电脑。文章详细解析了脚本的关键功能代码,并给出了使用建议。完整脚本已开源,用户可根据需求自定义调整清理策略。
503 1
|
6月前
|
Java Linux
自定义linux脚本用于快速jar包启动、停止、重启
自定义linux脚本用于快速jar包启动、停止、重启
321 29
|
6月前
|
Linux Shell 数据安全/隐私保护
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
391 3
|
Ubuntu Linux Shell
【Linux操作系统】探秘Linux奥秘:shell 编程的解密与实战
【Linux操作系统】探秘Linux奥秘:shell 编程的解密与实战
219 0
|
Shell Linux C++
Linux C/C++ 开发(学习笔记二):Shell脚本编程案例
Linux C/C++ 开发(学习笔记二):Shell脚本编程案例
251 0
|
运维 Shell Linux
Linux 之大数据定制篇-Shell 编程
Linux 之大数据定制篇-Shell 编程
340 0