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

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

Все это изменилось в Windows 10! В Microsoft Windows Store доступно несколько дистрибутивов Linux. В этой предыдущей статье Appuals о 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 / <ваше расположение Windows> / Рабочий стол
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’ <$ CSV> 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 = ʻexpr $ count + 1`
сделанный
сделано

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *