Реализовать простой аналог классической системной программы UNIX — ls
. Программа печатает на экран файлы и каталоги, переданные ей в аргументах командной строки.
Обычный вывод ls
:
~% ls
0.jpg docs keys_71.dat post.txt
1.jpg downloads keys_78.dat public_html
:2eDS_Store Dropbox keys_82.dat qBT_dir
2.jpg dwhelper keys90.dat q.png
3.jpg ext keys.dat science.xcf
aa.pdf hs_err_pid7610.log lj_re STORE
a.out keys11.dat Mail suster1.txt
backups keys_18.dat mbox Temporary Items
bin keys48.dat mnt test.c
bmkeys.zip keys65.dat mp3 tmp
cxoffice keys_69.dat Music untitled.ui
Desktop keys70.dat Network Trash Folder work
Вывод с детальной информацией:
~% ls -l
итого 1109
-rw-r--r-- 1 root root 35690 Апр 21 11:54 0.jpg
-rw-r--r-- 1 root root 36117 Апр 21 11:55 1.jpg
-rw-r--r-- 1 od users 15364 Апр 20 14:08 :2eDS_Store
-rw-r--r-- 1 root root 30333 Апр 21 11:55 2.jpg
-rw-r--r-- 1 root root 30247 Апр 21 11:55 3.jpg
-rw-r--r-- 1 od users 568794 Май 2 2009 aa.pdf
-rwxr-xr-x 1 od users 6631 Мар 5 10:24 a.out
drwxr-xr-x 3 od users 72 Янв 4 16:11 backups
drwxr-xr-x 2 od users 608 Мар 19 15:44 bin
-rw-r--r-- 1 od users 6943 Окт 22 2009 bmkeys.zip
drwxr-xr-x 8 od users 320 Окт 29 2008 cxoffice
drwxr-xr-x 4 od users 176 Апр 3 16:02 Desktop
drwxr-xr-x 8 od users 2040 Апр 4 19:21 docs
drwxr-xr-x 22 od users 11512 Апр 26 09:24 downloads
drwxr-xr-x 9 od users 360 Мар 4 23:27 Dropbox
drwxr-xr-x 2 od users 96 Апр 17 18:58 dwhelper
drwxr-xr-x 3 od users 72 Апр 27 2009 ext
-rw-r--r-- 1 od users 95265 Мар 29 15:37 hs_err_pid7610.log
-rw-r--r-- 1 od users 855 Ноя 16 16:58 keys11.dat
-rw-r--r-- 1 od users 857 Окт 8 2009 keys_18.dat
-rw-r--r-- 1 od users 859 Окт 8 2009 keys48.dat
-rw-r--r-- 1 od users 863 Ноя 16 17:02 keys65.dat
-rw-r--r-- 1 od users 863 Ноя 16 17:02 keys_69.dat
-rw-r--r-- 1 od users 857 Окт 22 2009 keys70.dat
-rw-r--r-- 1 od users 855 Ноя 16 16:58 keys_71.dat
-rw-r--r-- 1 od users 859 Окт 8 2009 keys_78.dat
-rw-r--r-- 1 od users 857 Окт 22 2009 keys_82.dat
-rw-r--r-- 1 od users 857 Окт 8 2009 keys90.dat
-rw-r--r-- 1 od users 737 Окт 7 2009 keys.dat
-rw-r--r-- 1 od users 1507 Июл 11 2009 lj_re
drwx------ 2 od users 48 Дек 9 23:56 Mail
-rw------- 1 od mail 3452 Дек 9 23:53 mbox
drwxr-xr-x 8 od users 192 Май 1 2009 mnt
drwxr-xr-x 36 od users 2112 Ноя 24 2008 mp3
drwxr-xr-x 25 od users 832 Фев 21 11:11 Music
drwxr-xr-x 3 od users 80 Фев 10 22:29 Network Trash Folder
-rw-r--r-- 1 od users 5725 Ноя 28 01:33 post.txt
drwxr-xr-x 3 od users 72 Апр 17 2009 public_html
drwxr-xr-x 5 od users 144 Янв 10 00:39 qBT_dir
-rw-r--r-- 1 od users 24163 Окт 11 2009 q.png
-rw-r--r-- 1 od users 156114 Янв 29 11:30 science.xcf
drwxr-xr-x 9 od users 296 Апр 17 20:46 STORE
-rw-r--r-- 1 od users 12925 Янв 28 02:10 suster1.txt
drwxr-xr-x 3 od users 80 Фев 10 22:29 Temporary Items
-rw-r--r-- 1 od users 136 Мар 5 10:24 test.c
drwxr-xr-x 43 od users 2392 Апр 24 19:11 tmp
-rw-r--r-- 1 od users 6279 Мар 8 03:28 untitled.ui
drwxr-xr-x 78 od users 2168 Апр 19 10:27 work
Вызов ls
с аргументами:
~% ls -l test.c qBT_dir
-rw-r--r-- 1 od users 136 Мар 5 10:24 test.c
qBT_dir:
итого 0
drwxr-xr-x 3 od users 72 Янв 1 16:32 downloads
drwxr-xr-x 9 od users 288 Июл 31 2009 Mikrotik
drwxr-xr-x 3 od users 384 Июл 31 2009 routeros-x86-3.25
Примечания:
-r
сортирует в обратном порядке. Ключи -X
, -S
, -t
выбирают свойство для сортировки: расширение, размер, время создания соответственно.Некоторые другие ключи, которые можно реализовать:
-R
— рекурсивный вывод всех подкаталогов.-1
— вывод в одну колонку.-x
— вывод не по колонкам, а по строкам (не вниз и вправо, а вправо и вниз).-h
— показ размеров файлов не в байтах, а в более понятной человеку форме: 1K, 234M, 2G.