Посмотреть информацию о файле или директории можно при помощи команды ls
ls options directory-or-file-name
ls: Практические примеры наиболее частого применения.
Команда ls
по-умолчанию отображает содержимое текущей директории
!ls
0.Bash_Keyboard_Shortcuts.ipynb 4.Bash_Globbing.ipynb 1.Bash_links.ipynb hard-link 2.Bash_Ls.ipynb myfile 3.Bash_Permissions_and_Ownership.ipynb myfile-hardlink 3.Bash_Search_for_files.ipynb myfile-softlink
Ключ -l
запрашивает подробную информацию о файле в виде таблицы. » . » точка обозначает текущую директорию.
!ls -l .
total 8 -rw-rw-r-- 1 sergey sergey 3627 Sep 2 21:09 1.Bash_links.ipynb -rw-rw-r-- 1 sergey sergey 666 Sep 2 21:15 2.Bash_Permissions.ipynb -rw-rw-r-- 3 sergey sergey 0 Sep 2 20:56 hard-link -rw-rw-r-- 3 sergey sergey 0 Sep 2 20:56 myfile -rw-rw-r-- 3 sergey sergey 0 Sep 2 20:56 myfile-hardlink lrwxrwxrwx 1 sergey sergey 6 Sep 2 20:56 myfile-softlink -> myfile
Для файла 1.Bash_links.ipynb
:
-rw-rw-r--
означает:- «-» — первый дефис означает, что это файл. Может быть также:
- «d» — директория
- «l» — soft-link
- «c» — character device
- «p» — pipes
- «s» — socket
- следующие 3 группы по три знака
r, read
,w, write
,x, execute
означают права для:- владельца файла (того кто его создал)
- группы
- всех остальных пользователей
- «-» — первый дефис означает, что это файл. Может быть также:
sergey
является владельцем файла и принадлежит к группеsergey
- 1,3 — второе поле — количество жестких линков к файлу (сам файл — это тоже жесткий линк)
- 3267 — размер файла в байтах
- Sep 2 21:09 — время последней модификации файла
- » 1.Bash_links.ipynb » — имя файла
ls: ОПЦИИ
- -a — показывать скрытые файлы
- -l — подробная таблица
- -h — humane readable формат выдачи (применяется вместе с » -l » )
- -S — сортировать по размеру (применяется вместе с » -l » )
- -t — сортировать по времени изменения
- -u — сортироваь по времени доступа
ls: ПРИМЕРЫ
!ls -lh
total 36K -rw-rw-r-- 1 sergey sergey 2.3K Sep 3 11:52 0.Bash_Keyboard_Shortcuts.ipynb -rw-rw-r-- 1 sergey sergey 3.6K Sep 2 21:09 1.Bash_links.ipynb -rw-rw-r-- 1 sergey sergey 4.8K Sep 3 16:44 2.Bash_Ls.ipynb -rw-rw-r-- 1 sergey sergey 3.3K Sep 3 16:29 3.Bash_Permissions_and_Ownership.ipynb -rw-rw-r-- 1 sergey sergey 11K Sep 3 14:42 3.Bash_Search_for_files.ipynb -rw-rw-r-- 1 sergey sergey 2.8K Sep 3 15:42 4.Bash_Globbing.ipynb -rwxrwxrwx 3 sergey sergey 0 Sep 2 20:56 hard-link -rwxrwxrwx 3 sergey sergey 0 Sep 2 20:56 myfile -rwxrwxrwx 3 sergey sergey 0 Sep 2 20:56 myfile-hardlink lrwxrwxrwx 1 sergey sergey 6 Sep 2 20:56 myfile-softlink -> myfile
!ls -lSh
total 36K -rw-rw-r-- 1 sergey sergey 11K Sep 3 14:42 3.Bash_Search_for_files.ipynb -rw-rw-r-- 1 sergey sergey 4.8K Sep 3 16:44 2.Bash_Ls.ipynb -rw-rw-r-- 1 sergey sergey 3.6K Sep 2 21:09 1.Bash_links.ipynb -rw-rw-r-- 1 sergey sergey 3.3K Sep 3 16:29 3.Bash_Permissions_and_Ownership.ipynb -rw-rw-r-- 1 sergey sergey 2.8K Sep 3 15:42 4.Bash_Globbing.ipynb -rw-rw-r-- 1 sergey sergey 2.3K Sep 3 11:52 0.Bash_Keyboard_Shortcuts.ipynb lrwxrwxrwx 1 sergey sergey 6 Sep 2 20:56 myfile-softlink -> myfile -rwxrwxrwx 3 sergey sergey 0 Sep 2 20:56 hard-link -rwxrwxrwx 3 sergey sergey 0 Sep 2 20:56 myfile -rwxrwxrwx 3 sergey sergey 0 Sep 2 20:56 myfile-hardlink
Можно задавать маску файлов для отображения (см. подробнее globbing)
!ls -lSh myfile*
lrwxrwxrwx 1 sergey sergey 6 Sep 2 20:56 myfile-softlink -> myfile -rwxrwxrwx 3 sergey sergey 0 Sep 2 20:56 myfile -rwxrwxrwx 3 sergey sergey 0 Sep 2 20:56 myfile-hardlink
Результат исполнения может передаваться следующему оператору через pipe
!ls | grep -vE '.*\.ipynb'
hard-link myfile myfile-hardlink myfile-softlink
Таблицу можно отсортировать с помощью других утилит Linux
!ls -lh | sort -nrk 5
-rw-rw-r-- 1 sergey sergey 11K Sep 3 14:42 4.Bash_Search_for_files.ipynb -rw-rw-r-- 1 sergey sergey 9.2K Sep 3 17:04 2.Bash_Ls.ipynb lrwxrwxrwx 1 sergey sergey 6 Sep 2 20:56 myfile-softlink -> myfile -rw-rw-r-- 1 sergey sergey 3.6K Sep 2 21:09 1.Bash_links.ipynb -rw-rw-r-- 1 sergey sergey 3.3K Sep 3 16:29 3.Bash_Permissions_and_Ownership.ipynb -rw-rw-r-- 1 sergey sergey 2.8K Sep 3 15:42 5.Bash_Globbing.ipynb -rw-rw-r-- 1 sergey sergey 2.3K Sep 3 11:52 0.Bash_Keyboard_Shortcuts.ipynb total 40K -rwxrwxrwx 3 sergey sergey 0 Sep 2 20:56 myfile-hardlink -rwxrwxrwx 3 sergey sergey 0 Sep 2 20:56 myfile -rwxrwxrwx 3 sergey sergey 0 Sep 2 20:56 hard-link
!ls -lh | sort -k 9
total 40K -rw-rw-r-- 1 sergey sergey 2.3K Sep 3 11:52 0.Bash_Keyboard_Shortcuts.ipynb -rw-rw-r-- 1 sergey sergey 3.6K Sep 2 21:09 1.Bash_links.ipynb -rw-rw-r-- 1 sergey sergey 9.2K Sep 3 17:04 2.Bash_Ls.ipynb -rw-rw-r-- 1 sergey sergey 3.3K Sep 3 16:29 3.Bash_Permissions_and_Ownership.ipynb -rw-rw-r-- 1 sergey sergey 11K Sep 3 14:42 4.Bash_Search_for_files.ipynb -rw-rw-r-- 1 sergey sergey 2.8K Sep 3 15:42 5.Bash_Globbing.ipynb -rwxrwxrwx 3 sergey sergey 0 Sep 2 20:56 hard-link -rwxrwxrwx 3 sergey sergey 0 Sep 2 20:56 myfile -rwxrwxrwx 3 sergey sergey 0 Sep 2 20:56 myfile-hardlink lrwxrwxrwx 1 sergey sergey 6 Sep 2 20:56 myfile-softlink -> myfile
Для того, чтобы рекурсивно искать файлы, имена которых заданы при помощи маски, необходимо включить опцию
shopt -s globstar
Write a comment: