-
Star
(864)
You must be signed in to star a gist -
Fork
(487)
You must be signed in to fork a gist
-
-
Save cferdinandi/ef665330286fd5d7127d to your computer and use it in GitHub Desktop.
| # Terminal Cheat Sheet | |
| pwd # print working directory | |
| ls # list files in directory | |
| cd # change directory | |
| ~ # home directory | |
| .. # up one directory | |
| - # previous working directory | |
| help # get help | |
| -h # get help | |
| --help # get help | |
| man # manual | |
| cat # output the contents of a file | |
| mkdir # create new directory | |
| open # open a file with the associated program, a directory with Finder, or a URL with the default web browser | |
| ps # list all running processes | |
| kill # terminate existing process | |
| rmd # permanently delete file | |
| rmdir # remove directory | |
| ## Working with Git | |
| ### Quick Start | |
| git clone <url> # Clone directory | |
| git checkout -b <new-branch> # Create new local branch | |
| git push -u origin <new-branch> # Sync local branch with remote | |
| git checkout <branch> # Checkout branch | |
| git push origin <branch> # Push branch to remote | |
| git branch -d <branchname> # deletes local branch | |
| git push origin :<branchname> # deletes remote branch | |
| git subtree push --prefix docs origin gh-pages # push docs as subtree to gh-pages | |
| ### Clone Directory | |
| git clone <url> | |
| ### Create Project | |
| cd project/ | |
| git init # initializes the repository | |
| git add . # add those 'unknown' files | |
| git commit # commit all changes, edit changelog entry | |
| git rm --cached <file>... # ridiculously complicated command to undo, in case you forgot .gitignore | |
| ### Branching and Merging | |
| git branch # show list of all branches (* is active) | |
| git checkout -b linux-work # create a new branch named "linux-work" | |
| <make changes> | |
| git commit -a | |
| git checkout master # go back to master branch | |
| git merge linux-work # merge changesets from linux-work (Git >= 1.5) | |
| git pull . linux-work # merge changesets from linux-work (all Git versions) | |
| git branch -m <oldname> <newname> # rename branch | |
| git branch -m <newname> # rename current branch | |
| ### Delete Project | |
| git branch -d <branchname> # deletes local branch | |
| git push origin :<branchname> # deletes remote branch | |
| git remote prune <branchname> # update local/remote sync | |
| ### Merging Upstream | |
| git remote -v # Get list of remote branches | |
| git remote add upstream <upstream github url> # Add original as upstream | |
| git remote -v # Check upstream | |
| git fetch upstream # Get original repo | |
| git checkout development # Switch to main branch in local fork | |
| git merge upstream/development # Merge original with fork | |
| git diff --name-only | uniq | xargs subl # Fix conflicts in Sublime Text | |
| ### Importing Patches | |
| git apply < ../p/foo.patch | |
| git commit -a | |
| ### Exporting Patches | |
| <make changes> | |
| git commit -a -m "commit message" | |
| git format-patch HEAD^ # creates 0001-commit-message.txt | |
| # (HEAD^ means every patch since one revision before the | |
| # tip of the branch, also known as HEAD) | |
| ### Inspecting Revisions | |
| # inspect history visually | |
| gitk # this opens a Tk window, and shows you how the revisions are connected | |
| # inspect history | |
| git log # this pipes a log of the current branch into your PAGER | |
| git log -p # ditto, but append a patch after each commit message | |
| # inspect a specific commit | |
| git show HEAD # show commit info, diffstat and patch | |
| # of the tip of the current branch | |
| ### Referring to Revisions | |
| # by name | |
| git log v1.0.0 # show history leading up to tag "v1.0.0" | |
| git log master # show history of branch "master" | |
| # relative to a name | |
| git show master^ # show parent to last revision of master | |
| git show master~2 # show grand parent to tip of master | |
| git show master~3 # show great grand parent to tip of master (you get the idea) | |
| # by output of "git describe" | |
| git show v1.4.4-g730996f # you get this string by calling "git describe" | |
| # by hash (internally, all objects are identified by a hash) | |
| git show f665776185ad074b236c00751d666da7d1977dbe | |
| git show f665776 # a unique prefix is sufficient | |
| # tag a revision | |
| git tag v1.0.0 # make current HEAD known as "v1.0.0" | |
| git tag interesting v1.4.4-g730996f # tag a specific revision (not HEAD) | |
| ### Comparing Revisions | |
| # diff between two branches | |
| git diff origin..master # pipes a diff into PAGER | |
| git diff origin..master > my.patch # pipes a diff into my.patch | |
| # get diffstat of uncommitted work | |
| git diff --stat HEAD | |
| ## Sublime as default text editor | |
| cd ~ | |
| mkdir bin | |
| ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl | |
| git config --global core.editor "subl -n -w" | |
| ### If that's not working | |
| sudo rm -rf /usr/local/bin/subl | |
| sudo ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/local/bin |
Awesome!!! thank you!
Great
Thanks! Really useful.
Thank you so much!
Thanks for sharing
Super useful, thank you for sharing!
Hello, I found this link in the youtube video about macrodroid shell script (here) maybe you can help me with my problem, I want to create a macro in this app (macrodroid) in which it deletes the files / media folders of whatsapp, but for some reason my attempts did not work I used some commands of attempts such as "rm /local folders/", "rmd", "rmdir", "rm -f", "rm - r", etc. and none of them worked, at most some commands showed the names of the image files in the folders I had created for testing, but they were never removed/deleted.
In the app I found some ready-made script macros to delete exactly whatsapp files, when testing, it didn't work either and I want help on how I can do this since there are more than one folder with several files inside.
I forgot a command to open a new port in the terminal, does anyone know it?
very useful thanks
Love it.
I forgot a command to open a new port in the terminal, does anyone know it?
Open a Port in Terminal (Quick Guide)
- Listen on a port (test):
nc -l -p 8080- Allow through firewall (Ubuntu):
sudo ufw allow 8080
- Allow through firewall (CentOS/RHEL):
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload- Run simple server:
python3 -m http.server 8080
Thank you so much! It's very helpful!