Bash
Lijst met bestanden
Zoeken…
Syntaxis
- ls [OPTIE] ... [BESTAND] ...
parameters
Optie | Beschrijving |
---|---|
-a , - --all | Lijst alle vermeldingen op, inclusief die die met een punt beginnen |
-A , - --almost-all | Lijst met alle vermeldingen behalve . en .. |
-c | Sorteer bestanden op tijd wijzigen |
-d , --directory | Lijstvermeldingen weergeven |
-h , - voor --human-readable | Toon formaten in leesbaar formaat (bijv. K , M ) |
-H | Hetzelfde als hierboven, alleen met bevoegdheden van 1000 in plaats van 1024 |
-l | Inhoud weergeven in lange lijstindeling |
-o | Indeling met lange lijsten zonder groepsinformatie |
-r , - --reverse | Toon de inhoud in omgekeerde volgorde |
-s , --size | Afdrukgrootte van elk bestand in blokken |
-S | Sorteer op bestandsgrootte |
--sort=WORD | Sorteer inhoud op een woord. (dwz grootte, versie, status) |
-t | Sorteer op aanpassingstijd |
-u | Sorteer op laatste toegangstijd |
-v | Sorteer op versie |
-1 | Geef één bestand per regel op |
Lijst met bestanden
De opdracht ls
geeft de inhoud van een opgegeven map weer, met uitzondering van dotfiles. Als er geen map is opgegeven, wordt standaard de inhoud van de huidige map weergegeven.
Lijstbestanden worden standaard alfabetisch gesorteerd en in kolommen uitgelijnd als ze niet op één regel passen.
$ ls
apt configs Documents Fonts Music Programming Templates workspace
bin Desktop eclipse git Pictures Public Videos
Lijst bestanden in een lange lijst formaat
De optie -l
ls
opdracht drukt de inhoud van een opgegeven map af in een lange lijstindeling. Als er geen map is opgegeven, wordt standaard de inhoud van de huidige map weergegeven.
ls -l /etc
Voorbeelduitvoer:
total 1204
drwxr-xr-x 3 root root 4096 Apr 21 03:44 acpi
-rw-r--r-- 1 root root 3028 Apr 21 03:38 adduser.conf
drwxr-xr-x 2 root root 4096 Jun 11 20:42 alternatives
...
De uitvoer geeft eerst het total
, dat de totale grootte in blokken van alle bestanden in de weergegeven map aangeeft. Vervolgens worden acht kolommen met informatie weergegeven voor elk bestand in de weergegeven map. Hieronder staan de details voor elke kolom in de uitvoer:
Kolom nr. | Voorbeeld | Beschrijving |
---|---|---|
1.1 | d | Bestandstype (zie onderstaande tabel) |
1.2 | rwxr-xr-x | Toestemmingsreeks |
2 | 3 | Aantal harde links |
3 | root | Eigenaar naam |
4 | root | Eigenaar groep |
5 | 4096 | Bestandsgrootte in bytes |
6 | Apr 21 03:44 | Modificatie tijd |
7 | acpi | Bestandsnaam |
Bestandstype
Het bestandstype kan een van de volgende tekens zijn.
Karakter | Bestandstype |
---|---|
- | Normaal bestand |
b | Speciaal bestand blokkeren |
c | Karakter speciaal bestand |
C | Bestand met hoge prestaties ("aaneengesloten gegevens") |
d | directory |
D | Deur (speciaal IPC-bestand alleen in Solaris 2.5+) |
l | Symbolische link |
M | Offline ("gemigreerd") bestand (Cray DMF) |
n | Netwerk speciaal bestand (HP-UX) |
p | FIFO (pijp genoemd) |
P | Poort (speciaal systeembestand alleen in Solaris 10+) |
s | stopcontact |
? | Een ander bestandstype |
Lijstbestanden gesorteerd op grootte
De optie -S
opdracht ls
sorteert de bestanden in aflopende volgorde van bestandsgrootte.
$ ls -l -S ./Fruits
total 444
-rw-rw-rw- 1 root root 295303 Jul 28 19:19 apples.jpg
-rw-rw-rw- 1 root root 102283 Jul 28 19:19 kiwis.jpg
-rw-rw-rw- 1 root root 50197 Jul 28 19:19 bananas.jpg
Bij gebruik met de optie -r
de sorteervolgorde omgekeerd.
$ ls -l -S -r /Fruits
total 444
-rw-rw-rw- 1 root root 50197 Jul 28 19:19 bananas.jpg
-rw-rw-rw- 1 root root 102283 Jul 28 19:19 kiwis.jpg
-rw-rw-rw- 1 root root 295303 Jul 28 19:19 apples.jpg
Lijst bestanden zonder `ls` te gebruiken
Gebruik de bestandsnaamuitbreiding en accoladexpansiemogelijkheden van de Bash-shell om de bestandsnamen te verkrijgen:
# display the files and directories that are in the current directory
printf "%s\n" *
# display only the directories in the current directory
printf "%s\n" */
# display only (some) image files
printf "%s\n" *.{gif,jpg,png}
Om een lijst met bestanden vast te leggen voor verwerking, is het meestal een goede gewoonte om een bash-array te gebruiken :
files=( * )
# iterate over them
for file in "${files[@]}"; do
echo "$file"
done
Lijst met de tien meest recent gewijzigde bestanden
Hieronder worden maximaal tien van de meest recent gewijzigde bestanden in de huidige map weergegeven, met een lange notatie-indeling ( -l
) en gesorteerd op tijd ( -t
).
ls -lt | head
Lijst alle bestanden inclusief Dotfiles
Een dotfile is een bestand waarvan de naam begint met een .
. Deze zijn normaal verborgen door ls
en worden niet vermeld tenzij gevraagd.
Bijvoorbeeld de volgende uitvoer van ls
:
$ ls
bin pki
De optie -a
of --all
alle bestanden, inclusief dotfiles.
$ ls -a
. .ansible .bash_logout .bashrc .lesshst .puppetlabs .viminfo
.. .bash_history .bash_profile bin pki .ssh
De optie -A
of - --almost-all
geeft alle bestanden weer, inclusief dotfiles, maar geeft geen impliciete lijst weer .
en ..
Merk op dat .
is de huidige map en ..
is de bovenliggende map.
$ ls -A
.ansible .bash_logout .bashrc .lesshst .puppetlabs .viminfo
.bash_history .bash_profile bin pki .ssh
Lijst met bestanden in een boomachtige indeling
De tree
geeft de inhoud van een opgegeven map weer in een boomachtige indeling. Als er geen map is opgegeven, wordt standaard de inhoud van de huidige map weergegeven.
Voorbeelduitvoer:
$ tree /tmp
/tmp
├── 5037
├── adb.log
└── evince-20965
└── image.FPWTJY.png
Gebruik de tree
commando's -L
optie om de weergave diepte en het beperken -d
optie om alleen lijst directories.
Voorbeelduitvoer:
$ tree -L 1 -d /tmp
/tmp
└── evince-20965