16 888
Tesztek Android Google Apple Microsoft Samsung Huawei Linux Okostelefon Biztonság Tudomány Facebook Videojáték Film
https://lh3.googleusercontent.com/-_rNWwdka7S0/UJPfe_8wn4I/AAAAAAAAKss/_fwDgc8eyG4/s800/LXTerminal_004.png

Alias ‑ Hozzunk létre saját parancsokat!

Takler Tamás2012.11.02. 15.57
https://lh3.googleusercontent.com/-_rNWwdka7S0/UJPfe_8wn4I/AAAAAAAAKss/_fwDgc8eyG4/s800/LXTerminal_004.pngAzon Linux felhasználók, akik már rendszeresen használják a terminált bizonyos műveletek elvégzéséhez, már ismerhetik az Alias nyújtotta lehetőségeket. Persze a terminállal még csak most ismerkedőknek sincs okuk az aggodalomra, az Alias ugyanis egy könnyen kezelhető, mégis hatalmas segítséget nyújtó Linux/UNIX-os segédeszköz.

Miben tud nekünk segíteni az Alias?

Nos, amikor hosszabb parancsokat kell beírnunk a terminálba, akkor sokszor idegesítő lehet, ha egymás után többször kell valamit megismételni, vagy hosszan írogatni, egy egyébként egyszerű művelet végrehajtatásához. Ilyenkor lehet nagyon jó segítség számunkra az Alias. Ezzel a megoldással saját egyedi parancsszót, vagy rövidítést adhatunk a terminál parancsoknak, vagy akár parancsok sorozatának is. A bemutató részben Debian alapú rendszerek csomagkezelő parancsai is szerepelnek, mivel jelenpillanatban ezt az operációs rendszert használom, de természetesen más rendszerekkel is működik, ha a teendőket átültetjük az általuk használt csomagkezelőre és parancsokra. Ha szeretnénk egy rendszerfrissítést végrehajtani, ahhoz ezt kell begépelnünk a Debian alapú rendszereken:

sudo apt-get update && sudo apt-get upgrade

Viszont, ha létrehozunk egy alias-t a parancsunknak:

alias sysupdate='sudo apt-get update && sudo apt-get upgrade'

akkor, ha ezek után beírjuk az "sysupdate" parancsot a terminálba, a fentebb leírt parancs végrehajtásra kerül!

Ezzel még nem sokat könnyítettünk a dolgunkon, hiszen ez az alias-unk a munkamenet végével (azaz a terminálablak bezárásakor) el is veszik. Viszont arra is van módunk, hogy "tartósítsuk" a gyakran használt alias-okat! Bizonyára sokan hallottunk már a bash-szkriptekről! Nincs más hátra, írnunk kell egy bash-szkriptet, amelyben az alias-aink fognak szerepelni. Mit kell ehhez tudnunk?

Részlet a Bash Wikipedia bejegyzésből

A Bash egy UNIX rendszerhéj, amely a GNU Projekt részeként készült. A futtatható fájl neve Bash egy játékos mozaikszó, mely a Bourne again illetve a born again kifejezéseket rövidíti. Ez a korai Bourne shell-re utal, melyet még 1978-ban adtak ki a Unix 7 részeként. A Bash-t 9 évvel ezt követően 1987-ben készítette el Brian Fox, majd 1990-ben Chet Ramey vette át a szoftver gondozását.

A legtöbb Linux rendszeren, valamint a Mac OS X rendszereken a bash az alapértelmezett shell. A Microsoft Windows platformra is átírták a Subsystem for UNIX-based Applications (SUA) használatával, vagy POSIX emuláció biztosításával a Cygwinnel, MSYS-szal.
A bash-t a GNU GPL licenc alatt publikálták, tehát szabad szoftver.


A Bash, mint minden a Linuxon, egy konfigurációs fájlt tárol valahol a merevlemezen, amiben az általános beállításai és alapértelmezett funkciók szerepelnek. Ezt kiegészíthetjük saját parancsokkal és utasításokkal is. Persze, mint minden hasonló beavatkozáshoz, ehhez is root jogok szükségesek. De mielőtt nekiesnénk a bashrc-nek, előbb kicsit részletesebben nézzünk körül a saját mappánkban! Ha megnyitjuk a fájlkezelőt, és megjelenítjük a rejtett fájlokat, akkor láthatunk párat a saját mappánkban is. A legtöbb disztribúcióban elsőre két számunkra érdekes rejtett fájlt találunk a mappánkban: a .bash_history-t, valamint a .bash_logoutot. A .bash_history funkcióját már a nevéből is könnyen kitalálhatjuk, ez a legutóbbi terminálparancsainkat rejti. A .bash_logout pedig a kijelentkezéskor "kipucolja" a bash-history-t azaz az előzményeket. Ezek is Bash-szkriptek, amiket a parancsértelmező láthatatlanul a háttérben hajt végre. Tehát célszerű ide helyeznünk a mi kis alias-szkriptünket. Ahhoz azonban, hogy ez végrehajtásra is kerüljön, valahogy tudatnunk kell a Bash-sel, hogy hová tettük a szkriptünket.

Aktuális alias lista

De hogyan tehetjük ezt meg? Minden Linux rendszeren található egy .bashrc-fájl, ami a Bash alap utasításait tartalmazza. Ennek tartalma disztribúciónként változhat. Nekem a Linux Mint alatt, az /etc/bash.bashrc elérési útvonalon található. Ezt kell root jogokkal megnyitnunk, majd a végére illesztenünk a következő sorokat:

if [ -f ~/.parancsaim ]; then
. ~/.parancsaim
fi


Ezek után a bashrc, most így fog kinézni:

# System-wide .bashrc file for interactive bash(1) shells.

# To enable the settings / commands in this file for login shells as well,
# this file has to be sourced in /etc/profile.

# If not running interactively, don't do anything
[ -z "$PS1" ] && return

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi

use_color=false

# Set colorful PS1 only on colorful terminals.
# dircolors --print-database uses its own built-in database
# instead of using /etc/DIR_COLORS. Try to use the external file
# first to take advantage of user additions. Use internal bash
# globbing instead of external grep binary.
safe_term=${TERM//[^[:alnum:]]/?} # sanitize TERM
match_lhs=""
[[ -f ~/.dir_colors ]] && match_lhs="${match_lhs}$(<~/.dir_colors)"
[[ -f /etc/DIR_COLORS ]] && match_lhs="${match_lhs}$( [[ -z ${match_lhs} ]] \
&& type -P dircolors >/dev/null \
&& match_lhs=$(dircolors --print-database)
[[ $'\n'${match_lhs} == *$'\n'"TERM "${safe_term}* ]] && use_color=true

if ${use_color} ; then
# Enable colors for ls, etc. Prefer ~/.dir_colors #64489
if type -P dircolors >/dev/null ; then
if [[ -f ~/.dir_colors ]] ; then
eval $(dircolors -b ~/.dir_colors)
elif [[ -f /etc/DIR_COLORS ]] ; then
eval $(dircolors -b /etc/DIR_COLORS)
fi
fi

if [[ ${EUID} == 0 ]] ; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\h\[\033[01;34m\] \W \$\[\033[00m\] '
else
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\] '
fi

alias ls='ls --color=auto'
alias grep='grep --colour=auto'
else
if [[ ${EUID} == 0 ]] ; then
# show root@ when we don't have colors
PS1='\u@\h \W \$ '
else
PS1='\u@\h \w \$ '
fi
fi

# Try to keep environment pollution down, EPA loves us.
unset use_color safe_term match_lhs

# Commented out, don't overwrite xterm -T "title" -n "icontitle" by default.
# If this is an xterm set the title to user@host:dir
#case "$TERM" in
#xterm*|rxvt*)
# PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'
# ;;
#*)
# ;;
#esac

# enable bash completion in interactive shells
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi

# if the command-not-found package is installed, use it
if [ -x /usr/lib/command-not-found ]; then
function command_not_found_handle {
# check because c-n-f could've been removed in the meantime
if [ -x /usr/lib/command-not-found ]; then
/usr/bin/python /usr/lib/command-not-found -- $1
return $?
else
return 127
fi
}
fi

if [ -f ~/.parancsaim ]; then
. ~/.parancsaim
fi

/usr/bin/mint-fortune


Miután ezt elvégeztük, mentsük el a bash.bashrc-t!

Mit is csináltunk most? Megmutattuk a bashrc-nek, hogy honnan "húzza" be az alias-ainkat. Ha ezzel végeztünk, akkor hozzunk létre egy szöveges dokumentumot Gedit -ben, vagy egyéb egyszerű szövegszerkesztőben! Írjuk bele a leggyakrabban használt parancsaink alias-ait. Segítségképp mellékelem a sajátomat:

## csomagkezelő parancsok
alias Ud='sudo apt-get update'
alias Ug='sudo apt-get upgrade'
alias removepkg='sudo apt-get autoremove'
alias UG='sudo apt-get update && sudo apt-get upgrade'

## fájlkezelő parancsok
alias NF='touch'

## azonnali bezárás
alias kill='killall'

## szövegszerkesztés
alias SZERK='sudo geany'
alias edit='geany'

## képernyőkép készítése a "-d 10" a képernyőkép készítésének késleltetési idejét jelenti másodpercekben
alias scrot10='scrot -d 10 /home/tom/scrot10.png'

## másik partíció felcsatolása
##alias msda1='sudo mount /dev/sda1 /home/tom/windows -t ntfs'

## telepítés pl: install inkscape
alias install='sudo apt-get install'
alias mindenamikell='sudo apt-get install agave blender inkscape geany gimp gnome-commander gparted k3b vlc'

## terminál képernyő törlése
alias clr='clear'



A fentiekből a következőket figyelhetjük meg

A Bash Scriptekben, és egyéb végrehajtható szöveges parancsfájlokban a kommenteket kettős kereszttel azaz a #-tel jelöljük. A #-tel kezdődő sorokat a rendszerünk figyelmen kívül hagyja.

A parancsaink végrehajtatásánál figyeljünk arra, hogy kis és nagybetűs szavakat is használhatunk, viszont ha egy nagybetűvel kezdődő parancsot adunk meg, akkor azt végrehajtatáskor is ugyanúgy kell leírnunk!

A fájl neve előtt szereplő pont azt jelenti, hogy ez egy rejtett fájl. Tehát, ahogy az Windowson is van, a Unix/Linux rendszereken is van lehetőségünk rejtett fájlokat, mappákat használni. Itt egy pont jelöli azt a fájl, vagy a mappa neve előtt.

Miután létrehoztuk a szöveges fájlt, mentsük el a saját mappánkba, arra az útvonalra, amit a bashrc-nek előzőleg megadtunk! Kiterjesztést nem kell használnunk, csak nevet! Tehát a fájlunkat ne .parancsaim.txt-nek, vagy .parancsaim.rtf-nek nevezzük el, hanem csak egyszerűen .parancsaim-nak!

Forrás: Wikipedia
Kattints ide  ➜

Az Androbit technológiai és tudományos magazinnál hiszünk abban, hogy az információ mindenkit megillet. Hosszú évek munkájával megszerzett hírnevünknek köszönhetően megadatott számunkra az a lehetőség, hogy műszaki témájú médiumként is elérhessünk minden internetező korosztályt. Tesszük ezt olyan hírekkel és cikkekkel, amik között egyaránt szerepel nagyobb tömegeket és kisebb szakmai csoportokat érintő tartalom is.

A témák gondos összeválogatásának és a cikkek minőségi kidolgozottságának hála mára Magyarország egyik legnépszerűbb technológiai és tudományos információforrásává váltunk – fejlesztéseinkkel és kutatásainkkal pedig igyekszünk mindig egy lépéssel a versenytársak előtt járni.

A weboldalunkon található, szerkesztőségünk által készített tartalmakra vonatkozó összes felhasználási jogot az Androbit technológiai és tudományos magazin birtokolja. A tartalmak egyes részleteinek felhasználását kizárólag látványos (vagy jól hallható) forrásmegjelöléssel engedélyezzük. A feltételek megszegésének jogi következményei lehetnek. A feltételektől eltérő tartalomfelhasználás kizárólag megegyezés útján lehetséges.
Copyright © 2007-2016 – Makay József (makay@androbit.net)
A fák az Alphabet legnagyobb ellenségei
A Casio bemutatott egy 1,9 megapixeles kamerát
Kigyulladt 8 darab iPhone ‑ az Apple szerint nem ők a hibásak
A Microsoft összeállt a Snapdragonokat gyártó Qualcommal
Már 20 millióan használják az Apple Musicot
Brutális részletesség: Teljes felbontású képek a Light 16 szenzoros kamerájából
Felkapott témák
Az egyik legnépszerűbb antivírus egyben a legrosszabb is
Sokan fognak kiakadni a Samsung Galaxy S8-ra
2016 legjobb okostelefonjai - Sebességteszt
Android 1.0 Apple Pie vs. Android 7.1 Nougat
Postán érkezhet a Windows 10 hibás frissítésének hibajavítása
Melyik lesz 2017 legjobb okostelefonja?
Állásajánlatok
Technical developer
Minőségbiztosítási/Minőségirányítási Mérnök
C++ fejlesztő
IT Business Analyst
Fejlesztőmérnök-kísérleti mérnök – Villamos gépek és járműhajtások
Szimulációs mérnök - Akusztika, Járműhajtás Fejlesztés
Functional Specialist, Business Process Automation