Com s’utilitzen els scripts Linux per endreçar el vostre escriptori a Windows 10



Proveu El Nostre Instrument Per Eliminar Problemes

La primera vegada que llegiu el titular d’aquesta peça, se us podria perdonar que penséssiu que alguna cosa no és tècnicament incorrecte. Al cap i a la fi, Linux no forma part del sistema operatiu Windows, oi? Són dos sistemes operatius completament diferents. Anteriorment, l’única manera d’utilitzar scripts Linux amb Windows en el passat era instal·lar alguna cosa així Cygwin . o utilitzeu un sistema Linux d’arrencada dual o instal·leu alguna cosa així Samba .



Tot això va canviar a Windows 10. Hi ha diverses distribucions de Linux disponibles al Microsoft Windows Store. Aquesta anterior Article d'Appuals sobre Kali Linux descriu un d'aquests mètodes per obtenir una distribució Linux específica al vostre entorn Windows 10.



Un dels avantatges d’utilitzar scripts Linux a la vostra màquina Windows és que podeu fer ús del potent llenguatge de seqüència de comandaments Linux per automatitzar tasques, especialment si esteu més familiaritzats amb els scripts Linux que els fitxers per lots, Powershell o Dos. En aquest article s'explica com escriure un script 'bash' de Linux per netejar un escriptori típic de Windows. Si no sou nou a Linux, aprendreu els conceptes bàsics d’aquest article i creeu una utilitat útil en el procés.



Utilitzarem un terminal Linux bàsic d’Ubuntu (disponible a la botiga de Windows a les màquines Windows 10) que us permetrà utilitzar bash, k ssh, git, apt i moltes altres ordres de Linux. Cal instal·lar-ho si encara no ho heu fet. S’explica el mètode aquí .

La línia d’ordres de Linux

Un cop hàgiu instal·lat Ubuntu i l’executeu, obtindreu una finestra de línia d’ordres, similar a la següent. Això us proporcionarà una línia d'ordres bash de Linux:



Ara escriurem el nostre guió. Podeu editar el fitxer amb qualsevol editor, inclòs un editor de Windows, com ara el bloc de notes, o un editor de Linux, com ara vi, si esteu segurs d’utilitzar-lo.

Quan obriu el terminal Ubuntu, la vostra ubicació serà el vostre directori inicial, a l’espai de treball de l’Ubuntu. Això es pot comprovar introduint l'ordre a l'indicatiu:

echo $ HOME

i sortirà el directori inicial tal com es mostra a la captura de pantalla següent. El format Linux utilitza barres inclinades que representen directoris, com ara '/'.

Per comoditat, col·locarem l'script al directori inicial.

El següent pas és esbrinar la ubicació del vostre escriptori, ja que es coneix com a ruta Linux. Ho necessitarem per realitzar accions als fitxers del directori correcte.

Al terminal escriviu “cd /”. Això us portarà a l'àrea arrel del vostre entorn Ubuntu.

A continuació, escriviu 'ls'

Aquí es mostren tots els directoris de Linux. Veureu alguna cosa així al terminal Linux:

Hem de trobar l’escriptori del vostre usuari. Suposant que això es troba a la unitat C, canvieu al directori 'mnt'. Aquí és on s’identificaran les unitats de Windows així:

Aleshores haureu de saber a quin directori resideix el vostre escriptori. Normalment, podeu trobar-ho a Windows fent 'clic dret' a la icona de l'escriptori de la llista 'Accés ràpid' de l'Explorador de fitxers. Es mostrarà la ubicació del directori de l'escriptori:

A partir d’això, podeu canviar al directori mitjançant Linux al terminal:

Per tant, en aquest exemple, escriviu al terminal, recordant que les barres invertides al Windows són equivalents a les barres incloses cap endavant a Linux. En el meu cas, el camí necessari a l’ordre “canvia de directori” és:

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

A continuació, podeu llistar tots els fitxers del vostre escriptori mitjançant 'ls':

Si és com el meu escriptori, obtindreu una llarga llista de fitxers com aquest:

Aquí podeu veure el desordre que té el meu escriptori a Windows:

Hi havia més icones als meus altres 2 monitors, així que hem de classificar i organitzar aquests fitxers. L'escriptura proporcionada agafarà cada tipus de fitxer i els col·locarà a una carpeta amb nom corresponent a l'escriptori.

Per exemple, els fitxers de dreceres seran fitxers * .lnk, de manera que els mourem a una carpeta anomenada 'ACCESSOS DIRECTES'.
De la mateixa manera, els fitxers d'imatge, com .jpg, .png, .bmp, .svg, es mouran a una carpeta anomenada 'IMATGES'.
Els documents i documents d’Office, com ara fitxers de paraules, és a dir .docx, .pdf, .xls, es col·locaran en una carpeta anomenada “OFFICEDOCS”.

Així, quan s'executa l'script, tots els documents estaran disponibles de manera organitzada, al directori corresponent, creat per a aquesta categoria de fitxers. Això desordenarà l'escriptori i farà que els fitxers d'escriptori estiguin més organitzats. Podeu crear tants tipus de carpeta i definir els criteris de fitxer com vulgueu. No cal que els fitxers estiguin organitzats només pel tipus de fitxer, sinó que podeu crear carpetes de categories com vulgueu, com ara 'FITXERS HRH' i 'FITXERS PROJECTES'. En aquest exemple, organitzarem els fitxers pel seu tipus de fitxer.

Creació d’una llista de fitxers i categories

Per utilitzar aquesta aplicació, necessitarem 2 fitxers:

A) Una llista de categories i tipus de fitxers per incloure-les a aquestes categories en un fitxer CSV delimitat per comes. Cada nom de categoria serà el nom del directori on es col·locaran els fitxers a l'escriptori. Podeu crear el fitxer CSV amb qualsevol editor preferit. En aquest exemple, utilitzarem el bloc de notes.
B) Un script Linux que llegirà el fitxer de categories i processarà la funció ordenada requerida.

Per crear un fitxer al directori actual al tipus de terminal:

bloc de notes cleanup.csv

Com que el fitxer no existirà en aquesta fase, us sol·licitarà que creeu un fitxer nou, per tant, només cal que premeu 'Sí'.

Ara introduirem les dades següents, en el format 'categoria, tipus de fitxer1, tipus de fitxer2, tipus de fitxer3, ..., etc.' 1 línia per a cada categoria:

ACCESSOS DIRECTES, lnk 
IMATGES, jpg, png, svg
DOCUMENTS, txt, docx, doc, pdf

El primer camp serà el nom del directori a l'escriptori, on es col·locaran els tipus de fitxer restants. La resta de camps són els tipus de fitxers que voleu moure a la carpeta.

Per tant, per a la carpeta SHORTCUTS, tots els fitxers * .lnk es mouran a aquesta carpeta. Per a la carpeta IMATGES, tots els fitxers amb * .jpg, *. Png i * .svg es mouran a la carpeta IMATGES. Finalment, traslladem tots els fitxers * .txt, *. Docx, *. Doc i * .pdf a la carpeta DOCUMENTS. D’aquesta manera, organitzem els fitxers als directoris correctes.

Un cop hem creat el fitxer CSV, ja estem preparats per escriure el guió. Anomenarem l’escriptura a cleanup.sh. Per cert, aquest script tindrà una validació mínima, de manera que heu d'assegurar-vos que el fitxer CSV tingui el format correcte o que no funcionarà. Tot el que farem en aquest script és comprovar que existeixen fitxers i carpetes, com a comprovació mínima.

Podeu editar l'script al terminal si coneixeu editors de tipus Unix, com ara vi, o simplement podeu utilitzar el bloc de notes:

neteja del bloc de notes

L'acció de l'script és establir el nom del fitxer CSV que estem llegint a l'script i la ubicació de l'escriptori que volem netejar. Establirem variables al fitxer CSV de neteja i a la ubicació de l’escriptori. En el meu cas, això és el següent. Haureu de substituir la ubicació de l’escriptori per la vostra. Tingueu en compte que qualsevol cosa entre '' és un marcador de posició on cal que introduïu la vostra informació específica.

Tan. les dues primeres línies del guió són:

DESKTOP = / mnt / c / Users // Desktop 
CSV = cleanup.csv

El guió complet es pot veure a continuació. Si us plau, llegiu els comentaris si voleu entendre les ordres i, si no esteu segurs d’una ordre, proveu “man” a la línia d’ordres de Linux per obtenir més informació sobre el funcionament de l’ordre.

Feu que l'script de neteja sigui executable i executeu-lo

Per executar l'script des de la línia d'ordres inicial, haureu de fer-lo executable amb l'ordre següent:

chmod + x cleanup.sh

Per executar l'script, haureu d'escriure el següent, ja que es troba al directori actual.

./cleanup.sh

A continuació s'explica l'aspecte del meu escriptori abans i després de l'execució de l'script. Podeu veure que ara s'han creat les carpetes que contenen els fitxers moguts i que l'escriptori és molt menys desordenat:

Abans: Després:

i el directori SHORTCUTS, amb totes les dreceres des de l'escriptori.

L'escriptori complet d'escriptori Tidy Linux per a Windows

Tingueu en compte els comentaris amb el símbol '#' al guió, ja que expliquen el seu funcionament. # Definiu variables per a la ubicació de l'escriptori local o qualsevol directori que vulgueu netejar i el nom del fitxer CSV.

DESKTOP = / mnt / c / Users / gofor / OneDrive / Desktop 
CSV = cleanup.csv

# Feu una prova per veure si existeix el fitxer csv de neteja, mitjançant l'ordre Linux 'test' i el senyal '-f' per a l'existència del fitxer.
# Si el fitxer no existeix, envieu un missatge d'error i, a continuació, sortiu de l'script.

si [ ! -f $ {CSV}] llavors 
echo El fitxer cleanup.csv no existeix.
sortida -1
ser

# Ara convertiu el CSV si s'ha desat en format dos a format Unix eliminant els caràcters de retorn de carro.
# Deseu la sortida en un fitxer temporal i, a continuació, canvieu el nom del fitxer temporal al nom original.

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

# Ara, passeu pel fitxer CSV línia per línia i emmagatzemeu el nom del primer argument, que és el
# categoria / nom del directori, sobre el qual, tots els arguments restants són els tipus de fitxer que hi haurà
# col·locat en aquests directoris.

mentre llegiu csvline 
fer
compte = 1
per al tipus de fitxer a 'echo' $ csvline '| tr, ' n'`
fer
si [$ count -eq 1] llavors
# Com que aquest és el primer argument, comproveu si la carpeta ja existeix i, si no, creeu-la.
si [ ! -d $ {DESKTOP} / $ filetype] llavors
# El directori no existeix, així que el crearem.
mkdir $ {DESKTOP} / $ filetype
ser
CATEGORIA = $ {filetype}
en cas contrari
# Envieu un missatge amable que indiqui què fa el guió.
echo 'moving *. $ {filetype} a $ {CATEGORY}'
# No mostreu cap missatge d'error (és a dir,> 2 / dev / null) en moure els fitxers en cas que no existeixin,
# de manera que l'ordre 'mv' és 'silenciosa'.
mv $ {DESKTOP} /*.$ {filetype} $ {DESKTOP} / $ {CATEGORY} 2> / dev / null
ser
count = `expr $ count + 1`
fet
fet< cleanup.csv
7 minuts de lectura