Name | Comments |
---|---|
Linux Journey | Written guides + exercises + quiz |
Techmint Linux | Written articles/lessons |
Linux Survival | Interactive guide |
NixCraft | Succinct guides |
Linux Filesystem Explained | NSIA |
Linux SysOps Handbook | A study notes book for the common knowledge and tasks of a Linux system admin. |
LinuxToday | Contributor-driven news resources |
Name | Comments |
---|---|
How are Unix pipes implemented? |
Name | Comments |
---|---|
Understanding fork() system call for new process creation |
Name | Comments |
---|---|
learnlinux.tv | Very practical videos on various topics |
Author | Title | Comments |
---|---|---|
William Shotts | The Linux Command Line | Free |
Christopher Negus | Linux Bible |
Name | Comments |
---|---|
Linux From Scratch | |
Operating Systems: Three Easy Pieces |
Presenter | Video | Length | Level |
---|---|---|---|
Joseph Delgadillo | The Complete Linux Course: Beginner to Power User! | 07:23:52 | Beginner |
Fedora disable alert sound
dconf write /org/gnome/desktop/sound/event-sounds "false"
Author | Presentation | Level | Comments |
---|---|---|---|
Arie Bregman | Linux Networking | Beginner | |
Andrew McNico | tcpdump | Beginner |
- Copy files to a remote host:
rsync -azv dir USER:REMOTE_HOST_ADDR
- View file size:
du -sh DIR/FILE
- Who is connected:
w
- see list of processes and the CPU and memory the consume:
top
- show how long the server is up running:
uptime
- List open files:
lsof
- List open connections:
lsof -i
Get SElinux denials
semodule -DB
sudo ausearch -m avc -m user_avc -m selinux_err -m user_selinux_err -i -ts today
- Broadcast a message to everyone:
wall
- Join a session
tmux a
- Attach to existing session:
tmux attach -t <SESSION_NAME>
- New tab:
ctrl + B + c
- New session called "bla":
tmux new -s bla
- Destroy:
virsh destroy <vm_name>
- Shutdown:
virsh shutdown <vm_name>
- year:
date +”%Y”
- month:
date +”%m”
- day:
date +”%a”
- Reset "interface text" value:
gsettings reset org.gnome.desktop.interface font-name
- Reset "monospace text" value:
gsettings reset org.gnome.desktop.interface monospace-font-name
- Reset "document text" value:
gsettings reset org.gnome.desktop.interface document-font-name
- Reset "Legacy Window Titles":
gsettings reset org.gnome.desktop.wm.preferences titlebar-font
- Sort files by size:
ls -l | sort -nk5
- Find broken links:
find /some/path -type l -exec test ! -e {} \; -print
- LDAP search for a username:
ldapsearch -x -W -D username
- LDAP search for a username specifying DC and ldap server:
ldapsearch -x -H ldap://ldap.blabla.com -LLL -b 'dc=DOMAIN,dc=com' "rhatNickName=abregman"
- Validate YAML file with Ruby:
ruby -ryaml -e "p YAML.load(STDIN.read)" < some_file.yaml
- Validate YAML file with Python:
pip install pyyaml; python -c 'import yaml, sys; print(yaml.safe_load(sys.stdin))' < some_file.yaml
- Random string of 7 characters:
mkpasswd -l 8
- Generate 8 digit random number:
shuf -i 9999999-99999999 -n 1
Check your Linux educational progress with the following list:
-
File System Hierarchy
-
/
(aka root) -
/bin
and/sbin
-
/opt
-
/usr
-
/var
-
/home
-
/etc
-
/proc
-
/tmp
-
Test
- What is '/'?
- What is stored in '/bin'? what about
/etc
? - What '/home' is usually used for?
- What type of files can you find in '/var'?
- What is unique about
/tmp
?
-
-
Navigation
-
Commands
-
pwd
- where am I? -
cd
- change directory
-
-
relative vs. absolute paths
-
Test
- How to check your current path?
- Where
cd ..
will take you? - What would be the effect of running
cd .
? - What will happen when running 'cd -'?
-
-
Files
-
Types of files
- Regular
- Directory
- Socket
- Block
- Link
-
Commands
-
ls
- list files and directories-
-a
for listing hidden files -
-l
for list formt -
-t
order by time -
-F
better distinguish between regular files and directories
-
-
touch
- creating files (original intention is updating timestamp)- nice to know:
touch file{1..5}
- nice to know:
-
rm
- remove files-
-r
for recursive -
-f
to force removal, no questions asked
-
-
mkdir
- create directories-
-p
- for creating multiple nested directories
-
-
rmdir
- remove directories -
echo
- display a line of text -
cat
- concatenate files (common usage: read a file) -
mv
- move files directories (also rename files and directories) -
cp
- copy a file-
-r
for recursive (copy a directory)
-
-
-
Test
- How to list hidden files?
- How to create an empty new file?
- How to remove a directory?
- How to rename a file?
- How to copy an entire directory with all its files?
-
-
Commands
-
man
- manual for commands -
which
- get full path for given command -
whatis
- one-line manual page descriptions
-
-
I/O redirection
-
File Descriptor
- stdin 0 (input) <
- stdout 1 (output) >
- stderr 2 (error) 2>
-
Append >>
-
Test
- How to redirect output?
- What would be the result of the following command
blop 2> file
?
-
-
Text Editor (one is enough)
-
vim
-
i
to start typing -
:wq
to exit (orshit+zz
)
-
-
nano
-
emacs
-
atom
-
sublime
-
Test (mainly for vim)
- How to remove an entire line?
- How to copy 5 lines?
- How to jump to the end of the line
- How to remove one word
- How to jump to the end of the file
-
-
Users
-
Commands
- useradd
- usermod
- userdel
- who
-
Nice to know commands
- lastlog
-
Test
- how to add a new user?
- should you be using your user or root?
-
-
Network
- netstat
-
Monitoring and performence commands
- top
- stat
-
Processes
- Running in ackground (&)
-
Archives
- what is it good for
- tar
- zip
- commands
- create an archive
- list archive's content
- remove an archive
-
Storage, Filesystem
- inode