GNU/Linux >> Znalost Linux >  >> Linux

Jaké příkazy chybí ve vašem souboru bashrc?

Jednoho dne jsem měl tento zvláštní nápad, když jsem recenzoval článek pro Enable Sysadmin. Byl jsem zvědavý, jaké příkazy linuxoví správci systému používají ve svých souborech bashrc. Soubor bashrc je místo, kde si můžete přizpůsobit prostředí Linuxu a vytvořit aliasy, které vám mohou ušetřit čas na příkazovém řádku.

Rozhodl jsem se požádat naše Sudoery, zda by se podělili o to, jaké aliasy vytvořili a neustále používali. I když jsem nebyl překvapen skvělými reakcemi, našel jsem pár věcí, které je třeba vzít v úvahu pro své zkratky.

Myšlenka byla, že sdílení tohoto by inspirovalo ostatní ke zlepšení jejich bashrc důvtipu. Podívejte se, co sdílela naše skupina Sudoers, a půjčte si, prosím, cokoli, co chcete, abyste si usnadnili život systémového administrátora.

[ Také by se vám mohlo líbit: Analyzovat historii Bash v Linuxu ]

Jonathan Roemer

# Require confirmation before overwriting target files. This setting keeps me from deleting things I didn't expect to, etc
alias cp='cp -i'
alias mv='mv -i'
alias rm='rm -i'

# Add color, formatting, etc to ls without re-typing a bunch of options every time
alias ll='ls -alhF'
alias ls="ls --color"
# So I don't need to remember the options to tar every time
alias untar='tar xzvf'
alias tarup='tar czvf'

# Changing the default editor, I'm sure a bunch of people have this so they don't get dropped into vi instead of vim, etc. A lot of distributions have system default overrides for these, but I don't like relying on that being around
alias vim='nvim'
alias vi='nvim'

Valentin Bajrami

Zde je několik funkcí z mého ~/.bashrc soubor:

# Easy copy the content of a file without using cat / selecting it etc. It requires xclip to be installed
# Example:  _cp /etc/dnsmasq.conf
_cp()
{
  local file="$1"
  local st=1
  if [[ -f $file ]]; then
    cat "$file" | xclip -selection clipboard
    st=$?
  else
    printf '%s\n' "Make sure you are copying the content of a file" >&2
  fi
  return $st    
}

# This is the function to paste the content. The content is now in your buffer.
# Example: _paste   

_paste()
{
  xclip -selection cliboard -o
}

# Generate a random password without installing any external tooling
genpw()
{
  alphanum=( {a..z} {A..Z} {0..9} ); for((i=0;i<=${#alphanum[@]};i++)); do printf '%s' "${alphanum[@]:$((RANDOM%255)):1}"; done; echo
}
# See what command you are using the most (this parses the history command)
cm() {
  history | awk ' { a[$4]++ } END { for ( i in a ) print a[i], i | "sort -rn | head -n10"}' | awk '$1 > max{ max=$1} { bar=""; i=s=10*$1/max;while(i-->0)bar=bar"#"; printf "%25s %15d %s %s", $2, $1,bar, "\n"; }'
}

Petr Gervase

Kvůli nočnímu vypínání ukončím všechny relace SSH a poté ukončím všechna připojení VPN:

#!/bin/bash
/usr/bin/killall ssh
/usr/bin/nmcli connection down "Raleigh (RDU2)"
/usr/bin/nmcli connection down "Phoenix (PHX2)"

Valentin Rothberg

alias vim='nvim'
alias l='ls -CF --color=always''
alias cd='cd -P' # follow symlinks
alias gits='git status'
alias gitu='git remote update'
alias gitum='git reset --hard upstream/master'

Steve Ovens

alias nano='nano -wET 4'
alias ls='ls --color=auto'
PS1="\[\e[01;32m\]\u@\h \[\e[01;34m\]\w  \[\e[01;34m\]$\[\e[00m\] "
export EDITOR=nano
export AURDEST=/var/cache/pacman/pkg
PATH=$PATH:/home/stratus/.gem/ruby/2.7.0/bin
alias mp3youtube='youtube-dl -x --audio-format mp3'
alias grep='grep --color'
alias best-youtube='youtube-dl -r 1M --yes-playlist -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]''
alias mv='mv -vv'
shopt -s histappend
HISTCONTROL=ignoreboth

Jason Hibbets

I když moje aliasy bashrc nejsou tak sofistikované jako předchozí technologové, pravděpodobně můžete říct, že mám opravdu rád zkratky:

# User specific aliases and functions

alias q='exit'
alias h='cd ~/'
alias c='clear'
alias m='man'
alias lsa='ls -al'
alias s='sudo su -'

Bonus:Organizace souborů bashrc a čištění souborů

Víme, že mnoho systémových administrátorů rádo skriptuje věci, aby jejich práce byla více automatizovaná. Zde je několik tipů od našich Sudoers, které by se vám mohly hodit.

Chris Collins

Nevím, komu mám za to poděkovat, nějaké úžasné ženě na Twitteru, jejíž jméno si už nepamatuji, ale úplně to změnilo organizaci mých bashových aliasů a příkazů.

Mám Ansible drop individual .bashrc soubory do ~/.bashrc.d/ s libovolným aliasem nebo příkazem nebo zkratkou, kterou chci, související s jakoukoli konkrétní technologií nebo rolí Ansible a mohu je všechny spravovat samostatně na hostitele. Byl to nejlepší trik, který jsem se kdy pro soubory .bashrc naučil.

Věci Git získávají ~/.bashrc.d/git.bashrc , Kubernetes jde do ~/.bashrc.d/kube.bashrc .

if [ -d ${HOME}/.bashrc.d ]
then
  for file in ~/.bashrc.d/*.bashrc
  do
    source "${file}"
  done
fi

Petr Gervase

Nejsou to bashrc aliasy, ale používám je pořád. Napsal jsem malý skript s názvem clean pro odstranění přebytečných řádků v souborech. Zde je například nsswitch.conf se spoustou komentářů a prázdných řádků:

[pgervase@pgervase etc]$ head authselect/nsswitch.conf
# Generated by authselect on Sun Dec  6 22:12:26 2020
# Do not modify this file manually.

# If you want to make changes to nsswitch.conf please modify
# /etc/authselect/user-nsswitch.conf and run 'authselect apply-changes'.
#
# Note that your changes may not be applied as they may be
# overwritten by selected profile. Maps set in the authselect
# profile always take precedence and overwrites the same maps
# set in the user file. Only maps that are not set by the profile

[pgervase@pgervase etc]$ wc -l authselect/nsswitch.conf
80 authselect/nsswitch.conf

[pgervase@pgervase etc]$ clean authselect/nsswitch.conf
passwd:     sss files systemd
group:      sss files systemd
netgroup:   sss files
automount:  sss files
services:   sss files
shadow:     files sss
hosts:      files dns myhostname
bootparams: files
ethers:     files
netmasks:   files
networks:   files
protocols:  files
rpc:        files
publickey:  files
aliases:    files

[pgervase@pgervase etc]$ cat `which clean`
#! /bin/bash
#
/bin/cat $1 | /bin/sed 's/^[ \t]*//' | /bin/grep -v -e "^#" -e "^;" -e "^[[:space:]]*$" -e "^[ \t]+"

[ Bezplatný online kurz:Technický přehled Red Hat Enterprise Linux. ] 

Sbalit

To je vše. Díky personalizovanému a efektivnímu prostředí je váš Linux ještě lepší. Soubor bashrc je skvělým místem pro implementaci těchto přizpůsobení. Doufám, že sdílení těchto tipů vás inspiruje k aktualizaci souboru bashrc a ušetří vám několik stisknutí kláves.


Linux
  1. 10 Find Commands pro zlepšení vyhledávání souborů v Linuxu [Základy]

  2. Jaké funkce jsou v Zsh a chybí Bash, nebo naopak?

  3. Jaké jsou vaše jmenné servery

  1. Co znamená „rc“ v .bashrc?

  2. K čemu jsou Inody dobré?

  3. Co jsou řídké soubory v Linuxu

  1. Jaký je účel souboru .bashrc v Linuxu

  2. K čemu slouží soubor .la libtool?

  3. V jakém jazyce jsou psány příkazy shellu?