Learning Linux?
Well, Linux Unhatched from CISCO Net Academy is a great place to start.
Depending on your experience, this short course could take you a few days or over a week.
It’s free, well structured, easy to read and interactive. Perfect for learning Linux.
Below are my notes for the course, I skipped 14-14.2 as I’ll be coming back to that section.
*Disclaimer, the course content is owned and shared via CISCO Net Academy.
Introduction
Learn Linux: fun, free and everywhere.
Linux: Open source kernel OS and used everywhere on everything
Linux CLI: main user-interactive method.
Basic Command Syntax
CLI (Command Line Interface): powers low-power machines, servers or anything.
Command: program executed via CLI
Typing = process run by OS
- Reads user input (stdin)
- Manipulates data
- Produces output (stduout)
Command rules:
- Names typically describe action.
- They’re case sensitive.
- Default behaviour without options/args.
command [options...] [arguments...]
ls lists files in directories.
Arguments
Arguments specify the command output. ls Documents lists files in Documents directory.
Options (switches)
Options alter the behaviour of command output. ls -l Documents or ls Documents -l
Multiple options (switches) can be used:
ls -l -r, ls -rl and ls -lr are same.
3. Printing Working Directory
pwd [options] shows current dir
- Use to be used with printers
~=/home/user/
Changing Directories
Files store data e.g. text, graphics & programs.
- Directories are files that provide organizational structure.
cd [options] [path]
/root dir and path
Filesystem is a map, paths are the directional steps. Two types:
- Absoulate: starts from root.
- Relative: starts from current dir.
. current dir
.. parent dir
~ home dir
Listing Files
ls -l lists files in actual list.
- File Type
- Permissions
- Hard Link Count
- User Owner
- Group Owner
- File Size
- Timestamp
- Filename
Sorting switches for ls
-t by timestamp
-s by file size
-r reverse order
Administrative Access
su [options] [username] temp act as other user via creating new shell aka change users.
- By default,
suchanges to root. - Use
su -lto proper login as user.
Prompts change depending on user.
sudo [options] command executes commands as other user without creating shell.
- By default,
sudouses root.
Permissions
Determines how users interact with files or dirs. ls -l [filename]
- File Type
- Permissions Field
- Owner
- Group
- Other
- Permission Types: r, w, x.
- Read:
- File: see or copy.
- Dir: non-details shown.
- Write:
- File: modified or overwritten
- Dir: requires execute.
- Execute:
- File: run as process.
- Dir: move dirs
Changing File Permissions
chmodchanges file/dir permissions, only by root or owner.chmodcomes from change mode of access.
Two techniques of chmod
- Symbolic: good changing one set of permissions at a time.
- Octal: good changing all permissions for users, groups, other.
chmod [<SET><ACTION><PERMISSIONS> FILE
- Set:
u,g,oora - Action:
+,=or- - Permissions:
r,worx
./ indicates commands to run from current dir.
Changing File Ownership
Owners of files are the creators of files.
chown changes ownership of files/dirs, requires root priv.
chown [OPTIONS] [OWNER] FILE e.g. chown root hello.sh
Viewing Files
cat [OPTIONS] [FILE] concatenate files i.e. good for smaller files.
Pager commands more and less.
head [OPTIONS] [FILE] displays beginning of file, default is 10 lines.
tail [OPTIONS] [FILE] displays end of file, default is 10 lines.
-n switch allows certain number of lines.
Copying Files
cp [OPTIONS] SOURCE DESTINATION
Must have x perm to cp file and w x perms on destination dir, both /tmp and ~ will always have this.
Copying Files
dd [OPTIONS] OPERANDcopies files/partitions at bit level.
Moving Files
mv SOURCE DESTINATION moves files from one to another dir.
mv <file1> <file2> <file3> destination moves multiple files at once.
mv <file1> <newfilename> easily renames file.
w x perms needed on source/dest dirs.
Removing Files
rm [OPTIONS] FILE removes files (almost) permanently.
rm -r <dir> removes dirs recurisvley.
w x perms needed to rm files/dirs.
Filtering Input
grep [OPTIONS] PATTERN [FILE] filters search input from files.
Regular Expressions
(Skipped)
Basic Patterns
(Skipped)
Shutting Down
shutdown [OPTIONS] TIME [MESSAGE] requires date
Network Configuration
ifconfig [OPTIONS]
lo loop back 127.0.0.1
ping
Viewing Processes
ps [OPTIONS] -e and -f
PID process identifier.
TTY name of terminal.
TIME total time of process.
CMD command started process.
Package Management
System to install, update, querie or remove from filesystem.
Debian is the dpkg command but apt-get is front-end program.
- Update with
apt-get update - Search with
apt-cache search - Install:
sudo apt-get install [package] - Update system:
sudo apt-get update && upgrade - Remove:
apt-get remove [package]andapt-get purge [package]
Updating User Passwords
passwd [OPTIONS] [USER] updates user passwords.
-Sshows status info.
Redirection
I/O redirection allows info from CL to be sent to file, device or other commands. Three file descripters:
- STDIN: Standard Input, information given to a command.
- STDOUT: Standard Out, information displays from output of command.
- STDERR: Standard Error, error messages from commands.
[COMMAND] > [FILE] STDOUT redirect
[COMMAND] >> [FILE] append to file.
User must have w perms of files to redirect too.
Tex Editor
vi vim or nano
If you have any feedback, please send me a message @mrashleyball.
This is Day 14 of #100DaysOfHacking, subscribe to my newsletter to see the journey!
Happy Hacking.