Script finding the total size of a directory and checking if a directory exists
I need one additional line for my script that finds the total size of a directory and shows it in bytes and another line in the beginning of this script that checks if a directory exists.
That's my script so far:
#!/bin/bash
directory="$dir"
echo "Directory name: "
read directory
if ...checking if a directory exists... then
echo "Number of subdirectories: "
ls $dir -l| grep ^d| wc -l
echo "Number of ordinary files: "
find $dir -maxdepth 1 -type f | wc -l
echo "Number of ordinary files with size 0: "
find $dir -size 0 -type f | wc -l
echo "Total size of this directory: "
find ...finding the total size of a directory in bytes...
fi
echo "The specified directory does not exist"
bash scripting directory
add a comment |
I need one additional line for my script that finds the total size of a directory and shows it in bytes and another line in the beginning of this script that checks if a directory exists.
That's my script so far:
#!/bin/bash
directory="$dir"
echo "Directory name: "
read directory
if ...checking if a directory exists... then
echo "Number of subdirectories: "
ls $dir -l| grep ^d| wc -l
echo "Number of ordinary files: "
find $dir -maxdepth 1 -type f | wc -l
echo "Number of ordinary files with size 0: "
find $dir -size 0 -type f | wc -l
echo "Total size of this directory: "
find ...finding the total size of a directory in bytes...
fi
echo "The specified directory does not exist"
bash scripting directory
1
And this should give you the last piece of the problem (see the primary expressions section): tldp.org/LDP/Bash-Beginners-Guide/html/sect_07_01.html
– Haxiel
Dec 16 at 17:22
Ok. I know how to find the total size of a directory "du -sh $dir" but how can I show it in BYTES?
– Dominik
Dec 16 at 17:24
For thedu
part, I'll point you to this answer of mine: unix.stackexchange.com/a/483177/173368
– Haxiel
Dec 16 at 17:30
K. got it. Now I want to write a line that checks if a directory exists: if [ -d "$dir" ]; then script and it works but it also shows code after "fi" if a directory exists. In my case: script, echo "The specified directory does not exist". Why does it also show echo after fi if a directory exist?
– Dominik
Dec 16 at 18:14
It's because theecho
statement is outside theif .. fi
block, which means it is unaffected by your condition. To make it conditional, you can use an else block:if [cond]; then ... else .. fi
.
– Haxiel
Dec 16 at 18:17
add a comment |
I need one additional line for my script that finds the total size of a directory and shows it in bytes and another line in the beginning of this script that checks if a directory exists.
That's my script so far:
#!/bin/bash
directory="$dir"
echo "Directory name: "
read directory
if ...checking if a directory exists... then
echo "Number of subdirectories: "
ls $dir -l| grep ^d| wc -l
echo "Number of ordinary files: "
find $dir -maxdepth 1 -type f | wc -l
echo "Number of ordinary files with size 0: "
find $dir -size 0 -type f | wc -l
echo "Total size of this directory: "
find ...finding the total size of a directory in bytes...
fi
echo "The specified directory does not exist"
bash scripting directory
I need one additional line for my script that finds the total size of a directory and shows it in bytes and another line in the beginning of this script that checks if a directory exists.
That's my script so far:
#!/bin/bash
directory="$dir"
echo "Directory name: "
read directory
if ...checking if a directory exists... then
echo "Number of subdirectories: "
ls $dir -l| grep ^d| wc -l
echo "Number of ordinary files: "
find $dir -maxdepth 1 -type f | wc -l
echo "Number of ordinary files with size 0: "
find $dir -size 0 -type f | wc -l
echo "Total size of this directory: "
find ...finding the total size of a directory in bytes...
fi
echo "The specified directory does not exist"
bash scripting directory
bash scripting directory
edited Dec 16 at 17:34
Rui F Ribeiro
38.9k1479129
38.9k1479129
asked Dec 16 at 17:10
Dominik
1
1
1
And this should give you the last piece of the problem (see the primary expressions section): tldp.org/LDP/Bash-Beginners-Guide/html/sect_07_01.html
– Haxiel
Dec 16 at 17:22
Ok. I know how to find the total size of a directory "du -sh $dir" but how can I show it in BYTES?
– Dominik
Dec 16 at 17:24
For thedu
part, I'll point you to this answer of mine: unix.stackexchange.com/a/483177/173368
– Haxiel
Dec 16 at 17:30
K. got it. Now I want to write a line that checks if a directory exists: if [ -d "$dir" ]; then script and it works but it also shows code after "fi" if a directory exists. In my case: script, echo "The specified directory does not exist". Why does it also show echo after fi if a directory exist?
– Dominik
Dec 16 at 18:14
It's because theecho
statement is outside theif .. fi
block, which means it is unaffected by your condition. To make it conditional, you can use an else block:if [cond]; then ... else .. fi
.
– Haxiel
Dec 16 at 18:17
add a comment |
1
And this should give you the last piece of the problem (see the primary expressions section): tldp.org/LDP/Bash-Beginners-Guide/html/sect_07_01.html
– Haxiel
Dec 16 at 17:22
Ok. I know how to find the total size of a directory "du -sh $dir" but how can I show it in BYTES?
– Dominik
Dec 16 at 17:24
For thedu
part, I'll point you to this answer of mine: unix.stackexchange.com/a/483177/173368
– Haxiel
Dec 16 at 17:30
K. got it. Now I want to write a line that checks if a directory exists: if [ -d "$dir" ]; then script and it works but it also shows code after "fi" if a directory exists. In my case: script, echo "The specified directory does not exist". Why does it also show echo after fi if a directory exist?
– Dominik
Dec 16 at 18:14
It's because theecho
statement is outside theif .. fi
block, which means it is unaffected by your condition. To make it conditional, you can use an else block:if [cond]; then ... else .. fi
.
– Haxiel
Dec 16 at 18:17
1
1
And this should give you the last piece of the problem (see the primary expressions section): tldp.org/LDP/Bash-Beginners-Guide/html/sect_07_01.html
– Haxiel
Dec 16 at 17:22
And this should give you the last piece of the problem (see the primary expressions section): tldp.org/LDP/Bash-Beginners-Guide/html/sect_07_01.html
– Haxiel
Dec 16 at 17:22
Ok. I know how to find the total size of a directory "du -sh $dir" but how can I show it in BYTES?
– Dominik
Dec 16 at 17:24
Ok. I know how to find the total size of a directory "du -sh $dir" but how can I show it in BYTES?
– Dominik
Dec 16 at 17:24
For the
du
part, I'll point you to this answer of mine: unix.stackexchange.com/a/483177/173368– Haxiel
Dec 16 at 17:30
For the
du
part, I'll point you to this answer of mine: unix.stackexchange.com/a/483177/173368– Haxiel
Dec 16 at 17:30
K. got it. Now I want to write a line that checks if a directory exists: if [ -d "$dir" ]; then script and it works but it also shows code after "fi" if a directory exists. In my case: script, echo "The specified directory does not exist". Why does it also show echo after fi if a directory exist?
– Dominik
Dec 16 at 18:14
K. got it. Now I want to write a line that checks if a directory exists: if [ -d "$dir" ]; then script and it works but it also shows code after "fi" if a directory exists. In my case: script, echo "The specified directory does not exist". Why does it also show echo after fi if a directory exist?
– Dominik
Dec 16 at 18:14
It's because the
echo
statement is outside the if .. fi
block, which means it is unaffected by your condition. To make it conditional, you can use an else block: if [cond]; then ... else .. fi
.– Haxiel
Dec 16 at 18:17
It's because the
echo
statement is outside the if .. fi
block, which means it is unaffected by your condition. To make it conditional, you can use an else block: if [cond]; then ... else .. fi
.– Haxiel
Dec 16 at 18:17
add a comment |
active
oldest
votes
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "106"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f489344%2fscript-finding-the-total-size-of-a-directory-and-checking-if-a-directory-exists%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f489344%2fscript-finding-the-total-size-of-a-directory-and-checking-if-a-directory-exists%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
And this should give you the last piece of the problem (see the primary expressions section): tldp.org/LDP/Bash-Beginners-Guide/html/sect_07_01.html
– Haxiel
Dec 16 at 17:22
Ok. I know how to find the total size of a directory "du -sh $dir" but how can I show it in BYTES?
– Dominik
Dec 16 at 17:24
For the
du
part, I'll point you to this answer of mine: unix.stackexchange.com/a/483177/173368– Haxiel
Dec 16 at 17:30
K. got it. Now I want to write a line that checks if a directory exists: if [ -d "$dir" ]; then script and it works but it also shows code after "fi" if a directory exists. In my case: script, echo "The specified directory does not exist". Why does it also show echo after fi if a directory exist?
– Dominik
Dec 16 at 18:14
It's because the
echo
statement is outside theif .. fi
block, which means it is unaffected by your condition. To make it conditional, you can use an else block:if [cond]; then ... else .. fi
.– Haxiel
Dec 16 at 18:17