diff --git a/README.md b/README.md index e2588ce..d629e9c 100644 --- a/README.md +++ b/README.md @@ -116,6 +116,7 @@ Feel free to take a look. You might learn new things. They have been designed to - [Nanobox Boxfile](tools/nanobox_boxfile.yml) - [Nanobox CLI](tools/nanobox_cli.sh) - [Nginx](tools/nginx.sh) +- [PM2](tools/pm2.sh) - [Ubuntu](tools/ubuntu.sh) diff --git a/languages/bash.sh b/languages/bash.sh index b7a1d22..d77d54c 100644 --- a/languages/bash.sh +++ b/languages/bash.sh @@ -139,6 +139,7 @@ ps -u yourusername # lists your processes kill # kills the processes with the ID you gave killall # kill all processes with the name top # displays your currently active processes +lsof # lists open files bg # lists stopped or background jobs ; resume a stopped job in the background fg # brings the most recent job in the foreground fg # brings job to the foreground diff --git a/tools/aws.sh b/tools/aws.sh index 7509cd3..d90525a 100644 --- a/tools/aws.sh +++ b/tools/aws.sh @@ -33,7 +33,7 @@ aws s3 mv s3:/// # Move a ## Example: aws s3 mv text.txt s3://mybucket/text.txt aws s3 mv s3:// s3:// --recursive # Move all objects from bucket_name_1 to bucket_name_2 -aws sync # Sync all contents from source to a target directory. This will copy and update all missing or outdated files or objects between source and target -## Examples: aws sync . s3://mybucket -## aws sync s3://bucket_1 s3://bucket_2 -aws sync --delete # Sync all contents from source to target, but this will remove all missing files and objects from the target that are not present in source +aws s3 sync # Sync all contents from source to a target directory. This will copy and update all missing or outdated files or objects between source and target +## Examples: aws s3 sync . s3://mybucket +## aws s3 sync s3://bucket_1 s3://bucket_2 +aws s3 sync --delete # Sync all contents from source to target, but this will remove all missing files and objects from the target that are not present in source diff --git a/tools/docker.sh b/tools/docker.sh index a24f374..c19579e 100644 --- a/tools/docker.sh +++ b/tools/docker.sh @@ -16,6 +16,7 @@ docker rm $(docker ps -a -q) # Remove all containers from this ma docker images -a # Show all images on this machine docker rmi # Remove the specified image from this machine docker rmi $(docker images -q) # Remove all images from this machine +docker logs -f # Live tail a container's logs docker login # Log in this CLI session using your Docker credentials docker tag username/repository:tag # Tag for upload to registry docker push username/repository:tag # Upload tagged image to registry diff --git a/tools/git.sh b/tools/git.sh index 0f32f4a..2e630ad 100644 --- a/tools/git.sh +++ b/tools/git.sh @@ -46,6 +46,10 @@ git stash branch my-branch stash@{1} # creates a branch from your stash git stash drop stash@{1} # deletes the {1} stash git stash clear # clears all the stash +git rebase -i # Rebase commits from a commit ID +git rebase --abort # Abort a running rebase +git rebase --continue # Continue rebasing after fixing all conflicts + git clean -f # clean untracked files permanently git clean -f -d/git clean -fd # To remove directories permanently git clean -f -X/git clean -fX # To remove ignored files permanently diff --git a/tools/pm2.sh b/tools/pm2.sh new file mode 100644 index 0000000..ecdfc04 --- /dev/null +++ b/tools/pm2.sh @@ -0,0 +1,26 @@ +############################################################################## +# PM2 +############################################################################## + +# Start commands +pm2 start # Start an application +pm2 start # Start a stopped application +pm2 start ecosystem.config.js # Start an app with the configuration in ecosystem file +pm2 start -i # Start an app in cluster mode with n duplicated instances + +# Management commands +pm2 ls # List all processes +pm2 save # Save process list to respawn at reboot +pm2 restart # Restart an app by ID +pm2 reload # Reload an app by ID +pm2 stop # Stop an app by ID +pm2 stop all # Stop all running instances +pm2 delete # Delete an app by ID +pm2 delete all # Delete all instances +pm2 ecosystem # Generate a sample ecosystem.config.js file + +# Monitoring +pm2 show # Show a specific app's description +pm2 logs --lines= # Show the last n lines of logs of an app +pm2 env # Show all environment variables of an app +pm2 monit # Monitor all applications' logs, metrics,etc diff --git a/tools/ubuntu.sh b/tools/ubuntu.sh index 65a7280..f2f89c4 100644 --- a/tools/ubuntu.sh +++ b/tools/ubuntu.sh @@ -11,3 +11,5 @@ sudo ufw allow from remote_IP_address to any port 3306 # Allow external ip to ac scp user@remote_host:remote_file local_file # download: remote -> local scp local_file user@remote_host:remote_file # upload: local -> remote + +cat /proc//maps # Show the current virtual memory usage of a Linux process