Не уверен ls, но вы можете легко сделать это с помощью fileкоманды: file /directory/containing/the/files -maxdepth 1 -not -type d.
Хеннинг Кокербек
1
Другим способом было бы фильтровать вывод lsчерез grep, что-то вроде ls -1F /directory/containing/the/files | grep -vE /$. Но помните, что анализ выходных данных ls может быть сложным .
Использование tell ls -pговорит, lsчтобы добавить косую черту к записям, которые являются каталогом, а использование grep -v /tell grepвозвращает только строки, не содержащие косую черту.
Я проверил этот, потому что это мой любимый ответ (хотя я все-таки голосовал против всех), но теперь пытаюсь найти способ поместить его в столбцы и изменить порядок вывода ...
thinkinbinary
«Вы можете использовать 1 переключатель для списка из одного столбца» извините, я попытался выяснить, что вы имели в виду, я был бы признателен, если бы вы
дали
@sdkks Вам не нужен 1переключатель при передаче результатов, так как в этом случае он будет по умолчанию установлен на один столбец. Если это то, что вы имели в виду.
Томасруттер
@thinksinbinary не уверен, как сделать его многостолбцовым, но вы можете найти или задать свой отдельный вопрос, и кто-то узнает.
Томасруттер
7
Вы можете попробовать это:
find . -maxdepth 1 -not -type d
И сопоставьте это специальному псевдониму.
Но если вы действительно заинтересованы в использовании lsкоманды, здесь:
В вашем (@thinksinbinary) комментарии к ответу @thomasrutter я увидел, что вы хотите печатать их в обратном порядке и в столбцах. Вы, наверное, уже поняли это или пошли дальше, но вот оно:
ls -pr | grep -v / | column
-p добавляет косую черту ('/') к именам каталогов
-r меняет порядок вывода
-v позволяет grep выполнять обратный поиск, чтобы распечатать все, кроме каталогов ( все, что не содержит '/', поставленного там -p )
« столбец помещает его в столбцы» - Капитан Очевидность
я действительно думаю, что это круто, что на форуме Ubuntu люди все еще комментируют и читают ваши посты после долгого времени. Я давно хотел вернуться в Linux, чтобы изучать ассемблер и операционные системы, поскольку в Windows это сделать гораздо сложнее. Благодарность!
думает об этом
0
ls -F | grep -v /
Выше команда отображает файлы, но она включает в себя символические ссылки, каналы и т. Д. Если вы хотите удалить их тоже, вы можете использовать один из флагов, упомянутых ниже.
ls -Fдобавляет символы к именам файлов. Эти символы показывают полезную информацию о файлах.
ls
, но вы можете легко сделать это с помощьюfile
команды:file /directory/containing/the/files -maxdepth 1 -not -type d
.ls
черезgrep
, что-то вродеls -1F /directory/containing/the/files | grep -vE /$
. Но помните, что анализ выходных данных ls может быть сложным .Ответы:
Использование tell
ls -p
говорит,ls
чтобы добавить косую черту к записям, которые являются каталогом, а использованиеgrep -v /
tellgrep
возвращает только строки, не содержащие косую черту.источник
1
переключатель при передаче результатов, так как в этом случае он будет по умолчанию установлен на один столбец. Если это то, что вы имели в виду.Вы можете попробовать это:
find . -maxdepth 1 -not -type d
И сопоставьте это специальному псевдониму.
Но если вы действительно заинтересованы в использовании
ls
команды, здесь:ls -p | egrep -v /$
источник
В качестве альтернативы:
Этот метод перечисляет в
-l
Длинный список формат-A
Отображает почти все (показывать скрытые файлы, но не показывать.
и..
)-h
Удобочитаемые размеры файловпока grep
-v
Не показывать соответствующие записиRegular expression
фильтр^d
- те, которые начинаются с буквы d (для каталога), т.е.drwxrwxr-x <some file details> <foldername>
Если вы не хотите печатать каждый раз, вы можете сделать это псевдонимом для вашего профиля bash / shell.
источник
В вашем (@thinksinbinary) комментарии к ответу @thomasrutter я увидел, что вы хотите печатать их в обратном порядке и в столбцах. Вы, наверное, уже поняли это или пошли дальше, но вот оно:
источник
Выше команда отображает файлы, но она включает в себя символические ссылки, каналы и т. Д. Если вы хотите удалить их тоже, вы можете использовать один из флагов, упомянутых ниже.
ls -F
добавляет символы к именам файлов. Эти символы показывают полезную информацию о файлах.@
означает символическую ссылку (или что файл имеет расширенные атрибуты ).*
означает исполняемый .=
значит сокет .|
означает именованную трубу .>
означает дверь ./
означает каталог .Над командой отображаются только файлы.
источник