shell-遍历文件/目录

本文介绍了一个简单的Shell脚本,用于遍历根目录下的所有文件及子目录,并判断每个条目是否为文件或目录。该脚本使用了基本的Shell命令如for循环、if条件判断以及test命令来实现功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

shell-遍历文件/目录

脚本

# !bin/bash

for file in /*
do
    if test -d $file
    then
        echo $file is dir
    fi

    if test -f $file
    then
        echo $file is file
    fi
done

运行结果

[root@localhost shell]# ./1.sh 
/bin is dir
/boot is dir
/dev is dir
/etc is dir
/home is dir
/lib is dir
/lib64 is dir
/lost+found is dir
/media is dir
/misc is dir
/mnt is dir
/net is dir
/opt is dir
/proc is dir
/root is dir
/sbin is dir
/selinux is dir
/srv is dir
/sys is dir
/tmp is dir
/usr is dir
/var is dir
[root@localhost shell]# 
adb root adb shell sgdisk --print /dev/block/sda > 00_sgdisk_sda.txt 2>&1 adb shell sgdisk --print /dev/block/sdb > 00_sgdisk_sdb.txt 2>&1 adb shell sgdisk --print /dev/block/sdc > 00_sgdisk_sdc.txt 2>&1 adb shell sgdisk --print /dev/block/sdd > 00_sgdisk_sdd.txt 2>&1 adb shell sgdisk --print /dev/block/sde > 00_sgdisk_sde.txt 2>&1 adb shell sgdisk --print /dev/block/sdf > 00_sgdisk_sdf.txt 2>&1 adb shell sgdisk --print /dev/block/sdg > 00_sgdisk_sdg.txt 2>&1 adb shell sgdisk --print /dev/block/mmcblk0 > 00_sgdisk_mmc0.txt 2>&1 adb shell cat /sys/kernel/debug/f2fs/status > 00_layout_status.txt 2>&1 adb shell du -hd 2 /data/app/* > data_app.txt 2>&1 adb shell df -h > 01_df_h.txt 2>&1 adb shell df -k > 01_df_k.txt 2>&1 adb shell mount > 01_mount.txt 2>&1 adb shell du -sh /system/* > 02_system.txt 2>&1 adb shell du /system/* > 02_system_xiangxi.txt 2>&1 adb shell du -sh /system/apex/* > 02_system_apex.txt 2>&1 adb shell du -sh /system/app/* > 02_system_app.txt 2>&1 adb shell du -sh /system/app/*/oat > 02_system_app_oat.txt 2>&1 adb shell du -sh /system/product/* > 02_system_product.txt 2>&1 adb shell du -sh /system/priv-app/* > 02_system_priv-app.txt 2>&1 adb shell du -sh /system/priv-app/*/oat > 02_system_priv_app_oat.txt 2>&1 adb shell du -sh /system/lib/* > 02_system_lib.txt 2>&1 adb shell du -sh /system/lib64/* > 02_system_lib64.txt 2>&1 adb shell du -sh /system/etc/* > 02_system_etc.txt 2>&1 adb shell du -sh /system/framework/* > 02_system_framework.txt 2>&1 adb shell du -sh /system/fonts/* > 02_system_fonts.txt 2>&1 adb shell du -sh /system_ext/* > 02_system_ext.txt 2>&1 adb shell du /system_ext/* > 02_system_ext_xiangxi.txt 2>&1 adb shell du -sh /system_ext/app/* > 02_system_ext_app.txt 2>&1 adb shell du -sh /system_ext/etc/* > 02_system_ext_etc.txt 2>&1 adb shell du -sh /system_ext/lib/* > 02_system_ext_lib.txt 2>&1 adb shell du -sh /system_ext/lib64/* > 02_system_ext_lib64.txt 2>&1 adb shell du -sh /system_ext/priv-app/* > 02_system_ext_priv_app.txt 2>&1 adb shell du -sh /system_ext/media/* > 02_system_ext_media.txt 2>&1 adb shell du -sh /vendor/* > 03_vendor.txt 2>&1 adb shell du /vendor/* > 03_vendor_xiangxi.txt 2>&1 adb shell du -sh /vendor/app/* > 03_vendor_app.txt 2>&1 adb shell du -sh /vendor/bin/* > 03_vendor_bin.txt 2>&1 adb shell du -sh /vendor/etc/* > 03_vendor_etc.txt 2>&1 adb shell du -sh /vendor/lib/* > 03_vendor_lib.txt 2>&1 adb shell du -sh /vendor/lib64/* > 03_vendor_lib64.txt 2>&1 adb shell du -sh /vendor/lib/camera/* > 03_vendor_lib_camera.txt 2>&1 adb shell du -sh /vendor/lib64/camera/* > 03_vendor_lib64_camera.txt 2>&1 adb shell du -sh /vendor/etc/camera/* > 03_vendor_etc_camera.txt 2>&1 adb shell du -sh /vendor/euclid/* > 03_vendor_euclid.txt 2>&1 adb shell du -sh /vendor/firmware/* > 03_vendor_firmware.txt 2>&1 adb shell du -sh /vendor/firmware_mnt/* > 03_vendor_firmware_mnt.txt 2>&1 adb shell du -sh /vendor/firmware_mnt/image/* > 03_vendor_firmware_mnt_image.txt 2>&1 adb shell du -sh /product/* > 04_product.txt 2>&1 adb shell du /product/* > 04_product_xiangxi.txt 2>&1 adb shell du -sh /product/app/* > 04_product_app.txt 2>&1 adb shell du -sh /product/app/*/oat > 04_product_app_oat.txt 2>&1 adb shell du -sh /product/priv-app/* > 04_product_priv_app.txt 2>&1 adb shell du -sh /product/priv-app/*/oat > 04_product_priv_app_oat.txt 2>&1 adb shell du -sh /product/lib/* > 04_product_lib.txt 2>&1 adb shell du -sh /product/lib64/* > 04_product_lib64.txt 2>&1 adb shell du -sh /odm/* > 05_odm.txt 2>&1 adb shell du /odm/* > 05_odm_xiangxi.txt 2>&1 adb shell du -sh /odm/bin/* > 05_odm_bin.txt 2>&1 adb shell du -sh /odm/etc/* > 05_odm_etc.txt 2>&1 adb shell du -sh /odm/lib/* > 05_odm_lib.txt 2>&1 adb shell du -sh /odm/lib64/* > 05_odm_lib64.txt 2>&1 adb shell du -sh /odm/product/* > 05_odm_product.txt 2>&1 adb shell du -sh /odm/product/lib/* > 05_odm_product_lib.txt 2>&1 adb shell du -sh /odm/product/lib64/* > 05_odm_product_lib64.txt 2>&1 adb shell du -sh /odm/vendor/* > 05_odm_vendor.txt 2>&1 adb shell du -sh /odm/vendor/firmware/* > 05_odm_vendor_firmware.txt 2>&1 adb shell du -sh /my_product/* > 06_my_product.txt 2>&1 adb shell du /my_product/* > 06_my_product_xiangxi.txt 2>&1 adb shell du -sh /my_product/app/* > 06_my_product_app.txt 2>&1 adb shell du -sh /my_product/decouping_wallpaper/* > 06_my_product_decouping_wallpaper.txt 2>&1 adb shell du -sh /my_product/etc/* > 06_my_product_etc.txt 2>&1 adb shell du -sh /my_product/media/* > 06_my_product_media.txt 2>&1 adb shell du -sh /my_product/overlay/* > 06_my_product_overlay.txt 2>&1 adb shell du -sh /my_product/vendor/* > 06_my_product_vendor.txt 2>&1 adb shell du -sh /my_product/res/* > 06_my_product_res.txt 2>&1 adb shell du -sh /my_product/priv-app/* > 06_my_product_priv_app.txt 2>&1 adb shell du -sh /my_product/del-app-pre/* > 06_my_product_del-app-pre.txt 2>&1 adb shell du -sh /my_engineering/* > 07_my_engineering.txt 2>&1 adb shell du /my_engineering/* > 07_my_engineering_xiangxi.txt 2>&1 adb shell du -sh /my_engineering/app/* > 07_my_engineering_app.txt 2>&1 adb shell du -sh /my_engineering/decouping_wallpaper/* > 07_my_engineering_decouping_wallpaper.txt 2>&1 adb shell du -sh /my_engineering/etc/* > 07_my_engineering_etc.txt 2>&1 adb shell du -sh /my_engineering/media/* > 07_my_engineering_media.txt 2>&1 adb shell du -sh /my_engineering/overlay/* > 07_my_engineering_overlay.txt 2>&1 adb shell du -sh /my_engineering/vendor/* > 07_my_engineering_vendor.txt 2>&1 adb shell du -sh /my_engineering/res/* > 07_my_engineering_res.txt 2>&1 adb shell du -sh /my_stock/* >08_my_stock.txt 2>&1 adb shell du /my_stock/* >08_my_stock_xiangxi.txt 2>&1 adb shell du -sh /my_stock/app/* >08_my_stock_app.txt 2>&1 adb shell du -sh /my_stock/app/*/oat >08_my_stock_app_oat.txt 2>&1 adb shell du -sh /my_stock/del-app/* >08_my_stock_del_app.txt 2>&1 adb shell du -sh /my_stock/del-app/*/oat >08_my_stock_del_app_oat.txt 2>&1 adb shell du -sh /my_stock/priv-app/* >08_my_stock_priv_app.txt 2>&1 adb shell du -sh /my_stock/priv-app/*/oat >08_my_stock_priv_app_oat.txt 2>&1 adb shell du -sh /my_heytap/* >09_my_heytap.txt 2>&1 adb shell du /my_heytap/* >09_my_heytap_xiangxi.txt 2>&1 adb shell du -sh /my_heytap/app/* >09_my_heytap_app.txt 2>&1 adb shell du -sh /my_heytap/app/*/oat >09_my_heytap_app_oat.txt 2>&1 adb shell du -sh /my_heytap/del-app/* >09_my_heytap_del_app.txt 2>&1 adb shell du -sh /my_heytap/del-app/*/oat >09_my_heytap_del_app_oat.txt 2>&1 adb shell du -sh /my_heytap/priv-app/* >09_my_heytap_priv_app.txt 2>&1 adb shell du -sh /my_heytap/priv-app/*/oat >09_my_heytap_priv_app_oat.txt 2>&1 adb shell du -sh /my_company/* >10_my_company.txt 2>&1 adb shell du /my_company/* >10_my_company_xiangxi.txt 2>&1 adb shell du -sh /my_company/app/* >10_my_company_app.txt 2>&1 adb shell du -sh /my_company/etc/* >10_my_company_etc.txt 2>&1 adb shell du -sh /my_carrier/* >11_my_carrier.txt 2>&1 adb shell du /my_carrier/* >11_my_carrier_xiangxi.txt 2>&1 adb shell du -sh /my_carrier/app/* >11_my_carrier_app.txt 2>&1 adb shell du -sh /my_carrier/app/*/oat >11_my_carrier_app_oat.txt 2>&1 adb shell du -sh /my_carrier/del-app/* >11_my_carrier_del_app.txt 2>&1 adb shell du -sh /my_carrier/del-app/*/oat >11_my_carrier_del_app_oat.txt 2>&1 adb shell du -sh /my_carrier/priv-app/* >11_my_carrier_priv_app.txt 2>&1 adb shell du -sh /my_carrier/priv-app/*/oat >11_my_carrier_priv_app_oat.txt 2>&1 adb shell du -sh /my_region/* >12_my_region.txt 2>&1 adb shell du /my_region/* >12_my_region_xiangxi.txt 2>&1 adb shell du -sh /my_region/app/* >12_my_region_app.txt 2>&1 adb shell du -sh /my_region/app/*/oat >12_my_region_app_oat.txt 2>&1 adb shell du -sh /my_region/del-app/* >12_my_region_del_app.txt 2>&1 adb shell du -sh /my_region/del-app/*/oat >12_my_region_del_app_oat.txt 2>&1 adb shell du -sh /my_region/priv-app/* >12_my_region_priv_app.txt 2>&1 adb shell du -sh /my_region/priv-app/*/oat >12_my_region_priv_app_oat.txt 2>&1 adb shell du -sh /my_region/etc/* >12_my_region_etc.txt 2>&1 adb shell du -sh /my_region/etc/camera/* >12_my_region_etc_camera.txt 2>&1 adb shell du -sh /my_region/media/* >12_my_region_media.txt 2>&1 adb shell du -sh /my_region/plugin/* >12_my_region_plugin.txt 2>&1 adb shell du -sh /my_preload/* >13_my_preload.txt 2>&1 adb shell du /my_preload/* >13_my_preload_xiangxi.txt 2>&1 adb shell du -sh /my_preload/app/* >13_my_preload_app.txt 2>&1 adb shell du -sh /my_preload/app/*/oat >13_my_preload_app_oat.txt 2>&1 adb shell du -sh /my_preload/del-app/* >13_my_preload_del_app.txt 2>&1 adb shell du -sh /my_preload/del-app/*/oat >13_my_preload_del_app_oat.txt 2>&1 adb shell du -sh /my_preload/priv-app/* >13_my_preload_priv_app.txt 2>&1 adb shell du -sh /my_preload/priv-app/*/oat >13_my_preload_priv_app_oat.txt 2>&1 adb shell du -sh /my_preload/etc/* >13_my_preload_etc.txt 2>&1 adb shell du -sh /my_manifest/* >13_my_manifest.txt 2>&1 adb shell du /my_manifest/* >13_my_manifest_xiangxi.txt 2>&1 adb shell du -sh /my_manifest/app/* >13_my_manifest_app.txt 2>&1 adb shell du -sh /my_manifest/etc/* >13_my_manifest_etc.txt 2>&1 adb shell du -sh /my_manifest/etc/camera/* >13_my_manifest_etc_camera.txt 2>&1 adb shell du -sh /data/* > 14_data.txt 2>&1 adb shell du -sh /data/apex/* > 14_data_apex.txt 2>&1 adb shell du -sh /data/dalvik-cache/* > 14_data_dalvik-cache.txt 2>&1 adb shell du -sh /data/data/* > 14_data_data.txt 2>&1 adb shell du -sh /data/aee_exp/* > 14_data_aee_exp.txt 2>&1 adb shell du -sh /data/app/* > 14_data_app.txt 2>&1 adb shell du -sh /data/app/*/oat > 14_data_app_oat.txt 2>&1 adb shell du -sh /data/media/0/* > 14_data_media_0.txt 2>&1 adb shell du -sh /data/reserve/* > 14_data_reserve.txt 2>&1 adb shell du -sh /data/nandswap/* > 14_data_nandswap.txt 2>&1 adb shell du -sh /data/local/* > 14_data_local.txt 2>&1 adb shell du -sh /data/del-app/* >14_data_del_app.txt 2>&1 adb shell du -sh /data/user_de/* >14_data_user_de.txt 2>&1 adb shell du -sh /data/misc/* >14_data_misc.txt 2>&1 adb shell du -sh /data/media/* >14_data_media.txt 2>&1 adb shell du /data/preapps-lib/* >14_data_preapps-lib_xiangxi.txt 2>&1 adb shell du -sh /my_bigball/* > 15_my_bigball.txt 2>&1 adb shell du -sh /my_bigball/del-app/* > 15_my_bigball_del-app.txt 2>&1 adb shell du -sh /my_bigball/lib/* > 15_my_bigball_lib.txt 2>&1 adb shell du -sh /my_bigball/plugin/* > 15_my_bigball_plugin.txt 2>&1 adb shell du -sh /my_bigball/app/* > 15_my_bigball_app.txt 2>&1 adb shell du -sh /my_bigball/decouping_wallpaper/* > 15_my_bigball_decouping_wallpaper.txt 2>&1 adb shell du -sh /my_bigball/etc/* > 15_my_bigball_etc.txt 2>&1 adb shell du -sh /my_bigball/lib64/* > 15_my_bigball_lib64.txt 2>&1 adb shell du -sh /my_bigball/priv-app/* > 15_my_bigball_priv-app.txt 2>&1 adb shell du -sh /my_bigball/applist/* > 15_my_bigball_applist.txt 2>&1 adb shell du -sh /my_bigball/del-app-pre/* > 15_my_bigball_del-app-pre.txt 2>&1 adb shell du -sh /my_bigball/framework/* > 15_my_bigball_framework.txt 2>&1 adb shell du -sh /my_bigball/overlay/* > 15_my_bigball_ overlay.txt 2>&1 adb shell du -sh /my_manifest/* > 16_my_manifest.txt 2>&1 adb shell du -sh /my_manifest/etc/* > 16_my_manifest_etc.txt 2>&1 adb shell du -sh /cache/* > 17_cache.txt 2>&1 adb shell du -sh /vendor_dlkm/* > 17_vendor_dlkm.txt 2>&1 adb shell du -sh /vendor_dlkm/lib/* > 17_vendor_dlkm_lib.txt 2>&1 adb shell du -sh /vendor_dlkm/lib/modules/* > 17_vendor_dlkm_lib_modules.txt 2>&1 adb shell du -sh /system_dlkm/* > 17_system_dlkm.txt 2>&1 adb shell lpdump > 18_lpdump.txt 2>&1 adb shell uname -a > 19_uname_data.txt 2>&1{"code":200,"msg":"success","data":null,"traceId":"6cffab81f2ba4dfd8b1326deacc4fc35","total":null}这个是输入文件数据获取的脚本,如果现在需要对比所有有差异的文件应该怎么去设计
最新发布
08-05
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值