Kako uporabiti Linuxove skripte za pospravljanje namizja v sistemu Windows 10



Preizkusite Naš Instrument Za Odpravo Težav

Ko prvič preberete naslov tega članka, bi vam lahko odpustili, če mislite, da je nekaj tehnično napačno. Navsezadnje Linux ni del operacijskega sistema Windows, kajne? Gre za dva popolnoma različna operacijska sistema. Prej je bil v preteklosti edini način uporabe skriptov za Linux s sistemom Windows nameščen nekaj podobnega Cygwin . ali uporabite sistem z dvojnim zagonom Linux ali namestite kaj podobnega Samba .



Vse to se je spremenilo v operacijskem sistemu Windows 10! V trgovini Microsoft Windows je na voljo več distribucij Linuxa. Ta prejšnja Članek Appuals o Kali Linux opisuje en tak način pridobivanja določene distribucije Linuxa v vašem okolju Windows 10.



Ena od prednosti uporabe skriptov Linux na vašem računalniku z operacijskim sistemom Windows je ta, da lahko za avtomatizacijo opravil uporabite zmogljiv skriptni jezik Linux, še posebej, če ste bolj seznanjeni s skripti Linux kot recimo paketne datoteke Powershell ali Dos. V tem članku je razloženo, kako napisati Linuxov »bash« skript za čiščenje tipičnega namizja Windows. Če še ne poznate Linuxa, se boste iz tega članka naučili osnov in v tem procesu ustvarili koristno orodje.



Uporabili bomo osnovni terminal Ubuntu Linux (na voljo v trgovini Windows v računalnikih z operacijskim sistemom Windows 10), ki vam omogoča uporabo ukazov bash, k ssh, git, apt in mnogih drugih. To morate namestiti, če tega še niste storili. Razložena je metoda tukaj .

Ukazna vrstica za Linux

Ko namestite Ubuntu in ga zaženete, se prikaže okno ukazne vrstice, podobno naslednjim. Tako boste dobili bash Linux, ukazno vrstico:



Zdaj bomo napisali naš scenarij. Datoteko lahko urejate s katerim koli urejevalnikom, vključno z urejevalnikom Windows, kot je beležnica, ali urejevalnikom Linuxa, kot je vi, če ste prepričani, da jo uporabljate.

Ko odprete terminal Ubuntu, bo vaša lokacija domači imenik v delovnem prostoru Ubuntu. To lahko ugotovimo z vnosom ukaza v ukazni poziv:

echo $ HOME

in izpisal bo vaš domači imenik, kot je prikazano na naslednjem posnetku zaslona. Linux format uporablja poševnice naprej, ki predstavljajo imenike, na primer “/”.

Zaradi udobja bomo skript postavili v domači imenik.

Naslednji korak je ugotoviti lokacijo vašega namizja, saj je znana kot Linux pot. To bomo potrebovali za izvajanje dejanj nad datotekami v pravilnem imeniku.

V terminalu vnesite “cd /”. To vas popelje v korensko območje vašega okolja Ubuntu.

Nato vnesite 'ls'

Tu so navedeni vsi imeniki v Linuxu. Nekaj ​​takega boste videli v terminalu Linux:

Poiskati moramo namizje vašega uporabnika. Ob predpostavki, da je to na pogonu C, preklopite v imenik “mnt”. Tu bodo pogoni Windows prepoznani tako:

Nato morate vedeti, v katerem imeniku je vaše namizje. Običajno ga lahko najdete v oknih z desnim klikom na ikono namizja, tako kot na seznamu »Hitri dostop« v Raziskovalcu. Prikazana bo lokacija vašega namizja na namizju:

Od tega se lahko v terminalu spremenite v svoj imenik z Linuxom v terminalu:

Zato v tem primeru vtipkate v terminal in se spomnite, da so poševnice nazaj v sistemu Windows enake poševnicam naprej v Linuxu. V mojem primeru je pot, ki je potrebna v ukazu 'spremeni imenik':

cd / mnt / c / Users / gofor / OneDrive / Desktop

Nato lahko s pomočjo ls naštejete vse datoteke na namizju:

Če je kaj podobnega mojemu namizju, boste dobili dolg seznam datotek, kot je ta:

Tukaj lahko vidite, kako neurejeno je moje namizje v sistemu Windows:

Na mojih drugih 2 monitorjih je bilo več ikon, zato moramo te datoteke razvrstiti in organizirati! Priloženi skript bo zajel vsako vrsto datoteke in jih postavil v ustrezno poimenovano mapo na namizju.

Tako bodo na primer datoteke z bližnjicami datoteke * .lnk, zato jih bomo premaknili v mapo z imenom »SHORTCUTS«.
Podobno bodo slikovne datoteke, kot so .jpg, .png, .bmp, .svg, premaknjene v mapo z imenom 'SLIKE'.
Dokumenti in Officeovi dokumenti, kot so besedilne datoteke, npr. .Docx, .pdf, .xls, bodo shranjeni v mapo z imenom »OFFICEDOCS«.

Torej, ko se skript zažene, bodo vsi dokumenti na voljo organizirano in v ustreznem imeniku, ustvarjenem za to kategorijo datotek. Tako boste namizje razbarvali in datoteke namizja naredili bolj urejene. Ustvarite lahko toliko vrst map in določite merila za datoteke, kot želite. Datotek ni treba razvrstiti po samo vrstah datotek, lahko ustvarite mape kategorij, kot želite, na primer “HRFILES” in “PROJECTFILES”. V tem primeru bomo datoteke razvrstili po njihovih vrstah.

Ustvarjanje seznama kategorij in datotek

Za uporabo te aplikacije potrebujemo dve datoteki:

A) Seznam kategorij in vrst datotek, s katerimi lahko preidete v tiste kategorije, ki so v datoteki CSV z ločenimi vejicami. Ime vsake kategorije bo ime imenika, v katerega bodo datoteke postavljene na namizje. Datoteko CSV lahko ustvarite s katerim koli želenim urejevalnikom. V tem primeru bomo uporabili beležnico.
B) Linuxov skript, ki bo prebral datoteko kategorije in obdelal zahtevano urejeno funkcijo.

Če želite ustvariti datoteko v trenutnem imeniku v vrsti terminala:

čiščenje beležnice.csv

Ker datoteka v tej fazi ne bo obstajala, bo zahtevala, da ustvarite novo datoteko, zato samo pritisnite »Da«.

Zdaj bomo vnesli naslednje podrobnosti v vrstico »kategorija, tip datoteke1, tip datoteke2, tip datoteke3, itd.« Za vsako kategorijo tako:

KRATKI REZKI, lnk 
SLIKE, jpg, png, svg
DOKUMENTI, txt, docx, doc, pdf

Prvo polje bo ime imenika na namizju, kamor bodo postavljene preostale vrste datotek. Preostala polja so vrste datotek, ki jih želite premakniti v mapo.

Zato bodo za mapo SHORTCUTS vse datoteke * .lnk premaknjene v to mapo. Za mapo IMAGES bodo vse datoteke z * .jpg, *. Png in * .svg premaknjene v mapo IMAGES. Končno vse datoteke * .txt, *. Docx, *. Doc in * .pdf premaknemo v mapo DOKUMENTI. Na ta način datoteke razvrstimo v ustrezne imenike.

Ko smo ustvarili datoteko CSV, smo pripravljeni napisati skript. Skript bomo poklicali cleanup.sh. Mimogrede, ta skript bo imel minimalno potrditev, zato morate zagotoviti, da je datoteka CSV v pravilni obliki, sicer ne bo delovala! V tem skriptu bomo storili le minimalno preverjanje, ali obstajajo datoteke in mape.

Skript lahko urejate v terminalu, če poznate urejevalnike tipa Unix, na primer vi, ali pa preprosto uporabite beležnico:

čiščenje beležnice.sh

Dejanje skripta je nastavitev imena datoteke CSV, ki jo beremo v skriptu, in lokacije namizja, ki ga želimo očistiti. Nastavili bomo spremenljivke za datoteko CSV za čiščenje in lokacijo namizja. V mojem primeru je to naslednje. Mesto namizja boste morali zamenjati za svojega. Prosimo, upoštevajte, da je karkoli med “” nadomestno mesto, kamor morate vnesti svoje posebne podatke.

Torej. prvi dve vrstici v skriptu sta:

DESKTOP = / mnt / c / Users // Namizje 
CSV = cleanup.csv

Celoten scenarij si lahko ogledate spodaj. Prosimo, preberite komentarje, če želite razumeti ukaze, in če niste prepričani v ukaz, poskusite »man« v ukazni vrstici Linuxa, da dobite večji vpogled v to, kako ukaz deluje.

Skript za čiščenje naredite izvršljiv in ga zaženite

Če želite zagnati skript iz domače ukazne vrstice, ga morate narediti izvršljiv z naslednjim ukazom:

chmod + x cleanup.sh

Če želite zagnati skript, morate vnesti naslednje, kot je v trenutnem imeniku.

./cleanup.sh

Evo, kako je bilo videti moje namizje pred in po zagonu skripta. Vidite lahko, da so mape, ki vsebujejo premaknjene datoteke, že ustvarjene, namizje pa je veliko manj natrpano:

Pred: Po:

in imenik SHORTCUTS, pri čemer so se vse bližnjice premaknile z namizja.

Celoten namizni urejeni Linux Script za Windows

Upoštevajte komentarje s predpono »#« v skriptu, saj pojasnjujejo, kako skript deluje. # Nastavite spremenljivke za lokacijo lokalnega namizja ali katerega koli imenika, ki ga želite očistiti, in ime datoteke CSV.

DESKTOP = / mnt / c / Users / gofor / OneDrive / Desktop 
CSV = cleanup.csv

# Preverite, ali obstaja datoteka za čiščenje csv, tako da uporabite ukaz linux “test” in zastavico “-f” za obstoj datoteke.
# Če datoteka ne obstaja, oddajte sporočilo o napaki in zapustite skript.

če [! -f $ {CSV}] 
echo Datoteka cleanup.csv ne obstaja.
izhod -1
biti

# Zdaj pretvorite CSV, če je bil shranjen v formatu dos v format Unix, tako da odstranite znake za vrnitev nosilca.
# Izhod shranite v začasno datoteko, nato pa začasno datoteko preimenujte nazaj v prvotno ime.

tr -d ' r' temp.csv 
mv temp.csv $ CSV

# Zdaj pojdite po datoteki CSV po vrsticah in shranite ime prvega argumenta, ki je
# ime kategorije / imenika, pri katerem so vsi preostali argumenti vrste datotek, ki bodo
# v teh imenikih.

medtem ko berete csvline 
naredi
štetje = 1
za vrsto datoteke v `echo '$ csvline' | tr, ' n'
naredi
če [$ count -eq 1] potem
# Ker je to prvi argument, preverite, ali mapa že obstaja, in če ne, jo ustvarite.
če [! -d $ {DESKTOP} / $ filetype]
# Imenik ne obstaja, zato ga bomo ustvarili.
mkdir $ {DESKTOP} / $ vrsta datoteke
biti
KATEGORIJA = $ {filetype}
drugače
# Izdamo prijazno sporočilo z navedbo, kaj skript počne.
echo 'premik *. $ {filetype} v $ {CATEGORY}'
# Med premikanjem datotek ne prikazujte sporočil o napakah (tj.> 2 / dev / null), če datoteke ne obstajajo,
# ukaz 'mv' je torej 'tiho'.
mv $ {DESKTOP} /*.$ {filetype} $ {DESKTOP} / $ {CATEGORY} 2> / dev / null
biti
count = `izraz $ count + 1`
Končano
Končano< cleanup.csv
7 minut branja