/Linux

Study repository of GNU/Linux

Primary LanguageShellMIT LicenseMIT

Small study documentation of 👉 GNU/Linux 👈, studying for LPIC-1

License Languages Last Commit Followers

Linux - História

Licenças

  • GPL v2 - Kernel do Linux, por exemplo

  • GPL v3

  • BSD

  • Apache

  • MIT

  • Creative Commons

GNU e Software Livre - Richard Stalman - 1993

Software Livre - Liberdades

  • Executar como você desejar

  • Estudar

  • Redistribuir cópias

  • Modificar e distribuir cópias das versões modificadas

Filesystem Hierarchy Standard - Year started: 14 February 1994; 28 years ago

Comandos de Logout
logout
exit
Ctrl + D
Desligar o Linux

halt

echo o > /proc/sysrq-trigger

shutdown -h now

poweroff

init 0

Reiniciar o Linux

reboot

echo b > /proc/sysrq-trigger

shutdown -r now

poweroff --reboot

init 6

shuwdown -r 18:00

shutdown -r +30 "Machine will restart in 30 minutes"

shutdown -c "It will not be necessary restart the machine"

Debian Pacotes
apt install tree coreutils bsdutils bsdmainutils net-tools man-db

Em que ano a distribuição Debian foi criada? 1993

Qual o nome da distribuição Linux que garante a distribuição de sofwares apenas livres em seu repositório principal? Debian

Qual o comando utilizado para retornar para o diretório anterior? cd -

Onde estão os shells disponívels? cat /etc/shells

Qual é o diretório onde está o arquivo do kernel do Linux? /boot

Principais Variáveis de Ambiente

É importante conhecer a função de algumas variáveis de ambiente existentes no sistema, as principais são:

DISPLAY: Indica às aplicações gráficas onde as janelas deverão ser exibidas. Será estudado no Tópico 106. HISTFILE: Arquivo do histórico de comandos HISTFILESIZE: Quantidade de linhas/comandos armazenados no arquivo de histórico HOME: Indica o diretório do usuário atual LOGNAME e USER: Nome do usuário atual PATH: Diretórios em que o Linux irá procurar por arquivos executáveis PS1: Aparência do prompt do shell. PWD: Diretório atual OLDPWD: Diretório anterior

Repositório de Scripts Úteis para GNU/Linux

🧩 Comparação entre Números

PROGRAMAÇÃO SHELL SIGNIFICADO
== -eq (equal) Igual à
!= -ne (not equal) Diferente de
< -lt (less than) Menor que
> -gt (greater than) Maior que
<= -le (less or egual) Menor ou igual à
>= -ge (greater or equal) Maior ou igual à

🧩 Comparação entre Strings

PROGRAMAÇÃO SIGNIFICADO
= Igual à (isso mesmo apenas um sinal de igual)
!= Diferente de
-n String existe e não é vazia (apenas um operador)
-z String existe e é vazia (apenas um operador)

🧩 Verificando se o arquivo /etc/profile existe, sendo ambas as comparações abaixo equivalentes.

3.1. Possibilidade:

    ~$: test -f /etc/profile; echo $?

3.2. Possibilidade:

    ~$: [ -f /etc/profile ]; echo $?
EXEMPLO TR
    ~$: echo 'Hello World,    Testing Trrrrr ! ! !      ! ! !' | tr -s "[:blank:]" | tr "[!]" "[%]"
EXIBE O TEMPO DA EXCUÇÃO DA INSTRUÇÃO
    ~$: time (ls)
mostra os arquivos e grava em temp.txt
    ~$: ls | tee temp.txt
    ~$: cat Fruits.TXT | tr -s "[:blank:]" | uniq --unique --ignore-case | tee FruitsUniq.TXT
EXECUTA O COMANDO APÓS XARGS PARA CADA ELEMENTO DA LISTA
    ~$: cat Person.TXT | xargs echo
REDIRECIONA O QUE O SEGUE COMO SE FOSSE O CONTEÚDO DE UM ARQUIVO TEXTO
    ~$: tr [a-z] [A-Z] <<< test.txt
    ~$: sudo find /var/ -name "*config*" -type d | xargs ls -ld | tee diretorios-config.out
SUPRIMIR LINHAS EM BRANCO OU QUE CONTENHAM APENAS ESPAÇOS
    ~$: ls -l | awk '{print $5}' | sed '/^\s*$/d'

🔏 PRINTING (USA "+" PARA COLOCAR PERMISOS Y "-" PARA ELIMINAR)

👑 START THE PRINT DAEMON

LINUX@ADMIN:~$ /ETC/RC.D/INIT.D/LPD START

👑 STOP THE PRINT DAEMON

LINUX@ADMIN:~$ /ETC/RC.D/INIT.D/LPD STOP

👑 DISPLAY STATUS OF THE PRINT DAEMON

LINUX@ADMIN:~$ /ETC/RC.D/INIT.D/LPD STATUS

👑 DISPLAY JOBS IN PRINT QUEUE

LINUX@ADMIN:~$ LPQ

👑 REMOVE JOBS FROM QUEUE

LINUX@ADMIN:~$ LPRM

👑 PRINT A FILE

LINUX@ADMIN:~$ LPR

👑 PRINTER CONTROL TOOL

LINUX@ADMIN:~$ LPC

👑 PRINT THE MANUAL PAGE CALLED SUBJECT AS PLAIN TEXT

LINUX@ADMIN:~$ MAN SUBJECT | LPR

👑 PRINT THE MANUAL PAGE CALLED SUBJECT AS POSTSCRIPT OUTPUT

LINUX@ADMIN:~$ MAN -T SUBJECT | LPR

👑 START X PRINTER SETUP INTERFACE

LINUX@ADMIN:~$ PRINTTOO
🔏 NETWORK
# LIST IP ADDRESSES FOR ALL DEVICES ON THE LOCAL MACHINE                                                                       --> LINUX@ADMIN:~$ IFCONFIG
# USED TO SET THE PARAMETERS OF THE NETWORK INTERFACE WICH ARE SPECIFIC TO THE WIRELESS OPERATION (FOR EXMAPLE: THE FREQUENCY) --> LINUX@ADMIN:~$ IWCONFIG
# USED TO DISPLAY SOME ADDITIONAL INFORMATION FROM A WIRELESS NETWORK INTERFACE THAT IS NOT DISPLAYED BY IWCONFIG              --> LINUX@ADMIN:~$ IWLIST
# PING HOST AND OUTPUT RESULTS                                                                                                 --> LINUX@ADMIN:~$ PING HOST
# GET WHOIS INFORMATION FOR DOMAIN                                                                                         --> LINUX@ADMIN:~$ WHOIS DOMAIN
# GET DNS INFORMATION FOR DOMAIN                                                                                           --> LINUX@ADMIN:~$ DIG DOMAIN
# REVERSE LOOKUP HOST                                                                                                      --> LINUX@ADMIN:~$ DIG -X HOST
# DOWNLOAD FILE                                                                                                            --> LINUX@ADMIN:~$ WGET FILE
# CONTINUE A STOPPED DOWNLOAD                                                                                              --> LINUX@ADMIN:~$ WGET -C FILE
🔏 SSH
# CONNECT TO HOST AS USER                                                                                        --> LINUX@ADMIN:~$ SSH USER@HOST
# CONNECT TO HOST ON PORT PORT AS USER                                                                           --> LINUX@ADMIN:~$ SSH -P PORT USER@HOST
# ADD YOUR KEY TO HOST FOR USER TO ENABLE A KEYED OR PASSWORDLESS LOGIN                                          --> LINUX@ADMIN:~$ SSH-COPY-ID USER@HOST
🔏 USER ADMINISTRATION
# CREATE A NEW USER CALL ACCOUNTNAME                                                           --> LINUX@ADMIN:~$ ADDUSER ACCOUNTNAME
# GIVE ACCOUNTNAME A NEW PASSWORD                                                              --> LINUX@ADMIN:~$ PASSWD ACCOUNTNAME
# LOG IN AS SUPERUSER FROM CURRENT LOGIN                                                       --> LINUX@ADMIN:~$ SU
# STOP BEING SUPERUSER AND REVERT TO NORMAL USER                                               --> LINUX@ADMIN:~$ EXIT

🔏 PROCESS MANAGEMENT (RED HAT, FEDORA Y SIMILARES)

# DISPLAY YOUR CURRENTLY ACTIVE PROCESSES                                                            --> LINUX@ADMIN:~$ PS
# DISPLAY ALL RUNNING PROCESSES                                                                      --> LINUX@ADMIN:~$ TOP
# KILL PROCESS ID PID                                                                                --> LINUX@ADMIN:~$ KILL PID
# KILL ALL PROCESSES NAMED PROC (USE WITH EXTREME CAUTION)                                           --> LINUX@ADMIN:~$ KILLALL PROC
# LISTS STOPPED OR BACKGROUND JOBS; RESUME A STOPPED JOB IN THE BACKGROUND                           --> LINUX@ADMIN:~$ BG
# BRINGS THE MOST RECENT JOB TO BACKGROUND                                                           --> LINUX@ADMIN:~$ FG
# BRINGS JOB N TO THE FOREGROUND                                                                     --> LINUX@ADMIN:~$ FG N

🔏 STOPPING AND STARTING (DEBIAN, UBUNTU Y DERIVADOS)

# SHUTDOWN THE SYSTEM NOW AND DO NOT REBOOT                                                    --> LINUX@ADMIN:~$ SHUTDOWN -H NOW
# STOP ALL PROCESSES - SAME AS ABOVE                                                           --> LINUX@ADMIN:~$ HALT
# SHUTDOWN THE SYSTEM IN 5 MINUTES AND REBOOT                                                  --> LINUX@ADMIN:~$ SHUTDOWN -R 5
# SHUTDOWN THE SYSTEM NOW AND REBOOT                                                           --> LINUX@ADMIN:~$ SHUTDOWN -R NOW
# STOP ALL PROCESS AND THEN REBOOT - SAME AS ABOVE                                             --> LINUX@ADMIN:~$ REBOOT
# START THE X SYSTEM                                                                           --> LINUX@ADMIN:~$ STARTX

🔏 COMANDOS SEQUENCIAIS

# COMANDOS SEPARADOS POR PONTO E VIRGULA SÃO EXECUTADOS SEQUENCIALMENTE, INDEPENDENTEMENTE SE FOREM CORRETAMENTE EXECUTADOS
# COMANDOS SEPARADOS POR && SÃO EXECUTADOS SOMENTE SE O COMANDO ANTERIOR FOR EXECUTADO CORRETAMENTE
# COMANDOS SEPERADOS POR || SÃO EXECUTADOS SOMENTE SE O COMANDO ANTERIOR NÃO FOR EXECUTADO CORRETAMENTE

🔏 QUOTING

# ASPAS DUPLAS PROTEGEM TODOS OS CARACTERES, EXCETO: CIFRÃO, CRASE E BARRA SIMPLES
# ASPAS SIMPLES PROTEGEM TODOS OS CARCTERES

🔏 CONFIGURAÇÃO TECLAS ?\ TECLADO LENOVO

COFIGURAÇÃO TECLADO LENOVO

LINUX@ADMIN:~$ setxkbmap -model abnt2 -layout br -variant abnt2 && xmodmap -e "keycode 105 = KP_Divide question"

🔏 INSTALAÇÃO

LISTAR TODOS OS SOFTWARES INSTALADOS ON UBUNTU --> LINUX@ADMIN:~$ grep " install " /var/log/dpkg.log

🔏 HISTORY

> EXIBIR O HISTÓRICO DE COMANDOS DIGITADOS --> LINUX@ADMIN:~$ HISTORY

> EXECUTAR O ÚLTIMO SCRIPT SALVO EM BASH.HISTORY --> LINUX@ADMIN:~$ !!

> EXECUTAR UM COMANDO PELO NÚMERO DELE SALVO EM BASH.HISTORY --> LINUX@ADMIN:~$ !<NUMERO>

> LIMPAR O HISTÓRICO DE COMANDOS DIGITADOS --> LINUX@ADMIN:~$ HISTORY -C

> PESQUISAR PELOS COMANDOS SALVOS EM BASH.HISTORY --> LINUX@ADMIN:~$ CTRL + R