-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.bash_func
63 lines (53 loc) · 2.23 KB
/
.bash_func
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#!/bin/sh
FZF_MISC_CMD_OPTS="--layout=reverse --height=50%"
# fkill - kill processes - list only the ones you can kill.
fkill() {
local pid
if [ "$UID" != "0" ]; then
pid=$(ps -f -u $UID | sed 1d | fzf -m --keep-right --layout=reverse --height=50% | awk '{print $2}')
else
pid=$(ps -ef | sed 1d | fzf -m --keep-right --height=50% | awk '{print $2}')
fi
if [ "x$pid" != "x" ]
then
echo $pid | xargs kill -${1:-9}
fi
}
fman() {
man -k . | fzf -q "$1" --prompt='man> ' --preview $'echo {} | tr -d \'()\' | awk \'{printf "%s ", $2} {print $1}\' | xargs -r man | col -bx | bat -l man -p --color always' | tr -d '()' | awk '{printf "%s ", $2} {print $1}' | xargs -r man
}
# Select a running docker container to stop
function ds() {
docker ps | sed 1d | fzf -q "$1" $FZF_MISC_CMD_OPTS --no-sort -m --tac | awk '{print $1}' | xargs -r docker stop
}
# Same as above, but allows multi selection:
function drm() {
container=$(docker ps -a | sed 1d | fzf -q "$1" $FZF_MISC_CMD_OPTS --no-sort -m --tac | awk '{ print $1 }')
docker stop $container
docker rm $container
}
# Select a docker image or images to remove
function drmi() {
docker images | sed 1d | fzf -q "$1" $FZF_MISC_CMD_OPTS --no-sort -m --tac | awk '{ print $3 }' | xargs -r docker rmi
}
function dbash() {
container=$(docker ps | sed 1d | fzf $FZF_MISC_CMD_OPTS --no-sort --tac | awk '{ printf $(NF)}')
container_name=($container)
echo_ok "docker exec -it $container_name /bin/bash"
docker exec -it $container_name /bin/bash
}
function threads() {
pid=$(ps -ef | sed 1d | fzf -m --keep-right --height=50% | awk '{print $2}')
if [[ ! -z "$pid" ]]; then
ps H -o "pid,tid,tty,%cpu,time,psr,comm" $pid
fi
}
function mem()
{
pid=$(ps -ef | sed 1d | fzf -m --keep-right --height=50% | awk '{print $2}')
ps -eo rss,pid,euser,args:100 --sort %mem | grep -v grep | grep -i $pid | awk '{printf $1/1024 "MB"; $1=""; print }'
}
# helpers
function echo_ok() { echo -e '\033[1;32m'"$1"'\033[0m'; }
function echo_warn() { echo -e '\033[1;33m'"$1"'\033[0m'; }
function echo_error() { echo -e '\033[1;31mERROR: '"$1"'\033[0m'; }