Kako koristiti Linux skripte za sređivanje radne površine u sustavu Windows 10



Isprobajte Naš Instrument Za Uklanjanje Problema

Kad prvi put pročitate naslov ovog djela, moglo bi vam se oprostiti što mislite da je nešto tehnički netočno. Napokon, Linux nije dio operativnog sustava Windows, zar ne? To su dva potpuno različita operativna sustava. Prije je jedini način korištenja Linux skriptiranja sa sustavom Windows bio instaliranje nečega poput Cygwin . ili koristite Linux sustav s dvostrukim pokretanjem ili instalirajte nešto slično Samba .



Sve se to promijenilo u sustavu Windows 10! U trgovini Microsoft Windows postoji nekoliko distribucija Linuxa. Ovo prethodno Članak Appuala o Kali Linuxu opisuje jedan takav način dobivanja određene Linux distribucije u vašem Windows 10 okruženju.



Jedna od prednosti upotrebe Linux skripti na vašem Windows računalu je ta što možete koristiti moćni Linux skriptni jezik za automatizaciju zadataka, posebno ako ste upoznati s Linuxovim skriptiranjem nego recimo, Powershell ili Dos batch datoteke. Ovaj članak objašnjava kako napisati Linux 'bash' skriptu za čišćenje tipične Windows radne površine. Ako ste novi u Linuxu, naučit ćete osnove iz ovog članka i stvoriti korisni uslužni program u tom procesu.



Koristit ćemo osnovni Ubuntu Linux Terminal (dostupan u Windows Store na Windows 10 računalima) koji vam omogućuje upotrebu bash, k ssh, git, apt i mnoge druge Linux naredbe. To ćete morati instalirati ako to već niste učinili. Objašnjena je metoda ovdje .

Linux naredbeni redak

Nakon što instalirate Ubuntu i pokrenete ga, dobit ćete prozor naredbenog retka, sličan sljedećem. Ovo će vam dati bash Linux, naredbeni redak:



Sada ćemo napisati našu skriptu. Datoteku možete uređivati ​​bilo kojim uređivačem, uključujući Windows uređivač kao što je notepad ili Linux editor poput vi ako ste sigurni da ga koristite.

Kada otvorite Ubuntu terminal, vaše će mjesto biti vaš kućni direktorij, u radnom prostoru Ubuntu. To se može utvrditi unosom naredbe u naredbeni redak:

odjek $ HOME

i prikazat će vaš kućni direktorij kao što je prikazano na sljedećem snimku zaslona. Linux format koristi kose crte prema naprijed koje predstavljaju direktorije, poput '/'.

Radi praktičnosti stavit ćemo skriptu u početni direktorij.

Sljedeći je korak saznati mjesto vaše radne površine, koja je poznata kao Linux staza. To će nam trebati da bismo izvršili radnje na datotekama u ispravnom direktoriju.

U terminalu upišite 'cd /'. To vas vodi do korijenskog područja vašeg Ubuntu okruženja.

Zatim upišite 'ls'

Ovdje su navedeni svi direktoriji u Linuxu. Vidjet ćete nešto slično u Linux terminalu:

Moramo pronaći radnu površinu vašeg korisnika. Pod pretpostavkom da je ovo na pogonu C, promijenite se u direktorij 'mnt'. Ovdje će se Windows diskovi identificirati ovako:

Tada morate znati u kojem se direktoriju nalazi vaša radna površina. To obično možete pronaći u prozorima 'desnim klikom' na ikonu radne površine, s popisa 'Brzi pristup' u File Explorer-u. Prikazat će se mjesto vašeg direktorija na radnoj površini:

Od toga se možete promijeniti u svoj direktorij koristeći Linux u terminalu:

Stoga, u ovom primjeru upisujete terminal, sjećajući se da su povratne kose crte u sustavu Windows jednake kose crte u Linuxu. U mom slučaju, put potreban u naredbi 'promjena direktorija' je:

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

Tada možete navesti sve datoteke na radnoj površini pomoću 'ls':

Ako je nešto slično mojoj radnoj površini, dobit ćete dugački popis datoteka poput ovih:

Ovdje možete vidjeti kako neuredno izgleda moja radna površina u sustavu Windows:

Na moja druga 2 monitora bilo je više ikona, pa moramo klasificirati i organizirati ove datoteke! Dostavljena skripta će uzeti svaku vrstu datoteke i smjestiti ih u odgovarajuću mapu na radnoj površini.

Tako će, na primjer, datoteke prečaca biti * .lnk datoteke, pa ćemo ih premjestiti u mapu koja se naziva “SHORTCUTS”.
Slikovne datoteke, kao što su .jpg, .png, .bmp, .svg, premjestit će se u mapu zvanu 'IMAGES'.
Dokumenti i Office dokumenti, poput datoteka s riječima, tj. .Docx, .pdf, .xls, bit će stavljeni u mapu pod nazivom 'OFFICEDOCS'.

Dakle, kada se skripta pokrene, svi će dokumenti biti dostupni organizirano, u odgovarajućem direktoriju, stvorenom za tu kategoriju datoteka. To će razdvojiti radnu površinu i učiniti će vaše datoteke radne površine organiziranijima. Možete stvoriti onoliko vrsta mapa i definirati kriterije datoteka koliko želite. Datoteke ne moraju biti organizirane prema samoj vrsti datoteke, možete stvoriti mape kategorija po želji, poput 'HRFILES' i 'PROJECTFILES'. U ovom ćemo primjeru datoteke organizirati prema njihovoj vrsti datoteke.

Stvaranje popisa kategorija i datoteka

Da bismo mogli koristiti ovu aplikaciju, trebat će nam dvije datoteke:

A) Popis kategorija i vrsta datoteka za ulazak u one kategorije koje se nalaze u CSV datoteci odijeljenoj zarezima. Naziv svake kategorije bit će naziv direktorija u kojem će se datoteke nalaziti na radnoj površini. CSV datoteku možete stvoriti bilo kojim željenim uređivačem. U ovom ćemo primjeru koristiti bilježnicu.
B) Linux skripta koja će pročitati datoteku kategorije i obraditi potrebnu urednu funkciju.

Da biste stvorili datoteku u trenutnom direktoriju u tipu terminala:

čišćenje bilježnice.csv

Kako datoteka u ovoj fazi neće postojati, zatražit će da stvorite novu datoteku, pa samo pritisnite 'Da'.

Sada ćemo unijeti sljedeće pojedinosti, u formatu „kategorija, tip datoteke1, tip datoteke2, tip datoteke3, itd.“, 1 redak za svaku kategoriju tako:

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

Prvo polje bit će ime direktorija na radnoj površini, gdje će biti smještene preostale vrste datoteka. Preostala polja su vrste datoteka koje želite premjestiti u mapu.

Stoga će se za mapu SHORTCUTS sve datoteke * .lnk premjestiti u tu mapu. Za mapu IMAGES, sve datoteke s * .jpg, *. Png i * .svg premjestit će se u mapu IMAGES. Konačno, premještamo sve datoteke * .txt, *. Docx, *. Doc i * .pdf u mapu DOKUMENTI. Na taj način datoteke organiziramo u ispravne direktorije.

Nakon što stvorimo CSV datoteku, spremni smo za pisanje skripte. Nazvat ćemo skriptu, cleanup.sh. Inače, ova će skripta imati minimalnu provjeru valjanosti, pa morate biti sigurni da je CSV datoteka u ispravnom formatu jer neće raditi! Sve što ćemo učiniti u ovoj skripti je provjeriti postoje li datoteke i mape kao minimalnu provjeru.

Možete uređivati ​​skriptu u terminalu ako poznajete uređivače Unix tipa, kao što je vi, ili jednostavno koristite notepad:

čišćenje bilježnice.sh

Djelovanje skripte je postavljanje naziva CSV datoteke koju čitamo u skripti i mjesta radne površine koju želimo očistiti. Postavit ćemo varijable na CSV datoteku za čišćenje i mjesto radne površine. U mom slučaju to je sljedeće. Morat ćete zamijeniti mjesto radne površine za svoje. Imajte na umu da je sve između '' rezervirano mjesto u koje trebate unijeti svoje određene podatke.

Tako. prva 2 retka u skripti su:

DESKTOP = / mnt / c / Users // Desktop 
CSV = čišćenje.csv

Kompletnu skriptu možete vidjeti u nastavku. Molimo pročitajte komentare ako želite razumjeti naredbe, a ako niste sigurni u naredbu, pokušajte s 'man' na naredbenom retku Linuxa da biste dobili bolji uvid u to kako naredba radi.

Napravite skriptu za čišćenje izvršnom i pokrenite je

Da biste skriptu pokrenuli iz naredbenog retka kuće, morat ćete je izvršiti pomoću sljedeće naredbe:

chmod + x čišćenje.š

Da biste pokrenuli skriptu, morat ćete upisati sljedeće, kao što je u trenutnom direktoriju.

./cleanup.sh

Evo kako je izgledala moja radna površina prije i nakon pokretanja skripte. Možete vidjeti da su mape koje sadrže premještene datoteke sada stvorene, a radna površina je puno manje pretrpana:

Prije: Nakon:

i direktorij SHORTCUTS, sa svim prečacima koji su se premjestili s radne površine.

Cijela radna površina uredna Linux skripta za Windows

Imajte na umu komentare s prefiksom '#' u skripti jer objašnjavaju kako skripta funkcionira. # Postavite varijable za mjesto lokalne radne površine ili bilo kojeg direktorija koji želite očistiti i, naziv CSV datoteke.

DESKTOP = / mnt / c / Users / gofor / OneDrive / Desktop 
CSV = čišćenje.csv

# Provjerite postoji li csv datoteka za čišćenje pomoću linux naredbe 'test' i zastavice '-f' za postojanje datoteke.
# Ako datoteka ne postoji, iznesite poruku o pogrešci, a zatim zatvorite skriptu.

ako [! -f $ {CSV}] tada 
odjek Datoteka cleanup.csv ne postoji.
izlaz -1
biti

# Sada pretvorite CSV ako je spremljen u formatu dos u Unix format uklanjanjem znakova za vraćanje nosača.
# Spremite izlaz u privremenu datoteku, a zatim preimenujte privremenu datoteku natrag u izvorno ime.

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

# Sada prođite CSV datoteku redak po redak i spremite ime prvog argumenta, a to je
# kategorija / naziv direktorija, nakon čega su svi preostali argumenti vrste datoteka koje će biti
# smješteno u ove direktorije.

dok čitate csvline 
čini
broj = 1
za tip datoteke u `ehu '$ csvline' | tr, ' n' '
čini
ako [$ count -eq 1] onda
# Budući da je ovo prvi argument, provjerite postoji li mapa već ako ne, stvorite je.
ako [! -d $ {DESKTOP} / $ filetype]
# Direktorij ne postoji, pa ćemo ga stvoriti.
mkdir $ {DESKTOP} / $ tip datoteke
biti
KATEGORIJA = $ {vrsta datoteke}
drugo
# Iznesite prijateljsku poruku koja pokazuje što skripta radi.
odjek 'premještanje *. $ {filetype} u $ {CATEGORY}'
# Nemojte prikazivati ​​poruke o pogrešci (tj.> 2 / dev / null) prilikom premještanja datoteka u slučaju da datoteke ne postoje,
#, pa je naredba 'mv' 'tiha'.
mv $ {DESKTOP} /*.$ {tip datoteke} $ {DESKTOP} / $ {CATEGORY} 2> / dev / null
biti
count = `izraz $ count + 1`
gotovo
gotovo< cleanup.csv
7 minuta čitanja