Вы не можете получить всю информацию с ls
.
Вам нужно несколько команд:
Имя :
ls
Владелец :
ls -ld <filename> | cut -f3 -d' '
Например:
root
Дата изменения :
ls -ld <filename> | awk ''
Например:
2012-03-02 06:56
(Используйте
stat <filename>
для даты доступа и изменения.)Тип :
file <filename>
Например:
/lib/libiw.so.30: ELF 32-bit LSB shared object, Intel 80386 (...)
Размер :
ls -hld <filename> | cut -f5 -d' '
Например:
34K
Метки : N / A
Компания :
apt-cache show $(dpkg -S <filename> | cut -f1 -d:) | grep Origin
Например:
Origin: Ubuntu
(В системах на основе .rpm эту информацию можно найти в
rpm -q -i -f <filename>
)Авторское право :
cat /usr/share/doc/$(dpkg -S <filename> | cut -f1 -d:)/copyright 2>/dev/null || echo 'No copyright information'
Например:
(...) Copyright: Commercial (...)
(В системах на основе .rpm эту информацию можно найти в
rpm -q -i -f <filename>
)Описание :
apt-cache show $(dpkg -S <filename> | cut -f1 -d:) | fgrep 'Description' | fgrep -v Description-md5
Например:
Description-en: Filesystem in Userspace (library)
(В системах на основе .rpm эту информацию можно найти в
rpm -q -i -f <filename>
)Длинное описание :
apt-cache show $(dpkg -S <filename> | cut -f1 -d:) | egrep -v '^[^ ]'
Например:
GNU findutils provides utilities to find files meeting specified criteria and perform various actions on the files which are found. This package contains 'find' and 'xargs'; however, 'locate' has been split off into a separate package.
(В системах на основе .rpm эту информацию можно найти в
rpm -q -i -f <filename>
)
Это очень быстрая и грязная функция оболочки для Ubuntu, которая предоставляет большую часть информации выше:
function lsw { filename=$1; ( echo "XXNameXXOwnerXXDate ModifiedXXTypeXXSizeXXCompanyXXDescription"; ( echo XX$filename; echo -n XX; ls -dl $filename | cut -f3 -d' '; echo -n XX; ls -dl $filename | awk ''; echo -n XX; file $filename | cut -f2 -d: | cut -f1 -d,; echo -n XX; ls -hld $filename| cut -f5 -d' '; echo -n XX; apt-cache show $(dpkg -S $filename 2>/dev/null| cut -f1 -d:) 2>/dev/null| egrep 'Origin:|Section:' | tail -n 1 | cut -f2 -d:; echo -n XX; apt-cache show $(dpkg -S $filename 2>/dev/null| cut -f1 -d:) 2>/dev/null| fgrep 'Description' | fgrep -v Description-md5 | cut -f2 -d:) | tr '\n' ' '; echo ) | column -t -s XX; }
Некоторые примеры:
$ lsw /home/jaume Name Owner Date Modified Type Size Company Description /home/jaume jaume 2013-02-19 22:01 directory 4.0K $ lsw /opt/ibm/notes/notes Name Owner Date Modified Type Size Company Description /opt/ibm/notes/notes root 2012-12-08 08:47 ELF 32-bit LSB executable 47K IBM IBM Notes $ lsw /lib/libfuse.so.2 Name Owner Date Modified Type Size Company Description /lib/libfuse.so.2 root 2012-03-02 16:33 symbolic link to `libfuse.so.2.8.6' 16 Ubuntu Filesystem in Userspace (library)