Basic linux commands
Happy 30th birthday, Linux! Thirty years ago, on August 25th, 1991, 21-year-old Finnish student Linus Benedict Torvalds made his now-famous announcement on the comp.os.minix news group, saying that he’s working on a free operating system for 386(486) AT clones, just as a hobby.
Hello everybody out there using minix – I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I’d like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).
I’ve currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I’ll get something practical within a few months, and I’d like to know what features most people would want. Any suggestions are welcome, but I won’t promise I’ll implement them 🙂 Linus
PS. Yes – it’s free of any minix code, and it has a multi-threaded fs. It is NOT portable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that’s all I have :-(.
Thirty years later, as you can already guess, the little hobby project called “Linux” now runs the technology world. To celebrate this milestone, I’m listing the thirty basic/most-used commands on GNU/Linux operating system.
Side note: this is also requested by a friend of mine on Threema called Niko 🙂. Click to view the messages:
1 Basic commands
Command | Description |
---|---|
cat |
Display file’s contents to the standard output device (usually your monitor). |
cd |
Change to directory. |
chmod [options] mode filename |
Change a file’s permissions. |
chown [options] filename |
Change who owns a file. |
clear |
Clear a command line screen/window for a fresh start. |
cp [options] source destination |
Copy files and directories. |
date [options] |
Display or set the system date and time. |
df [options] |
Display used and available disk space. |
du [options] |
Show how much space each file takes up. |
file [options] filename |
Determine what type of data is within a file. |
find [pathname] [expression] |
Search for files matching a provided pattern. |
grep [options] pattern [filesname] |
Search files or output for a particular pattern. |
kill [options] pid |
Stop a process. If the process refuses to stop, use kill -9 pid. |
less [options] [filename] |
View the contents of a file one page at a time. |
ln [options] source [destination] |
Create a shortcut. |
locate filename |
Search a copy of your filesystem for the specified filename. |
lpr [options] |
Send a print job. |
ls [options] |
List directory contents. |
man [command] |
Display the help information for the specified command. |
mkdir [options] directory |
Create a new directory. |
mv [options] source destination |
Rename or move file(s) or directories. |
passwd [name [password]] |
Change the password or allow (for the system administrator) to change any password. |
ps [options] |
Display a snapshot of the currently running processes. |
pwd |
Display the pathname for the current directory. |
rm [options] directory |
Remove (delete) file(s) and/or directories. |
rmdir [options] directory |
Delete empty directories. |
ssh [options] user@machine |
Remotely log in to another Linux machine, over the network. Leave an ssh session by typing exit. |
su [options] [user [arguments]] |
Switch to another user account. |
who [options] |
Display who is logged on. |
2 Other usefull terminal tricks
Here are some other terminal commands that you may find helpfull.
2.1 curl
curl is a “command line tool and library for transferring data with URLs.” It is a handy multitool that supports many network protocols. Some basic commands are:
curl --head [domainname]
displays HTTP response headers (including security-relevant headers).curl --header '[header]' [domainname]
adds the ‘[header]’ to your request.curl --insecure https://[domainname]
connects to the domain and ignores any certificate errors.curl --sslv3 https://[domainname]
connects to the domain using insecure SSLv3 (also works for other insecure SSL/TLS versions).curl -u user:password -O ftp://domainname/file
downloads a file using username and password authentication via FTP.
2.2 dig
dig is part of BIND and can be used to check domains for DNSSEC:
dig [domain-name] +multiline
- “status” should be “NOERROR” (“SERVFAIL” means that there is a problem with the DNS server configuration, e.g., DNSSEC configuration is broken)
- “flags” must contain “ad” (authentic data)
dig [domain-name] +multiline +dnssec
- This query sets the “DNSSEC OK” (DO) bit and requests DNSSEC records to be sent, if available
- Look for “RRSIG” resource records
dig [domain-name] +trace
- This query emulates a DNS resolver. It starts from the root of the DNS hierarchy and works down using iterative DNS queries.
2.3 imagemagick
Well-known tools use imagemagick, so it is likely that imagemagick is already installed on your machine. You can use it to remove metadata from photos:
-
Remove metadata:
mogrify -strip [filename]
- “-strip” means “strip the image of any profiles, comments or these PNG chunks: bKGD, cHRM, EXIF, gAMA, iCCP, iTXt, sRGB, tEXt, zCCP, zTXt and date”
-
View metadata:
identify -format '%[EXIF:*]' [filename]
2.4 pwgen
pwgen is a password generator:
-
Create passwords containing upper-case and lower-case chars, digits and special chars:
pwgen -scyn1 [number-of-characters] [number-of-passwords]
-
Create passwords containing upper-case and lower-case chars and digits:
pwgen -scn1 [number-of-characters] [number-of-passwords]
2.5 qrencode
qrencode can be used to transform arbitrary strings into QR codes:
qrencode -o [qr-filename].png '[string]'
- Change the pixel size:
qrencode -o [qr-filename].png -s [pixel-size] '[string]'
2.6 subnetcalc
subnetcalc is a CLI-based calculator for subnets of IPv4 and IPv6 networks.
subnetcalc 192.168.1.1/24
prints network, netmask, broadcast address, max. hosts, properties, and more.subnetcalc ashpex.eu.org
prints IP addresses, properties, geo-information about the IP address, and more.
Buy me a cup of coffee