Ugrás a fő tartalomra

Alias


Azok a Linux felhasználók, akik már rendszeresen használják a terminált, bizonyos parancsok, műveletek elvégzéséhez, már ismerhetik az Alias-t. Akik azonban még csak barátkoznak a terminállal, azoknak elsőre egy TV-sorozat ugrik be. Pedig az Alias egy igen hasznos parancssori eszkö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 kell í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 paranccsal 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 én azt használom, de természetesen ez egyéb csomagkezelőkkel, és parancsokkal is működik. Ha szeretnénk egy rendszerfrissítést végrehajtani, ahhoz ezt kell begépelnünk:

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

Viszont, ha létrehozunk egy aliast a parancsunknak:

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

akkor, ha ezek után beírjuk az "sysupdate"-szót a terminálba, a fent leírt parancs végrehajtásra kerül!

Ezzel még nem sokat könnyítettünk a dolgunkon, hiszen ez az aliasunk a munkamenet végével (azaz a terminálablak bezárásakor) el is veszik. Viszont van arra módunk, hogy "tartósítsuk" a gyakran használt aliasokat! Bizonyára mindenki hallott már a bash-scriptekről! Nincs más hátra írnunk kell egy bash-scriptet, amelyben az aliasaink 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 Verzió 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, tárol a rendszerben valahol egy konfigurációs fájlt, amiben az általános beállításai, alapértelmezett funkciók szerepelnek. Ezt kiegészíthetjük saját parancsokkal, utasításokkal. 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ő két rejtett fájl amit találunk a mappánkban, az a .bash_history, valamint a .bash_logout. 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. Nos, ezek is bash-scriptek, amiket a parancsértelmező láthatatlanul a háttérben hajt végre. Tehát célszerű ide helyeznünk a mi kis alias-scriptünket. Ahhoz azonban, hogy ez végrehajtásra is kerüljön, valahogy tudatnunk kell a bash-sel, hogy hová tettük a scriptünket.

De hogyan tehetjük ezt meg? Minden Linux rendszeren található egy .bashrc-fájl, ami a Bash-nek az alap utasításait tartalmazza. Ennek tartalma disztribúciónként változhat. Nekem a LinuxMint alatt, az /etc/bash.bashrc -helyen található. Ezt ha root jogokkal megnyitjuk, majd a végére beillesztjük 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 aliasainkat. 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 aliasait. 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 remove='sudo apt-get autoremove'
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 a fájl, vagy 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.

További szép napot, és rendszerösszeomlás mentes kísérletezést mindenkinek!

Forrás: Wikipedia

Megjegyzések

Népszerű bejegyzések ezen a blogon

openSUSE 42.2

Folytatódik openSUSE használatom története..

Ami azóta történt:

Már nem csak virtuálisan használom, hanem élesben
Már nem a 42.1-et, hanem a 42.2-t.

Eredetileg Xfce-vel telepítettem fel, de "ránéztem" a KDE 5.9.3-ra (remélem helyesen írtam a verziószámot). Eddig minden rendben. Boot idő kiváló, apró szokásos openSUSE-s óvintézkedések listája telepítés után:

1. Azonnal felvenni a packman repót
2. Telepíteni a kodekeket
3. KDE esetén belőni, hogy a VLC backendet használja
4. A network settingsben beállítani, hogy ne a Wicked, hanem a Network manager kezelje a hálózatot. (a boot idő igy SSD-vel lerövidül kb 9-10 másodpercre, az előzőleg 40(!!!) másodpercről). Mert az van, hogy bootkor a wicked vacakol a nettel, és ez sokáig tart neki.

Továbbra is negatívum/vagy nem tudom hova tegyem:

Yast....... Váááá annyira jó, hogy van egy GUI tool, amin lehet csesztetni a dolgokat, de néha annyira nehézkes.. És szénné pörgeti a procit egy laza szoftvermenedszer indítás is. Mondjuk ez az egés…

openSUSE Leap 42.1 What a bummer...

openSUSE újra és újra visszatér a gépre..

Nemrégiben lehetőségem volt gépet bővíteni, ezért gondoltam a megnövekedett háttértárnak hála, no meg, mivel először van SSD-m, kipróbálom megint az openSUSE-t. Az SSD-re való telepítésről eddig bibliányi anyagot olvastam. Majd azt a végkövetkeztetést vontam le, hogy:
- btrfs-ben alapból van autotrim - azért nem árt a /var, valamint a /tmp mappákat külön kezelni (mivel van HDD, ezért arra áttenni) Így is tettem. Bár így utólag elgondolkodva, lehet, hogy paranoid vagyok. A fórumon (hup) sokan azt írták, hogy felesleges para ez az SSD partícionálgatás, mert mire az írási lehetőségeinek végére ér, addigra úgyis vesz az ember nagyobbat. Mindegy, én azért még a / partíciójának becsekkoltam telepítés közben a noatime opciót is. Mert hogy ezt szépen lehet grafikus felületen ma már.
Na de a lényeget: Az openSUSE-nak legutóbb a 13.2  kiadását használtam hosszabb távon. Azóta egyszer próbáltam a Leap-et, de akkor még nem nyerte el a tetszésemet az új K…

openSUSE 42.1 A kaland folytatódik..

Kisebb balfékségem története:

Ma belefutottam egy érdekes hibába, bár valószínűleg én magam okoztam. Tegnap, mielőtt kikapcsoltam volna a gépet kipróbáltam/ki szerettem volna próbálni, milyen a Gnome az openSUSE Leap-en,  most hogy már SSD-ről fut a cucc, de el sem indult, de mivel már este volt, nem volt vele kedvem sokat xarakodni, szóval gondoltam jól van, akkor gyalu minden ami csak Gnome, gdme le, lightdm vissza.. Szóval vissza a jó öreg stabil Xfce-hez. No nem mintha a Gnome nem lenne az, csak mivel már megpiszkáltam a rendszert(volt csomag, aminél terjesztőt váltottam((vendor change))), így nem volt kedvem kibogozni a függőségi hibákat, csak. A lényeg, hogy valószínűleg szétcseszte azaz átállítgatta a pulseaudio configot a nagy Gnome uninstall, ezért Firefoxban a videók, Deadbeefben meg a zenéim mentek dupla sebességgel, hang nélkül(Deadbeefben dupla sebességgel ment a progressbar). Beírva a "double speed audio and video playback linux" kifejezést a gugliba, ezt dobt…