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 python -m pip install --force-reinstall pip==8.1.1
if you inadvertently upgraded your system pip. More info can be found at this link, and this link.sudo 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 commands to find dependencies (link)
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