사용자 도구

사이트 도구


linux:directory_navigation

Linux command line Directory Navigation

Mark/Jump/Unmark

  • vi ~/.bashrc
    export MARKPATH=$HOME/.marks
    function jump { 
        cd -P "$MARKPATH/$1" 2>/dev/null || echo "No such mark: $1"
    }
    function jopen { 
        thunar  "$MARKPATH/$1" 2>/dev/null || echo "No such mark: $1"
    }
    function mark { 
        mkdir -p "$MARKPATH"; ln -s "$(pwd)" "$MARKPATH/$1"
    }
    function unmark { 
        rm -i "$MARKPATH/$1"
    }
    function marks {
        ls -l "$MARKPATH" | sed 's/  / /g' | cut -d' ' -f9- | sed 's/ -/\t-/g' && echo
    }
    _completemarks() {
      local curw=${COMP_WORDS[COMP_CWORD]}
      local wordlist=$(find $MARKPATH -type l -printf "%f\n")
      COMPREPLY=($(compgen -W '${wordlist[@]}' -- "$curw"))
      return 0
    }
     
    complete -F _completemarks jump unmark
  • usage
    cd ~/some/very/deep/often-used/directory
    mark deep
     
    # This adds a symbolic link named deep to the directory ~/.marks.
    # To jump to this directory, type the following from any place in the filesystem:
    jump deep
     
    # To remove the bookmark (i.e., the symbolic link), type:
    unmark deep
     
    # You can view all marks by typing:
    marks

기타

linux/directory_navigation.txt · 마지막으로 수정됨: 2021/07/26 22:50 저자 kwon37xi