Så här använder du Linux-skript för att städa upp ditt skrivbord i Windows 10

När du först läste rubriken för detta stycke kan du bli förlåtad för att tro att något är tekniskt felaktigt. När allt kommer omkring är Linux inte en del av Windows-operativsystemet, eller hur? De är två helt olika operativsystem. Tidigare har det enda sättet att använda Linux-skript med Windows tidigare varit att antingen installera något som Cygwin. eller använd ett dubbelt start Linux-system eller installera något som Samba.

Allt som förändrats i Windows 10! Det finns flera distributioner av Linux tillgängliga i Microsoft Windows Store. Detta föregående Appuals artikel om Kali Linux beskriver en sådan metod för att få en specifik Linux-distribution i din Windows 10-miljö.

En av fördelarna med att använda Linux-skript på din Windows-maskin är att du kan använda det kraftfulla Linux-skriptspråket för att automatisera uppgifter, särskilt om du är mer bekant med Linux-skript än att säga Powershell eller Dos-batchfiler. Den här artikeln förklarar hur man skriver ett Linux "bash" -skript för att städa upp ett typiskt Windows-skrivbord. Om du är ny på Linux kommer du att lära dig grunderna från den här artikeln och skapa ett användbart verktyg i processen.

Vi kommer att använda en grundläggande Ubuntu Linux Terminal, (tillgänglig i Windows Store på Windows 10-maskiner) som låter dig använda bash, k ssh, git, apt och många andra Linux-kommandon. Detta måste installeras om du inte redan har gjort det. Metoden förklaras här.

Linux-kommandoraden

När du har installerat Ubuntu och kör det får du ett kommandoradsfönster, liknande följande. Detta ger dig en bash Linux, kommandorad:

Vi ska nu skriva vårt manus. Du kan redigera filen med vilken redigerare som helst, inklusive en Windows-redigerare som anteckningsblock eller en Linux-redigerare som vi om du är säker på att använda den.

När du öppnar Ubuntu-terminalen kommer din plats att vara din hemkatalog i Ubuntu-arbetsytan. Detta kan fastställas genom att ange kommandot vid kommandotolken:

eko $ HOME

och det kommer att mata ut din hemkatalog som visas i följande skärmdump. Linux-format, använder snedstreck som representerar kataloger, till exempel “/”.

För enkelhets skull placerar vi skriptet i hemkatalogen.

Nästa steg är att ta reda på platsen för skrivbordet, eftersom det kallas en Linux-sökväg. Vi behöver detta för att utföra åtgärder på filerna i rätt katalog.

I terminalen skriver du “cd /”. Detta tar dig till rotområdet i din Ubuntu-miljö.

Skriv sedan “ls”

Detta listar alla kataloger i Linux. Du ser något liknande i Linux-terminalen:

Vi måste hitta ditt användarskrivbord. Förutsatt att detta finns på C-enheten, byt till "mnt" -katalogen. Det är här windows-enheterna kommer att identifieras så:

Du måste sedan veta vilken katalog ditt skrivbord finns. Du kan vanligtvis hitta detta i Windows genom att högerklicka på skrivbordsikonen så som i listan "Snabbåtkomst" i File Explorer. Din skrivbords katalogkatalog visas:

Från detta kan du byta till din katalog med Linux i terminalen:

I det här exemplet skriver du därför in terminalen och kommer ihåg att bakåtvända snedstreck i Windows motsvarar snedstreck i Linux. I mitt fall är sökvägen som behövs i kommandot "ändra katalog":

cd / mnt / c / Användare / gofor / OneDrive / Desktop

Sedan kan du lista alla filer på skrivbordet genom att använda “ls”:

Om det är något som liknar mitt skrivbord får du en lång lista med filer så här:

Du kan se hur rörigt mitt skrivbord ser ut i Windows här:

Det fanns fler ikoner på mina andra två skärmar, så vi måste klassificera och organisera dessa filer! Skriptet som tillhandahålls tar varje filtyp och placerar dem i en relevant mapp på skrivbordet.

Så till exempel genvägsfiler, dessa kommer att vara * .lnk-filer, så vi flyttar dem till en mapp som heter “SHORTCUTS”.
På samma sätt flyttas bildfiler, t.ex. .jpg, .png, .bmp, .svg till en mapp som heter "BILDER".
Dokument och Office-dokument, såsom ordfiler, dvs. .docx, .pdf, .xls, kommer att placeras i en mapp som heter "OFFICEDOCS".

Så när skriptet körs kommer alla dokument att vara tillgängliga på ett organiserat sätt, i relevant katalog, skapad för den filkategorin. Detta kommer att rensa skrivbordet och göra dina skrivbordsfiler mer organiserade. Du kan skapa så många mapptyper och definiera filkriterierna som du vill. Filerna behöver inte organiseras efter bara filtyp, du kan skapa kategorimappar som du vill, till exempel “HRFILES” och “PROJECTFILES”. I det här exemplet ordnar vi filerna efter deras filtyp.

Skapa en kategori- och fillista

För att kunna använda den här applikationen behöver vi två filer:

A) En lista över kategorier och filtyper för att gå in i de kategorier som finns i en kommaseparerad CSV-fil. Varje kategorinamn är namnet på katalogen som filerna placeras i på skrivbordet. Du kan skapa CSV-filen med valfri redigerare. I det här exemplet använder vi anteckningar.
B) Ett Linux-skript som läser kategorifilen och bearbetar den nödvändiga städfunktionen.

Så här skapar du en fil i den aktuella katalogen i terminalen:

anteckningsblockrensning.csv

Eftersom filen inte existerar i det här skedet kommer den att begära att du skapar en ny fil, så klicka bara på “Ja”.

Vi kommer nu att ange följande detaljer, i formatet "kategori, filtyp1, filtyp2, filtyp3, ..., etc" 1 rad för varje kategori sålunda:

KORTFATTADE, lnk
BILDER, jpg, png, svg
DOKUMENT, txt, docx, doc, pdf

Det första fältet är namnet på katalogen på skrivbordet, där de återstående filtyperna kommer att placeras. De återstående fälten är de filtyper du vill flytta till mappen.

För SHORTCUTS-mappen flyttas därför alla * .lnk-filerna till den mappen. För mappen BILDER flyttas alla filer med * .jpg, *. Png och * .svg till mappen BILDER. Slutligen flyttar vi alla * .txt-, *. Docx-, *. Doc- och * .pdf-filer till mappen DOKUMENT. På detta sätt organiserar vi filerna i rätt kataloger.

När vi har skapat CSV-filen är vi redo att skriva skriptet. Vi kommer att kalla skriptet, cleanup.sh. Förresten, det här skriptet har minimal validering, så du måste se till att CSV-filen är i rätt format, annars fungerar det inte! Allt vi kommer att göra i detta skript är att kontrollera att filer och mappar finns, som en minimal kontroll.

Du kan redigera skriptet i terminalen om du känner till Unix-redigerare, som vi, eller så kan du helt enkelt använda anteckningar:

rengöring av anteckningar.sh

Handlingen för skriptet är att ställa in namnet på CSV-filen vi läser i skriptet och platsen för skrivbordet vi vill städa upp. Vi kommer att ställa in variabler för uppgraderings-CSV-filen och skrivbordsplatsen. I mitt fall är detta följande. Du måste byta ut skrivbordsplatsen för din egen. Observera att allt mellan “<” och “>” är en platshållare där du behöver ange din specifika information.

Så. de två första raderna i manuset är:

DESKTOP = / mnt / c / Användare // Desktop
CSV = sanering.csv

Hela skriptet kan ses nedan. Läs kommentarerna om du vill förstå kommandona, och om du inte är säker på ett kommando, försök “man ”På Linux-kommandoraden, för att få mer inblick i hur kommandot fungerar.

Gör rengöringsskriptet körbart och kör det

För att köra skriptet från hemkommandoraden måste du göra det körbart med följande kommando:

chmod + x rengöring.sh

För att köra skriptet måste du skriva följande, som det är i den aktuella katalogen.

./cleanup.sh

Så här såg skrivbordet ut före och efter att manuset körs. Du kan se att mapparna som innehåller de flyttade filerna nu har skapats och skrivbordet är mycket mindre rörigt:

Innan: Efter:  

och katalogen SHORTCUTS, där alla genvägar har flyttats från skrivbordet.

Full Desktop Tidy Linux Script för Windows

Observera kommentarerna som föregås av “#” i manuset, eftersom de förklarar hur manuset fungerar. # Ställ in variabler för platsen för det lokala skrivbordet eller vilken katalog du vill städa upp, och namnet på CSV-filen.

DESKTOP = / mnt / c / Användare / gofor / OneDrive / Desktop
CSV = sanering.csv

# Testa för att se om rensning csv-filen finns, med hjälp av ett linux “test” -kommando och flaggan “-f” för fil existens.
# Om filen inte finns, mata ut ett felmeddelande och avsluta skriptet.

om [ ! -f $ {CSV}] då
echo Filen cleanup.csv finns inte.
utgång -1
fi

# Konvertera nu CSV om den har sparats i dosformat till Unix-format genom att ta bort vagnretur.
# Spara utdata i en tillfällig fil och byt sedan tillbaka den tillfälliga filen till det ursprungliga namnet.

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

# Gå nu genom CSV-filen rad för rad och lagra namnet på det första argumentet, vilket är
# kategori / katalognamn, på vilket alla återstående argument är de filtyper som kommer att vara
# placeras i dessa kataloger.

medan du läser csvline
do
räkna = 1
för filtyp i `echo" $ csvline "| tr, '\ n'`
do
om [$ count -eq 1] då
# Eftersom detta är det första argumentet, kontrollera om mappen redan finns, och om inte, skapa den.
om [ ! -d $ {DESKTOP} / $ filtyp] då
# Katalogen finns inte, så vi skapar den.
mkdir $ {DESKTOP} / $ filtyp
fi
CATEGORY = $ {filetype}
annan
# Skicka ett vänligt meddelande som anger vad manuset gör.
eko "flyttar *. $ {filetype} till $ {CATEGORY}"
# Visa inga felmeddelanden (dvs.> 2 / dev / null) när du flyttar filerna om filerna inte finns,
# så kommandot "mv" är "tyst".
mv $ {DESKTOP} /*.$ {filetype} $ {DESKTOP} / $ {CATEGORY} 2> / dev / null
fi
count = `expr $ count + 1`
Gjort
gjort
Facebook Twitter Google Plus Pinterest