Categoria:Dicas: mudanças entre as edições

De MochilaWiki
Ir para navegaçãoIr para pesquisar
Sem resumo de edição
Sem resumo de edição
 
(84 revisões intermediárias por 3 usuários não estão sendo mostradas)
Linha 1: Linha 1:
Dicas para GNU/Linux
Dicas para GNU/Linux
== comando ==
Copiar diretório mais rápido com tar
cd diretorio-origem; tar cf - . | (cd /diretorio/destino/; tar xvf -)
Compactar várias pastas, cada uma em seu próprio arquivo zip
for i in */; do zip -r "${i%/}.zip" "$i"; done
mostra o tamanho dos diretórios ocultos
du -hs .[^.]*
procura arquivos criados em menos de 5 minutos
find . -mmin -5
busca por arquivos com mais de 30 dias de um diretório e copia para outro diretório
find cur -type f -mtime +30 -exec mv '{}' .2018/cur/ \;
ou
find /var/backup -type f -mtime +30 -print | xargs -I {} mv "{}" /srv/dbdumps
mostra informações de permissões recursivamente do caminho indicado
namei -om /usr/share/color
remove todos os arquivos com prefixo sess_* que estejam dentro de qualquer diretório, mas dentro do subdiretório tmp
rm *?/tmp/sess_*
cria um arquivo index.html dentro de todos os subdiretórios do diretório atual
find . -type d -exec touch {}/index.html \;
buscar pela arquivo aa.txt e exclui os diretórios 02 e 03
find -name aa.txt -not -path "./02/*" -not -path "./03/*"
recupera processo
$ wget bigfiles.com/10GB_file.tgz &
[1] 26258
$ disown -h 26258
$ fg 1
wget bigfiles.com/10GB_file.tgz
disown 1234
apt-get install reptyr
reptyr  3678
remover a linha 1001 do histórico do bash
history -d 1001
Screenshot de site no Mozilla Firefox, pressione Shift+F2 e depois digite no prompt:
screenshot --fullpage page.png
mostra a configuração de hardware
inxi -Fxz
baixar todos os arquivos de uma lista com url por linha
while read line; do wget $line; done < lista.txt
mostra somente as informações de banco de dados de projeto wordpress
cat wp-config.php | head -28 | tail -10 | sort | tail -4
coloca todas as linhas de um arquivo em uma única linha
cat /tmp/lista.txt |paste -s -d' '
recriando /tmp com suas devidas permissões
mkdir /tmp
chmod 777 /tmp/
chmod +t /tmp/
chown -R root: /tmp
procura arquivos com 2 digitos, com letras
for letter in {a..z}{a..z}.php ; do echo $letter; done > find-webshell.sh
sed -i "s/^/find -name /" find-webshell.sh
procura arquivos com 2 digitos, com letra e numero
for letter in {a..z}{1..9}.php ; do echo $letter; done > find-webshell.sh
sed -i "s/^/find -name /" find-webshell.sh
identificar se tem usb 3 na máquina
lsusb -v | grep -iE "Bus|^Device Desc|bcdusb"
mais dicas [http://www.vivaolinux.com.br/dica/Como-descobrir-a-versao-USB-do-seu-periferico]
remove todas as linhas que conter php
sed -i.bak '/php/d' test.log
contas as linhas
wc -l test.log
verificando limite de cotas de espaço do email
doveadm quota get -u seu@email.ccd
copia o diretório, mas excluído subdiretórios files e config
cp -r /var/www/website/!(files|config) /novo/caminho
remove todos os links simbólicos
find . -type l -exec rm {} \;
mostra IPs e Macs da rede local
nmap -sP 192.168.0.0/24
organiza o conteúdo do arquivo colocando as linhs em ordem acrescente e removendo os duplicados
cat 1.txt | sort | awk '!($0 in a) {a[$0];print}' > 3.txt
busca arquivos maiores de 500M
find . -size +500M
mostra configuração da máquina e sistema
wget -c https://raw.github.com/KittyKatt/screenFetch/master/screenfetch-dev -O screenfetch
chmod +x screenfetch
./screenfetch
mostra somente o ip
ifconfig | sed -n '2 p' | awk '{print $3}'
mostra a quantidade de processo
ps -ef | wc -l
mostra o limite de processos permitidos
ulimit -u
mostra todos os limites
ulimit -a
ulimit -u 512
os 11 processos que mais consome memoria ram
ps -A --sort -rss -o comm,pmem | head -n 11
procura arquivos que tenha o dono banto
<syntaxhighlight lang="bash">
find . -user banto
</syntaxhighlight>
procurar pastas que o dono não seja o banto
<syntaxhighlight lang="bash">
find . ! -user banto -type d
</syntaxhighlight>
histórico sem os números na frente
<syntaxhighlight lang="bash">
history | cut -c 8-
</syntaxhighlight>
lista os 10 processos que mais estão consumindo cpu
<syntaxhighlight lang="bash">
ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10
</syntaxhighlight>
extrai uma imagem a cada 30 quadros de um video
<syntaxhighlight lang="bash">
mplayer -vo png -vf framestep=30  -nosound  lilwayne.webm
</syntaxhighlight>
testar subwoofer
* http://www.stealthsettings.com/pt/woofer-bass-subwoofer-sound-test
status a cada 4 segundo da memoria ram
<source lang="bash">
free -m -s 5
</source>
deixando mysql sem histórico no shell
<source lang="bash">
ln -s /dev/null  ~/.mysql_history
</source>
lista e mostra somente o nome
<source lang="bash">
ls -laR *.tar | grep "^-" | awk '{print $9}' > compacta.sh
</source>
insere no começo da linha o numero - enumerado
<source lang="bash">
awk '{i++;print i $0}' ddd.txt
</source>
capturando e tocando video via firewrite
<source lang="bash">
dvgrab --format raw play-
</source>
streaming via linha de comando
<source lang="bash">
dvgrab --format raw - | tee dvstream.dv | ffmpeg2theora -A 45 -V 400 -c 1 -f dv -x 360 -y 288 -o /dev/stdout - \
| tee savelivestream.ogv | oggfwd -p -d "Stream description" -n "Streamname" my.icecastserver.com 80 icecastpassword /stream.ogv
</source>
* [http://principialabs.com/beginning-ssh-on-ubuntu/ preguiça no ssh]
Copiando a estrtura de diretórios de um local para outro.
<source lang="bash">
rsync -a -f "+ */" -f "- *" fonte/ destino/
</source>
Para verificar a data de criação/modificação de um arquivo:
<source lang="bash">
ls -lc arquivo.txt
</source>
Para verificar a data de acesso/utilização de um arquivo:
<source lang="bash">
ls -lu arquivo.txt
</source>
Para inforamações mais detalhadas você pode utilizar o comando "stat":
<source lang="bash">
stat arquivo.txt
</source>
<source lang="bash">
wget http://ossguy.com/video_hosts/vimeo_downloader.sh
chmod u+x ./vimeo_downloader.sh
mv vimeo_downloader.sh /usr/local/bin/
</source>
<source lang="bash">
./vimeo_downloader.sh http://vimeo.com/1084537
./vimeo_downloader.sh 1084537
</source>
mais info
* http://ossguy.com/?p=841
Adicione um texto em uma determinada linha de um arquivo de texto.
sed -i '3s/^/teste aqui\n/' arquivo.txt
descompactado vários arquivos ao mesmo tempo, diferentes software
<source lang="bash">
for i in *.7z; do 7z x "$i"; done
for i in *.gz; do gunzip "$i"; done
for i in *.tar.gz; do tar -xvf "$i"; done
</source>
prioridade na escrita em disco, evita alto consumo
/usr/bin/ionice -c2 -n7 /root/scripts/nas.backup.full
* http://www.cyberciti.biz/tips/linux-set-io-scheduling-class-priority.html
teste de audio: tocar
aplay -D plughw:0,0 Test.wav
teste de audio: gravar
arecord -D plughw:0,0 RecTest.wav
para descobrir os grupos que está um usuário
# groups banto
ou
id banto
visualiza regras do iptables
iptables -xnvL
criando há 24h pra cá
find . -mtime -1
sete dias pra cá
find . -mtime -7
Desabilite o usuário root
usermod -L root
acertando permissão de pasta e arquivos
find ./ -type d -exec chmod 755 {} \;
find ./ -type f -exec chmod 644 {} \;
politica de vizinhança
ln -s /dev/null ~/.bash_history
download de site inteiro
httrack http://www.planetaportoalegre.net/home.htm -b1 +* -r2
testa audio
aplay /usr/share/sounds/alsa/Noise.wav
procurando arquivo por tamanho
find . -size +10M
lista os 5 diretório maiores
du -hs */ | sort -hr | head -n 5
procura arquivo com o dono diferente do usuário autenticado
find ~ ! -user ${USER}
remove todos os arquivos vazios
find . -depth -type f -empty -exec rm {} \;
remove todas as pastas vazias
find . -depth -type d -empty -exec rm {} -fr \;
Tempo que o processo está aberto
ps -o etime $PID
acerta codificação de arquivos para colocar no mp3
convmv --notest -r -f latin1 -t utf-8 orappa-7-vezes/
procura e remove arquivo 03.jpg
find -name 03.jpg -exec rm -f {} \;
ligação simbolica para plugins do mplayer no firefox
ln -s $(pwd)/mplayerplug* /home/banto/.mozilla/plugins/
teste de envio de mensagens
echo "conteudo da mensagem" | mutt -s "teste 1" usuario@provedor.com.br
comentar todas as linhas de um arquivo
sed -i -e "s/^/#/" nhrumah.txt
confere o hash
md5sum -c casa.md5sum
insere texto na primeira linha:
sed -i "1s/^/LINHA1\n/" arquivo.txt
coloca em ordem alfabetica:
sort -n sai.txt


procura dentro de home arquivos que nao foram lido ou escrito por mais de um ano
procura dentro de home arquivos que nao foram lido ou escrito por mais de um ano
Linha 6: Linha 329:
fonte
fonte
* http://www.softwarelivrecelepar.pr.gov.br/modules/newbb/viewtopic.php?topic_id=289&forum=49&post_id=923
* http://www.softwarelivrecelepar.pr.gov.br/modules/newbb/viewtopic.php?topic_id=289&forum=49&post_id=923
for file in `ls *jpg`; do file="`basename $file .jpg`" ; php resizer.php -w460 -h345 -j $file.jpg; done
mirror de site
wget -m -k -K -E http://www.gnu.org/ -o /home/me/weeklog
E para limitar a banda usada pelo wget para que ele baixe a uma velocidade máxima de 20k, use --limit-rate=20. Ex.:
wget -c --limit-rate=20 http://caminho_do_rquivo/arquivo.zip
vendo a temperatura do HD
# apt-get install hddtemp
# hddtemp /dev/sda
* http://www.cyberciti.biz/tips/howto-monitor-hard-drive-temperature.html
convertendo tamanho de imagem
  for img in `ls *.jpg`; do convert -resize 40% $img n$img; done
* procurando por permissões
para pasta
find -type d -perm 777
para arquivos
find -type f -perm 777
renomear arquivos em massa contando
i=1
for j in *.jpg; do mv "$j" "$i.jpg" ;(( i++ )); done
== artigos úteis ==
* [http://www.tinotapa.com.br/ TI no Tapa]
* [http://www.carlosmalucelli.com/view/133 Como criptografar um diretório no linux]
* [http://www.vivaolinux.com.br/artigo/Reempacotamento-e-repositorio-local-em-um-sistema-Debianlike/ Reempacotamento e repositório local em um sistema Debian-like]
* [http://www.vivaolinux.com.br/dica/Convert[endo]-fotos Convertendo fotos]
* http://www.devin.com.br/imagemagick/
* [http://www.devin.com.br/intro_php/ aula de php]
* [http://www.vivaolinux.com.br/script/Derrubando-Win9x-Win2k derrubando windows]
* [http://www.yrex.com/spam/spamconfig.php configurador web basicao pro spamassassin]
* [http://tuxmobil.org/portable_player_linux_tools.html recursos para mp3player]
* [http://www.pixelbeat.org/cmdline.html ótimo guia de comandos]

Edição atual tal como às 10h44min de 25 de junho de 2023

Dicas para GNU/Linux

comando

Copiar diretório mais rápido com tar

cd diretorio-origem; tar cf - . | (cd /diretorio/destino/; tar xvf -)


Compactar várias pastas, cada uma em seu próprio arquivo zip

for i in */; do zip -r "${i%/}.zip" "$i"; done


mostra o tamanho dos diretórios ocultos

du -hs .[^.]*

procura arquivos criados em menos de 5 minutos

find . -mmin -5

busca por arquivos com mais de 30 dias de um diretório e copia para outro diretório

find cur -type f -mtime +30 -exec mv '{}' .2018/cur/ \;

ou

find /var/backup -type f -mtime +30 -print | xargs -I {} mv "{}" /srv/dbdumps

mostra informações de permissões recursivamente do caminho indicado

namei -om /usr/share/color

remove todos os arquivos com prefixo sess_* que estejam dentro de qualquer diretório, mas dentro do subdiretório tmp

rm *?/tmp/sess_*

cria um arquivo index.html dentro de todos os subdiretórios do diretório atual

find . -type d -exec touch {}/index.html \;

buscar pela arquivo aa.txt e exclui os diretórios 02 e 03

find -name aa.txt -not -path "./02/*" -not -path "./03/*"


recupera processo

$ wget bigfiles.com/10GB_file.tgz &
[1] 26258
$ disown -h 26258
$ fg 1
wget bigfiles.com/10GB_file.tgz
disown 1234


apt-get install reptyr
reptyr  3678


remover a linha 1001 do histórico do bash

history -d 1001

Screenshot de site no Mozilla Firefox, pressione Shift+F2 e depois digite no prompt:

screenshot --fullpage page.png

mostra a configuração de hardware

inxi -Fxz

baixar todos os arquivos de uma lista com url por linha

while read line; do wget $line; done < lista.txt

mostra somente as informações de banco de dados de projeto wordpress

cat wp-config.php | head -28 | tail -10 | sort | tail -4

coloca todas as linhas de um arquivo em uma única linha

cat /tmp/lista.txt |paste -s -d' '

recriando /tmp com suas devidas permissões

mkdir /tmp
chmod 777 /tmp/
chmod +t /tmp/
chown -R root: /tmp

procura arquivos com 2 digitos, com letras

for letter in {a..z}{a..z}.php ; do echo $letter; done > find-webshell.sh
sed -i "s/^/find -name /" find-webshell.sh

procura arquivos com 2 digitos, com letra e numero

for letter in {a..z}{1..9}.php ; do echo $letter; done > find-webshell.sh
sed -i "s/^/find -name /" find-webshell.sh


identificar se tem usb 3 na máquina

lsusb -v | grep -iE "Bus|^Device Desc|bcdusb"

mais dicas [1]

remove todas as linhas que conter php

sed -i.bak '/php/d' test.log

contas as linhas

wc -l test.log

verificando limite de cotas de espaço do email

doveadm quota get -u seu@email.ccd

copia o diretório, mas excluído subdiretórios files e config

cp -r /var/www/website/!(files|config) /novo/caminho

remove todos os links simbólicos

find . -type l -exec rm {} \;

mostra IPs e Macs da rede local

nmap -sP 192.168.0.0/24

organiza o conteúdo do arquivo colocando as linhs em ordem acrescente e removendo os duplicados

cat 1.txt | sort | awk '!($0 in a) {a[$0];print}' > 3.txt

busca arquivos maiores de 500M

find . -size +500M

mostra configuração da máquina e sistema

wget -c https://raw.github.com/KittyKatt/screenFetch/master/screenfetch-dev -O screenfetch 
chmod +x screenfetch 
./screenfetch

mostra somente o ip

ifconfig | sed -n '2 p' | awk '{print $3}' 

mostra a quantidade de processo

ps -ef | wc -l

mostra o limite de processos permitidos

ulimit -u

mostra todos os limites

ulimit -a
ulimit -u 512

os 11 processos que mais consome memoria ram

ps -A --sort -rss -o comm,pmem | head -n 11

procura arquivos que tenha o dono banto

find . -user banto

procurar pastas que o dono não seja o banto

find . ! -user banto -type d

histórico sem os números na frente

history | cut -c 8-

lista os 10 processos que mais estão consumindo cpu

ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10

extrai uma imagem a cada 30 quadros de um video

mplayer -vo png -vf framestep=30  -nosound  lilwayne.webm

testar subwoofer

status a cada 4 segundo da memoria ram

free -m -s 5

deixando mysql sem histórico no shell

ln -s /dev/null  ~/.mysql_history

lista e mostra somente o nome

ls -laR *.tar | grep "^-" | awk '{print $9}' > compacta.sh

insere no começo da linha o numero - enumerado

awk '{i++;print i $0}' ddd.txt

capturando e tocando video via firewrite

dvgrab --format raw play-

streaming via linha de comando

dvgrab --format raw - | tee dvstream.dv | ffmpeg2theora -A 45 -V 400 -c 1 -f dv -x 360 -y 288 -o /dev/stdout - \
| tee savelivestream.ogv | oggfwd -p -d "Stream description" -n "Streamname" my.icecastserver.com 80 icecastpassword /stream.ogv

Copiando a estrtura de diretórios de um local para outro.

rsync -a -f "+ */" -f "- *" fonte/ destino/

Para verificar a data de criação/modificação de um arquivo:

ls -lc arquivo.txt

Para verificar a data de acesso/utilização de um arquivo:

ls -lu arquivo.txt

Para inforamações mais detalhadas você pode utilizar o comando "stat":

stat arquivo.txt
wget http://ossguy.com/video_hosts/vimeo_downloader.sh
chmod u+x ./vimeo_downloader.sh
mv vimeo_downloader.sh /usr/local/bin/
./vimeo_downloader.sh http://vimeo.com/1084537
./vimeo_downloader.sh 1084537

mais info


Adicione um texto em uma determinada linha de um arquivo de texto.

sed -i '3s/^/teste aqui\n/' arquivo.txt


descompactado vários arquivos ao mesmo tempo, diferentes software

for i in *.7z; do 7z x "$i"; done
for i in *.gz; do gunzip "$i"; done
for i in *.tar.gz; do tar -xvf "$i"; done

prioridade na escrita em disco, evita alto consumo

/usr/bin/ionice -c2 -n7 /root/scripts/nas.backup.full 

teste de audio: tocar

aplay -D plughw:0,0 Test.wav

teste de audio: gravar

arecord -D plughw:0,0 RecTest.wav


para descobrir os grupos que está um usuário

# groups banto

ou

id banto

visualiza regras do iptables

iptables -xnvL

criando há 24h pra cá

find . -mtime -1

sete dias pra cá

find . -mtime -7 


Desabilite o usuário root

usermod -L root

acertando permissão de pasta e arquivos

find ./ -type d -exec chmod 755 {} \;
find ./ -type f -exec chmod 644 {} \;

politica de vizinhança

ln -s /dev/null ~/.bash_history

download de site inteiro

httrack http://www.planetaportoalegre.net/home.htm -b1 +* -r2

testa audio

aplay /usr/share/sounds/alsa/Noise.wav

procurando arquivo por tamanho

find . -size +10M

lista os 5 diretório maiores

du -hs */ | sort -hr | head -n 5

procura arquivo com o dono diferente do usuário autenticado

find ~ ! -user ${USER}

remove todos os arquivos vazios

find . -depth -type f -empty -exec rm {} \;

remove todas as pastas vazias

find . -depth -type d -empty -exec rm {} -fr \;

Tempo que o processo está aberto

ps -o etime $PID 

acerta codificação de arquivos para colocar no mp3

convmv --notest -r -f latin1 -t utf-8 orappa-7-vezes/

procura e remove arquivo 03.jpg

find -name 03.jpg -exec rm -f {} \;

ligação simbolica para plugins do mplayer no firefox

ln -s $(pwd)/mplayerplug* /home/banto/.mozilla/plugins/

teste de envio de mensagens

echo "conteudo da mensagem" | mutt -s "teste 1" usuario@provedor.com.br

comentar todas as linhas de um arquivo

sed -i -e "s/^/#/" nhrumah.txt

confere o hash

md5sum -c casa.md5sum

insere texto na primeira linha:

sed -i "1s/^/LINHA1\n/" arquivo.txt

coloca em ordem alfabetica:

sort -n sai.txt

procura dentro de home arquivos que nao foram lido ou escrito por mais de um ano

find /home/ -atime +365 -exec ls -sh '{}' \;

fonte

for file in `ls *jpg`; do file="`basename $file .jpg`" ; php resizer.php -w460 -h345 -j $file.jpg; done

mirror de site

wget -m -k -K -E http://www.gnu.org/ -o /home/me/weeklog

E para limitar a banda usada pelo wget para que ele baixe a uma velocidade máxima de 20k, use --limit-rate=20. Ex.:

wget -c --limit-rate=20 http://caminho_do_rquivo/arquivo.zip

vendo a temperatura do HD

# apt-get install hddtemp
# hddtemp /dev/sda

convertendo tamanho de imagem

 for img in `ls *.jpg`; do convert -resize 40% $img n$img; done


  • procurando por permissões

para pasta

find -type d -perm 777

para arquivos

find -type f -perm 777

renomear arquivos em massa contando

i=1
for j in *.jpg; do mv "$j" "$i.jpg" ;(( i++ )); done

artigos úteis