Giriş
list directory contents anlamına gelir. Seçeneksiz çalıştırırsa sadece dosya isimlerini gösterir. Şöyle
yaparız.
$ ls
Applications Documents Library Music Public
Desktop Downloads Movies Pictures
- Eğer çıktıda "+" karakteri görüyorsak ACL atanmıştır.
getfacl komutu yazısına bakabilirsiniz.
- Eğer çıktıda "t" veya "T" karakteri görüyorsak, sticky bit atanmıştır.
chmod ve sticky bit yazısına bakabilirsiniz. Bu dizinde herkes dosya oluşturabilir ancak sadece dizinin sahibi silebilir
- Eğer çıktıda "s" veya "S" karakteri görüyorsak, SUID bit'i atanmıştır.
chdmod ve suid biti yazısına bakabilirsiniz. root kullanıcı olmasak bile, dosyanın sahibi root ise, root kullanıcı gibi çalışabilmeyi sağlar.
Exit Code
Eğer belirtilen dosya varsa ls exit code olarak 0 verir.
Örnek
Bir dizinde belli bir isimdeki dosya varsa o dizinin ismini yazdırmak isteyelim. Şöyle
yaparız. ls dosya varsa exit code olarak 0 vereceği için || tarafı da çalıştırılır.
while read line; do
ls "$line/path2/file2" &> /dev/null || ls "path1/$line/path2"
done < /path_to_this_file/file.txt
Soru İşareti Karakteri Çıktısı
Non printable karakter varsa, bu karakter yerine ? karakteri gösterilir. Açıklaması
şöyle.
The ls utility will replace non printable characters with ?. It is further unclear whether the non printable character really is the first character in the filename or whether there may be one or several spaces before that.
Glob Kullanmak
Örnek
*:2* örüntüsünü aramak istersek şöyle
yaparız. ":" karakterini "\" karakteri ile escape ederiz.
ls -l *\:2,*T
-- seçeneği
Açıklaması
şöyle
You can usually use -- to indicate the end of command options
Örnek
Dosya i-smleri - karakteri ile başlıyorsa şöyle
yaparız.
ls -- -*
-1 seçeneği - Eksi bir
Eksi küçük L değildir. Eksi bir karakteridir. Her dosya ismini bir satıra yazar, başka bilgi eklemez.
-1 (The numeric digit "one".) Force output to be one entry per line.
This is the default when output is not to a terminal.
ls -1 lists one file per line. By default, when it’s outputting to a terminal, ls lists files in columns, whose number varies depending on the length of the file names and the available space on screen.
ÖrnekŞöyle
yaparız.
$ ls -1 -- *.tar.gz
file1.tar.gz
file2.tar.gz
file?3.tar.gz
-a seçeneği Gizli dosyaları
gösterir.
-d seçeneği
Sadece diizinleri gösterir.
Örnek
Şöyle
yaparız.
$ ls -d */
archive/ DownloadImages/ fixed/ getNews/ html/ log/ MonumentData/ NewsData/
Örnek
En son yaratılan dizine gitmek için şöyle
yaparız. Sadece dizinleri listeler. En sonuncu dizin bir değişkene alınır.
alias res='var=$(ls --directory /path/to/results/res* | tail -n 1); cd $var'
--color seçeneği
Örnek
ls komutunun çıktısı renkli değildir. Alias eklemek için şöyle
yaparız.
## Colorize the ls output ##
alias ls='ls --color=auto'
## Use a long listing format ##
alias ll='ls -la'
## Show hidden files ##
alias l.='ls -d .* --color=auto'
Örnek
Şöyle
yaparız.
/bin/ls --color > file1
Şöyle
yaparız.
/bin/ls --color=auto
--group-directories-first seçeneği
Şöyle
yaparız.
$ ls -b --group-directories-first | awk '{print NR ". " $0}'
1. dir1
2. dir2
3. dir3
4. z-dir1
5. z-dir2
6. z-dir3
7. file1
8. file2
9. file3
10. file4
11. file5
12. file6
13. file7
14. file\nnewline
-h seçeneği
Büyüklükleri human readable olarak
gösterir
-i seçeneğiinode değerlerini gösterir.
Örnek
Şöyle
yaparız.
ls -li
12582925 -rw-r--r-- 1 root root 646 May 23 02:19 ?ssolveIncpUL46pK.txt
Örnek
Farklı dosya sistemleri aynı inode numarasına sahip olabilir. Görmek için şöyle
yaparız. / ve /home dosya sistemleri aynı inode numarasına sahip.
$ ls -id / /home
2 / 2 /home
-I seçeneği - Ignore
Örnek
Şöyle yaparız
/bin/ls -1 -I *svn* src/main/resources/ddl
-l seçeneği - Eksi küçük L harfi
Permission bilgileri ile dosyaları
gösterir. FAT32 dosya sisteminde permission yeteneği olmamasına rağmen FAT32 sürücüsü varmış gibi
davranır.
Örnek
Şöyle
yaparız. Dosyanın byte cinsinden büyüklüğü en başa yazılır. Bu dosya 8 byte büyüklüğünde
$ ls -ls test
8 -rw-rw-r-- 1 admin admin 0 feb 27 16:45 test
-N seçeneği
Açıklaması
şöyle.
-N, --literal
print entry names without quoting
Örnek
Eğer bı seçeneği kullanmazsa içinde boşluk olan dosyalar tek tırnak içinde gösterilir. Şöyle
yaparız
$ ls
bar 'foo bar'
-t seçeneği-l seçeneği normalde alfabetik olarak sıralar. -lt olarak kullanılırsa en yeni dosyadan başlayarak sıralar. Açıklaması
şöyle.
ls -l will order files in alphabetical order. ls -lt will order files in order of modification time, newest first, to the greatest accuracy supported by the underlying filesystem.