Я немного запутался в том, что каталог на самом деле. В разных местах я читал, что в каталогах Linux есть просто строки, в которых хранятся имена вложенных файлов. В таком случае есть ли способ показать содержимое каталога точно так же, как если бы мы использовали cat file?

Я хотел бы, чтобы сделать cat . и тогда я ожидал бы получить что-то вроде этого:

\STARTfile1\0file2\0\END

2 ответа2

2

В файловых системах Linux, по сути, «все является« индексом ».

"Файл" - это именованный набор инодов, которые содержат данные.

"Каталог" содержит списки файлов.

ОДИНАКОВЫЕ ИДЫ могут быть разделены РАЗЛИЧНЫМИ файлами. Другими словами, один и тот же файл (возможно, в другом каталоге) может иметь несколько имен.

Эти ссылки могут помочь уточнить:

PS: Возможно, вы заинтересованы в API "readdir()":

http://linux.die.net/man/3/readdir

0

Следует учесть, что vi покажет список каталогов, если вы vi [DIR]:

vi /home/jon/

дает:

" ============================================================================
" Netrw Directory Listing                                        (netrw v102)
"   /home/jon
"   Sorted by      name
"   Sort sequence: [\/]$,*,\.bak$,\.o$,\.h$,\.info$,\.swp$,\.obj$
"   Quick Help: <F1>:help  -:go up dir  D:delete  R:rename  s:sort-by  x:exec
" ============================================================================
../
./
.fontconfig/
.ipython/
.matplotlib/
.pip/
.pylint.d/
.python-eggs/
.ssh/
.subversion/
.vim/
Python-2.7.1/
acl/
backup/
cron/
mqueue/
public_html/
python26/
reporter/
repos/
scripts/
test/
.Xauthority
.Xresources
.bash_history
.bash_logout
.bash_profile
.bashrc
.csshrc
.lesshst
.mysql_history
.pylintrc
.screenrc
.smblogin
.sqlite_history
.toprc
.viminfo
.vimrc
csshrc.back
mbox
test.cpp
test.py
test.tar.gz
testIt.py
testite
test.o

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .