Shell
SSH
ssh
to see if ssh is installed (openssh-client is installed by default)ssh-keygen
orssh-keygen -t rsa
generate ssh key by RSA algorithmcat ~/.ssh/id_rsa.pub
print public key (for settings on Github)ssh -T git@github.com
testingsudo apt-get install openssh-server
install server for incoming ssh connectionsssh-copy-id username@hostname
copy your ssh key to remote computer to avoid verifying password on every connectionssh username@ip
ssh login to a remote computer with this ip and usernamessh username@hostname
if mapped this hostname to its ip in /etc/hosts filessh -X username@hostname
login with GUI supportssh -p 1234 username@hostname
login via port 1234sudo gedit /etc/hosts
modify hosts filesudo gedit /etc/ssh/sshd_config
modify ssh server configuration
Devices and Filesystem
sudo gparted
ls -l /dev/ttyS0
groups <username>
sudo gpasswd -a <username> <groupname>
sudo gpasswd -d <username> <groupname>
sudo groupadd <newgroupname>
sudo usermod -a -G <groupname> <username>
lscpu
,lsmem
,lshw
list CPU, memory, hardware infolsusb
list USB deviceslsblk
list block devices, often used to check external ssdlspci
list PCI deviceslspci | grep VGA
check GPUssudo lshw -C video
check GPU display detailsdu -h -d 1
check file size/usage in current directorydf -h
check hard disk usage
Environment Variables
which pip
to see whichpip
command you are running - useful for checking environment!uncomment
#force_color_prompt=yes
in.bashrc
for a colored promptsudo !!
where!!
is for the last commandpython3 -m site
show searching path for python3sudo ldconfig
aftersudo make install
to refresh the cache
Date and Time
date
sudo systemctl stop systemd-timesyncd
sudo systemctl start systemd-timesyncd
timedatectl
sudo timedatectl set-ntp false
sudo timedatectl set-time 'YYYY-MM-DD'
sudo timedatectl set-time 'YYYY-MM-DD HH:MM:SS'
Network
sudo systemctl restart network-manager
nmap -sP 192.168.0.1/24
scan portsnmap -A 192.168.10.112
detect OS and services
Compression
tar -cf filename.tar file1 folder2
packed without compressiontar -xf filename.tar
create an archive by-c
, extract an archive by-x
tar -cvzf filename.tar.gz file1 folder2
compress by-z
; verbose by-v
tar -xvzf filename.tar.gz
decompresstar -xvzf filename.tar.gz -C {path}
decompress to a designated pathsudo apt-get install zip unzip
zip -r archive_name.zip myfolder
unzip archive_name.zip
running in the background
Ctrl + Z
to stop the process, followed bybg
to run in the background orfg
to run in the foreground.Use command
./test.sh 1>stdout.log 2>stderr.log &
and it will return a process ID.Processes running in the background can be monitored by
top
command.
apt-cache showpkg <pkgname>
show package info, both depends and reverse dependsapt-cache depends ros-melodic-desktop
show one-level dependenciesapt-cache rdepends --installed ros-melodic-desktop
sudo apt install apt-rdepends
apt-rdepends ros-melodic-desktop | pager
recursively show all dependenciesapt-rdepends --reverse protobuf-compiler | grep ros-melodic-desktop
apt commands to locate packages
dpkg -L <package-name>
apt list <package-name>
apt-cache madison
locate <filename>
find a file in database (globally)find <filename>
find a file in local directory
vim commands
vi -b <filename>
open file in binary mode:%!xxd
switch to hex mode:%!xxd -r
switch back to binary mode:wq
save and exit
terminal
sudo update-alternatives --config x-terminal-emulator
References
Last updated
Was this helpful?