Linux basics [1d]
Resources
- Learn Enough Command Line to be Dangerous Show archive.org snapshot (it's in our library => Google Drive Show archive.org snapshot )
- CLI tricks every developer should know Show archive.org snapshot
- Install the
tldr
tool usingsudo apt install tldr
. You can then get usage examples for every console command, e.g.tldr ssh
to get examples for thessh
command. (If there are no entries, runtldr -u
and try again)
Exercises
Basic commands
Experiment and do something useful with the following commands. You might need to use tldr
or Google the command.
-
man
(Get a more colorful output for man pages] top
cat
less
dpkg -l
apt-cache search <text>
apt update
apt dist-upgrade
apt install <package-name>
sudo <command>
sudo su
ssh
scp
df -h .
du -h .
-
ss --listening --tcp
or (old)netstat --listen --tcp
ln -s
touch
telnet
curl
ps
kill
kill -9
pkill -f <partial-name>
env
dig
-
grep
(use with|
) zgrep <needle> log/*.log*
Configuration files
Understand what you can do with the following configuration files:
~/.bashrc
~/.ssh/config
~/.gitconfig
Note that changes to your ~/.bashrc
don't affect already opened shells.
Terminal editor
To edit files from within a terminal, you'll need a CLI editor.
- Chose an editor (
vim
Show archive.org snapshot
or
nano
Show archive.org snapshot
)
- If you chose vim, learn
how to exit
Show archive.org snapshot
an open editor:
-
:q
to exit -
:wq
to save (write) and exit -
:q!
to exit without writing
-
- If you chose vim, learn
how to exit
Show archive.org snapshot
an open editor:
- Persist your choice in the
$EDITOR
Show archive.org snapshot
variable. It defines the default for commands like
git commit
:
# Example with vim
# open the configuration file
vim ~/.bashrc
# navigate to the end of the file,
# press "i" to switch to insert mode
# then type out the line you want to add
export EDITOR=vim
# persist your changes
:wq
Note
While you could set $EDITOR locally to a graphical to a editor like
gedit
, this is not possible for remote shells to our servers.
Getting accustomed to a CLI editor will pay off in the long term.
Terminal shortcuts
Understand what the following shortcuts do in a terminal:
- Up-arrow
Tab
CTRL+R
-
CTRL+Z
/jobs
/fg
/bg
Show archive.org snapshot- This allows you to faux-multitask within a single shell. E.g. you can temporarily suspend a running vim editor, take a look around the system, then return to your vim editor.
File ownership
Understand access rights and ownership of files:
- What does "ownership" mean for files?
- Each file has 9 flags, 3 read, 3 write, and 3 executable flags. What do they mean?
- Write a simple bash script that prints a message. How can you execute it?
- Write the same script in Ruby. What do you have to do to just call it from the command line without using the
ruby
command directly? Learn about the "shebang".