Представьте, что вы работали в системе, и кто-то случайно удалил
ls
команду (/bin/ls
). Как вы можете получить список файлов в текущем каталоге? Попытайся.
Я перепробовал много методов, а также искал в Интернете, но ничего. Я хочу спросить у ls
команды, какую команду мы можем использовать для вывода списка всех файлов.
shell
command-line
ls
Эдуард Флоринеску
источник
источник
echo *
полезно на практике, когда вы испортили свою систему, так что вы не можете выполнить какую-либо программу (например, удалилиlibc.so
илиld.so
), но у вас все еще есть работающая оболочка.echo **/*
это для рекурсивного выполнения.Меньше TAB TAB
Параметр find -ls не зависит от / bin / ls, имеет собственный формат и отображает подробную информацию:
другой, детали, показывающие возможность, является
stat
источник
Чтобы это выглядело
ls
, я бы использовалfor
цикл Bash :Если это не сработает, я бы попробовал Python
;)
:источник
import glob; print '\n'.join(glob.glob('/home/*'))
будет работать так же хорошо.Добрый день;) (с сортировкой, просмотром и т. Д.)
источник
Хотя вы, вероятно, захотите ввести любые ограничивающие параметры, которые вам нужны.
источник
lsattr ./*
getfacl ./*
будет отображать разрешения тожеgrep -l '.*' ./*
awk 'FNR==1 {print FILENAME}' ./*
работает с GNU awkdebugfs /dev/sdX
замените sdX на любой раздел, на котором вы хотите выполнить ls, тогда вы можете использовать ls внутри debugfslynx ./
mc
при условии, что у вас установлен полночный командиристочник
Аналогично
echo
версии, но для большей читабельности выводится одна запись в строке:или
Рекурсивно (для bash 4+; другим оболочкам либо нужна другая опция, чтобы установить его, либо по умолчанию включен globstar):
источник
**
будет повторяться во всех каталогах, еслиglobstar
оно установлено. Просто измени наprintf '%s' **
.Как насчет
dir
команды? :)/bin/dir
источник
Ну, если бы я не мог использовать ls в режиме оболочки emacs, я мог бы переключиться в режим eshell или просто в dired.
источник
Если у меня запущена оболочка bash (или любая другая оболочка с завершением), я бы просто набрал '*', а затем tab.
Или, как я обычно начинал X, я также могу просто сделать «nautilus», но хорошо, что это для людей.
Я также могу попробовать / usr / bin / lsattr
Но в реальном мире то, что я действительно сделал бы, если бы такая вещь произошла со мной, было бы:
источник
В bash или оболочке с аналогичным завершением табуляции вам вообще не нужно использовать настоящую команду:
wibble
после двух вкладок вы получите список файлов в текущем каталоге, аwibble /bin/
затем две вкладки покажут вам, что слева от / бин. Однажды я оказался в этой ситуации (на самом деле, я полностью убил / bin вместе с некоторыми другими вещами), и начал использоватьecho *
подход, предложенный @STATUS_ACCESS_DENIED, но в конечном итоге оказалось, что завершение табуляции более удобно.источник
С другой стороны
tree
, здесь нигде не упоминается, она идет рекурсивно и, в отличие от find, или если у вас нет ошибок (например,:)Permission denied
,Not a directory
вы также получаете абсолютный путь, если вы хотите передать файлыxargs
или другую командуварианты значения:
источник