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



Попробуйте наш инструмент устранения неполадок

Когда вы впервые читаете заголовок этой статьи, вас можно простить за то, что вы подумали, что что-то технически неверно. В конце концов, Linux не является частью операционной системы Windows, не так ли? Это две совершенно разные операционные системы. Раньше единственным способом использовать сценарии Linux с Windows в прошлом была установка чего-то вроде Cygwin . или используйте систему Linux с двойной загрузкой или установите что-то вроде Самба .



Все это изменилось в Windows 10! В Microsoft Windows Store доступно несколько дистрибутивов Linux. Это предыдущее Статья в приложении о Kali Linux описывает один из таких способов получения определенного дистрибутива Linux в среде Windows 10.



Одним из преимуществ использования сценариев Linux на вашем компьютере с Windows является то, что вы можете использовать мощный язык сценариев Linux для автоматизации задач, особенно если вы более знакомы со сценариями Linux, чем, скажем, с пакетными файлами Powershell или Dos. В этой статье объясняется, как написать сценарий Linux «bash» для очистки типичного рабочего стола Windows. Если вы новичок в 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 будут идентифицироваться следующим образом:

Затем вам нужно знать, в каком каталоге находится ваш рабочий стол. Обычно это можно найти в Windows, «щелкнув правой кнопкой мыши» значок на рабочем столе, например, в списке «Быстрый доступ» в проводнике. Будет показано расположение вашего каталога на рабочем столе:

Отсюда вы можете перейти в свой каталог, используя Linux в терминале:

Поэтому в этом примере вы вводите терминал, помня, что обратная косая черта в Windows эквивалентна прямой косой черте в Linux. В моем случае путь, необходимый для команды «сменить каталог»:

cd / mnt / c / Users / gofor / OneDrive / Рабочий стол

Затем вы можете перечислить все файлы на рабочем столе, используя «ls»:

Если это что-то вроде моего рабочего стола, вы получите длинный список таких файлов:

Вы можете увидеть, насколько беспорядочно выглядит мой рабочий стол в Windows, здесь:

На двух других моих мониторах было больше значков, поэтому нам нужно классифицировать и систематизировать эти файлы! Предоставленный сценарий возьмет файлы каждого типа и поместит их в папку с соответствующим именем на рабочем столе.

Так, например, файлы ярлыков, это будут файлы * .lnk, поэтому мы переместим их в папку с названием «SHORTCUTS».
Точно так же файлы изображений, такие как .jpg, .png, .bmp, .svg, будут перемещены в папку под названием «IMAGES».
Документы и документы Office, такие как файлы Word, например .docx, .pdf, .xls, будут помещены в папку с названием «OFFICEDOCS».

Таким образом, при запуске сценария все документы будут доступны в организованном порядке в соответствующем каталоге, созданном для этой категории файлов. Это позволит разгрузить рабочий стол и упорядочить его файлы. Вы можете создать любое количество типов папок и определить критерии файлов по своему усмотрению. Файлы необязательно организовывать по типу файлов, вы можете создавать папки категорий по своему усмотрению, например, «HRFILES» и «PROJECTFILES». В этом примере мы сгруппируем файлы по их типу.

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

Для использования этого приложения нам понадобятся 2 файла:

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

Чтобы создать файл в текущем каталоге в терминале, введите:

блокнот cleanup.csv

Поскольку на данном этапе файл не существует, он запросит у вас создание нового файла, поэтому просто нажмите «Да».

Теперь мы введем следующие данные в формате «категория, тип файла1, тип файла2, тип файла3,… и т. Д.» По одной строке для каждой категории, таким образом:

SHORTCUTS, 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, или можете просто использовать блокнот:

блокнот cleanup.sh

Действие сценария - установить имя CSV-файла, который мы читаем в сценарии, и расположение рабочего стола, который мы хотим очистить. Мы установим переменные для CSV-файла очистки и расположения на рабочем столе. В моем случае это так. Вам нужно будет заменить место на рабочем столе на свое. Обратите внимание, что все, что находится между «», - это заполнитель, в который вам нужно ввести конкретную информацию.

Так. первые 2 строки в скрипте:

DESKTOP = / mnt / c / Users // Рабочий стол 
CSV = cleanup.csv

Полный сценарий можно увидеть ниже. Пожалуйста, прочтите комментарии, если вы хотите понять команды, и, если вы не уверены в команде, попробуйте «man» в командной строке Linux, чтобы получить более полное представление о том, как работает команда.

Сделайте скрипт очистки исполняемым и запустите его

Чтобы запустить сценарий из домашней командной строки, вам нужно будет сделать его исполняемым с помощью следующей команды:

chmod + x cleanup.sh

Чтобы запустить сценарий, вам нужно будет ввести следующее, так как оно находится в текущем каталоге.

./cleanup.sh

Вот как выглядел мой рабочий стол до и после запуска скрипта. Вы можете видеть, что папки, содержащие перемещенные файлы, теперь созданы, а рабочий стол гораздо менее загроможден:

До: После:

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

Полный рабочий стол Tidy Linux Script для Windows

Обратите внимание на комментарии с префиксом «#» в сценарии, поскольку они объясняют, как работает сценарий. # Установите переменные для местоположения локального рабочего стола или любого каталога, который вы хотите очистить, и имя файла CSV.

DESKTOP = / mnt / c / Users / gofor / OneDrive / Рабочий стол 
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 
делать
count = 1
для типа файла в `echo '$ csvline' | tr, ' n'`
делать
если [$ count -eq 1], то
# Поскольку это первый аргумент, проверьте, существует ли уже папка, а если нет, создайте ее.
если [ ! -d $ {DESKTOP} / $ filetype], затем
# Каталог не существует, поэтому мы его создадим.
mkdir $ {DESKTOP} / $ filetype
быть
КАТЕГОРИЯ = $ {filetype}
еще
# Вывести дружественное сообщение, указывающее, что делает скрипт.
echo 'перемещение *. $ {filetype} в $ {CATEGORY}'
# Не отображать никаких сообщений об ошибках (например,> 2 / dev / null) при перемещении файлов, если файлы не существуют,
# поэтому команда 'mv' молчит.
mv $ {DESKTOP} /*.$ {filetype} $ {DESKTOP} / $ {CATEGORY} 2> / dev / null
быть
count = `выражение $ count + 1`
сделанный
сделанный< cleanup.csv
7 минут на чтение