- Checking the current linux kernel version:
uname -r - Checking out which distribution and version of linux you're running:
cat /etc/issue - Running a program with some namespaces unshared from parent:
unshare [options](check options here)
- Removing a directory and its contents:
rm -rf [dirname] - Moving a directory and its contents:
mv source/ target/ - Copying a directory and its contents:
cp -r source/ target/ - To rename a single file just use
mv! - Printing a message to the console:
echo “[my message]” - Writing to a text file:
echo “[my message]” > [my .txt file] - Printing a file line by line:
cat [file] | more - Printing the first few lines of a file:
head [file]orhead [file] -n [number of lines] - Writing stdout and stderr outputs to a file:
[command that generates output] &> [filename.txt] - finding files by name in the current directory:
find . -name [filename] - finding files by name in a directory, with depth:
find [directory] -name [filename] - finding files by name in a directory:
find [directory] -maxdepth [depth] -name [*filename*] -print - searching files for a string or regex:
grep '[regex]' [directory] -rnw - searching files for a string (additional options):
grep '[regex]' [directory] -rnw -A [# of lines to show before match] -B [# of line after] - Display shared dependencies of a binary:
ldd [binary] - Running a command (or interactive shell) with a special root directory:
chroot [new root] [command]
- Printing a variable:
echo "$variable" - Storing the output of a command in a variable :
variable="$(command)" - Parsing JSON with bash: check the jq tool
https://stedolan.github.io/jq/!
- Listing all running processes:
ps aux - Listing open node files and their processes:
lsof -i | grep node - Searching for a process that matches a string:
ps aux | grep [search string] - Killing a process:
kill [process ID] - Killing all processes which match a name:
pkill [name] - Getting the name of the command that created a process:
ps -o comm= -p [PID] - Getting some info on a process:
ps -Flww -p [PID]
- Checking which version of npm is running:
npm -v - Going back to a previous version of npm (for example npm 5):
npm install -g npm@5 - Listing all globally installed modules:
npm ls -g --depth 0
- Generating dependency graph:
yarn nx dep-graph
- Listing installed Node versions:
nvm ls - Using one of the installed Node versions:
nvm use [version] - Updating and managing multiple versions of Node: check
https://github.com/creationix/nvm
- Getting the path of the current directory:
const DIR_PATH = path.resolve(__dirname); - Going from a relative to an absolute path:
path.resolve(DIR_PATH, '../../relative/path')
- Comparing the last two commits:
git diff HEAD^ HEAD - Comparing the last two commits and only showing changed filenames:
git diff HEAD^ HEAD --name-only - Comparing the last commit with the staged differences:
git diff --cached - Limiting the diff to one file:
git diff HEAD^ HEAD -- [filename] - Specifying the number of lines to show around each diff:
git diff HEAD^ HEAD -U[# of lines] - Ignoring a file (like package-lock.json) from a git diff:
git diff HEAD^ HEAD -- . ":(exclude)package-lock.json" - Reverting a single file to the last commit:
git checkout [filename] - Fetch + rebase:
git fetch --all && git rebase -v - Adding a remote origin:
git remote add origin [url] - Listing all branches:
git branch -r - Listing all branches starting with the ones with the most recent commits:
git branch --sort=-committerdate - Deleting a branch locally:
git branch -d [branch] - Removing a remote branch (be careful!!):
git push origin --delete [branch] - Copying the content of a branch to a new one:
git checkout -b new_branch old_branch - Going back to head while saving local modifications:
git stash - Undoing a
git stashwith:git stash pop - Merging two branches:
git checkoutthe branch you want to merge to, thengit merge [branch to copy from] - Undoing the last commit ONLY if not pushed yet. Your changes will still be kept in the filesystem:
git reset HEAD@{1} - Untracking a file that has already been commited, after adding it to .gitignore:
git rm --cached [filename] - Undoing a delete when you haven't yet commited:
git reset --hard HEAD^
- Displaying system-wide info:
docker info - Displaying docker version:
docker -v - Getting docs on a command (including options):
docker [command] --help - Checking which images you have locally:
docker images - Pulling an image (or a repository) from a registry:
docker pull [name] - Running a docker image in interactive mode:
docker run --interactive --tty [image name]ordocker run -it [image name] sh - Running a docker image:
docker run [image ID] - Deleting a docker image:
docker image rm [name] - Checking how a docker image has changed over time:
docker history [image id] - List running containers:
docker ps - Dumping some info on a particular image (created at, ENV variables, etc...):
docker inspect [container ID or image ID] - Pausing all processes in a container:
docker pause [container ID] - Unpausing the processes in a container:
docker unpause [container ID] - Killing a container:
docker kill [container ID] - Executing a command on a running container:
docker exec [container ID] [command, like "ps aux"] - Checking the logs of a running container:
docker logs [container ID]
- Checking which version is running:
postgres -V - Launching the postgresql CLI:
psql
The following commands should all be typed inside the PostgreSQL server:
- Listing the defined databases on the server:
\l
Here is the format of a select statement: SELECT column or columns FROM tablename WHERE optional conditions
- selecting all columns of all rows of a table:
SELECT * from [tablename] - selecting all columns of all rows where [column] starts with some [characters]:
SELECT * from [tablename] WHERE [column] LIKE '[characters]%' - selecting all columns of all rows where [column] contains some [characters]:
SELECT * from [tablename] WHERE [column] LIKE '%[characters]%' - selecting all columns of all rows where [column] ends with some [characters]:
SELECT * from [tablename] WHERE [column] LIKE '%[characters]' - Other conditional selections in SQL:
= Equal> Greater than< Less than>= Greater than or equal<= Less than or equal<> Not equal to
Here is the format of a create statement:
create table [tablename]
(
[column 1] [data type] [optional constraint],
....
)
Here are the most common Data types:
char(size): Fixed-length character string. Size is specified in parenthesis. Max 255 bytes.varchar(size): Variable-length character string. Max size is specified in parenthesis.number(size): Number value with a max number of column digits specified in parenthesis.date: Date valuenumber(size,d): Number value with a maximum number of digits of "size" total, with a maximum number of "d" digits to the right of the decimal.
Here is the format of an insert statement:
insert into [tablename]
(first_column, ... last_column)
values (first_value, ... last_value);
- Using
console.group("Group name"), logging... and thenconsole.groupEnd() - A convenient way to print objects is
console.dir(object, { depth: null })
- Ignoring a rule in a file (for example max-lines):
/* eslint max-lines: 1 */ - Ignoring an error in the next line:
/* eslint-disable-next-line id-length */ - Disabling eslint for the whole file:
/* eslint-disable */
(PS: These commands are not guaranteed to be up to date, but I just put them here to find them easily
- Listing the ECS tasks of a cluster:
aws ecs list-tasks --cluster [cluster] - Describing an ECS task:
aws ecs describe-tasks --cluster [cluster] --tasks [task ID or list of IDs separated by a space]
If running a Jupyter Notebook, be sure to run the following commands from within the Jupyter terminal
- Checking Conda version:
conda -V - Updating Conda package:
conda update [package] - Checking the list of all Conda packages:
conda list - Upgrading Conda version:
conda update condaand thenconda update anacondato update Anaconda packages - Checking Mamba version:
mamba -V - Upgrading Mamba:
mamba update -n base mamba
- Checking Jupyter version:
jupyter notebook --version - Upgrading Jupyter if using Anaconda:
conda update jupyter