Cum se utilizează scripturile Linux pentru a vă ordona desktopul în Windows 10



Încercați Instrumentul Nostru Pentru Eliminarea Problemelor

Când ați citit prima dată titlul acestei piese, ați putea fi iertat pentru că ați crezut că ceva este tehnic incorect. La urma urmei, Linux nu face parte din sistemul de operare Windows, nu-i așa? Sunt două sisteme de operare complet diferite. Anterior, singura modalitate de a utiliza scripturile Linux cu Windows în trecut a fost fie să instalați ceva de genul Cygwin . sau folosiți un sistem Linux dual boot sau instalați ceva de genul Samba .



Toate acestea s-au schimbat în Windows 10! Există mai multe distribuții de Linux disponibile în magazinul Microsoft Windows. Acest precedent Articol Appuals despre Kali Linux descrie o astfel de metodă de a obține o distribuție Linux specifică în mediul dvs. Windows 10.



Unul dintre avantajele utilizării scripturilor Linux pe computerul dvs. Windows este că puteți utiliza puternicul limbaj de scriptare Linux pentru a automatiza sarcinile, mai ales dacă sunteți mai familiarizați cu scripturile Linux decât să spuneți, fișierele Powershell sau Dos. Acest articol explică cum se scrie un script Linux „bash” pentru a curăța un desktop tipic Windows. Dacă sunteți nou în Linux, veți învăța elementele de bază din acest articol și crearea unui utilitar util în acest proces.



Vom folosi un terminal Linux Linux de bază, (disponibil în Windows Store pe mașinile Windows 10), care vă permite să utilizați bash, k ssh, git, apt și multe alte comenzi Linux. Acest lucru va trebui instalat dacă nu ați făcut deja acest lucru. Metoda este explicată aici .

Linia de comandă Linux

Odată ce ați instalat Ubuntu și l-ați rulat, veți obține o fereastră de linie de comandă, similară cu următoarea. Acest lucru vă va oferi o linie de comandă bash Linux:



Vom scrie acum scenariul nostru. Puteți edita fișierul cu orice editor, inclusiv un editor Windows, cum ar fi notepad, sau un editor Linux, cum ar fi vi, dacă aveți încredere în utilizarea acestuia.

Când deschideți terminalul Ubuntu, locația dvs. va fi directorul dvs. de acasă, în spațiul de lucru Ubuntu. Acest lucru poate fi constatat prin introducerea comenzii la promptul de comandă:

ecou $ HOME

și vă va afișa directorul de acasă așa cum se arată în următoarea captură de ecran. Format Linux, folosește bare oblice reprezentând directoare, cum ar fi „/”.

Pentru comoditate, vom plasa scriptul în directorul principal.

Următorul pas este să aflați locația desktopului, deoarece este cunoscut sub numele de o cale Linux. Vom avea nevoie de acest lucru pentru a efectua acțiuni asupra fișierelor din directorul corect.

În terminal introduceți „cd /”. Acest lucru vă duce la zona rădăcină a mediului dvs. Ubuntu.

Apoi tastați „ls”

Aceasta listează toate directoarele din Linux. Veți vedea așa ceva în terminalul Linux:

Trebuie să găsim desktopul utilizatorului. Presupunând că acesta este pe unitatea C, treceți în directorul „mnt”. Aici vor fi identificate unitățile Windows astfel:

Apoi, trebuie să știți în ce director se află desktopul dvs. De obicei, puteți găsi acest lucru în Windows „făcând clic dreapta” pe pictograma desktop, așa din lista „Acces rapid” din File Explorer. Locația directorului desktop va fi afișată:

Din aceasta, vă puteți schimba în director folosind Linux în terminal:

Prin urmare, în acest exemplu, tastați terminalul, amintind că backslash-urile din Windows sunt echivalente cu slash-urile din Linux. În cazul meu, calea necesară în comanda „modificare director” este:

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

Apoi, puteți lista toate fișierele de pe desktop utilizând „ls”:

Dacă este ceva de genul desktopului meu, veți obține o listă lungă de fișiere de genul:

Puteți vedea cât de murdar arată desktopul meu în Windows aici:

Au existat mai multe pictograme pe celelalte 2 monitoare ale mele, așa că trebuie să clasificăm și să organizăm aceste fișiere! Scriptul furnizat va lua fiecare tip de fișier și le va plasa într-un folder numit în mod corespunzător de pe desktop.

Deci, de exemplu, fișierele de comenzi rapide, acestea vor fi fișiere * .lnk, așa că le vom muta într-un folder numit „SCURTURI”.
La fel, fișierele de imagine, cum ar fi .jpg, .png, .bmp, .svg vor fi mutate într-un folder numit „IMAGINI”.
Documentele și documentele Office, cum ar fi fișierele Word, adică .docx, .pdf, .xls, vor fi introduse într-un folder numit „OFFICEDOCS”.

Deci, când scriptul este rulat, toate documentele vor fi disponibile într-o manieră organizată, în directorul relevant, creat pentru acea categorie de fișiere. Acest lucru va dezordina desktopul și va face fișierele desktop mai organizate. Puteți crea cât mai multe tipuri de dosare și puteți defini criteriile de fișier dorite. Fișierele nu trebuie să fie organizate doar după tipul de fișier, puteți crea foldere de categorii după cum doriți, cum ar fi „HRFILES” și „PROJECTFILES”. În acest exemplu, vom organiza fișierele după tipul lor de fișier.

Crearea unei categorii și a unei liste de fișiere

Pentru a utiliza această aplicație, vom avea nevoie de 2 fișiere:

A) O listă de categorii și tipuri de fișiere pentru a intra în acele categorii deținute într-un fișier CSV delimitat de virgule. Fiecare nume de categorie va fi numele directorului în care vor fi plasate fișierele pe desktop. Puteți crea fișierul CSV cu orice editor preferat. În acest exemplu, vom folosi blocnotesul.
B) Un script Linux care va citi fișierul categoriei și va procesa funcția ordonată necesară.

Pentru a crea un fișier în directorul curent din tipul terminalului:

notepad cleanup.csv

Deoarece fișierul nu va exista în această etapă, vă va solicita să creați un fișier nou, așa că apăsați „Da”.

Vom introduce acum următoarele detalii, în formatul „categorie, tipul de fișier1, tipul de fișier2, tipul de fișier3,… etc.” 1 linie pentru fiecare categorie astfel:

SCURTURI, lnk 
IMAGINI, jpg, png, svg
DOCUMENTE, txt, docx, doc, pdf

Primul câmp va fi numele directorului de pe desktop, unde vor fi plasate tipurile de fișiere rămase. Câmpurile rămase sunt tipurile de fișiere pe care doriți să le mutați în dosar.

Prin urmare, pentru folderul SHORTCUTS, toate fișierele * .lnk vor fi mutate în acel folder. Pentru folderul IMAGES, toate fișierele cu * .jpg, *. Png și * .svg vor fi mutate în folderul IMAGES. În cele din urmă, mutăm toate fișierele * .txt, *. Docx, *. Doc și * .pdf în folderul DOCUMENTE. În acest fel, organizăm fișierele în directoarele corecte.

Odată ce am creat fișierul CSV, suntem gata să scriem scriptul. Vom numi scriptul, cleanup.sh. Apropo, acest script va avea o validare minimă, deci trebuie să vă asigurați că fișierul CSV este în formatul corect sau că nu va funcționa! Tot ce vom face în acest script este să verificăm dacă există fișiere și foldere, ca o verificare minimă.

Puteți edita scriptul în terminal dacă cunoașteți editori de tip Unix, cum ar fi vi, sau puteți utiliza pur și simplu blocnotesul:

notepad cleanup.sh

Acțiunea scriptului este de a seta numele fișierului CSV pe care îl citim în script și locația desktopului pe care dorim să îl curățăm. Vom seta variabile la fișierul CSV de curățare și la locația desktopului. În cazul meu, aceasta este următoarea. Va trebui să înlocuiți locația desktopului pentru a dvs. Rețineți că orice dintre „” este un substituent în care trebuie să introduceți informațiile dvs. specifice.

Asa de. primele 2 rânduri din script sunt:

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

Scenariul complet poate fi văzut mai jos. Vă rugăm să citiți comentariile dacă doriți să înțelegeți comenzile și, dacă nu sunteți sigur de o comandă, încercați „man” pe linia de comandă Linux, pentru a obține mai multe informații despre cum funcționează comanda.

Faceți executabil scriptul de curățare și rulați-l

Pentru a rula scriptul din linia de comandă de acasă, va trebui să-l executați cu următoarea comandă:

chmod + x cleanup.sh

Pentru a rula scriptul, va trebui să tastați următoarele, așa cum se află în directorul curent.

./cleanup.sh

Iată cum arăta desktopul meu înainte și după executarea scriptului. Puteți vedea că folderele care conțin fișierele mutate au fost create acum, iar desktopul este mult mai puțin aglomerat:

Inainte de: După:

și directorul SHORTCUTS, cu toate comenzile rapide mutate de pe desktop.

Scriptul complet desktop Tidy Linux pentru Windows

Vă rugăm să rețineți comentariile prefixate cu „#” în script, deoarece acestea explică modul în care funcționează scriptul. # Setați variabile pentru locația desktopului local sau a oricărui director pe care doriți să îl curățați și pentru numele fișierului CSV.

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

# Testați pentru a vedea dacă există fișierul CSV de curățare, utilizând o comandă linux „test” și semnalizatorul „-f” pentru existența fișierului.
# Dacă fișierul nu există, trimiteți un mesaj de eroare și apoi închideți scriptul.

dacă [ ! -f $ {CSV}] atunci 
echo Fișierul cleanup.csv nu există.
ieșire -1
fi

# Acum convertiți CSV-ul dacă a fost salvat în format dos în format Unix prin eliminarea caracterelor de returnare a carului.
# Salvați rezultatul într-un fișier temporar, apoi redenumiți fișierul temporar înapoi la numele original.

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

# Acum, parcurgeți fișierul CSV rând cu rând și stocați numele primului argument, care este
# nume categorie / director, pe care toate argumentele rămase sunt tipurile de fișiere care vor fi
# plasat în aceste directoare.

în timp ce citiți csvline 
do
număr = 1
pentru tipul de fișier în 'echo' $ csvline '| tr, ' n'`
do
dacă [$ count -eq 1] atunci
# Deoarece acesta este primul argument, verificați dacă folderul există deja și, dacă nu, creați-l.
dacă [ ! -d $ {DESKTOP} / $ filetype] atunci
# Directorul nu există, așa că îl vom crea.
mkdir $ {DESKTOP} / $ filetype
fi
CATEGORIE = $ {filetype}
altceva
# Trimiteți un mesaj prietenos care să indice ce face scriptul.
ecou „în mișcare *. $ {filetype} în $ {CATEGORY}”
# Nu afișați niciun mesaj de eroare (adică> 2 / dev / null) când mutați fișierele în cazul în care fișierele nu există,
# deci comanda „mv” este „tăcută”.
mv $ {DESKTOP} /*.$ {filetype} $ {DESKTOP} / $ {CATEGORY} 2> / dev / null
fi
count = `expr $ count + 1`
Terminat
Terminat< cleanup.csv
7 minute citite