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

Når du først leste overskriften på 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 på å enten installere noe som Cygwin. eller bruk et dual boot Linux-system eller installer noe som 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 ved å bruke Linux-skript på Windows-maskinen din er at du kan bruke det kraftige Linux-skriptspråket til å 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 i 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 på 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 stedet være hjemmekatalogen din i Ubuntu-arbeidsområdet. Dette kan fastslås ved å skrive inn kommandoen ved ledeteksten:

ekko $ HJEM

og den sender ut 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.

Neste trinn 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. Din plassering på skrivebordskatalogen vises:

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

Derfor, i dette eksemplet, skriver du inn terminalen, 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 ditt 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 andre to skjermene mine, så vi må klassifisere og organisere disse filene! Skriptet som er gitt, tar hver filtype, og plasserer dem i en relevant navngitt mappe på skrivebordet.

Så for eksempel snarveifiler, disse vil være * .lnk-filer, så vi vil flytte 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 tilgjengelige 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 kommadelt CSV-fil. Hvert kategorinavn vil være navnet på katalogen filene skal plasseres 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 nødvendige ryddige funksjonen.

Slik oppretter du en fil i gjeldende katalog i terminaltypen:

notepad cleanup.csv

Ettersom filen ikke vil eksistere på dette stadiet, vil den be om at du oppretter 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 flyttes alle filer med * .jpg, *. Png og * .svg til IMAGES-mappen. Til slutt flytter vi alle * .txt-, *. Docx-, *. Doc- og * .pdf-filer til DOCUMENTS-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. Forresten, dette skriptet vil 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:

rengjøring av notisblokk.sh

Handlingen til skriptet er å angi navnet på CSV-filen vi leser i skriptet, og plasseringen på 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 “<” og “>” 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. Les kommentarene hvis du ønsker å forstå kommandoene, og hvis du ikke er sikker på en kommando, prøv “mann ”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 den gjeldende katalogen.

./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 seg fra skrivebordet.

Full Desktop Tidy Linux Script for Windows

Vær oppmerksom på kommentarene som er foran “#” i skriptet, da de forklarer hvordan skriptet fungerer. # Sett variabler for plasseringen av 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
fi

# 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' <$ CSV> 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 som vil være
# plassert i disse katalogene.

mens du leser csvline
gjøre
telle = 1
for filtype i `ekko" $ 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
fi
CATEGORY = $ {filetype}
ellers
# Send en vennlig melding som indikerer hva manuset gjør.
ekko "flytter *. $ {filetype} til $ {CATEGORY}"
# Ikke vis noen feilmeldinger (dvs.> 2 / dev / null) når du flytter filene i tilfelle filene ikke eksisterer,
# så "mv" -kommandoen er "lydløs".
mv $ {DESKTOP} /*.$ {filetype} $ {DESKTOP} / $ {CATEGORY} 2> / dev / null
fi
count = `expr $ count + 1`
ferdig
gjort
Facebook Twitter Google Plus Pinterest