Файловый дескриптор в Linux - неотрицательное число, обычно возвращается в ответ на системный вызов open().
У каждого процесса есть таблица открытых файлов, обычно зарезервировано три: 0, 1 и 2 - файл с данными для чтения, файл для записи вывода и файл для записи ошибок.
Еще глубже - файловый дескриптор - это индекс в таблице с ссылками на структуры файлов, в свою очередь эта структура хранит другую ссылку с inode и данными о текущем файле, например, открыт он для чтения или записи, где текущая позиция чтения или записи и другое.
Посмотреть списки всех открытых файлов можно командой sudo lsof, для процесса есть флаг -p, для пользователя -u.
Inode - это индексный дескриптор, который в виде структуры хранит общую информацию о файле типа кто владелец, когда он был создан и сколько весит. Посмотреть можно командой stat <нужный файл>