LINUX


🏠 Accueil

User & Group Management

PurposeCommand
new groupgroupadd sambashare
new useruseradd -m -g users -G sambashare -s /bin/bash unix_user
change passwordpasswd unix_user
rename userusermod -l newUsername oldUsername and change home folder usermod -d /home/newHomeDir -m newUsername
change to rootsudo -i
remove userdeluser --remove-home username

User with sudo rights

useradd --create-home --gid users --shell /bin/bash userName
passwd userName
visudo -f /etc/sudoers.d/sudoers

# User privilege specification
userName    ALL=(ALL:ALL) ALL

Samba Management

PurposeCommand
new userpdbedit -a -u samba_user
change passwordsmbpasswd samba_user
list userspdbedit -w -L

File and Directory Handling

Find & Remove

specific files

find <path> -name '<file-name>' -delete

If something “more portable” needed then you’re better off with

find <directory name> -name '*.pyc' -exec rm {} \;

File Manipulation

search the line which begins with var feature server and replaces the whole line with var featureserver = "http://featureserver.org/fs"

sed -e 's%^var featureserver.*%var featureserver = "http://featureserver.org/fs"%g' featureserver.org/assets/js/map.js > ${tmp}/website/assets/js/map.js

template command is as follow, where the first character after s is used as separator and afterwards it comes a regex. Use -i to do an “in place” replacement (no need for pipe)

sed -ie 's/$search_for/$replace_with/g' $file

‘\r’: command not found

# Error message
-bash: '\r': command not found

Remove trailing \r character that causes this error:

sed -i 's/\r$//' filename

Option -i is for in-place editing, we delete the trailing \r directly in the input file. Thus be careful to type the pattern correctly.

Folder size

-h
human readable file size
-s

sum all subfolders

du <directory>

Compression

tar -cvzf <file.tar.bz2> --exclude-vcs --exclude='*.svn' folder/

Extraction

tar -zxvf <file.tar.bz2>

Errors

When you get a error that the command is not found (e.g. -bash: $'\r': command not found) and you are sure everything is correct, then it has something to do with the file format or the characters.

Error: -bash: $'\r': command not found

Remove trailing \r character that causes this error:

sed -i 's/\r$//' filename

Option -i is for in-place editing, we delete the trailing \r directly in the input file. Thus be careful to type the pattern correctly.

Synchronization

Synchronization

#! /bin/bash
rsync -av --delete <from> <to> > <log> &

Cloning

burning image to disk (also usb drives)

optional use bs=8192

dd if=<path>.iso of=<disk>

Job / Programs

Keep job running despite of a logout

nohup <command> &

System information

dmidecode -t [bios, system, baseboard, chassis, processor, memory, cache, connector, slot] | more

Packages

getting installed packages including version number

time dpkg -l | perl -lane 'print "$F[1] : $F[2]" if m/^ii/'

Network

WiFi

wpa_passphrase <ssid>
# reading passphrase from stdin 

Enter your passphrase and confirm with enter. It will output the network configuration.

network={
        ssid="<ssid>"
        #psk="<passphrase>"
        psk="<wpa-psk>"

Open the file /etc/network/interfaces

nano /etc/network/interfaces

and change it as follow with the information provided by wpa_passphrase.

Check on which interface your WiFi is connected.

ifconfig

shows you alle interfaces.

# Primary Ethernet Set To DHCP
auto eth0
iface eth0 inet dhcp

# Wireless Interfaces wlan0 Set To DHCP using WPA2-PSK
auto wlan0
iface wlan0 inet dhcp
        wpa-ssid <ssid>
        wpa-psk <wpa-psk>

Now you can start the WiFi

ifup wlan0

Speed test

curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python -

TODO

current used image version uname -r

list all unused images sudo dpkg –list ‘linux-image*‘|awk ‘{ if ($1==“ii”) print $2}’|grep -v uname -r

sudo apt-get purge linux-image-4.4.0-108-generic

sudo apt-get autoremove

sudo update-grub


Case II: Can’t Use apt i.e. /boot is 100% full

sudo dpkg –list ‘linux-image*‘|awk ‘{ if ($1==“ii”) print $2}’|grep -v uname -r

sudo rm -rf /boot/-4.4.0-{108,109,112,116,119,121,124}-

sudo apt-get -f install

sudo apt-get autoremove

sudo update-grub

sudo apt-get update


Linux general commands

User & Group Management

PurposeCommand
new groupgroupadd sambashare
new useruseradd -m -g users -G sambashare -s /bin/bash unix_user
change passwordpasswd unix_user
rename userusermod -l newUsername oldUsername and change home folder usermod -d /home/newHomeDir -m newUsername
change to rootsudo -i
remove userdeluser --remove-home username

User with sudo rights

useradd --create-home --gid users --shell /bin/bash userName
passwd userName
visudo -f /etc/sudoers.d/sudoers

# User privilege specification
userName    ALL=(ALL:ALL) ALL

Samba Management

PurposeCommand
new userpdbedit -a -u samba_user
change passwordsmbpasswd samba_user
list userspdbedit -w -L

File and Directory Handling

Find & Remove

specific files

find <path> -name '<file-name>' -delete

If something “more portable” needed then you’re better off with

find <directory name> -name '*.pyc' -exec rm {} \;

File Manipulation

search the line which begins with var feature server and replaces the whole line with var featureserver = "http://featureserver.org/fs"

sed -e 's%^var featureserver.*%var featureserver = "http://featureserver.org/fs"%g' featureserver.org/assets/js/map.js > ${tmp}/website/assets/js/map.js

template command is as follow, where the first character after s is used as separator and afterwards it comes a regex. Use -i to do an “in place” replacement (no need for pipe)

sed -ie 's/$search_for/$replace_with/g' $file

‘\r’: command not found

# Error message
-bash: '\r': command not found

Remove trailing \r character that causes this error:

sed -i 's/\r$//' filename

Option -i is for in-place editing, we delete the trailing \r directly in the input file. Thus be careful to type the pattern correctly.

Folder size

-h
human readable file size
-s

sum all subfolders

du <directory>

Compression

tar -cvzf <file.tar.bz2> --exclude-vcs --exclude='*.svn' folder/

Extraction

tar -zxvf <file.tar.bz2>

Errors

When you get a error that the command is not found (e.g. -bash: $'\r': command not found) and you are sure everything is correct, then it has something to do with the file format or the characters.

Error: -bash: $'\r': command not found

Remove trailing \r character that causes this error:

sed -i 's/\r$//' filename

Option -i is for in-place editing, we delete the trailing \r directly in the input file. Thus be careful to type the pattern correctly.

Synchronization

Synchronization

#! /bin/bash
rsync -av --delete <from> <to> > <log> &

Cloning

burning image to disk (also usb drives)

optional use bs=8192

dd if=<path>.iso of=<disk>

Job / Programs

Keep job running despite of a logout

nohup <command> &

System information

dmidecode -t [bios, system, baseboard, chassis, processor, memory, cache, connector, slot] | more

Packages

getting installed packages including version number

time dpkg -l | perl -lane 'print "$F[1] : $F[2]" if m/^ii/'

Network

WiFi

wpa_passphrase <ssid>
# reading passphrase from stdin 

Enter your passphrase and confirm with enter. It will output the network configuration.

network={
        ssid="<ssid>"
        #psk="<passphrase>"
        psk="<wpa-psk>"

Open the file /etc/network/interfaces

nano /etc/network/interfaces

and change it as follow with the information provided by wpa_passphrase.

Check on which interface your WiFi is connected.

ifconfig

shows you alle interfaces.

# Primary Ethernet Set To DHCP
auto eth0
iface eth0 inet dhcp

# Wireless Interfaces wlan0 Set To DHCP using WPA2-PSK
auto wlan0
iface wlan0 inet dhcp
        wpa-ssid <ssid>
        wpa-psk <wpa-psk>

Now you can start the WiFi

ifup wlan0

Speed test

curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python -

TODO

current used image version uname -r

list all unused images sudo dpkg –list ‘linux-image*‘|awk ‘{ if ($1==“ii”) print $2}’|grep -v uname -r

sudo apt-get purge linux-image-4.4.0-108-generic

sudo apt-get autoremove

sudo update-grub


Case II: Can’t Use apt i.e. /boot is 100% full

sudo dpkg –list ‘linux-image*‘|awk ‘{ if ($1==“ii”) print $2}’|grep -v uname -r

sudo rm -rf /boot/-4.4.0-{108,109,112,116,119,121,124}-

sudo apt-get -f install

sudo apt-get autoremove

sudo update-grub

sudo apt-get update