DEV Community

abbazs
abbazs

Posted on • Edited on

1

Shell script recipes

How to execute a command in all the sub directories in linux?

Consider there is a need to execute a command in all the sub directories of a directory, how to do it using bash script?

# In this example `du -ksh` is executed to get the size of each sub directory 
##Get disk usage of all sub directories#########################
function duall(){
    for d in */; do
        if [ -d "$d" ]; then
            echo "$d"
            cd "$d"
            du -ksh # Replace this line with any command required
            cd ..
        fi
    done
}
Enter fullscreen mode Exit fullscreen mode

Add the function to the .bashrc file in the home directory and below the function add an alias for the function:

alias duall="duall" # Disk usage of all sub directories
Enter fullscreen mode Exit fullscreen mode

Now the function duall available as a command.


How to remove all the files of a given type recursively?

find . -name "*.bak" -type f -delete
Enter fullscreen mode Exit fullscreen mode

Warning: If the -delete is issued before -name option, find will delete all the file.


How to tar all the folders and file except few?

tar --exclude='./folder' --exclude='./upload/folder2' -zcvf /backup/filename.tgz .
Enter fullscreen mode Exit fullscreen mode

Reference


How to retain the folder structure while archiving using 7z?

It helps to create a archive file with full path later to exactly recreate the same folder structure while extracting the zip file.

7z a -spf some.zip ./folder/subfolder/*
Enter fullscreen mode Exit fullscreen mode

While extracting the some.zip file all the folder structure will be retained.

7z x some.zip
Enter fullscreen mode Exit fullscreen mode

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay