Sådan bruges Linux-scripts til at rydde op på dit skrivebord i Windows 10

Når du først læser overskriften på dette stykke, kan du blive tilgivet for at tro, at noget er teknisk ukorrekt. Når alt kommer til alt er Linux ikke en del af Windows-operativsystemet, er det? De er to helt forskellige operativsystemer. Tidligere har den eneste måde at bruge Linux-scripting med Windows på tidligere været at enten installere noget som Cygwin. eller brug et dual boot Linux-system eller installer noget som Samba.

Alt dette ændrede sig i Windows 10! Der er flere distributioner af Linux tilgængelige i Microsoft Windows Store. Denne forrige Appuals artikel om Kali Linux beskriver en sådan metode til at opnå en bestemt Linux-distribution i dit Windows 10-miljø.

En af fordelene ved at bruge Linux-scripts på din Windows-maskine er, at du kan bruge det kraftfulde Linux-scriptingsprog til at automatisere opgaver, især hvis du er mere fortrolig med Linux-scripting end at sige, Powershell eller Dos batch-filer. Denne artikel forklarer, hvordan man skriver et Linux “bash” script for at rydde op i et typisk Windows Desktop. Hvis du er ny hos Linux, lærer du det grundlæggende fra denne artikel og opretter et nyttigt værktøj i processen.

Vi bruger en grundlæggende Ubuntu Linux Terminal (tilgængelig i Windows Store på Windows 10-maskiner), der giver dig mulighed for at bruge bash, k ssh, git, apt og mange andre Linux-kommandoer. Dette skal installeres, hvis du ikke allerede har gjort det. Metoden forklares her.

Linux-kommandolinjen

Når du har installeret Ubuntu og kørt det, får du et kommandolinjevindue svarende til det følgende. Dette giver dig en bash Linux, kommandolinje:

Vi skal nu skrive vores manuskript. Du kan redigere filen med en hvilken som helst editor, inklusive en Windows-editor, såsom notesblok, eller en Linux-editor som vi, hvis du er sikker på at bruge den.

Når du åbner Ubuntu-terminalen, vil din placering være dit hjemmekatalog i Ubuntu-arbejdsområdet. Dette kan fastslås ved at indtaste kommandoen ved kommandoprompten:

ekko $ HOME

og det udsender din hjemmekatalog som vist i følgende skærmbillede. Linux-format bruger skråstreg, der repræsenterer mapper, såsom “/”.

For nemheds skyld placerer vi scriptet i hjemmekataloget.

Det næste trin er at finde ud af placeringen af ​​dit skrivebord, da det er kendt som en Linux-sti. Vi har brug for dette for at udføre handlinger på filerne i den rigtige mappe.

I terminalen skal du skrive “cd /”. Dette fører dig til rodområdet i dit Ubuntu-miljø.

Skriv derefter “ls”

Dette viser alle mapper ude i Linux. Du vil se noget lignende i Linux-terminalen:

Vi er nødt til at finde dit brugerdesk. Forudsat at dette er på C-drevet, skal du skifte til "mnt" -mappen. Det er her, windows-drev vil blive identificeret som sådan:

Du skal derefter vide, hvilket bibliotek dit skrivebord har. Du kan normalt finde dette i windows ved at "højreklikke" på skrivebordsikonet sådan fra listen "Hurtig adgang" i File Explorer. Din placering på skrivebordskataloget vises:

Fra dette kan du skifte til din mappe ved hjælp af Linux i terminalen:

Derfor skriver du i dette eksempel terminalen, idet du husker, at tilbageslag i Windows svarer til skråstreg i Linux. I mit tilfælde er den nødvendige sti i kommandoen "skift mappe":

cd / mnt / c / Brugere / gofor / OneDrive / Desktop

Derefter kan du liste alle filerne på dit skrivebord ved hjælp af "ls":

Hvis det er noget, der ligner mit skrivebord, får du en lang liste med filer som sådan:

Du kan se, hvor rodet mit skrivebord ser ud i Windows her:

Der var flere ikoner på mine andre 2 skærme, så vi er nødt til at klassificere og organisere disse filer! Det medfølgende script tager hver filtype og placerer dem i en relevant navngivet mappe på skrivebordet.

Så f.eks. Genvejsfiler, disse vil være * .lnk-filer, så vi flytter dem til en mappe kaldet “SHORTCUTS”.
Ligeledes flyttes billedfiler, såsom .jpg, .png, .bmp, .svg til en mappe, der hedder "IMAGES".
Dokumenter og Office-dokumenter, såsom ordfiler, dvs. .docx, .pdf, .xls, placeres i en mappe kaldet "OFFICEDOCS".

Så når scriptet køres, vil alle dokumenter være tilgængelige på en organiseret måde i den relevante mappe, der er oprettet til den filkategori. Dette vil rydde skrivebordet op og gøre dine skrivebordsfiler mere organiserede. Du kan oprette så mange mappetyper og definere filkriterierne, som du ønsker. Filerne behøver ikke være organiseret efter bare filtype, du kan oprette kategorimapper, som du ønsker, såsom “HRFILES” og “PROJECTFILES”. I dette eksempel organiserer vi filerne efter deres filtype.

Oprettelse af en kategori- og filliste

For at kunne bruge denne applikation har vi brug for 2 filer:

A) En liste over kategorier og filtyper, der skal gå ind i de kategorier, der er indeholdt i en kommasepareret CSV-fil. Hvert kategorienavn er navnet på den mappe, filerne placeres i på skrivebordet. Du kan oprette CSV-filen med en hvilken som helst foretrukken editor. I dette eksempel bruger vi notesblok.
B) Et Linux-script, der læser kategorifilen og behandler den nødvendige ryddelige funktion.

Sådan oprettes en fil i den aktuelle mappe i terminaltypen:

notesblokoprydning.csv

Da filen ikke eksisterer på dette tidspunkt, vil den bede dig om at oprette en ny fil, så tryk bare på “Ja”.

Vi vil nu indtaste følgende detaljer i formatet "kategori, filtype1, filtype2, filtype3, ... osv." 1 linje for hver kategori således:

FORKORTELSER, lnk
BILLEDER, jpg, png, svg
DOKUMENTER, txt, docx, doc, pdf

Det første felt vil være navnet på biblioteket på skrivebordet, hvor de resterende filtyper placeres. De resterende felter er de filtyper, du vil flytte til mappen.

Derfor flyttes alle * .lnk-filerne til mappen SHORTCUTS. I mappen BILLEDER flyttes alle filer med * .jpg, *. Png og * .svg til mappen BILLEDER. Endelig flytter vi alle * .txt-, *. Docx-, *. Doc- og * .pdf-filer til mappen DOKUMENTER. På denne måde organiserer vi filerne i de korrekte mapper.

Når vi har oprettet CSV-filen, er vi klar til at skrive scriptet. Vi kalder scriptet, cleanup.sh. Forresten har dette script minimal validering, så du skal sikre dig, at CSV-filen er i det korrekte format, ellers fungerer den ikke! Alt, hvad vi vil gøre i dette script, er at kontrollere, at filer og mapper findes, som en minimal kontrol.

Du kan redigere scriptet i terminalen, hvis du kender Unix-type redaktører, såsom vi, eller du kan bare bruge notesblok:

oprydning af notesblok.sh

Handlingen med scriptet er at indstille navnet på den CSV-fil, vi læser i scriptet, og placeringen af ​​skrivebordet, som vi vil rydde op. Vi indstiller variabler til oprydnings-CSV-filen og skrivebordets placering. I mit tilfælde er dette som følger. Du bliver nødt til at udskifte skrivebordsplaceringen til din egen. Bemærk, at alt mellem “<” og “>” er en pladsholder, hvor du skal indtaste dine specifikke oplysninger.

Så. de første 2 linjer i scriptet er:

DESKTOP = / mnt / c / Brugere // Desktop
CSV = oprydning.csv

Det fulde script kan ses nedenfor. Læs kommentarerne, hvis du ønsker at forstå kommandoerne, og hvis du ikke er sikker på en kommando, så prøv "mand ”På Linux-kommandolinjen for at få mere indblik i, hvordan kommandoen fungerer.

Gør oprydnings scriptet eksekverbart og kør det

For at køre scriptet fra startkommandolinjen skal du gøre det eksekverbart med følgende kommando:

chmod + x oprydning.sh

For at køre scriptet skal du skrive følgende, som det er i den aktuelle mappe.

./cleanup.sh

Sådan ser mit skrivebord ud før og efter at scriptet køres. Du kan se, at mapperne, der indeholder de flyttede filer, nu er oprettet, og skrivebordet er meget mindre rodet:

Før: Efter:  

og SHORTCUTS-biblioteket, hvor alle genveje er flyttet fra skrivebordet.

Det komplette Desktop Tidy Linux Script til Windows

Bemærk bemærkningerne, der er forud for "#" i scriptet, da de forklarer, hvordan scriptet fungerer. # Indstil variabler til placeringen af ​​det lokale skrivebord eller ethvert bibliotek, du vil rydde op, og navnet på CSV-filen.

DESKTOP = / mnt / c / Brugere / gofor / OneDrive / Desktop
CSV = oprydning.csv

# Test for at se, om csv-filen til oprydning eksisterer ved hjælp af en linux “test” -kommando og flaget “-f” til fileksistens.
# Hvis filen ikke findes, skal du sende en fejlmeddelelse og derefter afslutte scriptet.

hvis [! -f $ {CSV}] derefter
echo Filen cleanup.csv findes ikke.
afkørsel -1
fi

# Konverter nu CSV'en, hvis den er gemt i dos-format til Unix-format ved at fjerne vognreturtegn.
# Gem output i en midlertidig fil, og omdøb derefter den midlertidige fil tilbage til det oprindelige navn.

tr -d '\ r' <$ CSV> temp.csv
mv temp.csv $ CSV

# Gå nu gennem CSV-filen linje for linje, og gem navnet på det første argument, som er
# kategori / katalognavn, hvorpå alle resterende argumenter er de filtyper, der vil være
# placeret i disse mapper.

mens du læser csvline
gør
optælling = 1
for filtype i `echo" $ csvline "| tr, '\ n'`
gør
hvis [$ count -eq 1] så
# Da dette er det første argument, skal du kontrollere, om mappen allerede findes, og hvis ikke, skal du oprette den.
hvis [! -d $ {DESKTOP} / $ filetype] derefter
# Mappen findes ikke, så vi opretter den.
mkdir $ {DESKTOP} / $ filtype
fi
CATEGORY = $ {filetype}
andet
# Udsend en venlig besked, der angiver, hvad scriptet laver.
ekko "flytter *. $ {filetype} til $ {CATEGORY}"
# Vis ikke nogen fejlmeddelelser (dvs.> 2 / dev / null), når du flytter filerne, hvis filerne ikke findes,
# så kommandoen "mv" er "lydløs".
mv $ {DESKTOP} /*.$ {filetype} $ {DESKTOP} / $ {CATEGORY} 2> / dev / null
fi
count = `expr $ count + 1`
Færdig
udført
Facebook Twitter Google Plus Pinterest