rm command in Linux with examples (some are absolutely dangerous)

 rm command in Linux with examples (some are absolutely dangerous)



rm command in UNIX stands for remove and by default is used for removing files. It is simple but a powerful command especially when used with options such as -rf which allow it to delete non-empty directories forcefully.

Removing Files in Linux:

The rm command, by default, cannot remove Directories and only works on files. 

$ mkdir A

$ touch B.txt

$ rm B.txt

$ rm A       #will not work because A is a directory

Removing Multiple Files in Linux:

To remove multiple files at once, we can write file names separated by spaces after the rm command or use a pattern to remove multiple files that fit the pattern.

$ rm a b

$rm *.txt

Removing a Directory in Linux:

To remove a directory, you can use the -r or -R switch, which deletes a directory recursively including its content (subdirectories and files). If it is an empty directory you can also use rmdir command.

$rm A             #will not work because A is a directory

$ rm -R A/

Removing Files with Confirmation Prompt:

To get a confirmation prompt while deleting a file, use the -i option.

$ rm -i a.txt

Removing Directories with Confirmation Prompt:

To get a confirmation prompt while deleting a directory and its sub-directories, use the -R and -i option.

$ rm -Ri A/

---------------------important separate line--------------------------------

Removing File or Directory Forcefully:

To remove a file or directory forcefully, you can use the option -f force a deletion operation without rm prompting you for confirmation. For example, if a file is unwritable, rm will prompt you whether to remove that file or not, to avoid this and simply execute the operation.

$ rm -f a.txt

When you combine the -r and -f flags, it means that you recursively and forcibly remove a directory (and its contents) without prompting for confirmation.

$ rm -rf B             #even the file or directory is write-protected

Showing Information While Deletion:

To show more information when deleting a file or directory, use the -v option, this will enable rm command to show what is being done on the standard output.

$ rm -rv *

Is rm -rf Command bulletproof?

rm -rf as powerful as it is, can only bypass read-only access of nested files and not directories. To delete the directory ( B/C ) we need to access it through superuser privileges.

It is not recommended to use this command as a superuser if you are not 100% sure what you are doing as you can delete important files.

The “rm -Rf /” Command:

You should always keep in mind that “rm -rf” is one of the most dangerous commands, that you should never run on a Linux system, especially as a root. The following command will clear everything on your root(/) partition.

$ sudo rm -rf /


How to get into a Docker container

How to get into a Docker container


When you use docker image for your development, you may want to get into the container to check the files etc. Here are three ways to get into the container for your image.

|=== 1. Terminal
|=== 2. Docker + Terminal
|=== 3. Docker

Solution 1 (Terminal):

- check the containerID with $docker ps
- then  run $docker exec -it containerID /bash/bin

Solution 2 (Docker + Terminal):

- if you are using docker desktop, open it and check the running docker container
- you would be able to see >/ (CLI) when you move your mouse over the container
- click and go for it


Solution 3 (Docker):

-> Click the name of your container in Docker

-> Then, click Files



-> You can browse, open and edit files as you want

Enjoy!

Top 20 Git Commands

git config

Usage: git config –global user.name “[name]”

Usage: git config –global user.email “[email address]”

This command sets the author name and email address respectively to be used with your commits.

git init

Usage: git init [repository name]

This command is used to start a new repository.

git clone

Usage: git clone [url]

This command is used to obtain a repository from an existing URL.

git add

Usage: git add [file]

This command adds a file to the staging area.

Usage: git add *

This command adds one or more to the staging area.

Usage: git add .

This command adds one or more to the staging area.

git commit

Usage: git commit -m “[ Type in the commit message]”

This command records or snapshots the file permanently in the version history.

Usage: git commit -a

This command commits any files you’ve added with the git add command and also commits any files you’ve changed since then.

git diff

Usage: git diff

This command shows the file differences which are not yet staged.

Usage: git diff –staged

This command shows the differences between the files in the staging area and the latest version present.

Usage: git diff [first branch] [second branch]

This command shows the differences between the two branches mentioned.

git reset

Usage: git reset [file]

This command unstages the file, but it preserves the file contents.

Usage: git reset [commit]

This command undoes all the commits after the specified commit and preserves the changes locally.

Usage: git reset –hard [commit]

This command discards all history and goes back to the specified commit.

git status

Usage: git status

This command lists all the files that have to be committed.

git rm

Usage: git rm [file]

This command deletes the file from your working directory and stages the deletion.

Git log

Usage: git log

This command is used to list the version history for the current branch.

Usage: git log –follow[file]

This command lists version history for a file, including the renaming of files also.

git show

Usage: git show [commit]

This command shows the metadata and content changes of the specified commit.

git tag

Usage: git tag [commitID]

This command is used to give tags to the specified commit.

git branch

Usage: git branch

This command lists all the local branches in the current repository.

Usage: git branch [branch name]

This command creates a new branch.

Usage: git branch -d [branch name]

This command deletes the feature branch.

git checkout

Usage: git checkout [branch name]

This command is used to switch from one branch to another.

Usage: git checkout -b [branch name]

This command creates a new branch and also switches to it.

git merge

Usage: git merge [branch name]

This command merges the specified branch’s history into the current branch.

git remote

Usage: git remote add [variable name] [Remote Server Link]

This command is used to connect your local repository to the remote server.

git push

Usage: git push [variable name] master

This command sends the committed changes of master branch to your remote repository.

Usage: git push [variable name] [branch]

This command sends the branch commits to your remote repository.

Usage: git push –all [variable name]

This command pushes all branches to your remote repository.

Usage: git push [variable name] :[branch name]

This command deletes a branch on your remote repository.

git pull

Usage: git pull [Repository Link]

This command fetches and merges changes on the remote server to your working directory.

git stash

Usage: git stash save

This command temporarily stores all the modified tracked files.

Usage: git stash pop

This command restores the most recently stashed files.

Usage: git stash list

This command lists all stashed changesets.

Usage: git stash drop

This command discards the most recently stashed changeset.

Featured Posts

SnowPro Badges and Certificates

SnowPro Badges and Certificates Online Verification https://achieve.snowflake.com/profile/richardhou888/wallet

Popular Posts Recommended