Table of Contents
Comandos Linux
Desativar beep do pc linux
#desativar $ xset b off #ativar $ xset b on
Alterar kernel linux para linux-lts
- install
pacman -S linux-lts
- (optional) check if kernel, ramdisk and fallback are available in
ls -lsha /boot
- (optional) remove the standard kernel
pacman -R linux
(se nao remover, use a lista do grub durante o boot) - update the grub config
grub-mkconfig -o /boot/grub/grub. cfg
reboot
xfce4-popup-whiskermenu e apps no menu
Configurar tecla iniciar/super com atalho para whisker menu:
- Acessar: settings→keyboard→applications shortcuts
- adicionar novo atalho como comando:
xfce4-popup-whiskermenu
Adicionar entradas/atalhos ao menu whisker/iniciar:
Para adicionar entradas ao menu, copie um dos atalhos existentes no diretório /usr/share/applications/
ou /home/user/.local/share/applications/
e faça as alterações conforme o novo app. Feito isso, a entrada aparecerá no menu em Others
ou conforme a categoria editada no arquivo *.desktop
.
Youtube download
Virtualbox
Ativar Nested VT-x/AMD-v via linha de comando:
VBoxManage list vms VBoxManage modifyvm VM_Name --nested-hw-virt on VBoxManage modifyvm "VM Name" --nested-hw-virt on
Efetue login na VM e execute o seguinte comando para verificar se o recurso aninhado está ativado ou não:
grep -E --color -i "svm|vmx" /proc/cpuinfo
Adicionar uma host-only com outro endereçamento de rede:
No Linux, macOS e Solaris, o Oracle VM VirtualBox permitirá apenas que endereços IP no intervalo 192.168.56.0/21 sejam atribuídos a adaptadores host-only. Para IPv6, apenas endereços locais de link são permitidos. Se outros intervalos forem desejados, eles podem ser habilitados criando /etc/vbox/networks.conf
e especificando os intervalos permitidos lá. Por exemplo, para permitir os intervalos IPv4 10.0.0.0/8 e 192.168.0.0/16, bem como o intervalo 2001::/64, coloque as seguintes linhas em /etc/vbox/networks.conf
:
* 10.0.0.0/8 192.168.0.0/16 * 2001::/64
Fonte: https://www.virtualbox.org/manual/ch06.html#network-manager-host-only-tab
Ativação do acesso USB para o usuário Linux
Instalar o VirtualBox Extension Pack
Executar o comando:
sudo usermod -aG vboxusers NOMBRE_DE_USUARIO
Configurar USB no virtualbox.
Fonte: https://ubunlog.com/pt/usb-habilitarlo-en-virtualbox/
Ultimate Plumber expressões regulares
Ultimate Plumber, uma ferramenta que permite escrever pipes de forma interativa em um terminal Unix.
# wget -qO /usr/local/bin/up https://github.com/akavel/up/releases/download/v0.4/up && \ chmod +x /usr/local/bin/up # dmesg |& up | grep bash | grep -P "bash"
APT repositórios
Pesquisar pela versão do pacote:
sudo apt install nome_do_pacote=versao_do_pacote
Como você sabe quais versões estão disponíveis para um determinado pacote? Use este comando:
apt list --all-versions package_name
Fonte:
pacman/pikaur
#consulta query pacman -Q | grep pulseaudio #mostrar info do pacote pikaur -Si displaylink #remover trava db.lck rm /var/lib/pacman/db.lck #Atualizar as chaves conhecidas, executando: pacman-key --refresh-keys #Atualizar manualmente o pacote archlinux-keyring primeiro, i.e. pacman -Sy archlinux-keyring && pacman -Su #Limpando cache de pacotes com o pacman paccache -r #instalar a apartir do pacote local pacman -U nomearquivo*.tar.gz
Fonte:
Java
pikaur -S jre11-openjdk
https://archlinux.org/packages/extra/x86_64/jre11-openjdk/
Pra baixar a última versão do OpenJDK utilizado nos programas da RFB como ITR e IRPF, faça:
pikaur -Sy jdk-openjdk
Após a instalação, é possível que várias versões do Java estejam instaladas no sistema. Para outra versão como padrão, você pode usar o seguinte comando:
archlinux-java status sudo archlinux-java set java-XY-openjdk java -version
Verificar se o Java está Configurado Corretamente
archlinux-java status
Isso deve mostrar algo como:
Available Java environments: java-8-openjdk java-11-openjdk java-17-openjdk (default)
Embora tenha colocado todas essas informações, o programa da RFB ITR2024 executou melhor a partir da instalação do ITR2024Linux-x86_64v1.0.sh.bin
disponível no site da RFB (opção de download Linux). Após download executar o binário que faz a instalação do programa do ITR com uma versão do JRE embutida (Java: 11.0.15). Não é necessário a instalação do Java no sistema usando esta opção!
Montar CD/DVD ISO
$ sudo mount -o loop /path/to/disk1.iso /mnt/disk
Plugin Remote Desktop RDP Remmina
pikaur -Sy freerdp
Se houver erro de tls em conexão com wins, mude o nivel de segurança de default para “0-compatible win 7”.
Config NTP timedatectl
Usar referência: https://sistemas.petrolina.ifsertao-pe.edu.br/docs/doku.php/public:tutorials:ntp
Configurando timezone:
$ sudo dpkg-reconfigure tzdata
sudo timedatectl set-timezone America/Recife sudo timedatectl set-ntp true timedatectl status
System information - inxi
Informações do sistema.
pikaur -Sy inxi inxi #info detalhada inxi -F
HTTP Server Simples
python2.7 -m SimpleHTTPServer
ou
python3 -m http.server 8888
Headset Bluetooth Arch
$ pikaur -S pulseaudio-alsa pulseaudio-bluetooth bluez-utils $ sudo systemctl status bluetooth.service $ sudo systemctl enable bluetooth.service $ sudo systemctl start bluetooth.service $ sudo systemctl status bluetooth.service #GUI para gerenciamento $ pikaur -Sy blueman
Caso não reconheça, use a cli:
$ bluetoothctl [bluetooth]# power on [bluetooth]# agent on [bluetooth]# default-agent [bluetooth]# scan on [NEW] Device 00:1D:43:6D:03:26 Lasmex LBT10 [bluetooth]# pair 00:1D:43:6D:03:26 [bluetooth]# connect 00:1D:43:6D:03:26 [bluetooth]# trust 00:1D:43:6D:03:26 [bluetooth]# scan off [bluetooth]# exit
Para fazer com que seu fone de ouvido se conecte automaticamente, você precisa ativar o módulo switch-on-connect
do PulseAudio. Faça isso adicionando as seguintes linhas ao /etc/pulse/default.pa
:
$ sudo vim /etc/pulse/default.pa --- ### Automatically switch to newly-connected devices load-module module-switch-on-connect
Se necessário, reinicie o computador.
Pacotes usados no Manjaro: pikaur -Sy \ pulseaudio pulseaudio-alsa \ pulseaudio-bluetooth pulseaudio-ctl \ pulseaudio-equalizer pulseaudio-jack \ pulseaudio-lirc pulseaudio-rtp \ pulseaudio-zeroconf xfce4-pulseaudio-plugin
Fonte: https://wiki.archlinux.org/title/bluetooth_headset
Para um equalizador gráfico:
pikaur -Sy pulseaudio-equalizer-ladspa
Adicionando o Pulse Audio Equalizer ao startup do sistema
Edite o arquivo:
$ sudo vi /etc/pulse/system.pa --- #add as linhas ao final load-module module-equalizer-sink load-module module-dbus-protocol ---
Repo: https://github.com/pulseaudio-equalizer-ladspa/equalizer
Em caso que o pulse não inicie e fique sem áudio com mensagem No PulseAudio daemon running, or not running as session daemon.
, testar os comandos:
systemctl --user start pulseaudio systemctl --user status pulseaudio
Para o erro:
pulseaudio[1865]: module-rescue-stream is obsolete and should no longer be loaded. Please remove it from your configuration.
Desabilite o módulo editando o arquiv abaixo e comentando a linha:
/home/USER/.config/pulse/default.pa
Install pikaur by git
sudo pacman -Sy --needed base-devel git && \ cd /tmp/ && \ git clone https://aur.archlinux.org/pikaur.git && \ cd pikaur && \ makepkg -fsri && \ pikaur -Syu
Criando SWAPFILE
First create and intialize the file to hold the swap. For example, to create a 4GB swapfile, you could use the command:
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096 status=progress
Set the appropriate permissions on the file. It should be readable and writable only by root. This can be done with the command:
sudo chmod 600 /swapfile
Next we need to format and enable the swapfile:
sudo mkswap /swapfile sudo swapon /swapfile
In order to ensure that the swap is enabled at boot we can add an entry to /etc/fstab. You can add the line to fstab manually or using the command:
sudo bash -c "echo /swapfile none swap defaults 0 0 >> /etc/fstab"
Fonte: https://wiki.manjaro.org/index.php/Swap#Using_a_Swapfile
msg via sessão
Enviar mensagem via sessão remota/tty
echo "my command" > /dev/tty1 echo "my command" > /dev/pts/0
Nmap
$ sudo nmap -sV --allports -T4 192.168.254.0/24
comando du - disk usage
sudo du -sh /home/cleiton | sort -h sudo du -h /home/ | sort -h
https://diolinux.com.br/2019/01/comando-du-no-linux-espaco-disco.html
MySQL
$ mysql -u root -p -e "SHOW DATABASES;"
verificar dependências de programas:
ldd /path/to/binario
listar variaveis ambiente
printenv
printenv | grep HOME
localizar path de binário
whereis ping
serial
sudo minicom -s
Converter disco qcow2
Converter disco qcow2 para vmdk, necessário instalar o qemu
qemu-img convert -f qcow2 -O vmdk vdisk.qcow2 vdisk.vmdk
mysqdump
$ mysqldump -u root -p glpi > bkp-2019.07.17-glpi.sql
SELinux
selinux: verificando status e configurando O SELinux é hoje em dia um grande aliado na segurança do seu servidor. Com ele é possível criar políticas para administrar de forma detalhada o comportamento dos programas. Por exemplo, é possível limitar desde as ações de escrita/leitura/execução dos arquivos no disco, até a abertura de portas para escutar um determinado serviço. Muita gente normalmente desabilita o SELinux após a instalação do Redhat/Fedora/CentOS, porém eu não recomendo desabilitar em servidores. Quando algum programa falha, basta verificar onde o selinux travou o programa e criar a regra específica para aquele caso. Para determinar o modo de operação do seu selinux, basta digitar:
$ getenforce
E o resultado desse comando deve ser algo do tipo: Enforcing, Permissive e Disabled.
Para mudar o estado do selinux, digamos, de Enforcing para Permissive, basta utilizar o comando:
$ setenforce 0
Com esse comando, o selinux vai para o modo 'Permissive', onde ele vai permitir o que ele normalmente negaria. É um bom modo para estudo e aprendizado. Para voltar o SELinux ao modo de proteção:
$ setenforce 1
E ele vai para o modo 'Enforcing'.
Lembrando que o arquivo de configuração do selinux fica em:
/etc/selinux/config
Veja a variável SELINUX, que pode receber os valores descritos acima (Enforcing, Permissive, Disabled).
Localizar e substituir no vi
Substitui a palavra “Linux” por “GNU Linux” em todo o documento:
:%s/Linux/GNU Linux/g
usermod
Adicionar user ao grupo: $ sudo usermod -G www-data,users,ftp cleiton Domain users: $ sudo usermod -G www-data,users,ftp userdomain Bloquear usuário: $ usermod -L usuário Desbloquear usuário: $ usermod -U usuário
passwd
Expirar senha e forçar troca no próximo logon $ sudo passwd -e username Verificar senha expirada: $ sudo chage -l username Outra forma de expirar a senha de um usuário $ sudo chage -d 0 username
criar diretorio recursivo
$ sudo mkdir -p adm/public_html
Mostrar versão do Debian e kernel
$ cat /etc/debian_version $ cat /etc/os-release $ cat /etc/*release $ uname -a $ neofetch
watch
Repetindo comandos a cada intervalo de tempo no Linux:
Sua sintaxe básica é:
watch -n
Ex.: comando df -h
watch -n 1 df -h
Um exemplo de como executar o comando ifconfig a cada segundo é:
watch -n 1 /sbin/ifconfig
Limpar comentários
Limpar comentários em arquivo de configuração:
egrep -v “^ $|^ $” squid.conf.original > squid.conf
Force sort by size option
You need to pass the -S or –sort=size option as follows:
$ ls -S $ ls -S -l $ ls --sort=size -l $ ls --sort=size *.avi $ ls -S -l *.avi
Comando DD e PV
Criar arquivos grandes no file system com dd
dd if=/dev/zero of=/big-file-test.img bs=1G count=10
Copiar um CD/DVD para ISO:
dd if=/dev/sr0 of=./clonezilla.iso
Pipe Viewer com dd: criando barra de progresso
A ferramenta pv (pipe viewer) é a mais interessante de todas as soluções. Simples e funcional, ela basicamente copia a sua entrada padrão (stdin) para a sua saída padrão (stdout), monitorando o progresso da cópia e exibindo estatísticas na saída padrão de erros (stderr).
No Ubuntu, você pode instalar a ferramenta pv com o comando abaixo:
$ sudo apt-get install pv
Sempre sentiu falta de informações de progresso no comando cp? Com o pv é possível copiar um arquivo e exibir o progresso da cópia! Exemplo:
$ pv /media/videos/movie.mkv > ~/Movies/movie.mkv 952MB 0:00:26 [33,9MB/s] [===> ] 8% ETA 0:04:39
O comando acima copia o arquivo /media/videos/movie.mkv para o destino ~/Movies/movie.mkv, exibindo o progresso da cópia durante a execução do comando.
A mesma técnica pode ser usada no comando dd, para copiar uma imagem para o cartão SD e monitorar o progresso:
$ pv linux.img | sudo dd of=/dev/sdd bs=1M 1,27GB 0:00:53 [24,3MB/s] [====================================>] 100%
Referências:
Comandos SCP
Copiando um arquivo remoto para máquina local: $ scp -P4140 user@domain:/pasta-remota/arquivo-remoto.txt /pasta-local/arquivo-local.txt Enviando um arquivo local para um servidor remoto: $ scp /pasta-local/arquivo-local.txt user@domain:/pasta-remota/arquivo-remoto.txt Copiando pastas e subpastas do servidor remoto para máquina local: $ scp -r user@domain:/pasta-remota/ /pasta-local/ Enviando pastas e subpastas da máquina local para o servidor remoto: $ scp -r /pasta-local/ user@domain:/pasta-remota/ É isso ae pessoal! Até a próxima com mais dicas de terminal.
Comandos SFTP
Abrindo sessão sftp: sftp user@your_server_ip_or_remote_hostname Abrindo sessão sftp em outra porta: sftp -oPort=custom_port user@your_server_ip_or_remote_hostname Visualizar localização atual remoto: sftp> pwd Visualizar localização atual local: sftp> lpwd Listar conteúdo remoto: sftp> ls Listar conteúdo local: sftp> lls Movimentar nos diretórios remoto: sftp> cd Movimentar nos diretórios local: sftp> lcd
Transferindo arquivos remotos para o sistema local
Transferindo arquivo remoto para local: sftp> get remoteFile Transferindo arquivo remoto para local renomeando: sftp> get remoteFile localFile Transferindo diretório remoto para local recursivamente: sftp> get -r someDirectory Transferindo diretório remoto para local recursivamente sem alterar permissões: sftp> get -Pr someDirectory
Transferindo arquivos locais para o sistema remoto
Transferindo arquivo local para remoto: sftp> put localFile Transferindo diretório local para remoto recursivamente: sftp> put -r localDirectory
Mais comandos: https://www.digitalocean.com/community/tutorials/como-utilizar-o-sftp-para-transferir-arquivos-com-seguranca-com-um-servidor-remoto-pt
Configurando um interface de rede
1. Mostrar as interfaces de rede disponíveis no computador: $ ip link show 2. Ver os ips das interfaces de rede: $ ip addr show Ou simplesmente: $ ip a 3. Ver somente informações sobre o protocolo IPv4 nas interfaces: $ ip -4 a Para o protocolo IPv6: $ ip -6 a 4. Habilitar uma interface de rede, como a enp0s3: $ ip link set enp0s3 up Reiniciar a máquina ou o serviço de rede após. 5. Desabilitar uma interface de rede, como a enp0s3: ip link set enp0s3 down 6. Ver o ip de uma interface específica, como a enp0s3: $ ip addr ls enp0s3 ou $ ip addr show enp0s3 7. Ver estatísticas de comunicação (tx e rx) de uma interface específica (opção -s): $ ip -s link show enp0s3 8. Atribuir um endereço IP a uma interface específica: $ ip addr add 192.168.12.100/24 dev enp0s3 Obs. Esta configuração é perdida ao reiniciar o sistema. Para mantê-la, editar o arquivo de configuração /etc/network/interfaces (Debian e derivados) ou os arquivos em /etc/sysconfig/network-scripts/ (Red Hat e derivados) 9. Excluir um endereço IP de uma interface específica: $ ip addr del 192.168.12.100/24 dev enp0s3 10. Ajustar o nome da interface de rede enp0s3 para eth0: $ ip link set enp0s3 name eth0 11. Verificar as rotas de rede (tabela de roteamento): $ ip route show 12. Adicionar uma rota estática: $ ip route add 10.20.30.0/24 via 192.168.100.10 dev enp0s3 Obs. Esta configuração é perdida ao reiniciar o sistema. Para mantê-la, editar o arquivo de configuração /etc/network/interfaces (Debian e derivados) ou os arquivos em /etc/sysconfig/network-scripts/ (Red Hat e derivados). Por exemplo, no debian, adicionamos a linha: $ up ip route add 10.20.30.0/24 via 192.168.100.10 dev enp0s3 ao arquivo /etc/network/interfaces para adicionar a rota estática de forma permanente. 13. Remover uma rota estática: $ ip route del 10.20.30.0/24 14. Adicionar um endereço de gateway padrão geral $ ip route add default via 192.168.100.10 Se o gateway padrão para a rede já existir, será emitida uma mensagem de erro. 15. Configurar um endereço MAC em uma interface: $ ip link set dev enp0s3 address 00:0a:75:20:f5:bd 16. Alterar o MTU em uma interface. Por exemplo, aplicar um MTU de 9000 na interface enp0s3: $ ip link set mtu 9000 dev enp0s3 Geralmente alteramos o MTU em redes gigabit para permitir o tráfego de Jumbo Frames (quadros jumbo), de modo a aumentar a performance de transmissão da rede. 17. Consultar a tabela ARP: $ ip neigh 18. Consultar a tabela ARP de um interface específica: $ ip neigh show dev enp0s3 19. Visualizar a ajuda dos comandos ip: $ ip help Ou ainda, visualizar a ajuda apenas dos comandos de endereçamento: $ ip addr help 20. Habilitar o modo promíscuo na interface enp0s3: $ ip link set enp0s3 promisc on
Configurando um interface de rede com nmcli e nmtui
nmcli nmtui
Movendo janelas xdotool/wmctrl
xdotool search --sync --onlyvisible --class "Firefox" windowactivate key F11 xdotool getactivewindow xdotool windowraise WID wmctrl -ir WID -b add,maximized_vert,maximized_horz wmctrl -ir WID -b remove,maximized_vert,maximized_horz xdotool windowmove WID 800 600 xdotool windowstate WID --add MAXIMIZED_VERT
Fontes:
Neofetch
Verificar versão/info do sistema
[user@pc ~]$ neofetch ██████████████████ ████████ user@pc ██████████████████ ████████ ----------------- ██████████████████ ████████ OS: Manjaro Linux x86_64 ██████████████████ ████████ Host: 20DS0090BR ThinkPad L450 ████████ ████████ Kernel: 5.10.36-2-MANJARO ████████ ████████ ████████ Uptime: 4 hours, 52 mins ████████ ████████ ████████ Packages: 1560 (pacman) ████████ ████████ ████████ Shell: bash 5.1.8 ████████ ████████ ████████ Resolution: 1366x768, 1920x1080, 1920x1080 ████████ ████████ ████████ DE: Xfce 4.16 ████████ ████████ ████████ WM: Xfwm4 ████████ ████████ ████████ WM Theme: Matcha-sea ████████ ████████ ████████ Theme: Matcha-dark-sea [GTK2], Adwaita [GTK3] ████████ ████████ ████████ Icons: Papirus-Maia [GTK2], Adwaita [GTK3] Terminal: tilix CPU: Intel i7-5500U (4) @ 3.000GHz GPU: AMD ATI Radeon R5 M240 GPU: Intel HD Graphics 5500 Memory: 12766MiB / 15897MiB [user@pc ~]$