Az ls parancs használata fájlok és könyvtárak listázásához Linuxon

Minden nap használjuk a Linux ls parancsát anélkül, hogy gondolnánk rá. Kár. Ügyeljen rá, és sok hasznos lehetőséget fog találni – köztük olyanokat is, amelyeket fel kell vennie a parancssori arzenáljába.

ls Fájlokat és könyvtárakat sorol fel

Az ls parancs valószínűleg az első parancs, amellyel a legtöbb Linux-felhasználó találkozik. Mi, akik a parancssorban ácsorogunk, nap mint nap használjuk anélkül, hogy gondolnánk rá. Ez megmagyarázhatja, hogy miért van több ebben a parancsban, mint amennyit a legtöbb felhasználó gondol. Kilistázzuk vele a fájlokat, hogy lássuk, mi van egy könyvtárban. A fájlokat hosszú formátumban listázzuk ki, ha meg akarjuk nézni egy fájl engedélyeit. Ezen túlmenően ez kevés figyelmet kap.

Az ls parancs egyike azoknak a parancsoknak, amelyek rengeteg lehetőséget tartalmaznak. Talán ez is a probléma része. Nagyon sok lehetőség van, hogyan lehet átszűrni őket, hogy megtaláld a hasznosakat? És miután megtalálta őket, hogyan emlékszik rájuk?

Az ls parancs hasznos permutációi az opciókkal és paraméterekkel együtt tökéletes jelöltek álnevekre. Valójában a legtöbb disztribúcióban az, amit a „csupasz” ls parancsnak gondol, valójában álnév. Többek között a type parancs használható megmutatja az álnevek mögöttes definícióját. Nézzük az ls definícióját:

írja be az ls-t

A –color=auto paraméterek automatikusan szerepelnek minden alkalommal, amikor az ls parancsot használja. Ez biztosítja a különböző színeket a listák különböző fájltípusaihoz.

Egyszerű ls listák

Mindenki, aki eltöltött egy kis időt a Linux terminál használatával, tudja, hogy az ls alapértelmezés szerint az aktuális könyvtárban lévő fájlokat és könyvtárakat sorolja fel.

ls

Ha azt szeretné, hogy a listája egyetlen oszlopban jelenjen meg, használja a -1 (soronként egy fájl) opciót:

ls -1

Egy percen belül megbeszéljük ezt a furcsán kinéző fájlnevet a lista tetején.

Az ls használata különböző könyvtárakban

Ha azt szeretné, hogy az ls listázza a fájlokat az aktuális könyvtártól eltérő könyvtárban, adja át a könyvtár elérési útját az ls-nek a parancssorban. Egynél több könyvtárat is átadhat az ls-nek, és ezeket egymás után listázhatja. Itt arra kérjük az ls-t, hogy sorolja fel a fájlokat két könyvtárban, az egyik a „Help”, a másik a „gc_help”.

ls Help gc_help

Ha az ls felsorolta az első könyvtár tartalmát, akkor a második könyvtár tartalmát is felsorolja. A feldolgozás során kiírja az egyes könyvtárak nevét:

  Szkriptek és parancsok futtatása felfüggesztés és folytatás esetén Linuxon

Fájlminták használata

Fájlkészletek szelektív listázásához használja a mintaillesztést. A „?” kérdőjel bármely karaktert jelöl, a csillag pedig a „*” bármely karakterláncot. Az „ip_” karakterrel kezdődő fájlok vagy könyvtárak listázásához használja ezt a formátumot:

ls ip_*

A „.c” kiterjesztésű fájlok listázásához használja ezt a formátumot:

ls *.c

Használhatja az ls-t a grep-vel és a grep-t is mintaillesztési képességek. Keressünk olyan fájlokat, amelyek nevében szerepel a „_pin_” karakterlánc:

ls | grep _pin_

Ez majdnem ugyanaz, mint az ls önmagában, két helyettesítő karakterrel:

ls | grep _pin_
ls *_pin_*

Miért majdnem ugyanaz? Vegye figyelembe a különböző elrendezéseket. A grep soronként egyetlen fájlnév formátumra kényszeríti a kimenetet.

Nem nyomtatható karakterek

Lehetséges olyan fájlnévvel találkozni, amelynek a nem nyomtatható vagy vezérlőkarakter a fájlnevében. Ez általában akkor fordulhat elő, ha kibont egy internetről letöltött archívumot, vagy lekér egy git-tárat, és az eredeti szerző hibát követett el a fájl létrehozásakor, de nem vette észre.

A mi furcsa fájlunk a következők egyike:

Ha megnézzük a fájlböngészőben, és az „F2” lenyomásával átnevezzük, a nem nyomtatható karaktereket egy furcsa szimbólum jelzi.

Használhatja a -b (escape) kapcsolót, hogy megnézze, mit is tartalmaz a fájlnév. Ez az opció azt eredményezi, hogy az ls az escape szekvenciákat használja C programozási nyelv a vezérlőkarakterek ábrázolására.

ls -b a*

A titokzatos karakterről kiderül, hogy egy újsor karakter, a C-ben „n”-ként jelenik meg.

Fájlok figyelmen kívül hagyása

Ha bizonyos fájlokat ki szeretne hagyni a listából, használja a –hide opciót. Tegyük fel, hogy nem szeretné látni a „.bak” biztonsági mentési fájlokat a listában. Használhatja ezt a parancsot:

ls
ls --hide=*.bak

A „.bak” fájlok nem szerepelnek a második listában.

A hosszú formátumú lista

A -l (hosszú lista) opció hatására az ls részletes információkat ad az egyes fájlokról.

ls -l

Nagyon sok információ található itt, úgyhogy lépjünk át rajta.

Az első dolog, amit az ls megjelenít, az a listában szereplő összes fájl teljes mérete. Ezután minden fájl vagy könyvtár önmagában megjelenik egy sorban.

Az első tíz betűből és kötőjelből álló készlet a fájl típusa, valamint a tulajdonos, a csoport és az egyéb fájljogosultságok.

A legelső karakter a fájl típusát jelöli. Ez lesz az egyik:

–: Normál fájl.
b: Egy speciális blokkfájl.
c: Egy karakteres speciális fájl.
d: Egy könyvtár.
l: Szimbolikus link.
n: Egy hálózati fájl.
p: Egy elnevezett pipa.
s: Egy aljzat.

A következő kilenc karakter három, egymás mellett megjelenő három karakterből álló csoport. Minden három csoport az olvasási, írási és végrehajtási engedélyeket jelenti, ebben a sorrendben. Ha az engedélyt megadják, r, w vagy x lesz jelen. Ha az engedélyt nem adják meg, egy kötőjel – jelenik meg.

  Hogyan készítsünk Discord Botot

Az első három karakterkészlet a fájltulajdonos engedélyei. A második három engedélykészlet a csoporttagoknak, az utolsó három engedélycsoport pedig másoknak szól.

Néha a tulajdonos végrehajtási engedélyét egy s jelöli. Ez a setuid bit. Ha jelen van, az azt jelenti, hogy a fájl a fájl tulajdonosának jogaival fut le, nem pedig a fájlt végrehajtó felhasználó jogaival.

A csoport végrehajtási engedélye s is lehet. Ez a setgid bit. Ha ezt egy fájlra alkalmazzák, az azt jelenti, hogy a fájl a tulajdonos csoportjának jogosultságaival lesz végrehajtva. Ha egy könyvtárral együtt használják, a benne létrehozott fájlok a csoportjogosultságukat abból a könyvtárból veszik, amelyben létrehozzák őket, nem pedig a fájlt létrehozó felhasználótól.

A többiek végrehajtási engedélyét néha egy t jelképezi. Ez a ragadós bit. Általában könyvtárakra alkalmazzák. Ha ez be van állítva, a könyvtárban lévő fájlokhoz beállított írási és végrehajtási jogosultságoktól függetlenül csak a fájltulajdonos, a könyvtártulajdonos vagy a root felhasználó nevezhet át vagy törölhet fájlokat a könyvtárban.

A ragadós bitet gyakran használják olyan mappákban, mint például a „/tmp”. Ezt a számítógép összes felhasználója írhatja. A könyvtárban található ragadós bit biztosítja, hogy a felhasználók – és a felhasználók által elindított folyamatok – csak a saját ideiglenes fájljaikat nevezhessék át vagy törölhessék.

A ragadós bitet a „/tmp” könyvtárban láthatjuk. Vegye figyelembe a -d (könyvtár) opció használatát. Emiatt az ls jelentést készít a címtár részleteiről. Ezen opció nélkül az ls jelentést készít a könyvtárban lévő fájlokról.

ls -l -d /tmp

Az engedélyeket követő szám a fájlra vagy könyvtárra mutató merev hivatkozások száma. Egy fájl esetében ez általában egy, de ha más merev hivatkozásokat hoz létre, ez a szám növekedni fog. Egy könyvtár általában legalább két merev hivatkozást tartalmaz. Az egyik egy hivatkozás önmagára, a másik pedig a bejegyzése a szülőkönyvtárában.

Ezután a tulajdonos és a csoport neve jelenik meg. Ezeket követi a fájl mérete és a fájl utolsó módosításának dátuma. Végül a fájlnév kerül megadásra.

Ember által olvasható fájlméretek

A fájlméret bájtokban való megadása nem mindig kényelmes. A fájlméretek legmegfelelőbb mértékegységben (kilobyte, megabyte stb.) történő megtekintéséhez használja a -h (ember által olvasható) kapcsolót:

ls -l -h

Rejtett fájlok megjelenítése

A rejtett fájlok megtekintéséhez használja az -a (all) kapcsolót:

ls -l -a

A két „.” és a „..” az aktuális könyvtárat, illetve a szülőkönyvtárat jelöli. A „.base_settings” nevű fájl most látható először.

Kihagyás . és .. listákból

Ha nem szeretné, hogy adatlapja tele legyen a „.” és „..” bejegyzéseket, de rejtett fájlokat szeretne látni, használja az -A (majdnem minden) opciót:

ls -l -A

A rejtett fájl továbbra is megjelenik a listában, de a „.” és a „..” bejegyzések le vannak tiltva.

  Hogyan készítsd el saját felhőfájlszinkronizálását a Nextclouddal

Könyvtárak rekurzív listázása

Ha azt szeretné, hogy az ls listázza a fájlokat az összes alkönyvtárban, használja a -R (rekurzív) kapcsolót

ls -l -R

Az ls végigjárja a teljes könyvtárfát a kezdőkönyvtár alatt, és felsorolja az egyes alkönyvtárak fájljait.

Az UID és a GID megjelenítése

Ha a felhasználónév és a csoportnév helyett a felhasználói azonosítót és a csoportazonosítót szeretné megjeleníteni, használja a -n (numerikus uid és gid) kapcsolót.

ls -n

A listák rendezése

A listát kiterjesztés, fájlméret vagy módosítási idő szerint rendezheti. Ezeket a beállításokat nem kell használni a hosszú listázási formátummal, de általában van értelme. Ha fájlméret szerint rendez, érdemes a fájlméreteket a listában látni. Amikor kiterjesztés típusa szerint rendez, a hosszú lista formátuma nem annyira fontos.

A kiterjesztés szerinti rendezéshez használja a -X (rendezés kiterjesztés szerint) opciót.

ls -X -1

A könyvtárak listája először (egyáltalán nincs kiterjesztés), majd a többi következik ábécé sorrendben, a kiterjesztéseknek megfelelően.

A fájlméret szerinti rendezéshez használja a -S (fájlméret szerinti rendezés) opciót.

ls -l -h -S

A rendezési sorrend a legnagyobbtól a legkisebbig terjed.

A lista módosítási idő szerinti rendezéséhez használja a -t (módosítási idő szerinti rendezés) opciót.

ls -l -t

A lista a módosítási idő szerint van rendezve.

Ha a fájl módosítási ideje az aktuális éven belül van, akkor a megjelenített információ a hónap, a nap és az idő. Ha a módosítás dátuma nem az aktuális évben volt, akkor a megjelenített információ a hónap, a nap és az év.

A legfrissebb és legrégebbi fájlok egy könyvtárban való beszerzésének gyors módja az ls használata a head és a tail parancsokkal.

A legújabb fájl vagy könyvtár beszerzéséhez használja ezt a parancsot:

ls -t | head -1

A legrégebbi fájl vagy könyvtár beszerzéséhez használja ezt a parancsot:

ls -t | tail -1

A rendezési sorrend megfordításához

Bármely rendezési sorrend megfordításához használja a -r (fordított) kapcsolót.

ls -l -h -S -r

A lista most a legkisebb fájltól a legnagyobb fájlig rendeződik.

És van még több is

Nézze meg az ls man oldalát, sokkal több lehetőség van. Némelyikük eléggé homályos használati eseteket is kielégít, de időnként örülni fog, ha tud róluk.

A fájlok időbélyegeit a Linux által biztosított maximális pontossággal kell látnia? Használja a teljes munkaidős lehetőséget:

ls --full-time

Talán szeretné látni a fájlok inode számát? Használja az inode opciót:

ls -i

Monokróm kijelzőn dolgozik, és szeretné eltávolítani a fájlok összekeverésének kockázatát a könyvtárak és hivatkozások esetében? Használja az osztályozás opciót, és az ls ezek közül egyet fűz minden bejegyzéshez:

/: Egy könyvtár.
@: Egy szimbolikus link.
|: Egy elnevezett pipa.
=: Egy aljzat.
*: Futtatható fájlok

ls -F

Áss egy kicsit. Rá fog jönni, hogy az ls egy gazdag véna, és folyton drágaköveket fog találni.