Table of Contents

Usual Commands

User management :
[FR] http://www.labo-linux.org/cours/module-1/chapitre-05-gestion-des-utilisateurs/

List

Command Description
General
pwd print the current path
which <program> print the path of the <program>
write <user> write messages with a user connected on the same machine
Kernel modules
lsmod list modules
insmod nvidia / modprobe nvidia insert the module (modprobe higher level)
rmmod nvidia / modprobe -r nvidia remove the module (modprobe higher level)
Boot scripts (Gentoo)
rc-update show list boot scripts
rc-update add script.sh boot add the script to the boot level
Manage users
adduser -m -s /bin/zsh -g <primary-group> <user> add user, ask creation of his home folder (-m), shell (-s), primary group (-g)
passwd cyril change the password of user cyril (or yours if no user specified)
groupadd <group> add a group to the system
/etc/passwd contains UID of users, home directory and shell used
/etc/shadow contains crypted passwords of users
/etc/group contains groups GIDs and list of users in
usermod -a -G <group> <user> add an exisiting user to an existing group
chsh -s /bin/zsh change default shell of user
userdel delete user
groupdel delete group
Manage permissions
chmod -R [u/g/o/a][+/-/=][r/w/x/X][,…] <file(s)/folder(s)> change permissions (user,group,other,all ; read,write,execute,execute clone)
chmod -R 0222 change permissions (octal : rwx=1+2+4 / ugo)
chown -R <owner>:<group> <file(s)/folder(s)> change owner and group
chgrp -R <group> <file(s)/folder(s)> only change group
Monitoring
top / htop / ps / free processes (cpu, mem)
nettop / jnettop network
lsof opened files
w connected users
pidstat
atop
System
lspci
lsusb
lshw
File content manipulation
cat file | head -n 2 , cat file | tail -n 2
cat file | grep <string> only print lines containing string (-e for regexp)
grep -r <string> * search recursively the string in all files
cat <file> | cut -d “ ” -f 1,2,4-10 only prints the given fields (-f), obtained with the given delimiter (-d), or the complement (–complement)
cat <file> | sed 's/string1/string2/g replace string1 by string2 (and a lot more with sed)
sed -i 's/string1/string2/g <files> replace string1 by string2 in all files
echo “Image 10:55.jpg” | sed 's/([0-9]{2}).jpg/\1 #1.jpg/' example with more complex regex
perl -pi -e “s/string1/string2/g” <files> replace string1 by string2 in all files (and a lot more with perl)
awk 'NR>10 && NR<1000 {print $#}' <file-in> extract lines 10 to 1000 from file-in to file-out
awk '{ print “[10](“$1”,”$4“,”$5“,”$6“)” }' <file-in> reorganize and reformat columns of a file
awk 'NR==1 { t=$1 } NR>1 { dt=t-$1; t=$1; print dt; }' <file-in> output the difference between two consecutive lines
cat <file> | tr '[:lower:]' '[:upper:]' convert lowercase to uppercase (and a lot more with tr)
date +“%Y/%m/%d %H:%M:%S” | tr '\012' ' ' » log.log write date in a file without the last line return
cat <file> | wc -l count number of lines (and a lot more with wc)
iconv -f iso-8859-15 -t utf8 <file> convert file content from encoding latin9 to utf8 (see also recode)
convmv -f iso-8859-15 -t utf8 -r <folder> convert file names of files in folder from encoding latin9 to utf8
paste merge files by concatenating columns
numfmt –to=iec –format=“%.2f” to convert numbers to and from human-readable format
Programming
nm [-D] / objdump / ldd / readelf [-s] check infos about link and symbols in exe and libs
strace list system calls a program issues

tr '\012' ' '