Вы ошибаетесь, что синтаксический анализ файла кажется неэффективным, потому что вы вырываете его из контекста. Вы, вероятно, уже знаете, что информация в / proc
«создается» только тогда, когда вы ее запрашиваете, а не обновляется при каждом изменении. Так что вам нужно не только его анализировать, но и ядро должно генерировать его как текст.
Чтение нескольких байтов непосредственно в long, конечно, более эффективно, чем вызов atoi ()
для строки. Но вы должны видеть это как часть контекста, в котором вам в любом случае необходимо выполнить системный вызов. Весь дополнительный код, выполняемый для чтения некоторого содержимого файла (или для вызова какого-либо двоичного API, которое может предоставить ядро), затмевает время, необходимое для преобразования строки.
Процессы ядра, которым такие данные нужны гораздо чаще, чем обычная программа, не имеют накладных расходов, связанных с необходимостью выполнения системных вызовов для доступа к этим данным, и они могут обращаться к таким данным напрямую.
ls -l
mostrará enlaces. Intente ejecutar ls -l /root/VirtualBox VMs
y/o ls -l /home/xfce
.
Un enlace se parece a esto:
$ ls -l /bin
lrwxrwxrwx 1 root root 7 Dec 13 2016 /bin -> usr/bin
Aquí podemos ver que /bin
es un enlace simbólico a /usr/bin
. Otra forma es con la herramienta readlink
:
$ readlink -f /bin
/usr/bin
La opción -f
muestra la ruta completa al enlace.