Forget your bird, Love Linux
Click on playground and roll on your sleeves :c) -
There are four types of the shell, we have in Linux-
- Broune Shell -Sh shell
- C Shell - csh or tcsh
- Z shell -zsh
My Favorite - Bourne again shell -bash
-
To check shell type-
echo #SHELL
-
To print on the terminal
echo Hi from terminal !!
-
To view the current directory, display absolute path, means path from the root
pwd
-
To view all the files in a directory, -a will display hidden files as well
ls
ls -a -
To change directory, it is case-sensitive, and you have to type in the name of the folder exactly as it is.
cd .. - To go back from a folder to the folder before that
cd my_directory - to goto my_directory folder -
When folder name has space e.g. my bird
cd my\ bird
-
Create a new directory
mkdir abhishek
-
When folder name has a space e.g. abhishek sharma
mkdir abhishek\ sharma
-
make directory hierarchy from one command
mkdir -p /dir_1/dir_2/dir_3/dir_4
-
Run multiple commands in a single line
cd abhishek\ sharma; mkdir devops_tools; ls
-
Create a file
touch file_1.txt
-
Write content in the file
cat > file_1.txt
write anything, write- "this is my first file in Linux" and type Ctrl+d to save
-
another way to do it
echo "this is my first file in linux" > file_1.txt
-
View content
cat file_1.txt
-
Remove directory and file commands
mkdir removable_dir
rmdir removable_dir
mkdir removable_dir
cd removable_dir; touch removable_file.txt
rmdir removable_dir
---it gives you an error -
Notes: only blank directories can be deleted with rmdir; to delete a directory, which has content in it, we will use rm -r
rm -r removable_dir
-
To delete a file
rm file_1.txt
Copy commands-
-
Copy a file to another file
cp {options} source_file target_file
cp new_file.txt copy_file.txt -
Copy File(s) to another directory or folder
cp {options} source_file target_directory
touch /dir_1/dir_2/file_4.txt
cp -v /dir_1/dir_2/file_4.txt /dir_1/dir_2/dir_3/dir_4 -
Copy directory to directory
cp {options} source_directory target_directory
-
To copy a directory from one place to another use -r or -R option in cp command
cp -r /dir_1/dir_2/dir_3/dir_4 /dir_1/dir_2/
-
If the destination directory already has the same file, still you want to copy that file, to overwrite it use *-i*
cat > dir_1/dir_2/file_4.txt - this is me. press ctrl+d
cp -i /dir_1/dir_2/file_4.txt /dir_1/dir_2/dir_3/dir_4 -
Move command- mv command to move the files one place to another
touch dir_1/dir_2/file_3.txt
mv -v dir_1/dir_2/file_3.txt dir_1/dir_2/dir_3 -
Rename filename
touch latest.txt
-
want to change this file name latest to new
mv latest.txt new.txt
rm latest.txt -
Search something
locate new.txt
-
if you want to ignore the case
locate -i New.txt
-
if you want a file that has the word "this"
locate -i this
-
If you want the file(s) that has words "this" and "me"
locate -i *this*me
To view available disk space
df
above command will show disk space in KB, to view in MB use the following command
df -m
-
To view disk usage by files
du
-
to view disk space used by a directory
du dir_1
-
To view Linux distro
uname
uname -a -
Package manager apt-get
sudo apt-get update
sudo apt-get install nginx -y -
To view your IP and name in host or network
hostname
hostname -I -
To know your user account
whoami
-
To view user id, group id, group etc.
id
-
Download a file from a link
curl www.randomlink.com/downloadable-file.txt -O
OR
wget www.randomlink.com/downloadable-file.txt -O downloadable-file -
Service start/stop/enable/disable/restart/status
systemctl status nginx
systemctl restart nginx
systemctl stop nginx
systemctl status nginx
systemctl start nginx
systemctl disable nginx
systemctl enable nginx -
To check connection to server
ping {ip address}
ping www.google.com
Bonus to read
- Write clear to clean the terminal.
- to autofill use TAB. Suppose you have a folder- my_folder and want to go to that folder, You just need to type cd my and then TAB and the terminal fills the rest up and makes it cd my_folder.
- To stop a command write Ctrl+C
- to force stop a command write Ctrl+Z
- Write exit to exit from terminal
Top comments (30)
When a file size increasing overtime, use
truncate
, but without changing anything to the file permission and other stuff that applied to it. Best with adding it tocrontab
.-s
is set limit file size e.g. 1024kUnfortunately, this shortens the end of the file, which reduces its usability.
Luckily, you can set limit the file size.
When logging in, I am not interested in the beginning of the file, but mainly its end. Every time I cut it off, logging loses its meaning.
You are right. For user does not care about the logging but just want to reduce the file size (a couple of gigabytes). This is useful.
Pro Tip: never use
rm -r directory/
You will get used to it, and one day you will use env-vars and use
rm -r $someDir
That is when bad things can happen. Especially if $someDir ends up being / for some reason.
If you delete something recursively, be precise. If you want to prevent deleting any important directory, there is a neat trick.
Get used to
rm -r directory/* && rmdir directory/
andcreate a file named -i in all directories you want to protect. This can be done using
touch -- -i
or
touch ./-i
The * in
rm -r directory/*
will expand the -i File to the command line, so your command ultimately becomesrm -rf -i
Thus rm will prompt you before deleting anything. You can put this file in your /, /home/, /etc/, and so on.
what if you simply alias
rm
with a "trash" tool that puts stuff in your desktop Trash can?Or in alternative, alias
rm
withrm -i
?That could be a solution. I never really used "~/.local/share/Trash/" before.
rm in linux means "it's gone for good now". I'm not sure if rm has a "soft delete" or anything of the likes. The only thing to revert a rm is to restore a backup afaik.
I'm not a fan of aliasing rm, since aliases are user-only and if you don't keep your alias file portable on you for every system, through git or whatever, you rely on it on the wrong machine, and your stuff is gone.
rm should always be used with caution.
I don't use Linux but in macOS terminal I have the following alias in my
.zshrc
:where
trash
is hasseg.org/trash/Never been happier :D
That's a cool little utility for my mac! I'll be sure to try that one, thanks! :)
thank you pal..that was helpful :)
Gladly! I hope you will continue to enjoy linux and it's powerful terminal even more in the future :D
rm doesn't let you delete root anymore.
They fixed that, check the manpage.
That doesn't mean that a cleaned out /etc/ or any other system-critical directory won't hurt you a lot. Sure, you can't "kill" a linux box with RM anymore, but you can still make it pretty damn unusable
Isn't that what good permissions, not running as root by default, and backups, are all for?
Considering we are discussing this in a beginners post about Linux, the foundation of careful usage should still apply.
Other than that, yes you are certainly right. A beginner probably doesn't have these precautions in place though.
Wait a minute...!! i just saw title and thought.., it might be your story about linux. but it has totally different. 🤣🤣🤣🤣🤣. i think you title should be "basic linux command which developers user everyday."
Yeah!! Agree, I can write that too; however, this my post I can write whatever I want. There are many commands in this post which I don't use on daily basis.
:c)
Click bait. And I think he is right. But you are right, too. It will however not help you grow your views with that attitude. Think about it. ;-)
I am also in love with terminal bro , It's really power to master it , even if it take some times. if every one here new and got scared try to move slowly from GUI to terminal (CLI) , maybe your not going to feel the power only after a time of learning terminal shortcuts.
Good list! Missing some grepping :)
find
command is useful and I usually use it every workdays :).Helpful 👍👍👍
I think you meant
And great post I'm also a termlover :D
Great pick, thank you for correcting!! :)
"I am love with terminal" - makes no sense
Nice list. And I agree, the Linux shell is very nice and powerful. One of the reasons why I like using Linux :)
Some comments have been hidden by the post's author - find out more