Una soluzione semplice che non necessita di comandi esterni.

# BASH
# What is this directory?

fname='txtfile'
echo $(dirname "$fname")                # output: .
echo $(readlink -f "$fname")            # output: /home/me/work/txtfile

echo $(dirname $(readlink -f "$fname")) # output: /home/me/work

(Da questa risposta su Stackoverflow)