mova um arquivo e deixe um link suave para trás
<p>estou procurando um único comando linux que me permita fazer o equivalente a este:</p><pre><code>cp /some/path/file /another/path/ &amp;&amp; ln -sf /another/path/file /some/path/ </code></pre><p>se não houver um, qual é a melhor maneira de fazer isso por um monte de arquivos?</p>
<p>uma pequena nota é que você poderia usar as duas vezes para fazer o comando não mover os dados (assumindo que os dois caminhos estejam no mesmo sistema de arquivos).</p><pre><code>ln /some/path/file /another/path/ &amp;&amp; ln -sf /another/path/file /some/path/ </code></pre><p>mas eu suponho que você deseja mover o conteúdo de/alguns/path/para um outro disco e, em seguida, criar links para os novos arquivos de modo "ninguém".</p><pre><code>for f in `ls /some/path/`; do ln /some/path/$f /another/path/ &amp;&amp; ln -sf /another/path/$f /some/path; done </code></pre><p>envolvendo-o em uma função bash:</p><pre><code>function cpln { for f in `ls $1` do ln $1/$f $2 &amp;&amp; ln -sf $2/$f $1 done } </code></pre>
<p>você provavelmente deseja o <a href="http://man7.org/linux/man-pages/man1/comm.1.html">tilitário de comunicação unix</a> . <a href="http://gnuwin32.sourceforge.net/packages/coreutils.htm">versões do windows</a> estão incluídas no gnuwin32</p><blockquote> <p>nome</p> <pre><code> comm - compare two sorted files line by line </code></pre> <p>sinopse</p> <pre><code> comm [option]... file1 file2 </code></pre> <p>descrição</p> <pre><code> compare sorted files file1 and file2 line by line. with no options, produce three-column output. column one contains lines unique to file1, column two contains lines unique to file2, and column three contains lines common to both files. -1 suppress lines unique to file1 -2 suppress lines unique to file2 -3 suppress lines that appear in both files </code></pre></blockquote> fiz este processo recentemente, utilizei o shred, ele faz a remoção em 3 passos, sendo mais difícil de recuperar arquivos do que outros métodos.

se você for realizar o processo em um hd secundário pode utilizar sua instalação atual do linux mint, caso queira realizar o processo no hd em que o linux… [imagem] cnemo:

devo então apagar um por um os pacotes e rodar esse comando do lightdm, certo? pior que quando apaguei de uma vez a de, acho que cheguei a usar algo com lightdm e não acontecia nada.

após deletar um por um os softwares do ubuntu, o que devo fazer?

de acordo com o log, no dia … acabei de descobrir um utilitário bem poderoso de controle de processos no terminal o nome dele é htop e com ele é possível fazer o que você quer mas vai ter que configurar ele para fazer isso no próprio utilitário

edit: [[htop]](https://plus.diolinux.com.br/uploads/default/original/2x/b/bf9b441cc78eb9fabbadaa634f575feeca2b97d8.png "htop.png")

eu consegui configurar e ordenar ele para uso de leitura e escrita do … <p>para encontrar os 10 maiores arquivos (linux/bash):</p><p><code>find . -type f -print0 | xargs -0 du | sort -n | tail -10 | cut -f2 | xargs -i{} du -sh {}</code></p><p>para encontrar os 10 maiores diretórios:</p><p><code>find . -type d -print0 | xargs -0 du | sort -n | tail -10 | cut -f2 | xargs -i{} du -sh {}</code></p><p>a única diferença é <code>-type {d:f}</code>.</p><p>manipula arquivos com espaços nos nomes e produz tamanhos de arquivos legíveis por humanos na saída. maior arquivo listado por último. o argumento a seguir é o número de resultados que você vê (aqui os 10 maiores).</p><p>existem duas técnicas usadas para manipular espaços em nomes de arquivos. o <code>find -print0 | xargs -0</code> usa delimitadores nulos em vez de espaços, e o segundo <code>xargs -i{}</code> usa novas linhas ao invés de espaços para finalizar itens de entrada.</p><p>exemplo:</p><pre><code>$ find . -type f -print0 | xargs -0 du | sort -n | tail -10 | cut -f2 | xargs -i{} du -sh {} 76m ./snapshots/projects/weekly.1/onthisday/onthisday.tar.gz 76m ./snapshots/projects/weekly.2/onthisday/onthisday.tar.gz 76m ./snapshots/projects/weekly.3/onthisday/onthisday.tar.gz 76m ./tmp/projects/onthisday/onthisday.tar.gz 114m ./dropbox/snapshots/weekly.tgz 114m ./dropbox/snapshots/daily.tgz 114m ./dropbox/snapshots/monthly.tgz 117m ./calibre library/robert martin/cc.mobi 159m ./.local/share/trash/files/funky chicken.mpg 346m ./downloads/the walking dead s02e02 ... (dutch subs nl).avi </code></pre> <p>você precisará da cauda. alguns exemplos:</p><pre><code>$ tail great-big-file.log &lt; last 10 lines of great-big-file.log &gt; </code></pre><p>se você realmente precisar skip um número específico de "primeiras" linhas, use</p><pre><code>$ tail -n +&lt;n+1&gt; &lt;filename&gt; &lt; filename, excluding first n lines. &gt; </code></pre><p>isto é, se você quiser pular n linhas, você começa a imprimir a linha n + 1. exemplo:</p><pre><code>$ tail -n +11 /tmp/myfile &lt; /tmp/myfile, starting at line 11, or skipping the first 10 lines. &gt; </code></pre><p>se você quiser apenas ver as últimas tantas linhas, omita o "+":</p><pre><code>$ tail -n &lt;n&gt; &lt;filename&gt; &lt; last n lines of file. &gt; </code></pre> <p>você pode mover a pasta c:\users inteira para uma unidade diferente com bastante facilidade após a instalação do windows:</p><p><strong> aviso: isso pode causar problemas se/quando você precisar executar uma restauração do sistema </strong></p><ol> <li>inicialize na mídia de instalação e acesse o prompt de comando ( <a href="http://www.sevenforums.com/tutorials/682-command-prompt-startup.html">pressione shift + f10 na caixa de diálogo de instalação</a> )</li> <li>use robocopy para copiar c:\users para d:\users: <code>robocopy c:\users d:\users /mir /xj /copyall</code><br> uma. <code>/mir</code> diz ao robocopy para espelhar os diretórios, isso copiará todos os arquivos<br> b. <code>/xj</code> é muito importante, isto diz à robocopy para não seguir os pontos de junção. se você esquecer isso, terá muitos problemas.<br> c. <code>/copyall</code> copiará todos os atributos, incluindo informações da acl e do proprietário</li> <li>verifique se os arquivos copiados com sucesso</li> <li>excluir c:\usuários</li> <li>crie uma junção que aponte para d:\users: <code>mklink c:\users d:\users /j</code></li> </ol><p>é isso aí. eu tenho usado esse processo desde que o vista foi rtm sem problemas.</p><p>aqui está um <a href="http://caskater4.blogspot.com/2007/09/moving-your-data-where-you-want-in.html">artigo</a> que também explica. basta usar robocopy em vez de xcopy, como ele faz no artigo, para evitar possíveis problemas de permissões de ntfs.</p><p>atualização: como descobri da maneira mais difícil, pensei em mencionar também que, se você planeja mover "dados do programa" ou "arquivos de programa" com esse método, ficará desapontado ao descobrir que tudo funciona como esperado , mas as atualizações do windows não serão mais instaladas. não tenho certeza se isso foi corrigido no win 7.</p><p>atualização 2: @benjol possui um <a href="http://benjol.blogspot.com/2009/05/moving-users-folder-in-vista.html">postagem no blog</a> que detalha um método de mover a pasta profiles que recriará as junções que esse método deixa de fora. se você tiver algum problema com aplicativos herdados, dê uma olhada aqui e veja se o método dele resolve o problema.</p> <p>você pode usar find com <a href="http://en.wikipedia.org/wiki/xargs">xargs</a> para isso</p><p><code>find /thisdir -type f -name "*.ogg" -print0 | xargs -0 -imysongs mv -i mysongs /somedir</code></p><blockquote> <p>o comando -i no comando acima informa ao xargs qual string de substituição você deseja usar (caso contrário, adiciona os argumentos ao final do comando).</p> </blockquote><p>or<br> no seu comando, tente mover '{}' após o comando <code>mv</code>.</p><p><code>find /thisdir -type f -name '*.ogg' -exec mv -i {} /somedir \;</code></p> no começo do arquivo .patch tem o caminho esperado do arquivo que será alterado. nesse caso é esperado que vc esteja na raiz de onde extraiu o kernel. daí é mandar aplicar executar o comando informando o arquivo .patch.

por exemplo, vc extraiu o código fonte em /home/thiago/downloads/linux-5.10.9

… <p>olá nádia,</p>
<p>muito interessante o atalho. o mesmo pode ser feito nos programas do pacote adobe ao apertar alt.</p>
<p>abçs,</p>
<p>gustavo diuana</p>