In Shell scripting, we can perform lots of file based operations such as
checking if file exists, checking if it's a directory, checking if it's
a writable file and so on.
For Example, following is a shell script
that checks if the file "config_file.txt" exists.
#!/bin/bash
FILE="config_file.txt"
if [ -f $FILE ]; then
echo "File $FILE exists"
else
echo "File $FILE does not exists"
fi
Following are the list of options available for file operations.
-a file
True if file exists.
-b file
True if file exists
and is a block special file.
-c file
True if file exists
and is a character special file.
-d file
True if file exists
and is a directory.
-e file
True if file exists.
-f file
True if file exists
and is a regular file.
-g file
True if file exists
and is set-group-id.
-h file
True if file exists
and is a symbolic link.
-k file
True if file exists
and its ‘‘sticky’’ bit is set.
-p file
True if file exists
and is a named pipe (FIFO).
-r file
True if file exists
and is readable.
-s file
True if file exists
and has a size greater than zero.
-t fd
True if file descriptor fd is open and
refers to a terminal.
-u file
True if file exists
and its set-user-id bit is set.
-w file
True if file exists
and is writable.
-x file
True if file exists
and is executable.
-O file
True if file exists
and is owned by the effective user id.
-G file
True if file exists
and is owned by the effective group id.
-L file
True if file exists
and is a symbolic link.
-S file
True if file exists
and is a socket.
-N file
True if file exists
and has been modified since it was last read.
file1 -nt file2
True if file1 is
newer (according to modification date) than file2, or if file1 exists and
file2 does not.
file1 -ot file2
True if file1 is
older than file2, or if file2 exists and file1 does not.
file1 -ef file2
True if file1 and
file2 refer to the same device and inode numbers.
No comments:
Post a Comment