X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=shell%2Faliases.in;h=5e9c33a804cf57f77d3cb8ae28d2bbb4ece51e78;hb=577361b1594ffeba12b3bcb454b79e139b04e50a;hp=0c54b399677bdc31bb9a599c57fb7e34835fe620;hpb=a60026feb10e26fe211e62ca19787130a8b3b932;p=config%2Fdotfiles.git diff --git a/shell/aliases.in b/shell/aliases.in index 0c54b39..5e9c33a 100644 --- a/shell/aliases.in +++ b/shell/aliases.in @@ -1,7 +1,7 @@ # Aliases and similar functions which can be used by all shells (supporting # them). -# Copyright (C) 2011-2013 Simon Ruderich +# Copyright (C) 2011-2015 Simon Ruderich # # This file is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -22,15 +22,33 @@ alias c=clear alias d=cd alias e=elinks alias g=git +alias h=htop alias l=ls alias m=make alias p=less # p for pager +alias s=ssh +alias t=tig alias v=vim +alias x=exit # Shortcuts for a little less used programs. +alias ga='git annex' +alias gr=grep +alias gri='grep -i' +alias grr='grep -r' +alias grri='grep -ri' +alias mc='make clean' +alias mj='make -j$(nproc)' alias mu=mutt +alias rs=reset # like git's reset alias +alias sa='ssh-add -t 1h' +alias te=tree +# systemd ... (sc is provided as shell script for better completoin) +alias jc=journalctl +alias lc=loginctl +alias mc=machinectl -unalias mv cp 2> /dev/null +unalias mv cp 2>/dev/null # Ask for confirmation before overwriting files. Especially useful when moving # to a different directory. No alias for `rm` because I specify the files to # remove directly, so I know what will happen. @@ -42,7 +60,7 @@ alias cp='cp -i -a' # Make sure there is no alias named ls as it causes problems with the # following ls function on (at least) bash 4.0.35. -unalias ls 2> /dev/null +unalias ls 2>/dev/null # Improved ls which displays the files in columns (-C), visualizes # directories, links and other special files (-F) and pages everything through # less. @@ -51,13 +69,13 @@ unalias ls 2> /dev/null # normal ls which needs CLICOLOR_FORCE so it displays colors when used with a # pager. If none work no colors are used. # -# See `setup.sh` for details. LS_ENV, LS_PATH, LS_COLOR are replaced with the -# correct values when this file is generated. +# See `setup.sh` for details. LS_* are replaced with the appropriate values +# when this file is generated. ls() { - LS_ENV LS_PATH LS_COLOR -C -F "$@" 2>&1 | less + LS_ARGS -C -F "$@" 2>&1 | less } -unalias ll lt la lal lat 2> /dev/null +unalias ll lt la lal lat 2>/dev/null # List the files in list format with access rights, etc. alias ll='ls -l' # List the files sorted by last modification date. @@ -76,10 +94,6 @@ alias ...='cd ../..' alias ....='cd ../../..' alias .....='cd ../../../..' -# I sometimes confuse editor and shell, print a warning to prevent I exit the -# shell. -alias :q='echo "This is not Vim!" >&2' - # Automatically use unified diffs. alias diff='diff -u' @@ -90,9 +104,31 @@ alias diff='diff -u' alias du='du -shc' # Use human readable sizes and format it nicely, thanks to climagic # (http://twitter.com/climagic/status/49623386762129408). -alias df='df -hP COLUMN' +df() { + command df -hP "$@" COLUMN +} # Highlight matched strings. Doesn't work with a pager! alias grep='grep --color=auto' +# Pipe output through less. +tree() { + command tree -C "$@" | less +} + +# Better viewer for info pages .. just pipe everything into less. +info() { + command info "$@" 2>/dev/null | less +} + +# Using su (or sudo) as root to a less privileged user might allow the other +# user to run arbitrary commands as root. See also Debian bugs #628843 and +# #657784. +if test "`id -u`" -eq 0; then + su() { + echo 'never su as root' >&2 + return 1 + } +fi + # vim: ft=sh