Labai dažnai susiduriame su failų ir aplankų pavadinimais. Daugeliu atvejų failo / aplanko pavadinimas yra susijęs su failo / aplanko turiniu ir prasideda skaičiumi bei simboliais.
Raidiniai ir skaitiniai failo pavadinimai yra gana paplitę ir labai plačiai naudojami, tačiau taip nėra, kai turime susidoroti su failo / aplanko pavadinimu, kuriame yra specialiųjų simbolių.
Pastaba: Galime turėti bet kokio tipo failus, bet dėl paprastumo ir lengvo įgyvendinimo tvarkysime tekstinius failus (.txt), visame straipsnyje.
Turinys
Dažniausiai pasitaikančių failų pavadinimų pavyzdžiai:
abc.txt. avi.txt. debian.txt...
Skaitmeninių failų pavadinimų pavyzdžiai:
121.txt. 3221.txt. 674659.txt...
Raidinių ir skaitinių failų pavadinimų pavyzdžiai:
pvz.84235.txt. 3kf43nl2.txt. 2323ddw.txt...
Failų pavadinimų, kurie turi specialius simbolius ir kurie nėra labai dažni, pavyzdžiai:
#232.txt. #bkf.txt. #bjsd3469.txt. #121nkfd.txt. -2232.txt. -fbjdew.txt. -gi32kj.txt. --321.txt. --bk34.txt...
Vienas iš akivaizdžiausių klausimų čia yra – kas sukuria / dirba su failais / aplanko pavadinimu, turinčiu maišą (#)
, kabliataškis (;)
, brūkšnelis (-)
ar bet koks kitas ypatingas veikėjas.
Sutinku su jumis, kad tokie failų pavadinimai nėra įprasti, tačiau jūsų apvalkalas neturėtų nutrūkti / nepasiduoti, kai turite susidurti su tokiais failų pavadinimais. Taip pat techniškai viskas yra aplankas, tvarkyklė ar bet kas kita traktuojamas kaip failas Linux sistemoje.
Linux sistemoje failų pavadinimai prasideda brūkšneliu ("-")
dažnai vadinami „brūkšniniais failų pavadinimais“ arba „brūkšneliais pažymėti failų pavadinimai“. Dėl šių failų pavadinimų kartais gali kilti problemų dirbant su jais, nes pirmasis brūkšnys gali būti klaidingai interpretuojamas kaip parinktis arba komandų eilutės paslaugų pažymėtas.
Norėdami dirbti su brūkšniniais failų pavadinimais sistemoje „Linux“, pirmiausia, sukurti failą kuris prasideda brūkšneliu (-)
, sakyk -abx.txt naudojant palieskite komandą.
$ touch -abc.txt.
Pavyzdžio išvestis:
liesti: netinkama parinktis – „b“ Norėdami gauti daugiau informacijos, pabandykite „palieskite --pagalba“.
Aukščiau pateiktos klaidos priežastis yra ta, kad apvalkalas interpretuoja bet ką po brūkšnelio (-)
, kaip parinktis, ir akivaizdu, kad tokios parinkties nėra, taigi ir klaida.
Norėdami išspręsti tokią klaidą, kaip parinktį turime nurodyti bash apvalkalui nieko neinterpretuoti po specialaus simbolio (čia brūkšnys).
Yra du būdai, kaip išspręsti šią klaidą:
$ touch -- -abc.txt [Parinktis #1] $ touch ./-abc.txt [Parinktis#2]
Taip sukurtą failą galite patikrinti abiem aukščiau nurodytais būdais vykdydami komandas ls arba ls -l už ilgą sąrašą.
$ ls -l iš viso 0. .rw-rw-r-- tecmint tecmint 0 B Antradienis Birželio 20 d. 10:32:43 2023 m. -abc.txt
Norėdami redaguoti failą su brūkšniniu pavadinimu, galite naudoti įvairūs teksto redaktoriai prieinama. Štai pavyzdys naudojant nano teksto redaktorius:
$ nano -- -abc.txt arba $ nano ./-abc.txt
Galite pakeisti nano Pavyzdžiui, naudokite bet kurį kitą pasirinktą redaktorių vim redaktorius taip, kaip parodyta:
$ vim -- -abc.txt arba $ vim ./-abc.txt
Norėdami pervardyti failą su brūkšniniu pavadinimu, galite naudoti mv komanda taip, kaip parodyta.
Pavyzdžiui, norėdami pervardyti failą pavadinimu "-abc.txt"į"-a.txt“, jūs naudotumėte:
$ mv -- -abc.txt -a.txt. ARBA. mv ./-abc.txt ./-a.txt.
Norėdami ištrinti failą su brūkšniniu pavadinimu, galite naudoti rm komanda taip, kaip parodyta.
$ rm -- -abc.txt. ARBA. $ rm ./-abc.txt
Jei aplanke, kurio pavadinime yra brūkšnys, yra daug failų ir norite juos visus ištrinti iš karto, atlikite šiuos veiksmus:
$ rm ./-*
Ta pati taisyklė, kaip aptarta aukščiau, taikoma bet kokiam brūkšnelių skaičiui failo pavadinime ir jų atsiradimui. Viz., -a-b-c.txt, ab-c.txt, abc-.txtir kt.
Ta pati taisyklė, kaip buvo aptarta aukščiau, taikoma aplanko pavadinimui, turinčiam bet kokį brūkšnelių skaičių ir jų atsiradimą, išskyrus tai, kad norint ištrinti aplanką, reikia naudoti „rm -rf‘kaip:
$ rm -rf -- -abc. arba. $ rm -rf ./-abc.
„Linux“ sistemoje "#"
simbolis failų pavadinimuose nėra ribojamas ar rezervuotas jokiam konkrečiam tikslui. Galite naudoti "#"
simbolis kaip ir bet kuris kitas raidinis ir skaitmeninis simbolis failo pavadinime.
Tačiau verta paminėti, kad kai kurie specialieji simboliai, įskaitant "#"
, turi specialių reikšmių tam tikruose kontekstuose arba kai naudojami su konkrečias komandas arba komunalines paslaugas.
Pavyzdžiui, "#"
simbolis dažniausiai naudojamas apvalkalo scenarijuose, norint nurodyti komentarus. Jei rašote apvalkalo scenarijų ir norite įtraukti "#"
Simbolį failo pavadinime, patartina tinkamai pakeisti failo pavadinimą arba jį pacituoti, kad būtų išvengta bet kokio netikėto interpretavimo kaip komentaro.
Štai pavyzdys, kaip sukurti failą su "#"
simbolis jo failo pavadinime:
$ palieskite #abc.txt.
Pavyzdžio išvestis:
liesti: trūksta failo operando. Norėdami gauti daugiau informacijos, pabandykite „palieskite --pagalba“.
Aukščiau pateiktos klaidos priežastis yra ta, kad bash interpretuoja #abc.txt kaip komentarą ir todėl jį ignoruojant. Taigi palieskite komandą buvo perduotas be jokio failo operando, todėl yra klaida.
Norėdami išspręsti tokią klaidą, galite paprašyti bash neinterpretuoti # kaip komentaras.
$ touch ./#abc.txt. arba. $ palieskite „#abc.txt“
ir patikrinkite ką tik sukurtą failą kaip:
$ ls -l .rw-rw-r-- tecmint tecmint 0 B Antradienis Birželio 20 d. 11:11:00 2023 m. #abc.txt
Dabar sukurkite failą, kurio pavadinime yra #
bet kur, išskyrus elgetaujant.
$ touch ./a#bc.txt. $ touch ./abc#.txt arba. $ palieskite „a#bc.txt“ $ palieskite „abc#.txt“
Kas nutinka, kai sukuriate du failus (tarkime a ir #bc) iškart:
$ touch a.txt #bc.txt.
Akivaizdu, kad iš aukščiau pateikto pavyzdžio jis sukūrė tik failą "a"ir failas"#bc“ buvo ignoruojamas. Norėdami sėkmingai įvykdyti aukščiau pateiktą situaciją, galime
$ touch a.txt ./#bc.txt. arba. $ touch a.txt '#bc.txt'
Galiausiai patikrinkite ką tik sukurtą failą naudodami ls komanda.
$ ls -l.
Norėdami pervardyti maišos failą, galite naudoti mv komandą, kaip parodyta.
$ mv ./#bc.txt ./#cd.txt. arba. $ mv '#bc.txt' '#cd.txt'
Norėdami nukopijuoti maišos failą, galite naudoti cp komanda taip, kaip parodyta.
$ cp ./#cd.txt ./#de.txt. arba. $ cp '#cd.txt' '#de.txt'
Norėdami redaguoti maišos failą, galite naudoti nano arba vim redaktorius, kaip parodyta.
$ vi ./#cd.txt. arba. $ vi '#cd.txt'
$ nano ./#cd.txt. arba. $ nano '#cd.txt'
Norėdami ištrinti maišos failą, galite naudoti rm komandą, kaip parodyta.
$ rm ./#bc.txt arba. $ rm '#bc.txt'
Norėdami ištrinti visus failus, kuriuose yra maišos (#) failo pavadinime galite naudoti:
$ rm ./#*
Jei nežinote, kabliataškis veikia kaip komandų skyriklis BASH o gal ir kitas apvalkalas. Kabliataškis leidžia vienu metu vykdyti kelias komandas ir veikia kaip skyriklis. Ar kada nors susidūrėte su kokiu nors failo pavadinimu, kuriame yra kabliataškis? Jei ne čia, tai padarysi.
Sukurkite failą su kabliataškiu.
$ touch ;abc.txt.
Išvesties pavyzdys:
liesti: trūksta failo operando. Norėdami gauti daugiau informacijos, pabandykite „palieskite --pagalba“. bash: abc.txt: komanda nerasta.
Aukščiau pateiktos klaidos priežastis yra ta, kad paleidžiate aukščiau pateiktą komandą BASH interpretuoja liesti kaip komandą, bet nepavyko rasti failo operando prieš kabliataškį, todėl praneša apie klaidą.
Ji taip pat praneša apie kitą klaidą, kad „abc.txt‘ komanda nerasta, tik todėl, kad po kabliataškio BASH tikėjosi kitos komandos ir „abc.txt“, nėra įsakymas.
Norėdami išspręsti tokią klaidą, pasakykite BASH neinterpretuoti kabliataškio kaip komandų skyriklio, kaip:
$ touch ./';abc.txt' arba. $ palieskite ';abc.txt'
Pastaba: Failo pavadinimą įtraukėme viena citata ''
. Tai sako BASH ;
yra failo pavadinimo dalis, o ne komandų skyriklis.
Likęs veiksmas (pvz., kopijavimas, perkėlimas, ištrynimas) faile ir aplanke, kurio pavadinime yra kabliataškis, gali būti atliktas tiesiai, pavadinimą įtraukus į vieną kabutę.
„Linux“ failų pavadinimuose gali būti daugumos specialiųjų simbolių, įskaitant tarpus, taškus, brūkšnelius, apatinius brūkšnius ir net simbolius, pvz. @
, !
, $
, ir %
.
Čia yra sąrašas specialiųjų simbolių, kuriuos turėtumėte naudoti atsargiai arba apsvarstykite galimybę juos naudoti failų pavadinimuose:
Norėdami sukurti pliuso ženklą (+)
failą Linux sistemoje, galite naudoti liesti komandą kartu su failo pavadinimu vienose kabutėse.
$ palieskite „+ravi.txt“
Norėdami sukurti dolerio ženklą ($)
failą Linux sistemoje, galite naudoti liesti komandą kartu su failo pavadinimu vienose kabutėse.
$ palieskite '$ravi.txt'
Norėdami sukurti procento ženklą (%)
failą Linux sistemoje, galite naudoti.
$ palieskite „%ravi.txt“
Norėdami sukurti žvaigždutės ženklą (*)
failą Linux sistemoje, galite naudoti.
$ palieskite '*ravi.txt'
Pastaba: kai turite ištrinti failą, kuris prasideda *
, niekada nenaudokite šių komandų, kad ištrintumėte tokius failus.
$ rm * arba. $ rm -rf *
Vietoj to naudokite
$ rm ./*.txt.
Tiesiog įdėkite failo pavadinimą į vieną kabutę, o kiti dalykai yra tokie patys.
$ palieskite „!ravi.txt“
Nieko papildomo, elkitės su failo pavadinimu @
pasirašyti kaip įprastą failą.
$ palieskite „@ravi.txt“
Nereikia jokio papildomo dėmesio, naudokite failą, turintį ^
failo pavadinime kaip įprastą failą.
$ palieskite „^ravi.txt“
Failo pavadinimas turi būti įdėtas į kabutes ir esate pasiruošę.
$ palieskite „&ravi.txt“
Jei failo pavadinime yra skliaustai, failo pavadinimą turite pridėti viengubomis kabutėmis.
$ palieskite '(ravi.txt)'
Papildomos priežiūros nereikia. Tiesiog traktuokite jį kaip kitą failą.
$ touch {ravi.txt}
Failo pavadinimas su ševronais turi būti parašytas viengubomis kabutėmis.
$ liesti ''
Laikykite failų pavadinimus su laužtiniais skliaustais kaip įprastus failus ir jums nereikia jais rūpintis.
$ touch [ravi.txt]
Jie yra labai dažni ir nereikalauja nieko papildomo. Tiesiog darykite tai, ką būtumėte darę su įprastu failu.
$ touch _ravi.txt.
Lygybės ženklas nieko nekeičia, galite naudoti jį kaip įprastą failą.
$ touch =ravi.txt.
Pasvirasis brūkšnys nurodo apvalkalui nepaisyti kito simbolio. Failo pavadinimą turite įtraukti į vieną kabutę, kaip tai padarėme kabliataškio atveju. Likę dalykai yra aiškūs.
$ palieskite „\ravi.txt“
Negalite sukurti failo, kurio pavadinime yra pasvirasis brūkšnys (/)
, kol failų sistemoje nebus klaidos. Jokiu būdu negalima išvengti pasvirojo brūkšnio.
Taigi, jei galite sukurti failą, pvz „/ravi.txt“ arba „b/c.txt“ tada jūsų failų sistemoje yra klaida arba turite Unicode palaikymą, kuris leidžia sukurti failą su pasviruoju brūkšniu. Šiuo atveju pasvirasis brūkšnys yra ne tikras pasvirasis brūkšnys, o Unikodo simbolis, kuris atrodo kaip pasvirasis brūkšnys.
Vėlgi, pavyzdys, kai nereikia dėti jokių specialių bandymų. Failo pavadinimas su klaustuku gali būti traktuojamas pačiu bendriausiu būdu.
$ palieskite „?ravi.txt“
Failai, prasidedantys tašku (.)
yra labai ypatingi Linux sistemoje ir vadinami taškiniais failais. Tai yra paslėpti failai, paprastai konfigūracijos arba sistemos failai. Turite naudoti jungiklį "-a"arba"-A' su ls komanda norėdami peržiūrėti tokius failus.
Kurti, redaguoti, pervardyti ir ištrinti tokius failus yra paprasta.
$ palieskite „.ravi.txt“
Pastaba: Linux sistemoje galite turėti tiek taškų (.)
kaip jums reikia failo pavadinime. Skirtingai nuo kitų sistemos taškų faile, pavadinimai nereiškia, kad atskiriami vardai ir plėtiniai. Galite sukurti failą su keliais taškais:
$ touch 1.2.3.4.5.6.7.8.9.10.txt.
ir patikrinkite kaip:
$ ls -l iš viso 0. -rw-r--r-- 1 avi avi 0 birželio 8 d. 14:32 1.2.3.4.5.6.7.8.9.10.txt
Failo pavadinime galite rašyti kablelį tiek, kiek norite, ir jums nereikia nieko papildomai. Tiesiog darykite tai įprastu būdu, kaip paprastą failo pavadinimą.
$ palieskite ',ravi.txt' arba. $ palieskite ',ravi,.txt'
Failo pavadinime galite turėti dvitaškį, tiek, kiek norite, ir jums nereikės nieko papildomo. Tiesiog darykite tai įprastu būdu, kaip paprastą failo pavadinimą.
$ touch :12.txt. arba. $ touch ':ravi:.txt'
Kad failo pavadinime būtų citatos, turime naudoti mainų taisyklę. T. y., jei failo pavadinime reikia turėti vieną kabutę, failo pavadinimą surašykite dvigubomis kabutėmis, o jei failo pavadinime reikia dvigubos kabutės, įrašykite ją viena kabutėmis.
$ palieskite "15'.txt" ir $ palieskite "ravi.txt"
Kai kuriems Linux redaktoriams patinka emacs sukurti redaguojamo failo atsarginę kopiją. Atsarginės kopijos faile yra pradinio failo pavadinimas ir tildė failo pavadinimo pabaigoje. Galite turėti failą, kurio pavadinime yra tildė, bet kurioje vietoje tiesiog taip:
$ palieskite „~ravi.txt“ arba. $touch 'anusha~.txt'
Sukurkite failą pavadinimu, kuriame yra tarpas tarp simbolių / žodžių, pasakykite „Sveiki, mano vardas ravi.txt”.
Nerekomenduojama failų pavadinimus naudoti tarpais, o jei turite atskirti skaitomus pavadinimus, naudokite pabraukimą arba brūkšnį. Tačiau jei turite sukurti tokį failą, turite naudoti pasvirąjį brūkšnį, kuris nepaiso kito jo simbolio. Norėdami sukurti aukščiau pateiktą failą, turime tai padaryti tokiu būdu.
$ palieskite hi\ my\ name\ is\ ravi.txt Sveiki, mano vardas ravi.txt
Bandžiau aprėpti visus scenarijus, su kuriais galite susidurti. Dauguma aukščiau pateiktų diegimų yra skirti BASH Shell ir gali neveikti kituose apvalkaluose.
Jei manote, kad kažką praleidau (tai labai įprasta ir žmogiška), galite įtraukti savo pasiūlymą į toliau pateiktus komentarus. Būkite prisijungę ir komentuokite. Sekite naujienas ir palaikykite ryšį! Pamėgti ir dalintis mumis ir padėk mums skleistis!