Difference between revisions of "Core utilities"

From ArchWiki
Jump to: navigation, search
(merge grep/ls from General Recommendations)
(add alias section)
Line 9: Line 9:
 
* [[Useful Commands]]
 
* [[Useful Commands]]
 
* [[General Recommendations]]
 
* [[General Recommendations]]
 +
 +
==alias==
 +
[[Wikipedia:alias|alias]] is a command in various shells such as [[Bash]] which enables a replacement of a word with another string. It is mainly used for abbreviating a system command, or for adding default arguments to a regularly used command.
 +
 +
Personal aliases are preferably stored in {{Filename|~/.bashrc}}; system-wide aliases (which affect all users) belong in {{Filename|/etc/bash.bashrc}}. An example excerpt from {{Filename|~/.bashrc}} covering several time-saving aliases:
 +
 +
{{File
 +
|name=~/.bashrc
 +
|content=<nowiki>
 +
# modified commands
 +
alias diff='colordiff'              # requires colordiff package
 +
alias grep='grep --color=auto'
 +
alias more='less'           
 +
alias df='df -h'             
 +
alias du='du -c -h'         
 +
alias mkdir='mkdir -p -v'   
 +
alias nano='nano -w'         
 +
alias ping='ping -c 5'       
 +
 +
# new commands
 +
alias da='date "+%A, %B %d, %Y [%T]"'
 +
alias du1='du --max-depth=1'
 +
alias hist='history | grep $1'      # requires an argument
 +
alias openports='netstat --all --numeric --programs --inet'
 +
alias pg='ps -Af | grep $1'        # requires an argument
 +
 +
# privileged access
 +
if [ $UID -ne 0 ]; then
 +
    alias sudo='sudo '
 +
    alias scat='sudo cat'
 +
    alias svim='sudo vim'
 +
    alias root='sudo su'
 +
    alias reboot='sudo reboot'
 +
    alias update='sudo pacman -Su'
 +
    alias netcfg='sudo netcfg2'
 +
fi
 +
 +
# cd
 +
alias home='cd ~'
 +
alias back='cd $OLDPWD'
 +
alias cd..='cd ..'
 +
alias ..='cd ..'
 +
 +
# ls
 +
alias ls='ls -hF --color=always'
 +
alias lr='ls -R'                    # recursive ls
 +
alias ll='ls -l'
 +
alias la='ll -A'
 +
alias lx='ll -BX'                  # sort by extension
 +
alias lz='ll -rS'                  # sort by size
 +
alias lt='ll -rt'                  # sort by date
 +
alias lm='la | more'
 +
 +
# safety features
 +
alias cp='cp -i'
 +
alias mv='mv -i'
 +
alias rm='rm -i'
 +
</nowiki>}}
  
 
==grep==
 
==grep==

Revision as of 17:29, 10 January 2010

This article deals with so-called "core" utilities on a GNU/Linux system, such as less, ls, and grep. The scope of this article includes -- but is not limited to -- those utilities included with the GNU Template:Package Official package. What follows are various tips and tricks and other helpful information related to these utilities. If sections grow too detailed, please split into separate articles.

This page is currently under construction.

See also:

alias

alias is a command in various shells such as Bash which enables a replacement of a word with another string. It is mainly used for abbreviating a system command, or for adding default arguments to a regularly used command.

Personal aliases are preferably stored in Template:Filename; system-wide aliases (which affect all users) belong in Template:Filename. An example excerpt from Template:Filename covering several time-saving aliases:

Template:File

grep

grep is a command line text search utility originally written for Unix. The grep command searches files or standard input globally for lines matching a given regular expression, and prints them to the program's standard output.

Colored output

Beyond aesthetics, Template:Codeline's color output is immensely useful for learning Template:Codeline and Template:Codeline's functionality.

To add it, write the following entry to Template:Filename:

export GREP_COLOR="1;33"
alias grep='grep --color=auto'

The variable Template:Codeline is used to specify the output color, in this example a light yellow color.

Although Template:Codeline's man page states that Template:Codeline is deprecated and that Template:Codeline is preferable, this variable does not work as of grep version 2.5.4, so use Template:Codeline for now.

ls

ls is a command to list files in Unix and Unix-like operating systems.

Colored output

File Template:Filename should already have the following entry copied from Template:Filename:

alias ls='ls --color=auto'

The next step will further enhance the colored Template:Codeline output; for example, broken (orphan) symlinks will start showing in a red hue. Add the following to Template:Filename and relogin, or source the file:

eval `dircolors -b`
Note: These are not single quotes/apostrophes; these are backquotes/backticks/grave accents.