Linux

From Piszczynski
Revision as of 10:41, 11 September 2023 by piszczynski>Aleks (→‎Basic Commands)

Basic Commands

Copy

Copy a file:

  • cp <file> <Destination>

copy multiple files

  • cp <file1> <file2> <Destination>

Prevent overwriting: (will overwrite files by default)

  • cp -n <source> <dest> (can also use -i option to decide for each file)

Copy directory:

  • cp -r <source> <destination>

Copy contents of directory to another directory:

  • cp <source>/. <destination>

Sort

Pipe output to sort to sort it or display contents of file sorted:

  • <command> | sort
  • sort <options> <filename>

Sort on numerical value:

  • sort -n

sort in reverse order:

  • sort -r

Sort by specific column (useful with commands that return data in columns like du)

  • sort -k <column number>
  • sort -k 3nr (will sort by the 3rd column in reverse number order)

Sort and remove duplicates

  • sort -u

Ignore case when sorting

  • sort -f

sort by human numeric values:

  • sort -h

Redirect output to another file:

  • sort > <other file>

Get Linux Info

Get current build and Linux OS data:

  • cat /etc/os-release

Remote Desktop Protocol App for linux

Remmina can be used for RDP connections to windows computers using RDP as well as VNC SSH and others


To user also need to install xrdp and tightvnc:

  • sudo apt install xrdp xorgxrdp -y
  • echo env -u SESSION_MANAGER -u DBUS_SESSION_BUS_ADDRESS cinnamon-session>~/.xsession

Other newer option is xserver-xorg-core


Change or Set IP address

With Newer Ubuntu versions netplan is used as the network management tool.

Get ip address and interfaces with:

  • ifconfig
  • ip -a
  • ip link

Set the network interface settings on the configuration file:

  • sudo nano /etc/netplan/<name of config file eg 00-installer-config.yaml>

Example of the .yaml file:

network:
  ethernets:
    ens160:
      dhcp4: no
      addresses:
        - 192.168.50.15/24
      gateway4: 192.168.50.1
      nameservers:
        addresses: [192.168.50.3, 1.1.1.1]
  version: 2

Swap File

Check size of swap file:

  • swapon -s

increase swap file to 8GB:

  • sudo swapoff -a #turn off swap file
  • sudo dd if=/dev/zero of=/swapfile bs=1M count=8192 #set size of blocks for swap file and create
  • sudo chmod 0600 /swapfile #Assign it read/write permissions for root only
  • sudo mkswap /swapfile #Format the file as swap
  • sudo swapon -a #enable swap file - will also be activated on next reboot without this command


Alternate commands to make 8GB swap file

  • sudo swapoff /swapfile
  • sudo rm /swapfile
  • sudo fallocate -l 8G /swapfile

App Image

Apps can be downloaded as an appimage which is the application with everythign it needs to run in one file.

You will need to make the appimage executable to be able to run it:

  • chmod u+x <appimage file>

SSH

Enable SSH

Install openssh server:

  • sudo apt-get install openssh-server

login.

Enable login using ssh Keys

Generate keys: Be careful if you have already generated a key as this will overwrite the current key

  • ssh-keygen

This gets stored in ~/.ssh

Copy key to server (must have ssh via password enabled)

  • ssh-copy-id name@server

This gets sored on remote server in ~/.ssh/authorized_keys file. you can append keys to this fille to add more logins:

  • cat ~/.ssh/id_rsa.pub | ssh name@server "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Copy over manually:


Check public key

  • cat ~/.ssh/id_rsa.pub

Make dir:

  • mkdir -p ~/.ssh

copy key over:

  • echo <public_key_string> >> ~/.ssh/authorized_keys

Disable Password Authentication

Edit config file:

  • sudo nano /etc/ssh/sshd_config

Change:

  • PasswordAuthentication no

Restart ssh service:

  • sudo systemctl restart ssh