#
Useful Bash Commands, Snippets and Oneliners
#
Display the access rights in octal of all files with in a directory
stat -c "%a %n" *
#
Diff-ing a local and remote file
ssh node1.example.com cat '/full/file/path/text.txt' \
| diff -y --suppress-common-lines /full/file/path/text.txt -
#
Diff-ing files on two remote systems
diff -y --suppress-common-lines \
<(ssh node1.example.com 'cat /full/file/path/text.txt') \
<( ssh node2.example.com 'cat /full/file/path/text.txt')
#
Sort files by human readable size
du -sk * | sort -rn | awk '{print $2}' | xargs -ia du -hs "a"
du -sk * | sort -rn | awk '{ split( "KB MB GB" , v ); s=1; while( $1>1024 ){ $1/=1024; s++ } print int($1) v[s], $2 }'
#
Determine inode Usage ( This can take several minutes to complete )
In a directory where you suspect there might be a lot of inode usage run the following
find . -type d |
while
read line
do
echo "$( find "$line" -maxdepth 1 | wc -l) $line"
done |
sort -rn | less
#
Test GPG/PGP Passphrase
echo "1234" | gpg --no-use-agent -o /dev/null --local-user <keyID> -as - \
&& echo "The correct passphrase was entered for this key"
#
List Linux processes using SWAP memory
for file in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 2 -n -r | less
#
List the free PV disk space not used by LVM
freepe=$(sudo pvdisplay | grep 'Free PE' | awk '{ print $3 }') \
&& pesize=$(sudo pvdisplay | grep 'PE Size' | awk '{ print int( $3 ) }') \
&& mbpe=$(expr ${freepe} \* ${pesize}) && echo $(expr ${mbpe} / 1024) GB