User management
useradd [USERNAME] - Add new useruseradd -G [GROUPNAME][username]- Add new user in grouppasswd [USERNAME] - User account is locked until you set a password with the passwd commandusermod -a -G [GROUPNAME][username] - Add user in groupuserdel [USERNAME] - Remove the existing usercat /etc/passwd | sort - View username and group informationcat /etc/group | sort - View linux groupusermod -d -m [NEW_DIRECTORY][username] - Change the user home directory locationusermod -u [UID][username] - Change the user UID
File Commands
ls – directory listingls -al – formatted listing with hidden filescd <dir> - change directory to dircd – change to homepwd – show current directorymkdir <dir> – create a directory dirrm <file> – delete filerm -r <dir> – delete directory dirrm -f <file> – force remove filerm -rf <dir> – force remove directory dir *cp <file1> <file2> – copy file1 to file2cp -r <dir1> <dir2> – copy dir1 to dir2; create dir2 if it doesn't existmv <file1> <file2> – rename or move file1 to file2 if file2 is an existing directory, moves file1 into directory file2ln -s <file link> – create symbolic link link to filetouch <file> – create or update filecat > <file> – places standard input into filemore <file> – output the contents of filehead <file> – output the first 10 lines of filetail <file> – output the last 10 lines of filetail -f <file> – output the contents of file as it grows, starting with the last 10 lines
Process Management
ps – display your currently active processestop – display all running processeskill <pid> – kill process id pidkillall <proc> – kill all processes named proc *bg – lists stopped or background jobs; resume a stopped job in the backgroundfg – brings the most recent job to foregroundfg <n> – brings job n to the foreground
File Permissions
Roles
u - user (owner of the file)g - group (members of file's group)o - global (all users who are not owner and not part of group)a - all (all 3 roles above)
Numeric representations
7 - full (rwx)6 - read and write (rw-)5 - read and execute (r-x)4 - read only (r--)3 - write and execute (-wx)2 - write only (-w-)1 - execute only (--x)0 - none (---)
1# Add execute for all (myscript.sh)
2chmod a+x myscript.sh
3
4# Set user to read/write/execute, group/global to read only (myscript.sh), symbolic mode
5chmod u=rwx, go=r myscript.sh
6
7# Remove write from user/group/global (myscript.sh), symbolic mode
8chmod a-w myscript.sh
9
10# Remove read/write/execute from user/group/global (myscript.sh), symbolic mode
11chmod = myscript.sh
12
13# Set user to read/write and group/global read (myscript.sh), octal notation
14chmod 644 myscript.sh
15
16# Set user to read/write/execute and group/global read/execute (myscript.sh), octal notation
17chmod 755 myscript.sh
18
19# Set user/group/global to read/write (myscript.sh), octal notation
20chmod 666 myscript.sh
SSH
ssh <user@host> – connect to host as userssh -p port <user@host> – connect to host on port port as userssh-copy-id <user@host> – add your key to host for user to enable a keyed or passwordless login
Searching (grep, find)
- grep [options] pattern files – search for pattern in files
- command | grep pattern – search for pattern in the output of command
- locate file – find all instances of file
- find [path] [options] [expression]
System Info
date – show the current date and timecal – show this month's calendaruptime – show current uptimew – display who is onlinewhoami – who you are logged in asfinger <user> – display information about useruname -a – show kernel informationcat /proc/cpuinfo – cpu informationcat /proc/meminfo – memory informationman <command> – show the manual for commanddf – show disk usagedu – show directory space usagefree – show memory and swap usagewhereis <app> – show possible locations of appwhich <app> – show which app will be run by default
Compression
tar cf <file.tar> <files> – create a tar named file.tar containing filestar xf <file.tar> – extract the files from file.tartar czf <file.tar.gz> files – create a tar with Gzip compressiontar xzf <file.tar.gz> – extract a tar using Gziptar cjf <file.tar.bz2> – create a tar with Bzip2 compressiontar xjf <file.tar.bz2> – extract a tar using Bzip2gzip <file> – compresses file and renames it to file.gzgzip -d <file.gz> – decompresses file.gz back to file
Network
ping host – ping host and output resultswhois domain – get whois information for domaindig domain – get DNS information for domaindig -x host – reverse lookup hostwget file – download filewget -c file – continue a stopped download
Installation
dpkg -i pkg.deb – install a package (Debian)rpm -Uvh pkg.rpm – install a package (RPM)
Install from source
- ./configure
- make
- make install
Shortcuts
Ctrl+C – halts the current commandCtrl+Z – stops the current command, resume withfg in the foreground or bg in the backgroundCtrl+D – log out of current session, similar to exitCtrl+W – erases one word in the current lineCtrl+U – erases the whole lineCtrl+R – type to bring up a recent command!! - repeats the last commandexit – log out of current session