Small study documentation of 👉 GNU/Linux 👈, studying for LPIC-1
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
logout
exit
Ctrl + D
halt
echo o > /proc/sysrq-trigger
shutdown -h now
poweroff
init 0
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"
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
É 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
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 à |
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 $?
~$: echo 'Hello World, Testing Trrrrr ! ! ! ! ! !' | tr -s "[:blank:]" | tr "[!]" "[%]"
~$: time (ls)
~$: ls | tee temp.txt
~$: cat Fruits.TXT | tr -s "[:blank:]" | uniq --unique --ignore-case | tee FruitsUniq.TXT
~$: cat Person.TXT | xargs echo
~$: tr [a-z] [A-Z] <<< test.txt
~$: sudo find /var/ -name "*config*" -type d | xargs ls -ld | tee diretorios-config.out
~$: ls -l | awk '{print $5}' | sed '/^\s*$/d'
LINUX@ADMIN:~$ /ETC/RC.D/INIT.D/LPD START
LINUX@ADMIN:~$ /ETC/RC.D/INIT.D/LPD STOP
LINUX@ADMIN:~$ /ETC/RC.D/INIT.D/LPD STATUS
LINUX@ADMIN:~$ LPQ
LINUX@ADMIN:~$ LPRM
LINUX@ADMIN:~$ LPR
LINUX@ADMIN:~$ LPC
LINUX@ADMIN:~$ MAN SUBJECT | LPR
LINUX@ADMIN:~$ MAN -T SUBJECT | LPR
LINUX@ADMIN:~$ PRINTTOO
# 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
# 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
# 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
# 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
# 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 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
# ASPAS DUPLAS PROTEGEM TODOS OS CARACTERES, EXCETO: CIFRÃO, CRASE E BARRA SIMPLES
# ASPAS SIMPLES PROTEGEM TODOS OS CARCTERES
LINUX@ADMIN:~$ setxkbmap -model abnt2 -layout br -variant abnt2 && xmodmap -e "keycode 105 = KP_Divide question"
LISTAR TODOS OS SOFTWARES INSTALADOS ON UBUNTU --> LINUX@ADMIN:~$ grep " install " /var/log/dpkg.log
> 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