Linux and GitHub Cheat-sheet
Linux Commands:
# List all the files or directories
ls
# Lists hidden files or directories:
ls -a
# Long listing format:
ls -l
# Create new directory:
mkdir <directory_name>
# Multiple directory creation:
mkdir -p A/B/C/D
# Remove directory:
rmdir <directory_name>
# Remove multiple directories:
rm -rf <directory_name>
# Remove files:
rm <file_name>
# change directory:
cd <path_where_to_navigate>
# create an empty file:
touch <file_name>
# Copy file:
cp <source_path> <destination_path>
# Move file:
mv <source_path> <destination_path>
# To write some content inside a file:
echo <some msg> > <file_name>
# display contents of a file:
cat <file_name>
# show previous commands/operations performed in shell:
history
# To search a word (string in a file):
grep "string" <filename>
# Return the specified number of lines from the top:
head
# Return the specified number of lines from the bottom:
tail
# To show disk space:
df -H
File permissions:
# To change permission of the file
chmod <permission> <file_name>
eg. chmod 700 a.txt hashtag#readwriteexeute to user only
0 - nothing
4 - only read
2 - only write
1 - only execute
4+1 = 5 read and execute
4+2 = 6 read and write both
4+2+1 = 7 read,write and execute
r -read
w - write
x -execute
u -user
g -group
o -other
# To change file or directory ownership:
chown <user_name> <file_name>
# To change group ownership:
chgrp <group_name> <file_name>
Access Control List:
setfacl and getfacl are used for setting up ACL and showing ACL respectively.
# For check ACL permission:
getfacl <name of file or directory>
# For set ACL permission to user:
setfacl -m u:user:permissions /path_to_file
User management:
# To create a new user :
sudo useradd <user_name>
# To set a password for user:
sudo passwd <user_name>
# To modify a Linux user:
sudo usermod <user_name>
# To delete a Linux user:
sudo userdel <user_name>
# For add group account:
sudo groupadd <group_name>
Git Commands:
# Initialize an empty git repository: transforms the current directory into a Git list of all remote repositories that are currently connected to your local repository.
git init
# Clone an existing git repository:
git clone <repository_url>
# Add files and Moves changes from the working directory to the staging area:
git add <file_name>
# Add all current directory files to git :
git add .
# Commit all the staged files to git.
git commit -m "commit_message"
# To show the status of your git repository:
git status
Git Branch:
# To list all of the branches:
git branch
# Create a new branch:
git branch <branch_name>
# For going to specific branch:
git checkout <branch_name>
# for creating and going to that branch:
git checkout -b <branch_name>
# For deleting branch:
git checkout -d <branch_name>
Remote origin:
# list of all remote repositories that are currently connected to local repository:
git remote -v
# To add remote origin URL:
git remote add origin <remote_git_url>
# To remove remote origin URL:
git remote remove origin
# To upload local repository content to a remote repository:
git push origin <branch_name>
# To pull your remote repository content to local repository:
git pull origin <branch_name>
# To fetch down all the branches from that Git remote:
git fetch
# To check your git commits and all logs:
git log
git configuration:
# To set author name to be used for all commits by the current user :
git config --global user.name <your_username>
# To set author email to be used for all commits by the current user:
git config --global user.email <your_email>
# to merge two branches in Git:
git merge <branch_name>
Cherry-pick:
# Merge just one specific commit from another branch to your current branch:
git cherry-pick [commit_id]
git revert:
# Undo a single given commit, without modifying commits that come after it:
git revert <commit_id>
git reset:
# Go back to specific commit:
git reset <commit_id>
git rebase:
# To rebase all the commits between another branch and the current branch state:
git rebase <other_branch_name>
Temporary commits:
# To save modified and staged changes:
git stash
# list stack-order of stashed file changes:
git stash list
# write working from top of stash stack:
git stash pop
Thank you for reading!