Bash
Lista filer
Sök…
Syntax
- Det är [OPTION] ... [FILE] ...
parametrar
Alternativ | Beskrivning |
---|---|
-a , - --all | Lista alla poster inklusive de som börjar med en punkt |
-A , - --almost-all | Lista alla poster utom . och .. |
-c | Sortera filer efter ändringstid |
-d , - --directory | Lista katalogposter |
-h , - --human-readable | Visa storlekar i mänskligt läsbart format (dvs. K , M ) |
-H | Samma som ovan endast med krafter på 1000 istället för 1024 |
-l | Visa innehåll i format med lång lista |
-o | Långt listat format utan gruppinfo |
-r , - --reverse | Visa innehåll i omvänd ordning |
-s , - --size | Utskriftsstorlek för varje fil i block |
-S | Sortera efter filstorlek |
--sort=WORD | Sortera innehållet efter ett ord. (dvs. storlek, version, status) |
-t | Sortera efter modifieringstid |
-u | Sortera efter senaste åtkomsttid |
-v | Sortera efter version |
-1 | Lista en fil per rad |
Lista filer
Kommandot ls
visar innehållet i en specificerad katalog, exklusive dotfiles. Om ingen katalog anges listas innehållet i den aktuella katalogen som standard.
Listade filer sorteras alfabetiskt som standard och justeras i kolumner om de inte passar på en rad.
$ ls
apt configs Documents Fonts Music Programming Templates workspace
bin Desktop eclipse git Pictures Public Videos
Lista filer i ett långt listformat
Alternativet ls
kommandot -l
skriver ut en specifik kataloginnehåll i ett långt listformat. Om ingen katalog anges listas innehållet i den aktuella katalogen som standard.
ls -l /etc
Exempel på utgång:
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
...
Outputen visar först total
, vilket indikerar den totala storleken i block av alla filer i den listade katalogen. Den visar sedan åtta kolumner med information för varje fil i den listade katalogen. Nedan följer detaljerna för varje kolumn i utgången:
Kolumn nr | Exempel | Beskrivning |
---|---|---|
1,1 | d | Filtyp (se tabell nedan) |
1,2 | rwxr-xr-x | Tillståndsträng |
2 | 3 | Antal hårda länkar |
3 | root | Ägarnamn |
4 | root | Ägargrupp |
5 | 4096 | Filstorlek i byte |
6 | Apr 21 03:44 | Ändringstid |
7 | acpi | Filnamn |
Filtyp
Filtypen kan vara något av följande tecken.
Karaktär | Filtyp |
---|---|
- | Vanlig fil |
b | Blockera specialfil |
c | Tecken specialfil |
C | Fil med hög prestanda ("sammanhängande data") |
d | Directory |
D | Dörr (speciell IPC-fil endast i Solaris 2.5+) |
l | Symbolisk länk |
M | Off-line ("migrerad") -fil (Cray DMF) |
n | Nätverksspecifik fil (HP-UX) |
p | FIFO (namngivet rör) |
P | Port (speciell systemfil endast i Solaris 10+) |
s | Uttag |
? | Någon annan filtyp |
Lista filer sorterade efter storlek
Alternativet ls
kommandot -S
sorterar filerna i fallande ordning efter filstorlek.
$ 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
När den används med alternativet -r
omvändes sorteringsordningen.
$ 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
Lista filer utan att använda "ls"
Använd Bash-skalets kapacitet för filnamn och expans för att få filnamn:
# 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}
För att fånga en lista över filer till en variabel för bearbetning är det vanligtvis god praxis att använda en bash array :
files=( * )
# iterate over them
for file in "${files[@]}"; do
echo "$file"
done
Lista de tio senast modifierade filerna
Följande kommer att lista upp till tio av de senast modifierade filerna i den aktuella katalogen med ett långt listformat ( -l
) och sorterat efter tid ( -t
).
ls -lt | head
Lista alla filer inklusive dotfiles
En dotfil är en fil vars namn börjar med en .
. Dessa är normalt dolda av ls
och listas inte om de inte begärs.
Till exempel följande utgång från ls
:
$ ls
bin pki
--all
-a
eller - --all
listar alla filer, inklusive dotfiles.
$ ls -a
. .ansible .bash_logout .bashrc .lesshst .puppetlabs .viminfo
.. .bash_history .bash_profile bin pki .ssh
--almost-all
-A
eller - --almost-all
listan listar alla filer, inklusive dotfiles, men listar inte underförstått .
och ..
Observera att .
är den aktuella katalogen och ..
är moderkatalogen.
$ ls -A
.ansible .bash_logout .bashrc .lesshst .puppetlabs .viminfo
.bash_history .bash_profile bin pki .ssh
Lista filer i ett trädliknande format
De tree
kommandot listar innehållet i en viss katalog i en trädliknande format. Om ingen katalog anges listas innehållet i den aktuella katalogen som standard.
Exempel på utgång:
$ tree /tmp
/tmp
├── 5037
├── adb.log
└── evince-20965
└── image.FPWTJY.png
Använd tree
kommandots -L
möjlighet att begränsa visningen djup och -d
alternativ till endast list kataloger.
Exempel på utgång:
$ tree -L 1 -d /tmp
/tmp
└── evince-20965