Como usar scripts do Linux para organizar sua área de trabalho no Windows 10



Experimente Nosso Instrumento Para Eliminar Problemas

Quando você leu o título deste artigo pela primeira vez, você pode ser perdoado por pensar que algo está tecnicamente incorreto. Afinal, o Linux não faz parte do sistema operacional Windows, faz? Eles são dois sistemas operacionais completamente diferentes. Anteriormente, a única maneira de usar scripts do Linux com o Windows no passado era instalar algo como Cygwin . ou use um sistema Linux dual boot ou instale algo como Samba .



Tudo isso mudou no Windows 10! Existem várias distribuições do Linux disponíveis na Microsoft Windows Store. Este anterior Artigo de Appuals sobre Kali Linux descreve um desses métodos de obtenção de uma distribuição Linux específica em seu ambiente Windows 10.



Uma das vantagens de usar scripts Linux em sua máquina Windows é que você pode usar a poderosa linguagem de script Linux para automatizar tarefas, especialmente se você estiver mais familiarizado com scripts Linux do que, digamos, Powershell ou arquivos em lote Dos. Este artigo explica como escrever um script “bash” do Linux para limpar uma área de trabalho típica do Windows. Se você é novo no Linux, aprenderá o básico com este artigo e criará um utilitário útil no processo.



Estaremos usando um Terminal Ubuntu Linux básico, (disponível na Windows Store em máquinas Windows 10) que permite que você use bash, k ssh, git, apt e muitos outros comandos Linux. Ele precisará ser instalado, caso ainda não o tenha feito. O método é explicado aqui .

A linha de comando do Linux

Depois de instalar o Ubuntu e executá-lo, você obterá uma janela de linha de comando, semelhante à seguinte. Isso lhe dará um bash Linux, linha de comando:



Vamos agora escrever nosso roteiro. Você pode editar o arquivo com qualquer editor, incluindo um editor do Windows, como o bloco de notas, ou um editor do Linux, como o vi, se tiver certeza de usá-lo.

Ao abrir o terminal do Ubuntu, sua localização será o diretório inicial, no espaço de trabalho do Ubuntu. Isso pode ser verificado digitando o comando no prompt de comando:

echo $ HOME

e produzirá seu diretório inicial, conforme mostrado na imagem a seguir. Formato Linux, usa barras que representam diretórios, como “/”.

Por conveniência, colocaremos o script no diretório inicial.

O próximo passo é descobrir a localização do seu desktop, já que é conhecido como caminho do Linux. Precisamos disso para executar ações nos arquivos do diretório correto.

No terminal digite “cd /”. Isso leva você para a área raiz do seu ambiente Ubuntu.

Em seguida, digite “ls”

Isso lista todos os diretórios do Linux. Você verá algo assim no terminal Linux:

Precisamos encontrar sua área de trabalho de usuário. Supondo que esteja na unidade C, mude para o diretório “mnt”. É aqui que as unidades do Windows serão identificadas da seguinte forma:

Em seguida, você precisa saber em qual diretório reside sua área de trabalho. Normalmente, você pode encontrar isso no Windows “clicando com o botão direito” no ícone da área de trabalho, como na lista “Acesso rápido” no Gerenciador de arquivos. O local do diretório da sua área de trabalho será mostrado:

A partir disso, você pode mudar para seu diretório usando o Linux no terminal:

Portanto, neste exemplo, você digita no terminal, lembrando que as barras invertidas no Windows são equivalentes às barras normais no Linux. No meu caso, o caminho necessário no comando “alterar diretório” é:

cd / mnt / c / Usuários / gofor / OneDrive / Desktop

Em seguida, você pode listar todos os arquivos em seu desktop usando “ls”:

Se for algo como meu desktop, você receberá uma longa lista de arquivos como:

Você pode ver como minha área de trabalho parece bagunçada no Windows aqui:

Havia mais ícones em meus outros 2 monitores, então precisamos classificar e organizar esses arquivos! O script fornecido pegará cada tipo de arquivo e os colocará em uma pasta com nome relevante na área de trabalho.

Assim, por exemplo, arquivos de atalho, estes serão arquivos * .lnk, então vamos movê-los para uma pasta chamada “ATALHOS”.
Da mesma forma, os arquivos de imagem, como .jpg, .png, .bmp, .svg serão movidos para uma pasta chamada “IMAGENS”.
Documentos e documentos do Office, como arquivos de texto, por exemplo, .docx, .pdf, .xls, serão colocados em uma pasta chamada “OFFICEDOCS”.

Assim, quando o script for executado, todos os documentos estarão disponíveis de forma organizada, no diretório pertinente, criado para aquela categoria de arquivo. Isso irá organizar a área de trabalho e tornar seus arquivos mais organizados. Você pode criar quantos tipos de pasta e definir os critérios de arquivo que desejar. Os arquivos não precisam ser organizados apenas por tipo de arquivo, você pode criar pastas de categorias como desejar, como “HRFILES” e “PROJECTFILES”. Neste exemplo, organizaremos os arquivos por tipo de arquivo.

Criação de uma lista de categorias e arquivos

Para usar este aplicativo, precisaremos de 2 arquivos:

A) Uma lista de categorias e tipos de arquivo para entrar nessas categorias, mantidos em um arquivo CSV delimitado por vírgulas. Cada nome de categoria será o nome do diretório em que os arquivos serão colocados na área de trabalho. Você pode criar o arquivo CSV com qualquer editor de sua preferência. Neste exemplo, usaremos o bloco de notas.
B) Um script Linux que lerá o arquivo de categoria e processará a função de limpeza necessária.

Para criar um arquivo no diretório atual no tipo de terminal:

notepad cleanup.csv

Como o arquivo não existirá neste estágio, ele solicitará que você crie um novo arquivo, então apenas pressione “Sim”.

Vamos agora inserir os seguintes detalhes, no formato “categoria, tipo de arquivo1, tipo de arquivo2, tipo de arquivo3,…, etc” 1 linha para cada categoria, assim:

ATALHOS, lnk 
IMAGENS, jpg, png, svg
DOCUMENTOS, txt, docx, doc, pdf

O primeiro campo será o nome do diretório na área de trabalho, onde os demais tipos de arquivo serão colocados. Os campos restantes são os tipos de arquivo que você deseja mover para a pasta.

Portanto, para a pasta SHORTCUTS, todos os arquivos * .lnk serão movidos para essa pasta. Para a pasta IMAGES, todos os arquivos com * .jpg, *. Png e * .svg serão movidos para a pasta IMAGES. Por fim, movemos todos os arquivos * .txt, *. Docx, *. Doc e * .pdf para a pasta DOCUMENTOS. Desta forma, estamos organizando os arquivos nos diretórios corretos.

Depois de criar o arquivo CSV, estamos prontos para escrever o script. Chamaremos o script de cleanup.sh. A propósito, este script terá validação mínima, então você deve ter certeza de que o arquivo CSV está no formato correto, ou não funcionará! Tudo o que faremos neste script é verificar se os arquivos e pastas existem, como uma verificação mínima.

Você pode editar o script no terminal se conhecer editores de tipo Unix, como o vi, ou pode simplesmente usar o bloco de notas:

notepad cleanup.sh

A ação do script é definir o nome do arquivo CSV que estamos lendo no script e a localização da área de trabalho que queremos limpar. Definiremos variáveis ​​para o arquivo CSV de limpeza e o local da área de trabalho. No meu caso, é o seguinte. Você precisará substituir o local da área de trabalho pelo seu. Observe que qualquer coisa entre “” é um espaço reservado onde você precisa inserir suas informações específicas.

Então. as primeiras 2 linhas do script são:

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

O roteiro completo pode ser visto abaixo. Leia os comentários se quiser entender os comandos e se não tiver certeza de um comando, tente “man” na linha de comando do Linux para obter mais informações sobre como o comando funciona.

Torne o script de limpeza executável e execute-o

Para executar o script a partir da linha de comando inicial, você precisará torná-lo executável com o seguinte comando:

chmod + x cleanup.sh

Para executar o script, você precisará digitar o seguinte, pois está no diretório atual.

./cleanup.sh

Esta é a aparência da minha área de trabalho antes e depois da execução do script. Você pode ver que as pastas contendo os arquivos movidos foram criadas e a área de trabalho está muito menos confusa:

Antes: Depois de:

e o diretório SHORTCUTS, com todos os atalhos movidos da área de trabalho.

O script completo do Tidy Linux para Windows

Observe os comentários prefixados por “#” no script, pois eles explicam como o script funciona. # Defina variáveis ​​para a localização da área de trabalho local ou qualquer diretório que você deseja limpar e, o nome do arquivo CSV.

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

# Teste para ver se o arquivo csv de limpeza existe, usando um comando “test” do Linux e o sinalizador “-f” para a existência do arquivo.
# Se o arquivo não existir, envie uma mensagem de erro e feche o script.

E se [ ! -f $ {CSV}] então 
echo O arquivo cleanup.csv não existe.
saída -1
estar

# Agora converta o CSV se ele foi salvo no formato DOS para o formato Unix removendo os caracteres de retorno de carro.
# Salve a saída em um arquivo temporário e renomeie o arquivo temporário de volta ao nome original.

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

# Agora, percorra o arquivo CSV linha por linha e armazene o nome do primeiro argumento, que é o
# categoria / nome do diretório, sobre o qual todos os argumentos restantes são os tipos de arquivo que serão
# colocado nesses diretórios.

enquanto lê csvline 
Faz
contagem = 1
para tipo de arquivo em `echo '$ csvline' | tr, ' n'`
Faz
if [$ count -eq 1] então
# Como este é o primeiro argumento, verifique se a pasta já existe e, caso não exista, crie-a.
E se [ ! -d $ {DESKTOP} / $ filetype] então
# O diretório não existe, então vamos criá-lo.
mkdir $ {DESKTOP} / $ filetype
estar
CATEGORIA = $ {tipo de arquivo}
outro
# Envie uma mensagem amigável indicando o que o script está fazendo.
echo 'movendo *. $ {filetype} para $ {CATEGORY}'
# Não exibir nenhuma mensagem de erro (ou seja,> 2 / dev / null) ao mover os arquivos, caso os arquivos não existam,
# então o comando 'mv' é 'silencioso'.
mv $ {DESKTOP} /*.$ {filetype} $ {DESKTOP} / $ {CATEGORY} 2> / dev / null
estar
count = `expr $ count + 1`
feito
feito< cleanup.csv
7 minutos lidos