Categoria:Dicas: mudanças entre as edições
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
- TI no Tapa
- Como criptografar um diretório no linux
- Reempacotamento e repositório local em um sistema Debian-like
- [endo-fotos Convertendo fotos]
- http://www.devin.com.br/imagemagick/
- aula de php
- derrubando windows
- configurador web basicao pro spamassassin
- recursos para mp3player
- ótimo guia de comandos
Páginas na categoria “Dicas”
As seguintes 30 páginas pertencem a esta categoria, de um total de 30.