Compare commits

9 Commits

Author SHA1 Message Date
Robin-Charles Guihéneuf 66015c7762 misc: Use ripgrep instead of ack 2026-04-27 13:55:26 +02:00
Robin-Charles Guihéneuf 1d947a4c9a misc: Install cargo from source 2026-04-27 13:55:26 +02:00
Robin-Charles Guihéneuf 1beccf1252 navi: Fix git clean command 2026-04-27 13:55:26 +02:00
Robin-Charles Guihéneuf 1333250def navi: Add git patch cheat sheets 2026-04-27 13:55:26 +02:00
Robin-Charles Guihéneuf fff6f346cb navi: Add docker image commands 2026-04-27 13:55:26 +02:00
Robin-Charles Guihéneuf 553b019911 navi: Improve compression commands 2026-04-27 13:55:26 +02:00
Robin-Charles Guihéneuf 89d164c957 navi: Rework replace commands 2026-04-27 13:55:26 +02:00
Robin-Charles Guihéneuf 521541490d navi: Add docker commands 2026-04-27 13:55:26 +02:00
Robin-Charles Guihéneuf bfcf494bba navi: Add docker compose commands 2026-04-27 13:55:26 +02:00
6 changed files with 108 additions and 24 deletions
+2 -1
View File
@@ -19,7 +19,7 @@ install_git_repo () {
# Install packages
sudo apt update
sudo apt upgrade
sudo apt install minicom ssh git tig ack tree npm cargo python3-pip curl zsh
sudo apt install minicom ssh git tig ripgrep tree npm python3-pip curl zsh
# Install Oh my ZSH
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
@@ -57,6 +57,7 @@ install_git_repo https://github.com/junegunn/fzf.git $HOME/.fzf
$HOME/.fzf/install
# Install navi
curl https://sh.rustup.rs -sSf | sh
cargo install navi
mkdir -p $HOME/.local/share/navi/cheats
ln -sfn $HOME/.dotfiles/navi/ $HOME/.local/share/navi/cheats/vulporuza
+25 -6
View File
@@ -1,16 +1,34 @@
% compression
# Create a tar archive
tar cf <name>.tar <files>
tar -cvf <name>.tar <files>
# Create a tar archive (gz compression)
tar -cvzf <name>.tar.gz <files>
# Create a tar archive (pigz compression)
tar -I pigz -cvf <name>.tar.gz <files>
# Create a tar archive (bzip2 compression)
tar -cvjf <name>.tar.bz2 <files>
# Create a tar archive (pbzip2 compression)
tar -I pbzip2 -cvf <name>.tar.bz2 <files>
# Extract a tar archive
tar xf <tar_file>
tar -xf <tar_file>
# Create a tar archive with gz compression
tar czf <name>.tar.gz <files>
# Extract a tar (gz compression)
tar -xzf <targz_file>
# Extract a tar using gz compression
tar xzf <targz_file>
# Extract a tar (pigz compression)
tar -I pigz -xf <targz_file>
# Extract a tar (bzip2 compression)
tar -xjf <tarbz2_file>
# Extract a tar (pbzip2 compression)
tar -I pbzip2 -xf <tarbz2_file>
# Create a gz archive
gzip -9 -c <files> > <name>.gz
@@ -21,4 +39,5 @@ gzip -d <gz_file>
$ files: ls | awk -F: '{ print $1}'
$ tar_file: ls *.tar | awk -F: '{ print $1}'
$ targz_file: ls *.tar.gz | awk -F: '{ print $1}'
$ tarbz2_file: ls *.tar.bz2 | awk -F: '{ print $1}'
$ gz_file: ls *.gz | awk -F: '{ print $1}'
+20 -2
View File
@@ -1,5 +1,8 @@
% docker-compose
# Build a compose YAML
sudo docker compose -f <file> build
# Up a compose YAML
sudo docker compose -f <file> up
@@ -12,10 +15,25 @@ sudo docker compose -f <file> up -d --force-recreate
# Down a compose YAML
sudo docker compose -f <file> down
# Print the last lines of compose YAML logs
# Execute command in a compose YAML
sudo docker compose -f <file> exec <service> <command>
# Print logs of a compose YAML
sudo docker compose -f <file> logs --tail 100
# Print the last lines of compose YAML logs and following its logs
# Print service logs of a compose YAML
sudo docker compose -f <file> logs --tail 100 <service>
# Print and follow logs of a compose YAML
sudo docker compose -f <file> logs --tail 100 -f
# Print and follow service logs of a compose YAML
sudo docker compose -f <file> logs --tail 100 -f <service>
# Remove volume of a compose YAML
sudo docker volume rm <dir>_<volume>
$ dir: basename $PWD
$ file: ls *.yaml | awk '{print $1}'
$ volume: sudo docker compose -f <file> config --volumes | awk '{print $1}'
$ service: sudo docker compose -f <file> config --services | awk '{print $1}'
+26 -11
View File
@@ -3,24 +3,24 @@
# Create a volume
sudo docker volume create <name>
# Remove a volume
sudo docker volume rm <volume>
# List all volumes
sudo docker volume ls
# Remove volume
sudo docker volume rm <volume>
$ volume: sudo docker volume ls --format "{{.Name}}" | awk '{print $1}'
$ volume: sudo docker volume ls --format "{{.Name}}" | sort | awk '{print $1}'
# Create new network
docker network create <name>
sudo docker network create <name>
# List the networks
# Remove network
sudo docker network rm <network>
# List all networks
sudo docker network ls
# Remove volume
sudo docker volume rm <network>
$ network: sudo docker network ls --format "{{.Name}}" | awk '{print $1}'
$ network: sudo docker network ls --format "{{.Name}}" | sort | awk '{print $1}'
# List the running containers
sudo docker ps
@@ -43,4 +43,19 @@ sudo docker logs --tail 100 <container>
# Print the last lines of a container's logs and following its logs
sudo docker logs --tail 100 <container> -f
$ container: sudo docker container ls --format "{{.Names}}" | awk '{print $1}'
$ container: sudo docker container ls --format "{{.Names}}" | sort | awk '{print $1}'
# List all images
sudo docker image ls
# Remove an image
sudo docker image rm <image>
# Save an image into an archive
sudo docker image save <image> -o <name>
# Load an image from an archive
sudo docker image load -i <archive>
$ image: sudo docker image ls --format "{{.Repository}}:{{.Tag}}" | sort | awk '{print $1}'
$ archive: ls | awk '{print $1}'
+27 -2
View File
@@ -38,8 +38,8 @@ git push --set-upstream <remote_name> <branch_name>
# Displays formatted log of commits for a repo
git log --all --decorate --oneline --graph
# Clear everything
git clean -dxf
# Clean everything
git clean -fdx
# Add a new module
git submodule add <repository> <path>
@@ -67,5 +67,30 @@ git push origin <name>
git tag -d <tag_name>
git push -d origin <tag_name>
# Create a patch from current full diff
git diff > <patch_name>.patch
# Create a patch from current file diff
git diff <diff_file> > <patch_name>.patch
# Create a patch from commit(s)
git format-patch <first_commit>..<last_commit>
# Show a diff patch
git apply --stat <patch_name>
# Check a diff patch
git apply --check <patch_name>
# Apply a diff patch
git apply <patch_name>
# Apply a commit patch
git am <patch_name>
# Variables
$ tag_name: git tag -l | awk '{print $1}'
$ diff_file: git diff --name-only | awk '{print $1}'
$ first_commit: git log -n 20 --oneline | fzf --preview 'git show --color=always {1}' | awk '{print $1}'
$ last_commit: git log -n 20 --oneline | fzf --preview 'git show --color=always {1}' | awk '{print $1}'
$ patch_name: ls *.patch | awk '{print $1}'
+8 -2
View File
@@ -54,12 +54,18 @@ meld <(hexdump -C <file_1>) <(hexdump -C <file_2>)
# Compare 2 files (bcompare)
bcompare <file_1> <file_2>
# Replace expression in files
ack -rl "<expression>" | xargs sed -i 's#<expression>#<replace_expression>#g'
# Replace expression in files (ack)
ack -rl '<expression>' | xargs sed -i 's#<expression>#<replace_expression>#g'
# Replace expression in files (rg)
rg -l '<expression>' | xargs sed -i 's#<expression>#<replace_expression>#g'
# Disable Bluetooth ERTM
sudo bash -c "echo Y > /sys/module/bluetooth/parameters/disable_ertm"
# Show disk usage
df -h
$ user: cat /etc/passwd | awk -F: '{ print $1}'
$ group: cat /etc/group | awk -F: '{ print $1}'
$ interface: ip link | grep "^[0-9]*:" | sed "s/[0-9]*: \(.*\):.*/\1/" | awk -F: '{ print $1}'