GNU/Linux >> Tutoriales Linux >  >> Linux

¿Qué comandos faltan en su archivo bashrc?

Tuve esta extraña idea un día mientras revisaba un artículo para Enable Sysadmin. Tenía curiosidad por saber qué comandos usaban los administradores de sistemas de Linux en sus archivos bashrc. El archivo bashrc es un lugar para personalizar su entorno Linux y crear alias que pueden ahorrarle tiempo en la línea de comandos.

Decidí preguntarles a nuestros Sudoers si compartirían qué alias crearon y usaron todo el tiempo. Si bien no me sorprendieron las excelentes respuestas, encontré algunas cosas a tener en cuenta para mis accesos directos.

La idea era que compartir esto inspiraría a otros a mejorar su conocimiento de bashrc. Eche un vistazo a lo que compartió nuestro grupo de Sudoers y, por favor, tome prestado lo que quiera para hacer su vida de administrador de sistemas más fácil.

[ También te puede interesar: Análisis del historial de Bash en Linux ]

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'

Valentín Bajrami

Aquí hay algunas funciones de mi ~/.bashrc archivo:

# 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"; }'
}

Pedro Gervasio

Para cerrar por la noche, elimino todas las sesiones SSH y luego elimino cualquier conexión VPN:

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

Valentín 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'

Hornos Steve

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

Si bien mis alias de bashrc no son tan sofisticados como los de los tecnólogos anteriores, probablemente se dé cuenta de que realmente me gustan los atajos:

# 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 -'

Bonificación:organización de archivos bashrc y limpieza de archivos

Sabemos que a muchos administradores de sistemas les gusta crear secuencias de comandos para que su trabajo sea más automatizado. Aquí hay algunos consejos de nuestros Sudoers que pueden resultarle útiles.

Chris Collins

No sé a quién debo agradecer por esto, a una mujer increíble en Twitter cuyo nombre ya no recuerdo, pero ha cambiado la organización de mis alias y comandos de bash por completo.

Tengo Ansible drop individual .bashrc archivos en ~/.bashrc.d/ con cualquier alias, comando o acceso directo que desee, relacionado con cualquier tecnología en particular o rol de Ansible, y puedo administrarlos todos por separado por host. Ha sido el mejor truco que he aprendido para los archivos .bashrc.

Las cosas de Git obtienen un ~/.bashrc.d/git.bashrc , Kubernetes va en ~/.bashrc.d/kube.bashrc .

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

Pedro Gervasio

Estos no son alias de bashrc, pero los uso todo el tiempo. Escribí un pequeño script llamado clean para deshacerse del exceso de líneas en los archivos. Por ejemplo, aquí está nsswitch.conf con muchos comentarios y líneas en blanco:

[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]+"

[ Curso gratuito en línea:Descripción general técnica de Red Hat Enterprise Linux. ] 

Resumir

Eso es todo. Tener un entorno personalizado y eficiente hace que su experiencia con Linux sea aún mejor. El archivo bashrc es un excelente lugar para implementar esas personalizaciones. Espero que compartir estos consejos lo inspire a actualizar su archivo bashrc y le ahorre algunas pulsaciones de teclas.


Linux
  1. ¿Qué son los archivos dispersos en Linux?

  2. ¿Cuál es el propósito del archivo .bashrc en Linux?

  3. ¿Qué son la página mapeada en memoria y la página anónima?

  4. ¿Cómo escapar de los comandos en un alias de bashrc?

  5. ¿Qué significa un + al final de los permisos de ls -l?

Inicie Flatpaks desde su terminal Linux

¿Qué es ZFS? ¿Por qué la gente está loca por eso?

Bashhub:acceda al historial de su terminal desde cualquier lugar

¿Qué son los inodos en Linux?

¿Qué es el archivo .bashrc en Linux?

¿Cuál es su archivo PHP.ini predeterminado?