Как я могу перечислить все файлы и символические ссылки в компактном представлении?

Это моя настройка в /tmp/test/

если я использую ls -l

 -rw-r--r-- 1 rubo77 rubo77 0 Okt 21 04:15 a -rw-r--r-- 1 rubo77 rubo77 2 Okt 21 04:16 b drwxr-xr-x 2 rubo77 rubo77 4,0K Okt 21 03:58 c lrwxrwxrwx 1 rubo77 rubo77 1 Okt 21 03:57 d -> c lrwxrwxrwx 1 rubo77 rubo77 1 Okt 21 03:58 e -> a lrwxrwxrwx 1 rubo77 rubo77 2 Okt 21 03:59 f -> nofile 

Если я использую только ls я вижу только файлы без деталей:

 abcdef 

ls -F добавляет индикатор (один из * / => @ |) в записи

 abc/ d@ e@ f@ 

Как я могу добиться этого отображения?

 abc/ d->c/ e->a f->nofile 

3 Solutions collect form web for “Как я могу перечислить все файлы и символические ссылки в компактном представлении?”

 #!/bin/bash ls -l | while read response do words=`echo $response | wc -w` #count how many words are case "$words" in 9) echo $response | cut -d " " -f9 # when file is not a symlink then the ouput prints only 9 fields ;; 11) echo $response | cut -d " " -f9-11 # when file is symlink its prints 11 fields indicating the target and symbol "->" ;; esac done 

Если вы буферизируете вывод, вы можете отправить его в column :

 #!/bin/bash TMP=/tmp/output-buffer echo "">$TMP ls -l | while read response do words=`echo $response | wc -w` case "$words" in 9) echo $response | cut -d " " -f9 >>$TMP ;; 11) echo $response | cut -d " " -f9-11 >>$TMP ;; esac done cat $TMP | column rm $TMP 

простое решение с дополнительной информацией:

 ls -hago | column 

также интересно (но без показанных ссылок):
Это отобразит все файлы с удобочитаемыми размерами в столбцах:

 ls -sh 

Эти команды будут выполнять эту работу:

 ls -lah | awk '{print $5, $9$10$11}' | column -t | column 

или

 ls -hago --color=no| sed 's/^[^ ][^ ]* *[^ ][^ ]* \( *[^ ][^ ]*\) ............/\1/' | column 

с окраской он работает тоже, но не выглядит так приказал:

 if [ -t 1 ]; then color=yes; else color=no; fi ls -hago --color="$color"| sed 's/^[^ ][^ ]* *[^ ][^ ]* \( *[^ ][^ ]*\) ............/\1/' | column 
  • Список аргументов слишком длинный для ls
  • Как перечислить ВСЕ каталоги в соответствии с их размером?
  • Укажите только количество всех файлов / каталогов для дерева каталогов текущего каталога
  • Solaris + отметка времени файла отображения
  • Файлы списка ls, не соответствующие заданной строке в имени файла
  • Список недавно измененных файлов
  • то, что является итоговым в выводе команды ls
  • Показывать список файлов в текущем каталоге во время навигации? (Экран, Linux)
  • dircolor ошибки, вызванные разрешением ntfs-3g
  • Команда ls не работает для каталога с огромным количеством файлов
  • В чем разница между ls и l?
  • Interesting Posts

    Системный язык Linux Mint 14 превращается в китайский. Как я могу вернуться на английский язык?

    Есть ли способ предотвратить git от изменения прав доступа и прав собственности на pull?

    Как объяснить следующий сценарий?

    Установка устройства без разрешения на чтение

    Доступ к базе данных Firebird?

    Как изменить имена блоков устройств, например / dev / sdc, на / dev / sdb?

    Сценарий установки должен выполняться как определенный (обычный) пользователь, но ему необходимо создать системный каталог

    Как проще задавать задачи для пакета, используя инструмент префикса команд?

    tmux set-titles не работает?

    как сделать изменения брандмауэра постоянными через firewall-cmd?

    Во время загрузки «Ожидание / dev для полного заполнения» заставляет перезагружать

    Изменение поведения

    диспетчер окон при входе в текстовый режим

    Учитывая тип mime, получите соответствующее расширение файла

    Выполнение команды по многим файлам

    Linux и Unix - лучшая ОС в мире.