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

Это моя настройка в /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 | wc -l "показать правильное количество файлов в текущем каталоге?
  • du и ls сообщают о неправильном размере каталога
  • Что означает символ @ в именах файлов
  • Поиск файлов для строки и если найден, проверьте, существует ли файл с парным именем в том же каталоге
  • Почему файлы компакт-дисков не отображаются при монтировании в текущем каталоге?
  • Почему в директориях / dev для каталогов, например pts?
  • Что означает «число» в поле владельца файлов в Linux?
  • сортировать данные ls пользователями
  • Показывать сумму файлов в списке каталогов
  • В чем разница между «--color = auto» и «--color = tty»?
  • Что такое команда Linux, чтобы отобразить, сколько имен файлов в каталоге заканчивается двумя цифрами
  • Linux и Unix - лучшая ОС в мире.