Um diretório é uma "pasta", um lugar onde você pode colocar arquivos ou outros diretórios (e arquivos especiais, dispositivos, links simbólicos ...). É um contêiner para objetos do sistema de arquivos.
Um caminho é uma cadeia de caracteres que especifica como acessar um objeto do sistema de arquivos (e esse objeto pode ser um arquivo, um diretório, um arquivo especial, ...).
Exemplo: você tem (provavelmente, dependendo do seu sistema) um arquivo no qual as mensagens do sistema são registradas, chamado syslog .
Ele normalmente fica em um diretório chamado log , que está contido em um diretório chamado var , que está no diretório-raiz do seu sistema de arquivos.
Agora, /var/log/syslog é um caminho para esse arquivo (um caminho absoluto nesse caso), pois /var/log é um caminho para o diretório que contém o arquivo. /var/spool/../log/syslog também é um caminho para o arquivo syslog (se /var/spool existir).
Os caminhos também podem ser relativos. Portanto, se seu diretório atual for /home/user , o caminho ../../var/log/syslog também será um caminho relativo para o mesmo arquivo (você sabe que é relativo porque não começa com / ).
E no seu diretório pessoal, se você criar um link simbólico para /var/log desta forma:
ln -s /var/log myvarlog
então myvarlog/syslog é outro caminho para o nosso arquivo.