103.3 Lecke 1
Tanúsítvány: |
LPIC-1 |
---|---|
Verzió: |
5.0 |
Témakör: |
103 GNU és Unix parancsok |
Fejezet: |
103.3 Alapvető fájl-menedzsment |
Lecke: |
1 of 2 |
Bevezetés
A Linuxban minden fájl, ezért nagyon fontos, hogy tudjuk, hogyan manipuláljuk őket. Ebben a leckében a fájlokon végezhető alapvető műveletekkel foglalkozunk.
Linux-felhasználóként általában a fájlrendszerben való navigálás, fájlok másolása egyik helyről a másikra és fájlok törlése a feladat. A fájlkezeléssel kapcsolatos parancsokkal is foglalkozni fogunk.
A fájl egy olyan egység, amely adatokat és programokat tárol. Tartalomból és metaadatokból áll (fájlméret, tulajdonos, létrehozás dátuma, jogosultságok). A fájlok mappákba vannak rendezve. A mappa egy olyan fájl, amely más fájlokat tárol.
A különböző fájltípusokba beletartoznak az alábbiak:
- Normál fájlok
-
amelyek adatokat és programokat tárolnak.
- Mappák
-
amelyek más fájlokat tartalmaznak.
- Speciális fájlok
-
amelyeket bemenetre és kimenetre használnak.
Természetesen léteznek más típusú fájlok is, de ezek nem tartoznak e lecke tárgykörébe. Később tárgyalni fogjuk, hogyan lehet ezeket a különböző fájltípusokat azonosítani.
Fájlok manipulálása
Az ls
használata a fájlok listázáshoz
Az ls
parancs az egyik legfontosabb parancssori eszköz, amelyet meg kell tanulnunk a fájlrendszerben való navigáláshoz.
Alapvető formájában az ls
csak fájl- és mappaneveket listáz:
$ ls Desktop Downloads emp_salary file1 Music Public Videos Documents emp_name examples.desktop file2 Pictures Templates
Az -l
, azaz a long listing
(hosszú listázás) formátummal együtt használva megmutatja a fájl vagy mappa jogosultságait, tulajdonosát, méretét, a módosítás dátumát, idejét és nevét:
$ ls -l total 60 drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Desktop drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Documents drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Downloads -rw-r--r-- 1 frank frank 21 Sep 7 12:59 emp_name -rw-r--r-- 1 frank frank 20 Sep 7 13:03 emp_salary -rw-r--r-- 1 frank frank 8980 Apr 1 2018 examples.desktop -rw-r--r-- 1 frank frank 10 Sep 1 2018 file1 -rw-r--r-- 1 frank frank 10 Sep 1 2018 file2 drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Music drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Pictures drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Public drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Templates drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Videos
A kimenet első karaktere a fájl típusát jelzi:
-
-
egy normál fájl esetén.
d
-
egy könyvtár esetén.
c
-
egy speciális fájl esetén.
A fájlméretek ember által olvasható formátumban történő megjelenítéséhez adja hozzá a -h
opciót:
$ ls -lh total 60K drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Desktop drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Documents drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Downloads -rw-r--r-- 1 frank frank 21 Sep 7 12:59 emp_name -rw-r--r-- 1 frank frank 20 Sep 7 13:03 emp_salary -rw-r--r-- 1 frank frank 8.8K Apr 1 2018 examples.desktop -rw-r--r-- 1 frank frank 10 Sep 1 2018 file1 -rw-r--r-- 1 frank frank 10 Sep 1 2018 file2 drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Music drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Pictures drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Public drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Templates drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Videos
Az összes fájl listázásához, beleértve a rejtett fájlokat is (a .
-al kezdődő fájlokat), használjuk a -a
kapcsolót:
$ ls -a . .dbus file1 .profile .. Desktop file2 Public .bash_history .dmrc .gconf .sudo_as_admin_successful
Az alapértelmezés szerint rejtett konfigurációs fájlok, mint például a .bash_history
, mostantól láthatóak.
Általában az ls
parancs szintaxisa a következő:
ls OPTIONS FILE
Ahol az OPTIONS
a korábban bemutatott opciók bármelyike (az összes lehetséges opció megtekintéséhez futtassa a man ls
parancsot), a FILE
pedig a listázni kívánt fájl vagy mappa neve.
Note
|
Ha a |
Fájlok létrehozása, másolása, áthelyezése és törlése
Fájlok létrehozása a touch
-al
A touch
parancs a legegyszerűbb módja az új, üres fájlok létrehozásának. Használhatjuk a meglévő fájlok és mappák időbélyegzőinek (azaz módosítási idejének) módosítására is. A touch
parancs használatának szintaxisa a következő:
touch OPTIONS FILE_NAME(S)
Opciók nélkül a touch
új fájlokat hoz létre az argumentumként megadott fájlnevekhez, feltéve, hogy ilyen nevű fájlok még nem léteznek. A touch
tetszőleges számú fájlt hozhat létre egyszerre:
$ touch file1 file2 file3
Ez három üres fájlt hoz létre file1
, file2
és file3
néven.
Számos touch
opció kifejezetten arra szolgál, hogy a felhasználó megváltoztathassa a fájlok időbélyegzőit. Például az -a
opció csak a hozzáférési időt változtatja meg, míg az -m
opció csak a módosítási időt. A két opció együttes használata a hozzáférési és a módosítási időt is az aktuális időpontra változtatja:
$ touch -am file3
Fájlok másolása a cp
-vel
Linux-felhasználóként gyakran másolunk fájlokat egyik helyről a másikra. Akár egy zenei fájl egyik mappából a másikba, akár egy rendszerfájl átmásolásáról van szó, minden másolási feladathoz használjuk a cp
parancsot:
$ cp file1 dir2
Ez a parancs szó szerint úgy értelmezhető, hogy a file1
másolása a dir2
mappába. Az eredmény a file1
fájl jelenléte a dir2
mappában. A parancs sikeres végrehajtásához a file1
-nek léteznie kell a felhasználó aktuális mappájában. Ellenkező esetben a rendszer hibát jelez a No such file or directory
(Nem létezik ilyen fájl vagy könyvtár) üzenettel.
$ cp dir1/file1 dir2
Ebben az esetben figyeljük meg, hogy a file1
elérési útvonala egyértelműbb. A forrás elérési útja kifejezhető relatív vagy abszolút útként. A relatív elérési utakat egy adott mappára való hivatkozással adjuk meg, míg az abszolút elérési utakat nem adjuk meg hivatkozással. Az alábbiakban ezt a fogalmat tovább tisztázzuk.
Egyelőre csak azt figyeljük meg, hogy ez a parancs a file1
-et a dir2
mappába másolja. A file1
elérési útvonalát részletesebben adjuk meg, mivel a felhasználó jelenleg nem a dir1
mappában van.
$ cp /home/frank/Documents/file2 /home/frank/Documents/Backup
Ebben a harmadik esetben a /home/frank/Documents
mappában található file2
fájlt a /home/frank/Documents/Backup
mappába másolja. Az itt megadott forrás elérési útvonala abszolút. A fenti két példában a forrás elérési útvonalak relatívak. Ha egy elérési útvonal a /
karakterrel kezdődik, akkor abszolút elérési útvonal, egyébként relatív elérési útvonal.
A cp
általános szintaxisa a következő:
cp OPTIONS SOURCE DESTINATION
A SOURCE
a másolandó fájl, a DESTINATION
pedig az a mappa, ahová a fájl másolásra kerül. A SOURCE
és a DESTINATION
megadható abszolút vagy relatív elérési útvonalként.
Fájlok áthelyezése az mv
-vel
A másolás cp
parancsához hasonlóan a Linux biztosít parancsot a fájlok áthelyezésére és átnevezésére. A neve mv
.
Az áthelyezési művelet megfeleltethető a kivágás és beillesztés műveletének, amelyet általában grafikus felhasználói felületen (GUI) szoktunk végezni.
Ha egy fájlt új helyre szeretnénk áthelyezni, használjuk az mv
parancsot a következő módon:
mv FILENAME DESTINATION_DIRECTORY
Íme egy példa:
$ mv myfile.txt /home/frank/Documents
Az eredmény az, hogy a myfile.txt
áthelyeződött a /home/frank/Documents
mappába.
Fájl átnevezéséhez az mv
-t az alábbi módon használhatjuk:
$ mv old_file_name new_file_name
Ez megváltoztatja a fájl nevét a old_file_name
-ről a new_file_name
-re.
Alapértelmezés szerint az mv
nem kér megerősítést (technikailag “nem kérdez”), ha egy meglévő fájlt felül akarunk írni (átnevezni). A -i
opció használatával azonban engedélyezhetjük, hogy a rendszer kérdezzen:
$ mv -i old_file_name new_file_name mv: overwrite 'new_file_name'?
Ez a parancs engedélyt kér a felhasználótól, mielőtt felülírná az old_file_name
-t a new_file_name
-re.
Ezzel szemben az -f
:
$ mv -f old_file_name new_file_name
automatikusan felülírja a fájlt, engedély kérése nélkül.
Fájlok törlése az rm
-mel
Az rm
fájlok törlésére szolgál. Gondoljunk rá úgy, mint a “remove” (eltávolítás/törlés) szó rövidített formájára. Vegyük figyelembe, hogy a fájl törlése általában visszafordíthatatlan, ezért ezt a parancsot óvatosan kell használni.
$ rm file1
Ez a parancs kitörli a file1
-et.
$ rm -i file1 rm: remove regular file 'file1'?
Ez a parancs megerősítést kér a felhasználótól a file1
törlése előtt. Emlékezzünk, hogy fentebb láttuk az -i
kapcsolót az mv
használata során.
$ rm -f file1
Ez a parancs automatikusan törli a file1
-et, anélkül, hogy megerősítést kérne.
Egyszerre több fájlt is törölhetünk:
$ rm file1 file2 file3
Ebben a példában a file1
, file2
és a file3
egyszerre kerültek törlésre.
Az rm
szintaxisa általában a következő:
rm OPTIONS FILE
Mappák létrehozása és törlése
Mappák létrehozása az mkdir
segítségével
A mappák létrehozása kritikus fontosságú a fájlok és mappák rendszerezéséhez. A fájlok logikusan csoportosíthatók, ha egy mappában tartjuk őket. Egy mappa létrehozásához használjuk az mkdir
parancsot:
mkdir OPTIONS DIRECTORY_NAME
ahol a DIRECTORY_NAME
a létrehozandó mappa neve. Egyidejűleg tetszőleges számú mappa hozható létre:
$ mkdir dir1
létre fogja hozni a dir1
mappát a felhasználó aktuális mappájában.
$ mkdir dir1 dir2 dir3
Az előző parancs egyszerre három mappát hoz létre: dir1
, dir2
és dir3
.
Ha egy mappát az almappákkal együtt akarunk létrehozni, használjuk a -p
(“parents” (szülők)) opciót:
$ mkdir -p parents/children
Ez a parancs létrehozza a parents/children
mappastruktúrát, azaz létrehozza a parents
és a children
mappákat. A children
a parents
mappán belül helyezkedik el.
Mappák törlése az rmdir
-rel
Az rmdir
töröl egy mappát, ha az üres. A szintaxisa az alábbi:
rmdir OPTIONS DIRECTORY
Ahol a DIRECTORY
lehet egy argumentum vagy argumentumok listája.
$ rmdir dir1
Ez a parancs törli a dir1
-et.
$ rmdir dir1 dir2
Ez a parancs egyszerre törli a dir1
-et és a dir2
-őt.
Eltávolíthatunk egy mappát az almappájával együtt:
$ rmdir -p parents/children
Ez el fogja távolítani a parents/children
mappastruktúrát. Jegyezük meg, hogy ha a mappák üresek, nem kerülnek törlésre!
Fájlok és mappák rekurzív manipulációja
Egy mappának és annak tartalmának manipulálásához rekurziót kell alkalmaznunk. A rekurzió azt jelenti, hogy elvégzünk egy műveletet és ezt a műveletet megismételjük a mappastruktúrán végig. A Linuxban az -r
vagy -R
vagy --recursive
opciók általában a rekurzióhoz kapcsolódnak.
A következő forgatókönyv segíthet jobban megérteni a rekurziót:
A students
mappa tartalmát szeretnénk listázni, amely két almappát tartalmaz: level 1
és level 2
, valamint a frank
nevű fájlt. A rekurzió alkalmazásával az ls
parancs a students
mappa tartalmát listázná, azaz: level 1
, level 2
és frank
, de itt nem érne véget. Ugyanígy belépne az level 1
és level 2
almappákba, és listázná azok tartalmát, és így tovább a struktúrán lefelé.
Rekurzív listázás az ls -R
-el
Az ls -R
egy mappa tartalmának a listázására szolgál, beleértve az almappáit és a fájlokat is.
$ ls -R mydirectory mydirectory/: file1 newdirectory mydirectory/newdirectory:
A fenti felsorolásban a mydirectory
és annak összes tartalma szerepel. Megfigyelhetjük, hogy a mydirectory
tartalmazza a newdirectory
almappát és a file1
fájlt. A newdirectory
üres, ezért nem jelenik meg a tartalma.
Általában egy mappa tartalmának listázásához, beleértve az almappákat is, használjuk a következő parancsot:
ls -R DIRECTORY_NAME
Egy lezáró slash hozzáadása a DIRECTORY_NAME
-hez nem jár hatással:
$ ls -R animal
megeyezik az alábbival
$ ls -R animal/
Rekurzív másolás a cp -r
-el
A cp -r
(vay -R
vagy --recursive
) lehetővé teszi egy mappa másolását az összes almappájával és fájljával együtt.
$ tree mydir mydir |_file1 |_newdir |_file2 |_insidenew |_lastdir 3 directories, 2 files $ mkdir newcopy $ cp mydir newcopy cp: omitting directory 'mydir' $ cp -r mydir newcopy * tree newcopy newcopy |_mydir |_file1 |_newdir |_file2 |_insidenew |_lastdir 4 directories, 2 files
A fenti listában megfigyelhetjük, hogy amikor megpróbáljuk a mydir
mappát a newcopy
mappába másolni, a cp
használatával, -r
nélkül, a rendszer a cp: omitting directory 'mydir'
üzenetet jeleníti meg. Az -r
opció hozzáadásával azonban a mydir
mappa teljes tartalma, beleértve önmagát is, átmásolódik a newcopy
mappába.
A mappák és almappák másolásához használjuk:
cp -r SOURCE DESTINATION
Rekurzív törlés az rm -r
-el
Az rm -r
eltávolít egy mappát és minden tartalmát (almappákat és fájlokat).
Warning
|
Legyünk nagyon óvatosak a |
Ha megpróbálunk törölni egy mappát a -r
használata nélkül, a rendszer hibát jelez:
$ rm newcopy/ rm: cannot remove 'newcopy/': Is a directory $ rm -r newcopy/
A második parancsban szereplő -r
-t kell hozzáadni, hogy a törlés működjön.
Note
|
Talán csodálkozunk, hogy miért nem használjuk az |
Adjuk hozzá a -i
opciót, hogy megerősítést kérjünk a fájl törlése előtt:
$ rm -ri mydir/ rm: remove directory 'mydir/'?
A rendszer kérdez, mielőtt megpróbálja törölni a mydir
-t.
Fájl globbing és helyettesítő karakterek
A globbing egy olyan funkció, amelyet a Unix/Linux shell biztosít a többszörös fájlnevek ábrázolására a speciális wildcards (helyettesítő vagy joker karakterek) használatával.
A jokerek lényegében szimbólumok, amelyek egy vagy több karakter helyettesítésére használhatók. Lehetővé teszik például az összes olyan fájl megjelenítését, amely az A
betűvel kezdődik, vagy az összes olyan fájlét, amely a .conf
betűkkel végződik.
A jokerek nagyon hasznosak, mivel olyan parancsokkal használhatók, mint az cp
, ls
vagy rm
.
Néhány példa a fájl globbingra:
rm *
-
Az aktuális mappában lévő összes fájl törlése.
ls l?st
-
Az összes olyan fájl listázása, amelynek neve
l
-vel kezdődik, amelyet egy karakter követ, ésst
-vel végződik. rmdir [a-z]*
-
Eltávolít minden olyan mappát, amelynek a neve betűvel kezdődik.
Joker karakterek típusai
A Linuxban három karakter használható jokerként:
*
(csillag)-
bármely karakter nulla, egy vagy több előfordulását jelenti.
?
(kérdőjel)-
bármely karakter egyetlen előfordulását jelenti.
[ ]
(zárójeles karakterek)-
a szögletes zárójelbe foglalt karakter(ek) bármely előfordulását jelenti. Lehetőség van különböző típusú karakterek használatára, legyenek azok számok, betűk vagy egyéb speciális karakterek. Például a
[0-9]
kifejezés az összes számjegyre illik.
A csillag
A csillag (*
) bármely karakter nulla, egy vagy több előfordulásával megegyezik.
Például:
$ find /home -name *.png
Ez az összes olyan fájlt megtalálja, amelynek a vége .png
, például photo.png
, cat.png
, frank.png
. A find
parancsot a következő leckében fogjuk részletesebben megvizsgálni.
Hasonlóképpen a:
$ ls lpic-*.txt
kilistázná az összes olyan szöveges fájlt, amely az lpic-
karakterekkel kezdődik, amelyeket tetszőleges számú karakter követ és .txt
-re végződik, mint például lpic-1.txt
és lpic-2.txt
.
A csillag helyettesítő karakter használható egy mappa teljes tartalmának manipulálására (másolás, törlés vagy mozgatás):
$ cp -r animal/* forest
Ebben a példában az animal
teljes tartalma átmásolódik a forest
-be.
Általában egy mappa teljes tartalmának másolásához a következőt használjuk:
cp -r SOURCE_PATH/* DEST_PATH
ahol a SOURCE_PATH
kihagyható, ha már a szükséges mappában vagyunk.
A csillag, csakúgy, mint bármely más joker, többször is használható ugyanabban a parancsban és bármely pozícióban:
$ rm *ate*
Az olyan fájlnevek, amelyek előtt egyszer sem, egyszer vagy többször előforduló bármely karakter áll, amelyet az ate
betűk követnek, és amelyek egyszer sem, egyszer vagy többször előforduló bármely karakterrel végződnek, eltávolításra kerülnek.
A kérdőjel
A kérdőjel (?
) egy karakter egyszeri megjelenésének felel meg.
Nézzük ezt a listát:
$ ls last.txt lest.txt list.txt third.txt past.txt
Ha csak azokat a fájlokat szeretnénk látni, amelyek l
-el kezdődnek, amelyet bármelyik karakter és az st.txt
karakterek követnek, akkor a kérdőjeles (?
) jokert használjuk:
$ ls l?st.txt last.txt lest.txt list.txt
Csak a last.txt
, lest.txt
és list.txt
fájlok jelennek meg.
Hasonlóképp a
$ ls ??st.txt last.txt lest.txt list.txt past.txt
azokat a fájlokat jeleníti meg, amelyek előtt két tetszőleges karakter áll és az`st.txt` szöveg követ.
Zárójelezett karakterek
A szögletes zárójelbe tett helyettesítő karakterek a szögletes zárójelbe zárt karakter(ek) bármely előfordulására illeszkednek:
$ ls l[aef]st.txt last.txt lest.txt
Ez a parancs az összes olyan fájlt listázza, amely az l
-el kezdődik, amelyet az aef
halmazban szereplő karakterek közül minden követ, és az st.txt
-vel végződik.
A szögletes zárójelek tartományokat is felvehetnek:
$ ls l[a-z]st.txt last.txt lest.txt list.txt
Ez az összes olyan fájl nevét kiadja, amelyek neve l
-el kezdődik, amelyet az a
-tól z
-ig terjedő tartományban bármilyen kisbetű követ, és st.txt
-vel végződik.
Több tartományt is meg lehet adni a szögletes zárójelben:
$ ls student-1A.txt student-2A.txt student-3.txt $ ls student-[0-9][A-Z].txt student-1A.text student-2A.txt
A listában megjelenik egy iskolai címjegyzék a beiratkozott diákokról. Csak azokat a tanulókat listázza, akiknek a regisztrációs száma megfelel a következő kritériumoknak:
-
student-
-el kezdődik, -
amit egy szám és egy nagybetűs karakter követ,
-
és
.txt
-re végződik.
Joker karakterek kombinálása
A joker karakterek kombinálhatók, mint például:
$ ls last.txt lest.txt list.txt third.txt past.txt $ ls [plf]?st* last.txt lest.txt list.txt past.txt
Az első jokerelem ([plf]
) a p
, l
vagy f
karakterek bármelyikével megegyezik. A második jokerelem (?
) bármelyik karakterrel megegyezik. A harmadik jokerelem (*
) bármely karakter nulla, egy vagy több előfordulásával megegyezik.
$ ls file1.txt file.txt file23.txt fom23.txt $ ls f*[0-9].txt file1.txt file23.txt fom23.txt
Az előző parancs megjeleníti az összes olyan fájlt, amely f
betűvel kezdődik, amit egy tetszőleges betűsorozat követ, legalább egy számjegy előfordulása és a .txt
-vel végződik. Vegyük figyelembe, hogy a file.txt
nem jelenik meg, mivel nem felel meg ezeknek a feltételeknek.
Gyakorló feladatok
-
Nézzük a alábbi listát:
$ ls -lh total 60K drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Desktop drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Documents drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Downloads -rw-r--r-- 1 frank frank 21 Sep 7 12:59 emp_name -rw-r--r-- 1 frank frank 20 Sep 7 13:03 emp_salary -rw-r--r-- 1 frank frank 8.8K Apr 1 2018 examples.desktop -rw-r--r-- 1 frank frank 10 Sep 1 2018 file1 -rw-r--r-- 1 frank frank 10 Sep 1 2018 file2 drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Music drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Pictures drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Public drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Templates drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Videos
-
Mit jelent a
d
karakter? -
Miért vannak a méretek ember által olvasható formátumban megadva?
-
Mi lenne a különbség a kimenetben, ha az
ls
-t argumentum nélkül használnánk?
-
-
Nézzük az alábbi parancsot:
$ cp /home/frank/emp_name /home/frank/backup
-
Mi történik az
emp_name
fájllal, ha ez a parancs sikeresen végrehajtódik? -
Ha az
emp_name
mappa lenne, milyen kapcsolót kellene hozzáadni acp
-hez, hogy lefusson a parancs? -
Ha a
cp
-t lecserélnénkmv
-re, mi lenne az eredmény?
-
-
Nézzük az alábbi listát:
$ ls file1.txt file2.txt file3.txt file4.txt
Melyik joker karakter segítene a mappa teljes tartalmának törlésében?
-
Az előző listára alapozva, milyen fájlokat jelenítene meg a következő parancs?
$ ls file*.txt
-
Egészítsük ki a parancsot a megfelelő számjegyek és karakterek hozzáadásával a szögletes zárójelek között, amelyek a fenti tartalmakat felsorolják:
$ ls file[].txt
Gondolkodtató feladatok
-
Hozzunk létre fájlokat
dog
éscat
néven a home mappában! -
Hozzunk létre egy
animal
mappát, szintén a home mappában. Helyezzük át adog
és acat
fájlokat azanimal
mappába! -
Menjünk a
Documents
mappába a home-ban és hozzuk létre abackup
mappát! -
Másoljuk az
animal
-t és a tartalmát abackup
-ba! -
Nevezzük át az a
animal
-t abackup
-bananimal.bkup
-ra! -
A
/home/lpi/databases
mappa számos fájlt tartalmaz, többek között: tar.gz`,db-2.tar.gz
ésdb-3.tar.gz
. Melyik egyetlen paranccsal tudjuk csak a fent említett fájlokat listázni? -
Nézzük az alábbi listát:
$ ls cne1222223.pdf cne12349.txt cne1234.pdf
Melyik paranccsal törölnénk csak a pdf fájlokat, egyetlen globbing karakter használatával?
Összefoglalás
Ebben a leckében azt vizsgáltuk meg, hogyan nézhetjük meg az ls
paranccsal, hogy mi van egy mappában, hogyan másolhatunk (cp
) fájlokat és mappákat, és hogyan mozgathatjuk (mv
) őket. Azt is megnéztük, hogyan hozhatunk létre új mappákat az mkdir
paranccsal. A fájlok (rm
) és mappák (rmdir
) eltávolítására szolgáló parancsokat is tárgyaltuk.
Ebben a leckében megismerkedhettünk a fájl globbinggal és a joker karakterekkel is. A fájl globbingot több fájlnév ábrázolására használjuk speciális karakterek, úgynevezett jokerek használatával. Az alapvető helyettesítő karakterek és jelentésük:
?
(kérdőjel)-
bármely karakter egyetlen előfordulását jelenti.
[ ]
(szögletes zárójelek)-
a szögletes zárójelbe foglalt karakter(ek) bármely előfordulását jelenti.
*
(csillag)-
bármely karakter nulla, egy vagy több előfordulását jelenti.
Ezek a jokerek kombinálhatók ugyanabban az utasításban.
Válaszok a gyakorló feladatokra
-
Nézzük az alábbi listát:
$ ls -lh total 60K drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Desktop drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Documents drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Downloads -rw-r--r-- 1 frank frank 21 Sep 7 12:59 emp_name -rw-r--r-- 1 frank frank 20 Sep 7 13:03 emp_salary -rw-r--r-- 1 frank frank 8.8K Apr 1 2018 examples.desktop -rw-r--r-- 1 frank frank 10 Sep 1 2018 file1 -rw-r--r-- 1 frank frank 10 Sep 1 2018 file2 drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Music drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Pictures drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Public drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Templates drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Videos
-
Mit jelent a
d
karakter?A
d
karakter a mappát jelöli. -
Miért vannak a méretek ember által olvasható formátumban megadva?
A
-h
kapcsoló miatt. -
Mi lenne a különbség a kimenetben, ha az
ls
-t argumentum nélkül használnánk?Csak a mappa és fájlnevek jelennének meg.
-
-
Nézzük az alábbi parancsot:
$ cp /home/frank/emp_name /home/frank/backup
-
Mi történik az
emp_name
fájllal, ha ez a parancs sikeresen végrehajtódik?Az
emp_name
bemásolódik abackup
-ba. -
Ha az
emp_name
mappa lenne, milyen kapcsolót kellene hozzáadni acp
-hez, hogy lefusson a parancs?-r
-
Ha a
cp
-t lecserélnénkmv
-re, mi lenne az eredmény?Az
emp_name
áthelyeződne abackup
-ba.frank
home mappájában már nem lenne elérhető.
-
-
Nézzük az alábbi listát:
$ ls file1.txt file2.txt file3.txt file4.txt
Melyik helyettesítő karakter segítene a mappa teljes tartalmának törlésében?
A csillag
*
. -
Az előző listára alapozva, milyen fájlokat jelenítene meg a következő parancs?
$ ls file*.txt
Mindegyik, mivel a csillag karakter tetszőleges számú karaktert jelöl.
-
Egészítsük ki a parancsot a megfelelő számjegyek és karakterek hozzáadásával a szögletes zárójelek között, amelyek a fenti tartalmakat felsorolják:
$ ls file[].txt
file[0-9].txt
Válaszok a gondolkodtató feladatokra
-
Hozzunk létre fájlokat
dog
éscat
néven a home mappában!$ touch dog cat
-
Hozzunk létre egy
animal
mappát, szintén a home mappában. Helyezzük át adog
és acat
fájlokat azanimal
mappába!$ mkdir animal $ mv dog cat -t animal/
-
Menjünk a
Documents
mappába a home-ban és hozzuk létre abackup
mappát!$ cd ~/Documents $ mkdir backup
-
Másoljuk az
animal
-t és a tartalmát abackup
-ba!$ cp -r animal ~/Documents/backup
-
Nevezzük át az a
animal
-t abackup
-bananimal.bkup
-ra!$ mv animal/ animal.bkup
-
A
/home/lpi/databases
mappa számos fájlt tartalmaz, többek között: tar.gz`,db-2.tar.gz
ésdb-3.tar.gz
. Melyik egyetlen paranccsal tudjuk csak a fent említett fájlokat listázni?$ ls db-[1-3].tar.gz
-
Nézzük az alábbi listát:
$ ls cne1222223.pdf cne12349.txt cne1234.pdf
Melyik paranccsal törölnénk csak a pdf fájlokat, egyetlen globbing karakter használatával?
$ rm *.pdf