{"id":21956566,"url":"https://github.com/samuelbarbosadev/learning_shell_script","last_synced_at":"2026-04-19T19:03:11.303Z","repository":{"id":178199645,"uuid":"661325862","full_name":"SamuelBarbosaDev/Learning_Shell_Script","owner":"SamuelBarbosaDev","description":"Shell scripting, or simply shell script, is a powerful and versatile scripting language used in Unix-like operating systems. It allows users to automate tasks and execute a series of commands directly in the command-line interface (CLI) or through script files.","archived":false,"fork":false,"pushed_at":"2024-01-30T23:27:53.000Z","size":264,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-22T19:25:47.720Z","etag":null,"topics":["script","shell-script"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SamuelBarbosaDev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-07-02T13:51:46.000Z","updated_at":"2023-09-09T16:14:32.000Z","dependencies_parsed_at":"2024-01-31T00:37:59.243Z","dependency_job_id":"cac75080-5ddc-4966-bbff-1523aee3a318","html_url":"https://github.com/SamuelBarbosaDev/Learning_Shell_Script","commit_stats":null,"previous_names":["samuelbarbosadev/learning_shell_script"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SamuelBarbosaDev/Learning_Shell_Script","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamuelBarbosaDev%2FLearning_Shell_Script","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamuelBarbosaDev%2FLearning_Shell_Script/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamuelBarbosaDev%2FLearning_Shell_Script/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamuelBarbosaDev%2FLearning_Shell_Script/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SamuelBarbosaDev","download_url":"https://codeload.github.com/SamuelBarbosaDev/Learning_Shell_Script/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamuelBarbosaDev%2FLearning_Shell_Script/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32018765,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["script","shell-script"],"created_at":"2024-11-29T08:35:01.388Z","updated_at":"2026-04-19T19:03:11.275Z","avatar_url":"https://github.com/SamuelBarbosaDev.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Learning Shell Script:\n\n### Índice\n- [Learning Shell Script:](#learning-shell-script)\n    - [Índice](#índice)\n    - [Observação:](#observação)\n    - [Guia de Comandos SHELL (Terminal GNU/Linux):](#guia-de-comandos-shell-terminal-gnulinux)\n    - [**Breve Introdução**](#breve-introdução)\n  - [Guia de Referência:](#guia-de-referência)\n    - [**Atalhos Globais**](#atalhos-globais)\n    - [**Lista dos Comandos mais Comuns**](#lista-dos-comandos-mais-comuns)\n    - [**Outros exemplos**](#outros-exemplos)\n    - [**Comandos de instaladores**](#comandos-de-instaladores)\n  - [**Guia de Referência Completo**:](#guia-de-referência-completo)\n    - [**Informações do sistema Linux**](#informações-do-sistema-linux)\n    - [**Desligar (reinicialização do sistema ou logout)**](#desligar-reinicialização-do-sistema-ou-logout)\n    - [**Arquivos e diretórios**](#arquivos-e-diretórios)\n    - [**Encontrar arquivos**](#encontrar-arquivos)\n    - [**Trabalhando com sistema de arquivos**](#trabalhando-com-sistema-de-arquivos)\n    - [**Espaço em disco**](#espaço-em-disco)\n    - [**Usuários e grupos**](#usuários-e-grupos)\n    - [**Permissões de Arquivos (+ Adiciona e – Remover permissões)**](#permissões-de-arquivos--adiciona-e--remover-permissões)\n    - [**Atributos especiais de arquivo: (“+” Adiciona e “–” Remover permissões)**](#atributos-especiais-de-arquivo--adiciona-e--remover-permissões)\n    - [**Arquivos e arquivos compactados**](#arquivos-e-arquivos-compactados)\n    - [**Pacotes RPM (Red Hat, Fedora e similares)**](#pacotes-rpm-red-hat-fedora-e-similares)\n    - [**Pacotes YUM Updater (Red Hat, Fedora e similares)**](#pacotes-yum-updater-red-hat-fedora-e-similares)\n    - [**Pacotes deb (Debian, Ubuntu e derivados)**](#pacotes-deb-debian-ubuntu-e-derivados)\n    - [**Atualizador de pacotes APT (Debian, Ubuntu y derivados)**](#atualizador-de-pacotes-apt-debian-ubuntu-y-derivados)\n    - [**Exibir o conteúdo de um arquivo**](#exibir-o-conteúdo-de-um-arquivo)\n    - [**Manipulação de texto**](#manipulação-de-texto)\n    - [**Estabelecer o formato de conversão de arquivos**](#estabelecer-o-formato-de-conversão-de-arquivos)\n    - [**Análise de sistema de arquivos**](#análise-de-sistema-de-arquivos)\n    - [Formatar sistema de arquivos](#formatar-sistema-de-arquivos)\n    - [**Backups**](#backups)\n    - [**CD-ROM**](#cd-rom)\n    - [**Redes (LAN e Wi-Fi)**](#redes-lan-e-wi-fi)\n    - [**Redes Microsoft Windows (SAMBA)**](#redes-microsoft-windows-samba)\n    - [**Firewall (iptables)**](#firewall-iptables)\n    - [**Monitoramento e depuração**](#monitoramento-e-depuração)\n  - [**Dicas e Comandos úteis**](#dicas-e-comandos-úteis)\n    - [**_Fontes_**](#fontes)\n\n### Observação:\nO objetivo deste repositório é registrar o meu aprendizado com Shell Script, além de ser o meu caderno de anotações sobre o tema, para que eu possa revisitar no futuro. O conteúdo abaixo é proveniente do site [União Geek](https://www.uniaogeek.com.br/guia-de-comandos-shell-terminal-gnulinux/). \n\n### Guia de Comandos SHELL (Terminal GNU/Linux):\n\nO GNU/Linux é, para muitos uma dor de cabeça, quando toca à utilização da\nlinha de comando e do terminal. Habituados a usar apenas uma interface\ngráfica, poucos são os que se aventuram a usar este Sistema Operacional fora\nda sua zona de conforto.\n\nQuer ter domínio do terminal e não usar somente interface gráfica, aumentando\nseu conhecimento em Linux? Pois bem, existem muitos momentos em que precisamos\nconhecer os comandos no terminal GNU/Linux.\n\nMuitas empresas o usam para programar para outros sistemas operacionais,\ncursos de programação acabam por sempre utilizar o GNU/Linux, por mais que\ntentem evitá-lo e assim precisamos deste domínio, obviamente os comandos são\nmuitos, mesmo com a prática do dia a dia é improvável que você decore todos,\npor isso reunimos neste artigo _(após uma seleção de pesquisas – vide fontes)_\numa lista de referência com os comandos essenciais e muitos dos principais\npara uso no Interpretador de Comandos (Shell) do Sistema Operacional\nGNU/Linux.\n\n* * *\n\n### **Breve Introdução**\n\nUm comando do Linux é uma palavra especial que representa uma ou mais ações.\nUm interpretador de comandos também é conhecido como shell ou modo texto. Ele\né o programa responsável por interpretar essas instruções enviadas pelo\nusuário e seus programas para o kernel. No Linux, você poderá ter vários\ninterpretadores de comandos _(ao contrário do que acontece no Windows que só\ntem o CMD – “Prompt de Comando”)._\n\nO interpretador de comandos é que executa comandos lidos do teclado ou de um\narquivo executável. É a principal ligação entre o usuário. Entre os programas\ninterpretadores de comandos pode-se destacar o bash, ash, csh, tesh, sh.\n\n\u003e _Este Guia de Comandos GNU/Linux é:_\n\u003e\n\u003e _útil para quem é iniciante e quer aprender; para quem é intermediário e\n\u003e procura se aprofundar; e para quem é avançado e deseja relembrar alguma\n\u003e coisa. – Computeiros da Depressão_\n\n* * *\n\n## Guia de Referência:  \nLista de Comandos para GNU/Linux\n\n### **Atalhos Globais**\n\n  * **Ctrl+C** ** _(_** _cancela o comando atual em funcionamento)_\n  * **Ctrl+Z** _(_ _para o comando atual, retorna com fg em primeiro_ _plano_ _Linux ou bg em segundo plano)_\n  * **Ctrl+D** _(_ _faz logout da sessão atual; similar ao comando exit)_\n  * **Ctrl+W** (apaga uma palavra na linha atual)\n  * **Ctrl+U** _(_ _apaga a linha inteira)_\n  * **Ctrl+R** _(_ _tecle para mostrar um comando recente)_\n  * **!!** _(_ _repete o último comando)_\n\n* * *\n\n### **Lista dos Comandos mais Comuns**\n\n  * **Exit** faz logout da sessão atual\n  * **ls** lista diretórios\n  * **ls -al** lista mostrando também arquivos ocultos\n  * **cd** _**dir**_ muda do diretório atual para o especificado (substituir a variável _dir_ pelo nome da pasta)\n  * **cd** muda para o diretório /home (arquivos pessoais)\n  * **pwd** mostra o caminho do diretório atual\n  * **mkdir** _**dir**_ * criar um diretório especificado (substituir a variável _dir_ pelo nome da pasta)\n  * **rm** _**arq**_ apaga o arquivo especificado (substituir a variável _arq_ pelo nome do arquivo que se quer excluir)\n  * **rm -r** _**dir**_ apaga o diretório especificado (substituir a variável _dir_ pelo nome da pasta)\n  * **rm -f** _**arq**_ apaga o arquivo especificado forçadamente (-f de force) (substituir a variável _arq_ pelo nome do arquivo que se quer excluir)\n  * **rm -rf** _**dir**_ apaga o diretório especificado forçadamente (substituir a variável _dir_ pelo nome da pasta). Utilize esse comando com extrema atenção!\n  * **cp -r** _**arq1 arq2**_ copia o “arquivo1” para o “arquivo2” (substituir a variável _arq*_ pelo nome do arquivo)\n  * **cp -r** _**dir1 dir2**_ copia o diretório1 para o diretório2; cria o diretório2 caso não exista (substituir a variável _dir_ pelo nome do diretório)\n  * **mv** _**arq1 arq2**_ dupla função: pode ser usado para renomear ou mover arquivo1 para arquivo2. Se arquivo2 for um diretório existente, move arquivo1 para dentro do diretório “arquivo2” (substituir a variável _arq_ pelo nome do arquivo)\n  * **ln -s** _**arq link**_ cria um link simbólico _link_ (atalho) para arquivo (substituir a variável _arq_ pelo nome do arquivo e _link_ pelo nome que terá o atalho)\n  * **touch** _**arq**_ cria ou atualiza o arquivo (substituir a variável _arq_ pelo nome do arquivo)\n  * **cat \u003e** _**arq**_ direciona a entrada padrão para um arquivo (substituir a variável _arq_ pelo nome do arquivo)\n  * **more** _**arq**_ mostra o conteúdo de um arquivo (substituir a variável _arq_ pelo nome do arquivo)\n  * **head** _**arq**_ mostra as primeiras 10 linhas de um arquivo (substituir a variável _arq_ pelo nome do arquivo)\n  * **tail** _**arq**_ mostra as últimas 10 linhas de um arquivo (substituir a variável _arq_ pelo nome do arquivo)\n  * **tail -f** _**arq**_ mostra o conteúdo de um arquivo enquanto ele é atualizado (aumenta de tamanho), iniciando com as últimas 10 linhas (substituir a variável _arq_ pelo nome do arquivo)\n  * **ps** mostra os processos de usuário ativos em tempo real￼\n  * **top** mostra todos os processos rodando em tempo real\n  * **kill** _**pid**_ mata um processo específico pelo número ID (substituir _pid_ pelo número do processo)\n  * **killall** _**proc**_ mata todos os processos com o nome especificado ( _proc_ , de processos (substituir _proc_ pelo nome do processo)\n  * **bg** lista trabalhos parados ou em segundo plano ou pode continua-los também\n  * **fg** traz o trabalho mais recente para o primeiro plano\n  * **fg** _**trab**_ traz o trabalho “ _trab_ ” para o primeiro plano (substituir _trab_ pelo nome do processo)\n  * **chmod** _**octal arq**_ muda as permissões do arquivo “ _arq_ ” para _octal_ , que pode ser especificada separadamente para “usuário”, “grupo” e “outros”. Os valores em octal são representados abaixo: \n    * 4 – leitura (r, de read)\n    * 2 – gravação (w, de write)\n    * 1 – execução (x, de execute) \n      * Explanação: Para definir permissões, somam-se os valores acima. Por exemplo, para atribuir ao dono do arquivo (“usuário) acesso total de leitura (r), gravação (w) e execução (x), basta somar o valor octal 4 + 2 + 1 = 7. Supondo que você queira limitar o acesso para membros do “grupo”, permitindo apenas a leitura e gravação, basta somar 4 + 2 = 6. Reunindo os dois exemplos citados, ficaria: chmod 760 (r para usuário, w para grupo e 0 para outros ou “rw-“)\n\n* * *\n\n### **Outros exemplos**\n\n  * **chmod** _**777:**_ leitura (r), gravação (w) e execução (x) para todos (“usuário”, “grupo” e “outros”)\n  * **chmod** _**755:**_ “rwx” para o “dono” (usuário), “rw” para o “grupo” e “outros”\n\n\u003e _Para mais informações, digite no terminal:_ **_man chmod_**\n\n  * **ssh** _**usuário@host:**_ conecta ao _host_ como _usuário_ (exemplo: ssh computeiro@meuservidor)\n  * **ssh -p porta** _**usuário@host**_ conecta ao host na porta especificada (substituir “ _porta_ ” pelo número da porta configurada)\n  * **ssh-copy-id** _**usuário@host**_ adiciona a sua chave para o _host_ e _usuário_ daquele host; serve para ativar logins sem senha com uso de chaves\n  * **grep** _**sequência arquivos**_ pesquisa pela _sequência_ nos arquivos (substituir a sequência e arquivos pelos valores correspondentes à pesquisa)\n  * **grep –r** _**sequência dir**_ pesquisa recursivamente pela _sequência_ no diretório _dir_\n  * _**comando**_ **| grep** _**sequência**_ pesquisa pela _sequência_ na saída do _comando_ (substituir _comando_ e _sequência_ de acordo com os valores a serem buscados)\n  * **locate** _**arq**_ encontra todas as instâncias de um arquivo (substituir a variável _arq_ pelo nome do arquivo)\n  * **date** mostra a data e hora atual\n  * **cal** mostra um calendário do mês atual\n  * **uptime** mostra o tempo de atividade do sistema\n  * **w** mostra quem está online\n  * **whoami** mostra como quem você está logado\n  * **finger** usuário mostra informações do usuário\n  * **uname -a** mostra informações do kernels\n  * **cat /porc/cpuinfo** mostra informações da CPU\n  * **cat /proc/meminfo** mostra informações da memória\n  * **man** _**comando**_ abre o manual do comando especificado (substituir a variável _comando_ pelo nome do comando que se quer conhecer)\n  * **df** mostra o uso do disco\n  * **du** mostra o uso do espaço em um diretório\n  * **free** mostra o uso da memória e swap\n  * **whereis** _**aplicação**_ mostra possíveis localizações do aplicativo (substituir _aplicação_ pelo nome do programa)\n  * **which** _**aplicação**_ mostra que _aplicação_ irá rodar por omissão (substituir _aplicação_ pelo nome do programa)\n  * **tar cf** _ **tar arqs**_ cria um pacote TAR (nomeado pacote.tar) com os arquivos especificados (substituir a variável _arqs_ pelo nome do arquivos)\n  * **tar xf** _**tar**_ extrai os arquivos de “ _pacote.tar_ ” (substituir a variável _pacote.tar_ pelo nome do arquivo)\n  * **tar czf** _**tar.gz arqs**_ cria um pacote TAR (nomeado _pacote.tar.gz_ ) com compressão GZip\n  * **tar xzf** _**tar.gz**_ extrai um pacote TAR (nomeado _pacote.tar.gz_ ) com compressão GZip\n  * **tar cjf** _**tar.bz2**_ cria um pacote TAR (nomeado _pacote.tar.bz2_ ) com compressão BZip2\n  * **tar xjf** _**tar.bz2**_ extrai um pacote TAR (nomeado _pacote.tar.gz_ ) com compressão BZip2\n  * **gzip** _**arq**_ compacta um arquivo e o renomeia para arq.gz (substituir a variável _arq_ pelo nome do arquivo)\n  * **gzip -d** _**gz**_ descompacta arq.gz para um arquivo (substituir a variável _arq.gz_ pelo nome do arquivo)\n  * **ping** _**host**_ envia um pacote ICMP (ping) para o _host_ e mostra o resultado (substituir a variável _host_ pelo domínio de um site ou o número IP)\n  * **whois** _**domínio**_ retorna informações sobre o domínio (substituir a variável _domínio_ pelo endereço de um site ou o número IP)\n  * **dig** _**domínio**_ retorna informações de DNS para o domínio (substituir a variável _host_ pelo domínio de um site ou o número IP)\n  * **dig -x** _**host**_ mostra o retorno reverso para um host (substituir a variável _host_ pelo domínio de um site ou o número IP)\n  * **wget** _**arq**_ faz o download de arquivo (arq) (substituir a variável _arq_ pelo endereço online do arquivo)\n  * **wget -c** _**arq**_ continua o download interrompido de um arquivo (arq) (substituir a variável _arq_ pelo endereço online do arquivo)\n\n**_Instalação a partir do código fonte (source code); os comandos devem ser\ndigitados na sequência em um terminal, um de cada vez:_**\n\n  * **./configure**\n  * **make**\n  * **make install**\n\n* * *\n\n### **Comandos de instaladores**\n\n  * **dpkg -i** _**deb**_ instala um pacote DEB (distros Debian) (substituir a variável _pacote.deb_ pelo nome do pacote de programa)\n  * **rpm -Uvh** _**rpm**_ instala um pacote RPM (Distros que utilizam RPM) (substituir a variável _pacote.rpm_ pelo nome do pacote de programa)\n\n* * *\n\n## **Guia de Referência Completo**:  \nComandos Avançados do Terminal GNU/Linux**\n\n### **Informações do sistema Linux**\n\n  * **arch:** Mostre a arquitetura da máquina (1).\n  * **uname -m:** Mostre a arquitetura da máquina (2).\n  * **uname -r:** Mostre versão do kernel usada.\n  * **dmidecode -q:** Mostre os componentes do sistema (hardware).\n  * **hdparm -i /dev/hda:** Mostre as características de um disco rígido.\n  * **hdparm -tT /dev/sda:** Execute teste de leitura em um disco rígido.\n  * **cat /proc/cpuinfo:** Exiba informações da CPU.\n  * **cat /proc/interrupts:** Mostre interrupções.\n  * **cat /proc/meminfo:** verificar a utilização de memória.\n  * **cat /proc/swaps:df -h:** Mostre o tamanho dos arquivos e diretórios ordenados por tamanho.\n  * **ls -lSr |more:** Estimar o espaço usado pelo diretório ‘dir1’.\n  * **du -sh dir1:** Mostre o tamanho dos arquivos e diretórios ordenados por tamanho.\n  * **du -sk * | sort -rn:** mostra o espaço usado por pacotes rpm instalados organizado pelo tamanho (Fedora, Red Hat e outros).\n  * **rpm -q -a –qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1n:** mostra o espaço usado por pacotes instalados, organizado pelo tamanho (Debian, Ubuntu e outros).\n  * **dpkg-query -W -f=’${Installed-Size;10}t${Package}n’ | sort -k1,1n:** g\u003e Mostre arquivos de swap.\n  * **cat /proc/version:** Exiba a versão do kernel.\n  * **cat /proc/net/dev:** Mostre estatísticas e adaptadores de rede.\n  * **cat /proc/mounts:** Mostre o sistema de arquivos montado.\n  * **lspci -tv:** exiba os dispositivos PCI.\n  * **lsusb -tv:** Mostre os dispositivos USB.\n  * **date:** Mostre a data do sistema.\n  * **cal 2011:** Visualizar o calendário em 2011.\n  * **cal 07 2011:** Mostre o calendário para o mês de julho de 2011.\n  * **date 041217002011.00:** Coloque (estado, ajustar) data e hora.\n  * **clock -w:** Salve as alterações para a data na BIOS.\n\n* * *\n\n### **Desligar (reinicialização do sistema ou logout)**\n\n  * **shutdown -h now:** Desligue o sistema (1).\n  * **init 0:** Desligue o sistema (2).\n  * **telinit 0:** Desligue o sistema (3).\n  * **halt:** Desligue o sistema (4).\n  * **shutdown -h hours:** minutos e\n  * **shutdown -c:** Cancele um desligamento do sistema planejado.\n  * **shutdown -r now:** Reinicie (1).\n  * **reboot** : Reinicie (2).\n  * **logout:** Feche a sessão.\n\n* * *\n\n### **Arquivos e diretórios**\n\n  * **cd /home:** Digite o diretório “em casa”.\n  * **cd ..:** Volte um nível.\n  * **cd ../..:** volta 2 níveis.\n  * **cd:** Vá para o diretório de raiz.\n  * **cd ~user1:** Vá para o diretório de user1.\n  * **cd -:** Volte para o diretório anterior.\n  * **pwd:** Mostre o caminho do diretório de trabalho.\n  * **ls:** consulte os arquivos em um diretório.\n  * **ls -F:** consulte os arquivos em um diretório.\n  * **ls -l:** mostre detalhes de arquivos e pastas em um diretório.\n  * **ls -a:** Mostre arquivos ocultos.\n  * **ls *[0-9]*:** Mostre arquivos e pastas que contêm números.\n  * **tree:** Mostre arquivos e pastas em uma árvore a partir da raiz. (1)\n  * **lstree:** Mostre arquivos e pastas em uma árvore a partir da raiz. (2)\n  * **mkdir dir1:** Crie uma pasta ou diretório com nome ‘dir1’.\n  * **mkdir dir1 dir2:** Crie duas pastas ou diretórios simultaneamente (criando dois diretórios ao mesmo tempo).\n  * **mkdir -p /tmp/dir1/dir2:** Crie uma árvore de diretório.\n  * **rm -f file1:** Exclua o arquivo chamado ‘arquivo1’.\n  * **rmdir dir1:** Exclua a pasta chamada ‘dir1’.\n  * **rm -rf dir1:** exclua uma pasta chamada ‘dir1’ com seu conteúdo recursivamente. _(Se excluí-lo recursivo que estou a dizer que é com o seu conteúdo)._\n  * **rm -rf dir1 dir2:** Exclua duas pastas (diretórios) com seu conteúdo recursivamente.\n  * **mv dir1 new_dir:** Renomear ou mover um arquivo ou pasta (diretório).\n  * **cp file1:** Copie um arquivo.\n  * **cp file1 file2:** Copie os dois arquivos ao mesmo tempo.\n  * **cp dir /* .:** Copie todos os arquivos de um diretório dentro do diretório de trabalho atual.\n  * **cp -a /tmp/dir1 .:** Copie um diretório dentro do diretório de trabalho atual.\n  * **cp -a dir1:** Copie um diretório.\n  * **cp -a dir1 dir2:** diretório de cópia dois em uníssono.\n  * **ln -s file1 lnk1:** Crie um link simbólico para o arquivo ou diretório.\n  * **ln file1 lnk1:** Crie um vínculo físico para o arquivo ou diretório.\n  * **touch -t 0712250000 file1:** modifica o tempo real (tempo de criação) de um arquivo ou diretório.\n  * **file file1:** saída (despejo na tela) do tipo mime de um arquivo de texto.\n  * **iconv -l:** listas de cifras conhecidas.\n  * **iconv -f fromEncoding -t toEncoding inputFile \u003e outputFile:** Crie uma nova forma de arquivo de entrada assumindo que está codificado em fromEncoding e convertê-lo para ToEncoding.\n  * **find . -maxdepth 1 -name *.jpg –** **print **-exec convert ”{}” -resize 80×60 “thumbs/{}” \\;:**** agrupando arquivos dimensionados no diretório atual e enviá-los aos diretórios em visualização de miniaturas (requer o converso do ImagemagicK).\n\n* * *\n\n### **Encontrar arquivos**\n\n  * **find / -name file1:** busca de arquivo e diretório da raiz do sistema.\n  * **find / -user user1:** Encontre arquivos e diretórios pertencentes ao usuário ‘user1’.\n  * **find /home/user1 -name \\\\*.bin:** Procure arquivos com extensão ‘. bin’ no diretório ‘/ home/user1’.\n  * **find /usr/bin -type f -atime +100:** Pesquisar arquivos binários não utilizados nos últimos 100 dias.\n  * **find /usr/bin -type f -mtime -10:** Pesquisar arquivos criados ou alterados nos últimos 10 dias.\n  * **find / -name \\\\*.rpm -exec chmod 755 ‘{}’ \\;:** Procure arquivos com extensão ‘. rpm’ e modificar permissões.\n  * **find / -xdev -name \\\\*.rpm:** Procure arquivos com extensão ‘. rpm’ ignorando a mídia removível, como CD-ROM, pen-drive, etc…\n  * **locate \\\\*.ps:** encontrar arquivos com a extensão ‘. ps primeiro executado com o comando “updatedb’.\n  * **whereis halt:** Mostre a localização de um arquivo binário, a ajuda ou a fonte. Neste caso ele pergunta onde está o comando ‘parada’.\n  * **which halt:** mostrar o caminho completo (o caminho completo) para um binário / executável.\n\n* * *\n\n### **Trabalhando com sistema de arquivos**\n\n  * **mount /dev/hda2 /mnt/hda2:** Monte um disco chamado hda2. Primeiro, verifique a existência do diretório ‘/ mnt/hda2’; Se você não estiver, você deve criá-lo.\n  * **umount /dev/hda2:** Remova um disco chamado hda2. Em primeiro lugar, do ponto de ‘ / mnt/hda2.\n  * **fuser -km /mnt/hda2:** Force a remoção quando o dispositivo está ocupado.\n  * **umount -n /mnt/hda2:** Execute a remoção sem ler o arquivo/etc/MTAB. Útil quando o arquivo é somente leitura ou o disco rígido está cheio.\n  * **mount /dev/fd0 /mnt/floppy:** Monte um disco flexível (disquete).\n  * **mount /dev/cdrom /mnt/cdrom:** montar um cdrom / dvdrom.\n  * **mount /dev/hdc /mnt/cdrecorder:** Monte um cd gravável ou um dvdrom.\n  * **mount /dev/hdb /mnt/cdrecorder:** montar um cd gravável / dvdrom (um dvd).\n  * **mount -o loop file.iso /mnt/cdrom:** Monte um arquivo ou uma imagem iso.\n  * **mount -t vfat /dev/hda5 /mnt/hda5:** Monte um sistema de aComandos rquivos FAT32.\n  * **mount /dev/sda1 /mnt/usbdisk:** Monte uma memória ou um pen-drive usb (sem especificar o tipo de sistema de arquivos).\n\n* * *\n\n### **Espaço em disco**\n\n  * **df -h:** Mostre o tamanho dos arquivos e diretórios ordenados por tamanho.\n  * **ls -lSr |more:** Estimar o espaço usado pelo diretório ‘dir1’.\n  * **du -sh dir1:** Mostre o tamanho dos arquivos e diretórios ordenados por tamanho.\n  * **du -sk * | sort -rn:** mostra o espaço usado por pacotes rpm instalados organizado pelo tamanho (Fedora, Red Hat e outros).\n  * **rpm -q -a –qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1n:** mostra o espaço usado por pacotes instalados, organizado pelo tamanho (Debian, Ubuntu e outros).\n  * **dpkg-query -W -f=’${Installed-Size;10}t${Package}n’ | sort -k1,1n:** Mostrar (no Debian ou derivados) uma lista com 25 pacotes instalados que consomem mais espaço (em ordem decrescente)\n\n* * *\n\n### **Usuários e grupos**\n\n  * **groupadd nombre_del_grupo:** Crie um novo grupo.\n  * **groupdel nombre_del_grupo:** Exclua um grupo.\n  * **groupmod -n nuevo_nombre_del_grupo viejo_nombre_del_grupo:** Renomear um grupo.\n  * **useradd -c “Name Surname ” -g** **admin** **-d /home/user1 -s /bin/bash user1:** Crie um novo usuário “admin” do grupo.\n  * **useradd user1:** Crie um novo usuário.\n  * **userdel -r user1:** excluir um usuário (‘-r’ elimina o diretório Home).\n  * **usermod -c “User FTP” -g system -d /ftp/user1 -s /bin/nologin user1:** Altere os atributos do usuário.\n  * **passwd:** Altere senha.\n  * **passwd user1:** Altere a senha do usuário (apenas pelo root).\n  * **chage -E 2011-12-31 user1:** Defina um limite de tempo para a senha do usuário. Neste caso, ele diz que a chave expira a 31 de dezembro de 2011.Informações do sistema Linux\n  * **pwck:** Verifique a sintaxe correta ‘/ etc/passwd’ arquivo formato e a existência de usuários.\n  * **grpck:** Verifique a sintaxe correta e formato do arquivo ‘/ etc/grupo’ e a existência de grupos.\n  * **newgrp group_name:** Registre um novo grupo para alterar o grupo padrão dos arquivos recém-criados.\n\n* * *\n\n### **Permissões de Arquivos (+ Adiciona e – Remover permissões)**\n\n  * **ls -lh:** Mostre permissões.\n  * **ls /tmp | pr -T5 -W$COLUMNS:** Divida o terminal em 5 colunas.\n  * **chmod ugo+rwx directory1:** definir permissões de leitura®, gravar (w) e executar (x) para o dono (u), grupo (g) e outros (ou) no diretório ‘arquivo1’.\n  * **chmod go-rwx directory1:** Remove® a permissão de leitura, gravação (w) e grupo de implementação (x) (g) e outros (ou) no diretório ‘arquivo1’.\n  * **chown user1 file1:** Altere o proprietário de um arquivo.\n  * **chown -R user1 directory1:** Altere o proprietário de um diretório e todos os arquivos e diretórios contidos dentro.\n  * **chgrp group1 file1:** Altere o grupo de arquivos.\n  * **chown user1:** Grupo1 arquivo1\n  * **find / -perm -u+s:** Ver todos os arquivos com sistema SUID configurado.\n  * **chmod u+s /bin/file1:** Defina o bit SUID em um arquivo binário. O usuário que está executando esse arquivo adquire os mesmos privilégios como proprietário.\n  * **chmod u-s /bin/file1:** Desabilite o bit SUID em um arquivo binário.\n  * **chmod g+s /home/public:** definir o SGID bit em um diretório – semelhante ao SUID, mas para o diretório.\n  * **chmod g-s /home/public:** Desative o bit SGID em um diretório.\n  * **chmod o+t /home/public:** conjunto STIKY bit em um diretório. Permite a exclusão de arquivos somente para os legítimos proprietários.\n  * **chmod o-t /home/public:** Desative STIKY bit em um diretório.\n\n* * *\n\n### **Atributos especiais de arquivo: (“+” Adiciona e “–” Remover permissões)**\n\n  * **chattr +a file1:** permite gravar apenas abrindo um arquivo acrescentar modo.\n  * **chattr +c file1:** permite que um arquivo a ser compactado / descompactado automaticamente.\n  * **chattr +d file1:** Ele garante que o programa ignore excluir os arquivos durante o backup.\n  * **chattr +i file1:** torna-se o arquivo inalterado, portanto não pode ser excluído, alterado, renomeado ou vinculado.\n  * **chattr +s file1:** Permite que um arquivo a ser excluído com segurança.\n  * **chattr +S file1:** Ele garante que um arquivo é modificado, as alterações são gravadas no modo síncrono, como com a sincronia.\n  * **chattr +u file1:** Ele permite que você recuperar o conteúdo de um arquivo, mesmo se está cancelado.\n  * **lsattr:** Mostre atributos especiais.\n\n* * *\n\n### **Arquivos e arquivos compactados**\n\n  * **bunzip2 file1.bz2:** Descompacte um arquivo chamado ‘file1.bz2’.\n  * **bzip2 file1:** comprime um arquivo chamado ‘file1’.\n  * **gunzip file1.gz:** Descompacte um arquivo chamado ‘file1.gz’.\n  * **gzip file1:** comprime um arquivo chamado ‘file1’.\n  * **gzip -9 file1:** Comprima com compressão máxima.\n  * **rar a file1.rar test_file:** Crie um arquivo com o rar chamado ‘file1.rar’.\n  * **rar a file1.rar file1 file2 dir1:** Comprima ‘arquivo1’, ‘arquivo2’ e ‘dir1’ simultaneamente.\n  * **rar x file1.rar:** Descompacte o arquivo rar.\n  * **unrar x file1.rar:** Descompacte o arquivo rar.\n  * **tar -cvf archive.tar file1:** Crie um tarball descompactado.\n  * **tar -cvf archive.tar file1 file2 dir1:** Crie um arquivo contendo ‘arquivo1’, ‘ file2′ e ‘dir1’.\n  * **tar -tf archive.tar:** exibir o conteúdo de um arquivo.\n  * **tar -xvf archive.tar:** extrair um arquivo tar.\n  * **tar -xvf archive.tar -C /tmp:** extrair um tarball em / tmp.\n  * **tar -cvfj archive.tar.bz2 dir1:** Crie um arquivo tar compactado no bzip2.\n  * **tar -xvfj archive.tar.bz2:** descompactar um arquivo compactado do bzip2 tar\n  * **tar -cvfz archive.tar.gz dir1:** Crie um arquivo tar compactado em gzip.\n  * **tar -xvfz archive.tar.gz:** Descompacte um arquivo tar do gzip compactado.\n  * **zip file1.zip file1:** Crie um arquivo compactado zip.\n  * **zip -r file1.zip file1 file2 dir1:** compressão, zip, vários arquivos e diretórios simultaneamente.\n  * **unzip file1.zip:** Descompacte um arquivo zip.\n\n* * *\n\n### **Pacotes RPM (Red Hat, Fedora e similares)**\n\n  * **rpm -ivh package.rpm:** Instale um pacote rpm.\n  * **rpm -ivh –nodeeps package.rpm:** Instale um pacote rpm ignorar solicitações de dependências.\n  * **rpm -U package.rpm:** atualize um pacote rpm sem alterar a configuração dos arquivos.\n  * **rpm -F package.rpm:** atualize um pacote rpm somente se ele estiver instalado.\n  * **rpm -e package_name.rpm:** Remova um pacote rpm.\n  * **rpm -qa:** Mostre todos os pacotes rpm instalados no sistema.\n  * **rpm -qa | grep httpd:** Mostre todos os rpm de pacotes com o nome “httpd”.\n  * **rpm -qi package_name:** informações sobre um pacote específico instalado.\n  * **rpm -qg “System Environment/Daemons”:** Mostar um grupo software pacotes rpm.\n  * **rpm -ql package_name:** Mostre lista de arquivos fornecidos por um pacote rpm instalados.\n  * **rpm -qc package_name:** Exiba a lista de arquivos, dada por uma configuração de pacote rpm instalados.\n  * **rpm -q package_name –whatrequires:** Mostre lista de dependências que são solicitados para um pacote rpm.\n  * **rpm -q package_name –whatprovides:** Mostar capacidade fornecida por um pacote rpm.\n  * **rpm -q package_name –scripts:** Mostre scripts começados durante a remoção da instalação.\n  * **rpm -q package_name –changelog:** Mostar o histórico das revisões de um pacote rpm.\n  * **rpm -qf /etc/httpd/conf/httpd.conf:** Verificar qual rpm pacote pertence um determinado arquivo.\n  * **rpm -qp package.rpm -l:** Mostre lista de arquivos fornecidos por um rpm do pacote que ainda não foi instalado.\n  * **rpm –import /media/cdrom/RPM-GPG-KEY:** importe a assinatura digital chave pública.\n  * **rpm –checksig package.rpm:** Verificar a integridade de um pacote rpm.\n  * **rpm -qa gpg-pubkey:** Verificar a integridade de todos os pacotes rpm instalados.\n  * **rpm -V package_name:** Verifique o tamanho do arquivo, licenças, tipos, proprietário, grupo, exame de saúde Resumo de MD5 e última modificado.\n  * **rpm -Va:** verificar todos os pacotes rpm instalados no sistema. Use com cuidado.\n  * **rpm -Vp package.rpm:** Verifique se que um pacote instalado ainda não rpm.\n  * **rpm2cpio package.rpm | cpio –extract –make-directories *bin*:** Extraia o arquivo executável de um pacote rpm.\n  * **rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm:** Instale um pacote construído a partir de um rpm fonte.\n  * **rpmbuild –rebuild package_name.src.rpm:** Construa um pacote rpm a partir de um rpm fonte.\n\n* * *\n\n### **Pacotes YUM Updater (Red Hat, Fedora e similares)**\n\n  * **yum install package_name:** Baixar e instalar um pacote rpm.\n  * **yum localinstall package_name.rpm:** Isto irá instalar um RPM e vai tentar resolver todas as dependências para você, usando seus repositórios.\n  * **yum update package_name.rpm:** Atualize todos os pacotes rpm instalados no sistema.\n  * **yum update package_name:** Upgrade / atualizar um pacote rpm.\n  * **yum remove package_name:** Remova um pacote rpm.\n  * **yum list:** Liste todos os pacotes instalados no sistema.\n  * **yum search package_name:** Encontre um pacote no repositório rpm.\n  * **yum clean packages:** Limpe um cache de rpm, apagando os pacotes baixados.\n  * **yum clean headers:** exclua todo o cabeçalho de arquivos que o sistema usa para resolver a dependência.\n  * **yum clean all:** Remova os arquivos de cache e o cabeçalho do pacote.\n\n* * *\n\n### **Pacotes deb (Debian, Ubuntu e derivados)**\n\n  * **dpkg -i package.deb:** instalar / atualizar um pacote deb.\n  * **dpkg -r package_name:** Remova uma deb para o pacote do sistema.\n  * **dpkg -l:** Mostre todos os pacotes deb instalados no sistema.\n  * **dpkg -l | grep httpd:** Mostre todos deb pacotes com o nome “httpd”\n  * **dpkg -s package_name:** informações sobre um pacote específico instalado no seu sistema.\n  * **dpkg -L package_name:** Mostar lista de arquivos fornecidos por um pacote instalado no sistema.\n  * **dpkg –contents package.deb:** Mostre lista de arquivos fornecidos por um pacote não instalado ainda.\n  * **dpkg -S /bin/ping:** Verificar qual pacote pertence um determinado arquivo.\n\n* * *\n\n### **Atualizador de pacotes APT (Debian, Ubuntu y derivados)**\n\n  * **apt-get install package_name:** instalar / atualizar um pacote deb.\n  * **apt-cdrom install package_name:** instalar / atualizar um pacote deb do cdrom.\n  * **apt-get update:** Atualize a lista de pacotes.\n  * **apt-get upgrade:** Atualize pacotes instalados todos.\n  * **apt-get remove package_name:** Remova a instalação de um pacote deb do sistema.\n  * **apt-get check:** Verifique se a resolução correta de dependências.\n  * **apt-get clean:** limpar o cache de pacotes baixados.\n  * **apt-cache search searched-package:** Retorna a lista de pacotes que corresponde à série ‘queria pacotes’.\n\n* * *\n\n### **Exibir o conteúdo de um arquivo**\n\n  * **cat file1:** Ver o conteúdo de um arquivo a partir da primeira linha.\n  * **tac file1:** Ver o conteúdo de um arquivo a partir da última linha.\n  * **more file1:** Veja o conteúdo ao longo de um arquivo.\n  * **less file1:** semelhantes para o comando ‘mais’ mas permite que você salve o arquivo, bem como o movimento para trás.\n  * **head -2 file1:** Veja as duas primeiras linhas de um arquivo.\n  * **tail -2 file1:** Ver as duas últimas linhas de um arquivo.\n  * **tail -f /var/log/messages:** Ver em tempo real o que foi adicionado ao arquivo.\n\n* * *\n\n### **Manipulação de texto**\n\n  * **cat file1 file2 .. | command \u003c\u003e file1_in.txt_or_file1_out.txt:** sintaxe geral para a manipulação de texto usando o tubo, STDIN e STDOUT.\n  * **cat file1 | command( sed, grep, awk, grep, etc…)** **\u003e result.txt:** sintaxe geral para manipular um texto de um arquivo e escrever os resultados para um novo arquivo.\n  * **cat file1 | command( sed, grep, awk, grep, etc…)** **» result.txt:** sintaxe geral para manipular um texto de um arquivo e adicionar o resultado em um arquivo existente.\n  * **grep Aug /var/log/messages:** Procure as palavras “Ago” no arquivo ‘/ var/log/messages’.\n  * **grep ^Aug /var/log/messages:** procurar palavras que começam com “Agosto” no arquivo ‘/ var/log/messages’\n  * **grep [0-9] /var/log/messages:** Selecione todas as linhas no arquivo ‘/ var/log/messages’ que contêm números.\n  * **grep Aug -R /var/log/*:** encontrar a seqüência de caracteres “Ago” no diretório ‘ / var/log ‘ e abaixo.\n  * **sed ‘s/stringa1/stringa2/g’ example.txt:** Realocando “string1” com “string2” em Sample. txt\n  * **sed ‘/^$/d’ example.txt:** remover todas as linhas em branco do sample. txt\n  * **sed ‘/ *#/d; /^$/d’ example.txt:** excluir comentários e linhas em branco de Sample. txt\n  * **echo ‘esempio’ | tr ‘[:** baixa\n  * **sed -e ‘1d’ result.txt:** elimina a primeira linha do arquivo Sample. txt\n  * **sed -n ‘/stringa1/p’:** exibir somente as linhas que contêm a palavra “string1”.\n\n* * *\n\n### **Estabelecer o formato de conversão de arquivos**\n\n  * **dos2unix filedos.txt fileunix.txt:** Converta um formato de arquivo de texto do MSDOS para UNIX.\n  * **unix2dos fileunix.txt filedos.txt:** Converta um formato de arquivo de texto do UNIX para MSDOS.\n  * **recode ..HTML \u003c page.txt \u003e page.html:** Converta um arquivo de texto para html.\n  * **recode -l | more:** Mostre todas as conversões de formato disponíveis.\n\n* * *\n\n### **Análise de sistema de arquivos**\n\n  * **badblocks -v /dev/hda1:** Verifica os blocos defeituosos no disco hda1.\n  * **fsck /dev/hda1:** reparar / verificar a integridade do arquivo do sistema Linux no disco hda1.\n  * **ext2 /dev/hda1:** reparação / verificar a integridade do sistema de arquivo ext2 no disco hda1.\n  * **e2fsck /dev/hda1:** reparação / verificar a integridade do sistema de arquivo ext2 no disco hda1.\n  * **e2fsck -j /dev/hda1:** reparação / verificar a integridade do sistema de arquivo ext3 no disco hda1.\n  * **ext3 /dev/hda1:** reparação / verificar a integridade do sistema de arquivo ext3 no disco hda1.\n  * **vfat /dev/hda1:** reparação / verificar integridade do arquivo sistema disco fat hda1.\n  * **msdos /dev/hda1:** reparar / verificar a integridade de um arquivo a partir do dos sistema disco hda1.\n  * **dosfsck /dev/hda1:** reparar / verificar a integridade de um arquivo a partir do dos sistema disco hda1.\n\n* * *\n\n### Formatar sistema de arquivos\n\n  * **mkfs /dev/hda1:** Verifica os blocos defeituosos no disco hda1.\n  * **mke2fs /dev/hda1:** reparar / verificar a integridade do arquivo do sistema Linux no disco hda1.\n  * **mke2fs -j /dev/hda1:** reparação / verificar a integridade do sistema de arquivo ext2 no disco hda1.\n  * **mkfs -t vfat 32 -F /dev/hda1:** reparação / verificar a integridade do sistema de arquivo ext2 no disco hda1.\n  * **fdformat -n /dev/fd0:** reparação / verificar a integridade do sistema de arquivo ext3 no disco hda1.\n  * **mkswap /dev/hda3:** reparação / verificar a integridade do sistema de arquivo ext3 no disco hda1.\n\n* * *\n\n### **Backups**\n\n  * **dump -0aj -f /tmp/home0.bak /home:** Fazer um completo salvar do directório ‘/Home’.\n  * **dump -1aj -f /tmp/home0.bak /home:** Fazer um Backup incremental do diretório ‘ /home’.\n  * **restore -if /tmp/home0.bak:** Restaurando um save interativamente.\n  * **rsync -rogpav –delete /home /tmp:** Sincronização entre diretórios.\n  * **rsync -rogpav -e ssh –delete /home ip_address:** rsync através do túnel SSH.\n  * **rsync -az -e ssh –delete ip_addr:** Sincronizar um diretório local com um diretório remoto via ssh e compressão.\n  * **rsync -az -e ssh –delete /home/local ip_addr:** sincronizar um diretório remoto em um diretório local através de ssh e compressão.\n  * **dd bs=1M if=/dev/hda | gzip | ssh** **user@ip_addr ‘dd of=hda.gz’:** fazer um salvamento em um disco rígido em um host remoto através de ssh.\n  * **dd if=/dev/sda of=/tmp/file1:** Salve o conteúdo de um disco rígido para um arquivo. (Neste caso o disco rígido é “sda” e o arquivo “file1”).\n  * **tar -Puf backup.tar /home/user:** Salvar os diretórios/etc e a raiz (excluindo o conteúdo do subdiretório/root/dir1 /) em um arquivo compactado, cujo nome inclui a data e hora atual.\n  * **( cd /tmp/local/ \u0026\u0026 tar c . ) | ssh -C** **user@ip_addr ‘cd /home/share/ \u0026\u0026 tar x -p’:** Copie o conteúdo de um diretório em um diretório remoto através de ssh.\n  * **( tar c /home ) | ssh -C** **user@ip_addr ‘cd /home/backup-home \u0026\u0026 tar x -p’:** copiar um diretório local em um diretório remoto através de ssh.\n  * **tar cf – . | (cd /tmp/backup ; tar xf – ):** cópia local preservando licenças e links de um diretório para outro.\n  * **find /home/user1 -name ‘*.txt’ | xargs cp -av –target-directory=/home/backup/ –parents:** encontrar e copiar todos os arquivos com extensão ‘. txt’ de um diretório para outro\n  * **find /var/log -name ‘*.log’ | tar cv –files-from=- | bzip2 \u003e log.tar.bz2:** encontrar todos os arquivos com extensão ‘. log’ e fazer um arquivo bzip.\n  * **dd if=/dev/hda of=/dev/fd0 bs=512 count=1:** Faça uma cópia do MRB (Master Boot Record) para um disquete.\n  * **dd if=/dev/fd0 of=/dev/hda bs=512 count=1:** Restaurar a cópia da (MBR Master Boot Record) gravada no disquete.\n\n* * *\n\n### **CD-ROM**\n\n  * **cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force:** limpar ou apagar um cd regravável.\n  * **mkisofs /dev/cdrom \u003e cd.iso:** Crie uma imagem iso do CD-ROM no disco.\n  * **mkisofs /dev/cdrom | gzip \u003e cd_iso.gz:** Crie uma imagem iso compactada do CD-ROM no disco.\n  * **mkisofs -J -allow-leading-dots -R -V “Label CD” -iso-level 4 -o ./cd.iso data_cd:** Crie uma imagem iso de um diretório.\n  * **cdrecord -v dev=/dev/cdrom cd.iso:** grave uma imagem iso.\n  * **gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom –:** grave uma imagem iso comprimida.\n  * **mount -o loop cd.iso /mnt/iso:** Monte uma imagem iso.\n  * **cd-paranoia -B:** Tire músicas de um cd para arquivos wav.\n  * **cd-paranoia – ”-3”:** Pegue as 3 primeiras músicas de um cd para arquivos wav.\n  * **cdrecord –scanbus:** varredura de ônibus para identificar o canal\n  * **dd if=/dev/hdc | md5sum:** Execute um md5sum em um dispositivo, como um CD.\n\n* * *\n\n### **Redes (LAN e Wi-Fi)**\n\n  * **ifconfig eth0:** Mostre a configuração de uma placa de rede Ethernet.\n  * **ifup eth0:** Ative uma interface ‘eth0’.\n  * **ifdown eth0:** Desabilite uma interface ‘eth0’.\n  * **ifconfig eth0 192.168.1.1 netmask 255.255.255.0:** Configure um endereço IP.\n  * **ifconfig eth0 promisc:** Configure ‘eth0’ modo comum para obter pacotes (sniffing).\n  * **dhclient eth0:** Ative a interface ‘eth0’ em modo dhcp.\n  * **route -n:** Mostre tabela de rota.\n  * **route add -net 0/0 gw IP_Gateway:** Configure a entrada padrão.\n  * **route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1:** Configure uma rota estática para encontrar a rede, ‘192.168.0.0/16’.\n  * **route del 0/0 gw IP_gateway:** Remova a rota estática.\n  * **echo “1” \u003e /proc/sys/net/ipv4/ip_forward:** Ative o ip de rota.\n  * **hostname:** Exiba o nome do host do sistema.\n  * **host** **example.com **:**** Encontre o nome do host para resolver o nome de um IP (1).\n  * **nslookup** **example.com **:**** Encontre o nome do host para resolver o nome de um ip e vice-versa (2).\n  * **ip link show:** Mostra o status de todas as interfaces.\n  * **mii-tool eth0:** Mostar o status de ‘eth0’ link.\n  * **ethtool eth0:** Exiba estatísticas da placa de rede ‘eth0’.\n  * **netstat -tup:** Mostre todas as conexões de rede ativa e seu PID.\n  * **netstat -tupl:** Mostre todos os ouvinte de rede de serviços sobre o sistema e seu PID.\n  * **tcpdump tcp port 80:** Mostre todo o tráfego HTTP.\n  * **iwlist scan:** Mostre as redes sem fio.\n  * **iwconfig eth1:** Mostre a configuração de uma placa de rede sem fio.\n  * **whois** **example.com **:**** Pesquisa Base de dados Whois .\n\n* * *\n\n### **Redes Microsoft Windows (SAMBA)**\n\n  * **nbtscan ip_addr:** resolução de nome de rede do BIOS.\n  * **nmblookup -A ip_addr:** resolução de nome de rede do BIOS.\n  * **smbclient -L ip_addr/hostname:** Visualizar compartilhamentos remotos de um host windows.\n\n* * *\n\n### **Firewall (iptables)**\n\n  * **iptables -t filter -L:** Mostre todas as correntes na tabela de filtro.\n  * **iptables -t nat -L:** Mostre todas as correntes da tabela nat.\n  * **iptables -t filter -F:** Limpe todas as regras da tabela de filtro.\n  * **iptables -t nat -F:** Limpe todas as regras da tabela nat.\n  * **iptables -t filter -X:** exclua qualquer cadeia criados pelo usuário.\n  * **iptables -t filter -A INPUT -p tcp –dport telnet -j ACCEPT:** permita conexões telnet de entrar.\n  * **iptables -t filter -A OUTPUT -p tcp –dport http -j DROP:** bloquear conexões HTTP de saída.\n  * **iptables -t filter -A FORWARD -p tcp –dport pop3 -j ACCEPT:** permitindo conexões POP para uma cadeia de frente.\n  * **iptables -t filter -A INPUT -j LOG –log-prefix “DROP INPUT”:** registrando uma sequência de entrada.\n  * **iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE:** Configure uma PAT (conversão de endereços de porta) na eth0, escondendo os pacotes de saída de coação.\n  * **iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp –dport 22 -j DNAT –to-destination 10.0.0.2**\n\n* * *\n\n### **Monitoramento e depuração**\n\n  * **top:** Exiba tarefas linux usando mais cpu.\n  * **ps -eafw:** Exibe as tarefas do Linux.\n  * **ps -e -o pid,args –forest:** Exibe as tarefas do Linux de forma hierárquica.\n  * **pstree:** Mostre uma árvore de processos do sistema.\n  * **kill -9 ID_Processo:** forçar o encerramento de um processo e terminá-lo.\n  * **kill -1 ID_Processo:** força um processo para recarregar a configuração.\n  * **lsof -p $$:** Exiba uma lista de arquivos abertos por processos.\n  * **lsof /home/user1:** Exibe uma lista de arquivos abertos em um determinado caminho do sistema.\n  * **strace -c ls \u003e/dev/null:** Mostre o sistema de chamadas feitas e recebidas por um processo.\n  * **strace -f -e open ls \u003e/dev/null:** Visualizar chamadas para a biblioteca.\n  * **watch -n1 ‘cat /proc/interrupts’:** Mostre interrupções em tempo real.\n  * **last reboot:** Reinicialização de história do programa.\n  * **lsmod:** Exiba o kernel carregado.\n  * **free -m:** Exibe o status da RAM em megabytes.\n  * **smartctl -A /dev/hda:** Monitore a confiabilidade de um disco rígido através do SMART.\n  * **smartctl -i /dev/hda:** Verifique se o SMART está habilitado em um disco rígido.\n  * **tail /var/log/dmesg:** Mostre os eventos inerentes no processo de carregar o kernel.\n  * **tail /var/log/messages:** Mostre eventos de sistema.\n\n* * *\n\n## **Dicas e Comandos úteis**\n\n  * **apropos …keyword:** exibir uma lista de comandos que pertencem às palavras-chave de um programa; Eles são úteis quando você sabe o que faz o seu programa, mas sconoces o nome do comando.\n  * **man ping:** exibir as páginas de manual on-line; por exemplo, um comando ping, use a opção ‘-k’ para encontrar qualquer comandos relacionados.\n  * **whatis …keyword:** Exibe a descrição do que o programa faz.\n  * **mkbootdisk –device /dev/fd0`uname -r`:** Crie um disquete boteable.\n  * **gpg -c file1:** codifica um arquivo com o guarda de segurança do GNU.\n  * **gpg file1.gpg:** decodificar um arquivo com o guarda de segurança do GNInformações do sistema LinuxU.\n  * **wget -r** **example.com **:**** Baixe um site inteiro.\n  * **wget -c** **example.com/file.iso **:**** Baixe um arquivo com a possibilidade de parar o download e retomar mais tarde.\n  * **echo ‘wget -c** **example.com/files.iso **‘ | at 09:**** 00\n  * **ldd /usr/bin/ssh:** Mostrar compartilhada bibliotecas exigirem pelo ssh programa.\n  * **alias hh=’history’:** Coloque um alias para um comando – hh = história.\n  * **chsh:** Mude o Shell de comando.\n  * **chsh –list-shells:** É um comando adequado para descobrir se você tem controle remoto em outro terminal.\n  * **clear:** Limpa a tela do terminal.\n  * **umcomando \u003e archivodesaida.txt 2\u003e\u00261: **executa um comando e redirecionar saída para um arquivo, combinando neste ambos STDOUT e STDERR.\n  * **umcomando | archivodesaida.txt 2 \u003e archivodeerros.txt:** Executar um comando, você redirecionar a saída (STDOUT) para um arquivo e os erros (STDERR) para outro.\n  * **umcomando | tee arquivodesaida.txt:** executa um comando, exibe a saída na tela e, simultaneamente, grava-lo em um arquivo.\n\n* * *\n\n### **_Fontes_**\n\n  * [_Viva o Linux (Link 1)_](https://www.vivaolinux.com.br/artigo/Fundamentos-do-sistema-Linux-comandos-do-Linux/)\n  * [_Viva o Linux (Link 2)_](https://www.vivaolinux.com.br/artigo/Comandos-basicos-do-Linux)\n  * [_Computeiro da Depressão_](http://computeirodadepressao.com/guia-com-mais-de-500-comandos-do-linux-explicados/)\n  * [_Akitech_](https://www.akitech.com.br/guia-com-mais-de-500-comandos-do-linux-explicados.html)\n  * [_Guia Foca_](http://www.guiafoca.org/?page_id=51)\n\n![Autor](https://www.uniaogeek.com.br/wp-content/uploads/2021/11/perfil-andre-01.png)\n\n[Andre H O Santos](https://www.uniaogeek.com.br/author/mrhenrike/)\n\nPentester, Especialista em Segurança de Redes e Testes de Invasão,\nProgramador, Consultor e Professor de T.I.. Geek Inveterado, Apaixonado por\nSegurança da Informação e Louco por GNU/Linux. Dedica grande parte do seu\ntempo para criar soluções que ajudem dezenas de milhares de pessoas com dicas\ne artigos em Tecnologia e Segurança da Informação. Possui algumas\nCertificações em Ethical Hacking, Cabling System, Security+, SIEM Netwitness,\nSIEM SNYPR Securonix e Proficiência em Soluções de Vulnerability Management da\nTenable.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamuelbarbosadev%2Flearning_shell_script","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamuelbarbosadev%2Flearning_shell_script","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamuelbarbosadev%2Flearning_shell_script/lists"}