BASH cheat sheet
Este é o meu BASH cheat sheet. Estou aqui para coletar trechos de código úteis e construções que eu tive que google de vez em quando ou man'en. O artigo serve-me, pessoalmente, como um livro de referência, mas poderia ser útil para outras pessoas que muitas vezes têm o shell Bourne novamente para fazer.
Moer
enquanto [1] loop # infinito fazer echo "Blah" feito
for i in $ (ls / etc) fazer echo $ i feito for i in `seq 1 10`; fazer echo $ i feito
Caso
case "$ 1" in a) echo "a" ;; b) echo b " ;; *) echo "$ 1 não é a ou b" ;; esac
Interruptores para teste: http://bash-hackers.org/wiki/doku.php/commands/classictest~~HEAD=NNS ou / Usr / bin / [- help
If-Then-Else
if ["$ 1" = "a"], em seguida, echo "a" outro echo "não" fi
dpkg + apt
Lista arquivos # instalado de um pacote dpkg-L [nome do pacote] # Lista arquivos em um pacote dpkg-c [pacote.deb] # Informações sobre um pacote dpkg-I [pacote.deb] # Lista todos os pacotes instalados dpkg-l dpkg - get-selections> getselections.txt Importação de instalação # de seleção de arquivos dpkg - set-selections <getselections.txt
netstat
# Lista todas as portas abertas para o exterior netstat-lpn | grep LISTEN | grep-v localhost
mdadm
# Teste o seu e-mail # Usa MAILADDR a partir de / etc mdadm / / mdadm.conf mdadm - monitor -1 / dev/md0-t # Dispositivo para adicionar à matriz mdadm - add / dev/md0 / dev/sda1 # Remova o dispositivo a partir da matriz mdadm - remove / dev/md0 / dev/sda1 # Remover dispositivos defeituosos mdadm - manage / dev/md0 - remove defeituoso mdadm - manage / dev/md0 - remove não # Re-instalar o boot loader larva grub root> (hd0, 0) grub> setup (hd0) # Saída de informações de disco smartctl-i / dev / sdx
ext
# Disklabel definir e2label rótulo do dispositivo
Tela
# Telas para gerar automaticamente scripts e tela de início da tarefa tela-S [nome da tela]-d-m [script.sh] # Criar uma nova tela ou alterar existentes tela-R-d [nome da tela] # Keystroke para sair de uma tela CTRL - A - D
mysql
# Todos os bancos de dados em um arquivo de despejo mysqldump-u root-psecret - all-databases> backup.sql # apenas a estrutura do banco de dados em um arquivo de despejo mysqldump-u root-psecret - no-data - todos os bancos de dados-> backup.sql # Dump Restore mysql-u root-psecret <backup.sql # senha de root reset / etc / init.d / mysql stop echo SENHA PARA "SET'root' @'localhost' = PASSWORD ('new password')"> ~ / setrootpassword.sql mysqld_safe - init-file = ~ / setrootpassword.sql # [Ctrl] + [c] / etc / init.d / mysql start rm-f ~ / setrootpassword.sql imagemagick
# Redimensionar todas as imagens no diretório atual Mogrify-redimensionar 800x600. / *. JPG # Todas as imagens no diretório atual para PNG convertido mogrify formato png. / *
unionfs-fusível
# União entre a e b em c # Será postado em um unionfs-fusível-o de vaca / home / a RW = :/ home / b = RW / home / ww / Desktop / c
ffmpeg
# Converter flv para 3gp ffmpeg-i-f 3gp-vcodec h263 in.flv-s 176x144-ab 12.2k-ar 8000-AC 1 out.3gp # Converter a partir de praticamente qualquer formato para qualquer outro como a perda livre possível ffmpeg-i infile.ext passe-2-sameq outfile.ext
encontrar
# Localizar arquivos, e fazer algo com elas encontrar. -Name "* mp3." File-Exec {} \; # Ligações macios podem visualizar e encontrar. Tipo-l-exec ls-l {} \; # Incluir todos os arquivos em um diretório find / diretório-type f | wc-l
sudo
# / Etc / sudoers User # comando de senha nome de usuário sem autorização executar um privilegiado # (Em anexo no final deve ser a partir de / etc / sudoers) nome de usuário ALL = NOPASSWD: reboot / sbin /
iptables
# Deixar tudo na INPUT iptables-F; ENTRADA iptables-P ACCEPT # Debug conexões # Contadores de pacotes em uma cadeia com 0 iptables-Z ENTRADA # Cadeia com o pacote de indicação do contador iptables-L INPUT-v
FTP montagem
mkdir / tmp / mnt fusível modprobe curlftpfs-v-o nonempty ftp.host.com-o username = usuário: senha / tmp / mnt umount / tmp / mnt
umount "dispositivo está ocupado" - encontrar-blocking processo
fuser-m [ponto de montagem] site mirrorn wget
wget-km http://www.website.com SAMBA montagem
mount.cifs / / 192.168.0.1/share / media / share-o username = $ USERNAME, password = $ 32 bits ou 64 bits
getconf LONG_BIT / Etc / fstab
NFS: 192.168.0.1 :/ home / home nfs rsize = 8192 wsize = 8192, hard, intr 0 0
Full Disk - Encontre devoradores de memória
apt-get install ncdu ncdu # / Montagens sem qualquer outro FS / mnt # (Se montagens de dados de cobertura no disco local) mnt / bind / - montagem, du-sm / mnt
Criptografia completa do sistema
Tutorial muito bom por Andreas Haerter: http://blog.andreas-haerter.com/2011/06/18/ubuntu-festplattenvollverschluesselung-lvm-luks
Disco através da clonagem de LAN
dd if = / dev / hda | ssh-c blowfish-C root@otherbox.ip.addr dd of = / dev / hda Saída timestamp atual (ET)
date +% s Asterisco
# Converter arquivo de som em formato jogável Asterisk ffmpeg-i-ar 8000-ac ./input.mp3 1 da 64. / output.wav

08 de abril de 2010
Moagem:
- Ao mesmo tempo infinito: while true; ...
- Análise Ls é uma espécie de não-não: cd / etc for i in *; ... ou simplesmente se aplicável / etc / *. As taxas de crescimento deles para sempre.
Case:
- Não citando palavra dos parâmetros de teste, conforme necessário (mas não incorretos)
Teste:
- Ao usar / usr / bin / [é usado para codificação, e / usr / bin / [usado em vez de [(builtin bash)
- Preferenciais: o [[]] Palavra (bash)
Imagemagick:
- .. / [Jj] [Pp] [Gg], ou ajudar um outro método para o Caso Insensibilidade pode-