Slik bruker du Linux-skript for å rydde opp skrivebordet ditt i Windows 10



Prøv Instrumentet Vårt For Å Eliminere Problemer

Når du først leste overskriften til dette stykket, kan du bli tilgitt for å tenke at noe er teknisk feil. Tross alt er Linux ikke en del av Windows-operativsystemet, er det? De er to helt forskjellige operativsystemer. Tidligere har den eneste måten å bruke Linux-skripting med Windows tidligere vært å installere noe sånt Cygwin . eller bruk et dual boot Linux-system eller installer noe sånt Samba .



Alt som endret seg i Windows 10! Det er flere distribusjoner av Linux tilgjengelig på Microsoft Windows Store. Dette forrige Appuals-artikkel om Kali Linux beskriver en slik metode for å skaffe en spesifikk Linux-distribusjon i Windows 10-miljøet ditt.



En av fordelene med å bruke Linux-skript på Windows-maskinen din er at du kan bruke det kraftige Linux-skriptspråket for å automatisere oppgaver, spesielt hvis du er mer kjent med Linux-skript enn å si batch-filer, Powershell eller Dos. Denne artikkelen forklarer hvordan du skriver et Linux 'bash' -skript for å rydde opp i et vanlig Windows-skrivebord. Hvis du er ny på Linux, vil du lære det grunnleggende fra denne artikkelen og skape et nyttig verktøy i prosessen.



Vi bruker en grunnleggende Ubuntu Linux Terminal (tilgjengelig i Windows Store på Windows 10-maskiner) som lar deg bruke bash, k ssh, git, apt og mange andre Linux-kommandoer. Dette må installeres hvis du ikke allerede har gjort det. Metoden er forklart her .

Linux-kommandolinjen

Når du har installert Ubuntu og kjørt det, får du et kommandolinjevindu, som ligner på det følgende. Dette vil gi deg en bash Linux, kommandolinje:



Vi skal nå skrive skriptet vårt. Du kan redigere filen med hvilken som helst redaktør, inkludert en Windows-editor som notisblokk, eller en Linux-editor som vi hvis du er trygg på å bruke den.

Når du åpner Ubuntu-terminalen, vil plasseringen være hjemmekatalogen din i Ubuntu-arbeidsområdet. Dette kan fastslås ved å skrive inn kommandoen ved ledeteksten:

ekko $ HJEM

og den vil sende hjemmekatalogen din som vist i følgende skjermbilde. Linux-format, bruker skråstreker som representerer kataloger, for eksempel “/”.

For enkelhets skyld vil vi plassere skriptet i hjemmekatalogen.

Det neste trinnet er å finne ut plasseringen til skrivebordet ditt, da det er kjent som en Linux-bane. Vi trenger dette for å utføre handlinger på filene i riktig katalog.

I terminalen skriver du “cd /”. Dette tar deg til rotområdet til Ubuntu-miljøet ditt.

Skriv deretter inn “ls”

Dette viser alle katalogene i Linux. Du vil se noe slikt i Linux-terminalen:

Vi må finne brukerens skrivebord. Forutsatt at dette er på C-stasjonen, bytt til 'mnt' -katalogen. Dette er hvor Windows-stasjoner vil bli identifisert slik:

Du må da vite hvilken katalog skrivebordet ditt ligger. Du kan vanligvis finne dette i windows ved å 'høyreklikke' på skrivebordsikonet slik fra 'Rask tilgang' -listen i File Explorer. Plassering av skrivebordskatalogen vises:

Fra dette kan du bytte til katalogen din ved hjelp av Linux i terminalen:

Derfor skriver du inn terminalen i dette eksemplet og husker at tilbakeslag i Windows tilsvarer skråstrek i Linux. I mitt tilfelle er banen som trengs i kommandoen 'endre katalog':

cd / mnt / c / Brukere / gofor / OneDrive / Desktop

Deretter kan du liste opp alle filene på skrivebordet ved å bruke “ls”:

Hvis det er noe som skrivebordet mitt, vil du få en lang liste med filer slik:

Du kan se hvor rotete skrivebordet mitt ser ut i Windows her:

Det var flere ikoner på de to andre skjermene mine, så vi må klassifisere og organisere disse filene! Skriptet som følger med, tar hver filtype og plasserer dem i en relevant navngitt mappe på skrivebordet.

Så for eksempel snarveisfiler, disse vil være * .lnk-filer, så vi flytter dem til en mappe som heter “SHORTCUTS”.
Likeledes vil bildefiler, for eksempel .jpg, .png, .bmp, .svg, bli flyttet til en mappe som heter 'BILDER'.
Dokumenter og Office-dokumenter, for eksempel ordfiler, dvs. .docx, .pdf, .xls, vil bli plassert i en mappe som heter 'OFFICEDOCS'.

Så når skriptet kjøres, vil alle dokumentene være tilgjengelig på en organisert måte, i den aktuelle katalogen, opprettet for den filkategorien. Dette vil rense skrivebordet og gjøre skrivebordsfilene mer organiserte. Du kan opprette så mange mappetyper og definere filkriteriene du ønsker. Filene trenger ikke å være organisert etter bare filtype, du kan opprette kategorimapper som du ønsker, for eksempel “HRFILES” og “PROJECTFILES”. I dette eksemplet vil vi organisere filene etter filtype.

Opprette en kategori og filliste

For å kunne bruke dette programmet trenger vi to filer:

A) En liste over kategorier og filtyper for å gå inn i de kategoriene som holdes i en kommaavgrenset CSV-fil. Hvert kategorinavn vil være navnet på katalogen filene blir plassert i på skrivebordet. Du kan opprette CSV-filen med hvilken som helst foretrukket redaktør. I dette eksemplet bruker vi notisblokk.
B) Et Linux-skript som vil lese kategorifilen og behandle den ryddige funksjonen.

Slik oppretter du en fil i gjeldende katalog i terminaltypen:

notisblokkopprydding.csv

Siden filen ikke vil eksistere på dette stadiet, vil den be deg om å opprette en ny fil, så bare trykk 'Ja'.

Vi vil nå legge inn følgende detaljer, i formatet 'kategori, filtype1, filtype2, filtype3, ..., etc' 1 linje for hver kategori således:

KORTFALL, lnk 
BILDER, jpg, png, svg
DOKUMENTER, txt, docx, doc, pdf

Det første feltet vil være navnet på katalogen på skrivebordet, hvor de gjenværende filtypene vil bli plassert. De resterende feltene er filtypene du vil flytte til mappen.

Derfor, for SHORTCUTS-mappen, flyttes alle * .lnk-filene til den mappen. For IMAGES-mappen blir alle filer med * .jpg, *. Png og * .svg flyttet til IMAGES-mappen. Til slutt flytter vi alle * .txt-, *. Docx-, *. Doc- og * .pdf-filer til DOKUMENTER-mappen. På denne måten organiserer vi filene i de riktige katalogene.

Når vi har opprettet CSV-filen, er vi klare til å skrive skriptet. Vi vil kalle skriptet, cleanup.sh. For øvrig vil dette skriptet ha minimal validering, så du må sørge for at CSV-filen er i riktig format, ellers fungerer den ikke! Alt vi vil gjøre i dette skriptet er å kontrollere at filer og mapper eksisterer, som en minimal sjekk.

Du kan redigere skriptet i terminalen hvis du kjenner redaktører av Unix-typen, for eksempel vi, eller du kan bare bruke notisblokk:

opprydding av notisblokk.sh

Handlingen til skriptet er å angi navnet på CSV-filen vi leser i skriptet, og plasseringen av skrivebordet vi vil rydde opp. Vi vil sette variabler til opprydding av CSV-filen og plassering på skrivebordet. I mitt tilfelle er dette som følger. Du må erstatte skrivebordets plassering for din egen. Vær oppmerksom på at alt mellom “” er en plassholder der du trenger å legge inn spesifikk informasjon.

Så. de to første linjene i skriptet er:

DESKTOP = / mnt / c / Brukere // Desktop 
CSV = opprydding.csv

Hele manuset kan sees nedenfor. Vennligst les kommentarene hvis du ønsker å forstå kommandoene, og hvis du ikke er sikker på en kommando, prøv “man” på Linux-kommandolinjen for å få mer innblikk i hvordan kommandoen fungerer.

Gjør oppryddingsskriptet kjørbart og kjør det

For å kjøre skriptet fra hjemkommandolinjen, må du gjøre det kjørbart med følgende kommando:

chmod + x opprydding.sh

For å kjøre skriptet, må du skrive inn følgende, slik det er i gjeldende katalog.

./cleanup.sh

Slik ser skrivebordet ut før og etter at skriptet er kjørt. Du kan se at mappene som inneholder de flyttede filene nå er opprettet, og skrivebordet er mye mindre rotete:

Før: Etter:

og SHORTCUTS-katalogen, med alle snarveiene som har flyttet fra skrivebordet.

Full Desktop Tidy Linux Script for Windows

Vær oppmerksom på kommentarene foran “#” i skriptet, da de forklarer hvordan skriptet fungerer. # Sett variabler for plasseringen til det lokale skrivebordet eller hvilken som helst katalog du vil rydde opp, og navnet på CSV-filen.

DESKTOP = / mnt / c / Brukere / gofor / OneDrive / Desktop 
CSV = opprydding.csv

# Test for å se om opprydding csv-filen eksisterer, ved å bruke en linux “test” -kommando og flagget “-f” for fileksistens.
# Hvis filen ikke eksisterer, send en feilmelding og avslutt skriptet.

hvis [! -f $ {CSV}] da 
ekko cleanup.csv-filen eksisterer ikke.
avkjørsel -1
være

# Konverter nå CSV hvis den er lagret i dos-format til Unix-format ved å fjerne vognreturtegn.
# Lagre utdataene i en midlertidig fil, og gi deretter den midlertidige filen nytt navn til det opprinnelige navnet.

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

# Gå nå gjennom CSV-filen linje for linje, og lagre navnet på det første argumentet, som er
# kategori / katalognavn, hvorpå alle gjenværende argumenter er filtypene
# plassert i disse katalogene.

mens du leser csvline 
gjøre
telle = 1
for filtype i `echo '$ csvline' | tr, ' n'`
gjøre
hvis [$ count -eq 1] da
# Siden dette er det første argumentet, må du sjekke om mappen allerede eksisterer, og hvis ikke, opprett den.
hvis [! -d $ {DESKTOP} / $ filetype] da
# Katalogen eksisterer ikke, så vi oppretter den.
mkdir $ {DESKTOP} / $ filtype
være
CATEGORY = $ {filetype}
ellers
# Send en vennlig melding som indikerer hva manuset gjør.
ekko 'flytting *. $ {filetype} til $ {CATEGORY}'
# Ikke vis noen feilmeldinger (dvs.> 2 / dev / null) når du flytter filene i tilfelle filene ikke eksisterer,
# så kommandoen 'mv' er 'lydløs'.
mv $ {DESKTOP} /*.$ {filetype} $ {DESKTOP} / $ {CATEGORY} 2> / dev / null
være
count = `expr $ count + 1`
ferdig
ferdig< cleanup.csv
7 minutter lest