Operators: Files#

OperatorTests WhetherOperatorTests Whether
-eFile exists-sFile is not zero size
-fFile is a regular file
-dFile is a directory-rFile has read permission
-hFile is a symbolic link-wFile has write permission
-LFile is a symbolic link-xFile has execute permission
-bFile is a block device
-cFile is a character device-gsgid flag set
-pFile is a pipe-usuid flag set
-SFile is a socket-k“sticky bit” set
-tFile is associated with a terminal
-NFile modified since it was last readF1 -nt F2File F1 is newer than F2 *
-OYou own the fileF1 -ot F2File F1 is older than F2 *
-GGroup id of file same as yoursF1 -ef F2Files F1 and F2 are hard links to the same file *
!NOT (inverts sense of above tests)

Sample#


function is_symbolic_link(){
    echo "Is the file $1  a symbolic link?";

    if  [ -f $1 ] && [ -h $1 ]; 
    then
        echo 'true' ; 
    else 
        echo 'false'; 
    fi;
}

function is_file_empty () {

    echo "Is the file $1  empty?";

    if  [ -f $1 ] && [ ! -s $1 ]; 
    then
        echo 'true' ; 
    else 
        echo 'false'; 
    fi;
}