Как да използвам Linux скриптове за подреждане на вашия работен плот в Windows 10



Опитайте Нашия Инструмент За Премахване На Проблемите

Когато прочетете за първи път заглавието на това парче, може да ви бъде простено да мислите, че нещо е технически неправилно. В крайна сметка, Linux не е част от операционната система Windows, нали? Те са две напълно различни операционни системи. Преди това единственият начин за използване на Linux скриптове с Windows в миналото беше да инсталирате нещо като Cygwin . или използвайте Linux система с двойно зареждане или инсталирайте нещо подобно Самба .



Всичко това се промени в Windows 10! В магазина на Microsoft Windows има няколко дистрибуции на Linux. Това предишно Appuals статия за Kali Linux описва един такъв метод за получаване на специфична Linux дистрибуция във вашата Windows 10 среда.



Едно от предимствата на използването на Linux скриптове на вашата машина с Windows е, че можете да използвате мощния скриптов език на Linux за автоматизиране на задачите, особено ако сте по-запознати с Linux скриптове, отколкото да речем, Powershell или Dos партидни файлове. Тази статия обяснява как да напишете Linux „bash“ скрипт за почистване на типичен Windows Desktop. Ако сте нов в Linux, ще научите основите от тази статия и ще създадете полезна помощна програма в процеса.



Ще използваме основен терминал на Ubuntu Linux (наличен в магазина на Windows на машини с Windows 10), който ви позволява да използвате bash, k ssh, git, apt и много други команди на Linux. Това ще трябва да бъде инсталирано, ако още не сте го направили. Методът е обяснен тук .

Командният ред на Linux

След като инсталирате Ubuntu и го стартирате, ще получите прозорец на командния ред, подобен на следния. Това ще ви даде bash Linux, команден ред:



Сега ще напишем нашия сценарий. Можете да редактирате файла с всеки редактор, включително редактор на Windows като бележник или Linux редактор като vi, ако сте уверени, че го използвате.

Когато отворите терминала на Ubuntu, вашето местоположение ще бъде вашата домашна директория в работното пространство на Ubuntu. Това може да се установи чрез въвеждане на командата в командния ред:

echo $ HOME

и ще изведе вашата домашна директория, както е показано на следващата екранна снимка. Форматът на Linux използва наклонени черти, представляващи директории, като „/“.

За удобство ще поставим скрипта в домашната директория.

Следващата стъпка е да разберете местоположението на вашия работен плот, тъй като е известен като Linux път. Това ще ни е необходимо, за да извършим действия върху файловете в правилната директория.

В терминала напишете “cd /”. Това ще ви отведе до основната област на вашата среда на Ubuntu.

След това напишете „ls“

Това изброява всички директории в Linux. Ще видите нещо подобно в терминала на Linux:

Трябва да намерим работния плот на вашия потребител. Ако приемем, че това е на C устройството, преминете в директорията “mnt”. Ето къде Windows дисковете ще бъдат идентифицирани по следния начин:

След това трябва да знаете коя директория се намира на вашия работен плот. Обикновено можете да намерите това в прозорците, като щракнете с десния бутон върху иконата на работния плот, както от списъка „Бърз достъп“ във File Explorer. Ще се покаже местоположението на вашата десктоп директория:

От това можете да превключите във вашата директория, като използвате Linux в терминала:

Следователно в този пример въвеждате терминала, като си спомняте, че обратните наклонени черти в Windows са еквивалентни на наклонените наклонени черти в Linux. В моя случай пътят, необходим в командата “change directory” е:

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

След това можете да изброите всички файлове на вашия работен плот, като използвате „ls“:

Ако е нещо като моя работен плот, ще получите дълъг списък с файлове по следния начин:

Можете да видите колко разхвърлян е десктопът ми в Windows тук:

На другите ми 2 монитора имаше повече икони, така че трябва да класифицираме и организираме тези файлове! Предоставеният скрипт ще вземе всеки тип файл и ще ги постави в съответната папка на работния плот.

Така например, файлове с пряк път, това ще бъдат * .lnk файлове, така че ще ги преместим в папка, наречена „SHORTCUTS“.
По същия начин файловете с изображения, като .jpg, .png, .bmp, .svg ще бъдат преместени в папка, наречена „IMAGES“.
Документите и документите на Office, като текстови файлове, т.е. .docx, .pdf, .xls, ще бъдат поставени в папка, наречена „OFFICEDOCS“.

Така че, когато скриптът се изпълни, всички документи ще бъдат достъпни организирано, в съответната директория, създадена за тази категория файлове. Това ще разтовари работния плот и ще направи файловете на работния плот по-организирани. Можете да създадете толкова типове папки и да дефинирате критериите на файла, колкото желаете. Не е необходимо файловете да бъдат организирани само по тип файл, можете да създавате папки с категории, както желаете, като „HRFILES“ и „PROJECTFILES“. В този пример ще организираме файловете по техния файлов тип.

Създаване на категория и списък с файлове

За да използваме това приложение, ще ни трябват 2 файла:

A) Списък на категориите и типовете файлове, за да влезете в тези категории, държани в CSV файл, разделен със запетая. Името на всяка категория ще бъде името на директорията, в която файловете ще бъдат поставени на работния плот. Можете да създадете CSV файл с всеки предпочитан редактор. В този пример ще използваме бележник.
Б) Linux скрипт, който ще прочете файла на категорията и ще обработи необходимата подредена функция.

За да създадете файл в текущата директория в типа терминал:

почистване на бележника.csv

Тъй като на този етап файлът няма да съществува, той ще поиска да създадете нов файл, така че просто натиснете „Да“.

Сега ще въведем следните подробности във формат „категория, тип1, тип2, тип3, ... и т.н.” по 1 ред за всяка категория по този начин:

КРАТКИ РЕЗКИ, lnk 
ОБРАЗИ, jpg, png, svg
ДОКУМЕНТИ, txt, docx, doc, pdf

Първото поле ще бъде името на директорията на работния плот, където ще бъдат поставени останалите типове файлове. Останалите полета са типовете файлове, които искате да преместите в папката.

Следователно за папката SHORTCUTS всички * .lnk файлове ще бъдат преместени в тази папка. За папката IMAGES всички файлове с * .jpg, *. Png и * .svg ще бъдат преместени в папката IMAGES. И накрая, преместваме всички * .txt, *. Docx, *. Doc и * .pdf файлове в папката DOCUMENTS. По този начин ние организираме файловете в правилните директории.

След като създадем CSV файла, сме готови да напишем скрипта. Ще извикаме скрипта, cleanup.sh. Между другото, този скрипт ще има минимална проверка, така че трябва да се уверите, че CSV файлът е в правилния формат, или няма да работи! Всичко, което ще направим в този скрипт, е да проверим съществуването на файлове и папки като минимална проверка.

Можете да редактирате скрипта в терминала, ако знаете редактори от тип Unix, като например vi, или можете просто да използвате бележник:

почистване на бележника.sh

Действието на скрипта е да зададете името на CSV файла, който четем в скрипта, и местоположението на работния плот, който искаме да почистим. Ще зададем променливи към CSV файла за почистване и местоположението на работния плот. В моя случай това е следното. Ще трябва да замените местоположението на работния плот за свое. Моля, обърнете внимание, че всичко между „“ е запазено място, където трябва да въведете вашата конкретна информация.

Така. първите 2 реда в скрипта са:

ПЛАНКА = / mnt / c / Потребители // Работен плот 
CSV = cleanup.csv

Пълният скрипт може да се види по-долу. Моля, прочетете коментарите, ако искате да разберете командите и ако не сте сигурни в дадена команда, опитайте “man” в командния ред на Linux, за да получите по-голяма представа за това как работи командата.

Направете скрипта за почистване изпълним и го стартирайте

За да стартирате скрипта от началния команден ред, ще трябва да го направите изпълним със следната команда:

chmod + x cleanup.sh

За да стартирате скрипта, ще трябва да напишете следното, както е в текущата директория.

./cleanup.sh

Ето как изглеждаше работният ми плот преди и след стартирането на скрипта. Можете да видите, че папките, съдържащи преместените файлове, вече са създадени и работният плот е много по-малко претрупан:

Преди: След:

и директорията SHORTCUTS, като всички преки пътища са преместени от работния плот.

Пълният десктоп Tidy Linux Script за Windows

Моля, обърнете внимание на коментарите с префикс „#“ в скрипта, тъй като те обясняват как работи скриптът. # Задайте променливи за местоположението на локалния работен плот или която и да е директория, която искате да почистите, и името на CSV файла.

ПЛАНКА = / mnt / c / Users / gofor / OneDrive / Desktop 
CSV = cleanup.csv

# Тествайте, за да видите дали csv файлът за почистване съществува, като използвате командата linux „test“ и флага „-f“ за съществуването на файла.
# Ако файлът не съществува, изведете съобщение за грешка и след това излезте от скрипта.

ако [! -f $ {CSV}] тогава 
echo Файлът cleanup.csv не съществува.
изход -1
бъда

# Сега конвертирайте CSV, ако е запазен във формат dos в формат Unix, като премахнете символите за връщане на каретата.
# Запазете изхода във временен файл, след което преименувайте временния файл обратно на оригиналното име.

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

# Сега преминете през CSV файла ред по ред и запазете името на първия аргумент, който е
# категория / име на директория, при което всички останали аргументи са типовете файлове, които ще бъдат
# поставени в тези директории.

докато чете csvline 
направете
брой = 1
за тип файл в `echo '$ csvline' | tr, „ n“
направете
ако [$ count -eq 1] тогава
# Тъй като това е първият аргумент, проверете дали папката вече съществува и ако не, създайте я.
ако [! -d $ {DESKTOP} / $ filetype] тогава
# Директорията не съществува, затова ще я създадем.
mkdir $ {DESKTOP} / $ filetype
бъда
КАТЕГОРИЯ = $ {filetype}
друго
# Изведете приятелско съобщение, указващо какво прави скриптът.
ехо 'преместване *. $ {filetype} в $ {CATEGORY}'
# Не показвайте никакви съобщения за грешка (т.е.> 2 / dev / null) при преместване на файловете, в случай че файловете не съществуват,
# така че командата 'mv' е 'безшумна'.
mv $ {DESKTOP} /*.$ {filetype} $ {DESKTOP} / $ {CATEGORY} 2> / dev / null
бъда
count = `expr $ count + 1`
Свършен
Свършен< cleanup.csv
7 минути четене