Differences

This shows you the differences between two versions of the page.

Link to this comparison view

uso:laboratoare:new:05-cli:nice-to-know [2018/10/30 00:15]
liza_elena.babu
uso:laboratoare:new:05-cli:nice-to-know [2019/10/27 19:34] (current)
adrian.zatreanu
Line 1: Line 1:
 ===== Nice to know ===== ===== Nice to know =====
  
-=== Aliasuri ===+==== Aliasuri ​====
  
 În shell, un **alias** este un șir de caractere ce poate ține locul oricărei comenzi. Putem vedea ce  În shell, un **alias** este un șir de caractere ce poate ține locul oricărei comenzi. Putem vedea ce 
Line 10: Line 10:
 <code bash> <code bash>
 student@uso:​~$ cat ~/.bashrc student@uso:​~$ cat ~/.bashrc
-# ~/.bashrc: executed by bash(1) for non-login shells. +(...)
-# see /​usr/​share/​doc/​bash/​examples/​startup-files (in the package bash-doc) +
-# for examples +
- +
-# If not running interactively,​ don't do anything +
-case $- in +
-    *i*) ;; +
-      *) return;; +
-esac +
- +
-# don't put duplicate lines or lines starting with space in the history. +
-# See bash(1) for more options +
-HISTCONTROL=ignoreboth +
- +
-# append to the history file, don't overwrite it +
-shopt -s histappend +
- +
-# for setting history length see HISTSIZE and HISTFILESIZE in bash(1) +
-HISTSIZE=1000 +
-HISTFILESIZE=2000 +
- +
-# check the window size after each command and, if necessary,​ +
-# update the values of LINES and COLUMNS. +
-shopt -s checkwinsize +
- +
-# If set, the pattern "​**"​ used in a pathname expansion context will +
-# match all files and zero or more directories and subdirectories. +
-#shopt -s globstar +
- +
-# make less more friendly for non-text input files, see lesspipe(1) +
-[ -x /​usr/​bin/​lesspipe ] && eval "​$(SHELL=/​bin/​sh lesspipe)"​ +
- +
-# 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 +
- +
-# set a fancy prompt (non-color, unless we know we "​want"​ color) +
-case "​$TERM"​ in +
-    xterm-color|*-256color) color_prompt=yes;;​ +
-esac +
- +
-# uncomment for a colored prompt, if the terminal has the capability; turned +
-# off by default to not distract the user: the focus in a terminal window +
-# should be on the output of commands, not on the prompt +
-#​force_color_prompt=yes +
- +
-if [ -n "​$force_color_prompt"​ ]; then +
-    if [ -x /​usr/​bin/​tput ] && tput setaf 1 >&/​dev/​null;​ then +
- # We have color support; assume it's compliant with Ecma-48 +
- # (ISO/​IEC-6429). (Lack of such support is extremely rare, and such +
- # a case would tend to support setf rather than setaf.) +
- color_prompt=yes +
-    else +
- color_prompt= +
-    fi +
-fi +
- +
-if [ "​$color_prompt"​ = yes ]; then +
-    PS1='​${debian_chroot:​+($debian_chroot)}\[\033[01;​32m\]\u@\h\[\033[00m\]:​\[\033[01;​34m\]\w\[\033[00m\]\$ ' +
-else +
-    PS1='​${debian_chroot:​+($debian_chroot)}\u@\h:​\w\$ ' +
-fi +
-unset color_prompt force_color_prompt +
- +
-# If this is an xterm set the title to user@host:​dir +
-case "​$TERM"​ in +
-xterm*|rxvt*) +
-    PS1="​\[\e]0;​${debian_chroot:​+($debian_chroot)}\u@\h:​ \w\a\]$PS1"​ +
-    ;; +
-*) +
-    ;; +
-esac +
- +
-# enable color support of ls and also add handy aliases +
-if [ -x /​usr/​bin/​dircolors ]; then +
-    test -r ~/​.dircolors && eval "​$(dircolors -b ~/​.dircolors)"​ || eval "​$(dircolors -b)+
-    alias ls='ls --color=auto'​ +
-    #alias dir='​dir --color=auto'​ +
-    #alias vdir='​vdir --color=auto'​ +
- +
-    alias grep='​grep --color=auto'​ +
-    alias fgrep='​fgrep --color=auto'​ +
-    alias egrep='​egrep --color=auto'​ +
-fi +
- +
-# colored GCC warnings and errors +
-#export GCC_COLORS='​error=01;​31:​warning=01;​35:​note=01;​36:​caret=01;​32:​locus=01:​quote=01'​ +
 # some more ls aliases # some more ls aliases
 alias ll='ls -alF' alias ll='ls -alF'
Line 130: Line 42:
  
 <code bash> <code bash>
-student@uso:​~/​uso.git/$ cat ~/​.bash_aliases+student@uso:​~/​uso-lab$ cat ~/​.bash_aliases
 alias go='​gnome-open'​ alias go='​gnome-open'​
 alias grep='​grep --color=auto'​ alias grep='​grep --color=auto'​
Line 143: Line 55:
 </​code>​ </​code>​
  
-1. Creați-vă propriul alias și verificați că funcționează așa cum vă așteptați. După ce faceți modificări ​ +    - Creați-vă propriul alias și verificați că funcționează așa cum vă așteptați. După ce faceți modificări asupra fișieruluiconsultați [[https://​stackoverflow.com/​questions/​2518127/​how-do-i-reload-bashrc-without-logging-out-and-back-in|această]] pagină.
-asupra fișierului ​rulați comanda ​consultați ​ +
-[[https://​stackoverflow.com/​questions/​2518127/​how-do-i-reload-bashrc-without-logging-out-and-back-in|această]] ​ +
-pagină.+
  
-=== Personalizarea shell-ului ===+==== Personalizarea shell-ului ​====
 Prin personalizarea shell-ului înțelegem modificarea unor fișiere de configurație,​ schimbarea culorilor, ​ Prin personalizarea shell-ului înțelegem modificarea unor fișiere de configurație,​ schimbarea culorilor, ​
 să modificăm ''​username-ul'',​ ''​hostname-ul'',​ ''​home directory''​ și/sau ''​prompt-ul'',​ creearea unor  să modificăm ''​username-ul'',​ ''​hostname-ul'',​ ''​home directory''​ și/sau ''​prompt-ul'',​ creearea unor 
-aliasuri etc. La această secțiune vrem să modificăm ''​prompt-ul''​. ​Urmăriți tutorialul de  +aliasuri etc. La această secțiune vrem să modificăm ''​prompt-ul''​.
-[[https://​vitux.com/​how-to-customize-ubuntu-bash-prompt/​|aici]] pentru a modifica prompt-ul să arate în  +
-felul următor: +
- +
-<code bash> +
-tom@disney:​~#​ +
-</​code>​ +
- +
-<​note>​  +
-Atenție! Urmăriți toți pașii din acel tutorial, inclusiv cei care modifică prompt-ul la loc. Modificările  +
-făcute în fișierul ''​~/​.bashrc''​ sunt **persistente**,​ adică sunt modificări care apar chiar și dupa reboot. +
-</​note>​+
  
 +  - La acest exercițiu ne propunem să personalizăm culorile pentru ''​username''​ și ''​hostname''​. Intrați [[http://​ezprompt.net|aici]] pentru a vă selecta culorile, după care faceți modificările în fișierul ''​~/​.bashrc''​. După ce salvați fișierul rulați comanda ''​. ~/​.bashrc''​.
  
-=== Editarea comenzilor ===+==== Editarea comenzilor ​====
  
 De foarte multe ori ni se poate întâmpla să scriem o comandă și să ne dăm seama că e  De foarte multe ori ni se poate întâmpla să scriem o comandă și să ne dăm seama că e 
Line 173: Line 72:
 taste. taste.
  
-Mutați-vă la calea ''​~/​uso.git/labs/​05-cli/​support/​nice-to-know/​editare-comenzi''​ înainte de a începe acest +Mutați-vă la calea ''​~/​uso-lab/​05-cli/​support/​nice-to-know/​editare-comenzi''​ înainte de a începe acest 
 tutorial. Încercați să scrieți voi comenzile fără a copia din laborator fiecare comandă. tutorial. Încercați să scrieți voi comenzile fără a copia din laborator fiecare comandă.
  
Line 193: Line 92:
 ''​CTRL + E''​. ''​CTRL + E''​.
  
-<​code ​bash>+<​code>​
 student@uso:​~/​.../​support/​nice-to-know/​editare-comenzi$ ​ gcc -g main.c summ.c -o main student@uso:​~/​.../​support/​nice-to-know/​editare-comenzi$ ​ gcc -g main.c summ.c -o main
 gcc: error: summ.c: No such file or directory gcc: error: summ.c: No such file or directory
 </​code>​ </​code>​
  
-Observăm faptul că tot avem o problemă cu această comandăs. De data asta am scris greșit numele ​+Observăm faptul că tot avem o problemă cu această comandă. De data asta am scris greșit numele ​
 fișierului ''​sum.c''​ pe care vrem să-l compilăm. Mutați-vă cu cursorul deasupra literei greșite și folosiți ​ fișierului ''​sum.c''​ pe care vrem să-l compilăm. Mutați-vă cu cursorul deasupra literei greșite și folosiți ​
 combinația ''​CTRL + D''​ pentru a o șterge. Dacă vrem să stergem tot la dreapta (până ajungem la primul spațiu) ​ combinația ''​CTRL + D''​ pentru a o șterge. Dacă vrem să stergem tot la dreapta (până ajungem la primul spațiu) ​
Line 211: Line 110:
 </​note>​ </​note>​
  
-=== Variabile de mediu ===+==== Variabile de mediu ====
 Pentru a afișa variabilele de mediu din sistem, folosiți comanda ''​env''​. Pentru a afișa variabilele de mediu din sistem, folosiți comanda ''​env''​.
  
 <​code>​ <​code>​
-student@uso:​~/​uso.git/$ env+student@uso:​~/​uso-lab$ env
 (...) (...)
 LESSOPEN=| /​usr/​bin/​lesspipe %s LESSOPEN=| /​usr/​bin/​lesspipe %s
Line 228: Line 127:
  
 <code bash> <code bash>
-student@uso:​~/​uso.git/$ pwd  +student@uso:​~/​uso-lab$ pwd  
-/​home/​student/​uso.git +/​home/​student/​uso-lab 
-student@uso:​~/​uso.git/$ cd labs+student@uso:​~/​uso-lab$ cd 05-cli
-student@uso:​~/​uso.git/labs/$ pwd  +student@uso:​~/​uso-lab/05-cli$ pwd  
-/​home/​student/​uso.git/labs +/​home/​student/​uso-lab/05-cli 
-student@uso:​~/​uso.git/labs/$ echo $OLDPWD +student@uso:​~/​uso-lab$ echo $OLDPWD 
-/​home/​student/​uso.git+/​home/​student/​uso-lab
 </​code>​ </​code>​
  
-1. Completați fișierul ''​~/​uso.git/labs/​05-cli/​support/​nice-to-know/​env/​print_env.c''​ pentru a afișa ​ +    - Completați fișierul ''​~/​uso-lab/​05-cli/​support/​nice-to-know/​env/​print_env.c''​ pentru a afișa variabilele de mediu. Folosiți al treilea argument al funcției ''​main''​. (Hint: urmăriți explicațiile de [[https://​www.sanfoundry.com/​c-program-environment-variable/​|aici]])
-variabilele de mediu. Folosiți al treilea argument al funcției ''​main''​. ​ +
-(Hint: urmăriți explicațiile de [[https://​www.sanfoundry.com/​c-program-environment-variable/​|aici]])+
  
-=== Variabila de mediu PATH ===+==== Variabila de mediu PATH ====
  
 Variabila de mediu ''​PATH''​ conține diverse căi din sistem în care se caută binarele rulate de noi în terminal. Variabila de mediu ''​PATH''​ conține diverse căi din sistem în care se caută binarele rulate de noi în terminal.
Line 256: Line 153:
 numit ''​ls''​. numit ''​ls''​.
  
-1. Creați un program C numit ''​sum.c''​ care să calculeze suma a două numere citite de la tastatură. ​ +    - Creați un program C numit ''​sum.c''​ care să calculeze suma a două numere citite de la tastatură. Compilați-l și obțineți executabilul ''​mysum''​. Rulați programul pentru a vă asigura că totul este în regulă. 
-Compilați-l și obțineți executabilul ''​sum''​. Rulați programul pentru a vă asigura că totul este în regulă. +    ​- ​Modificați variabila ''​PATH''​ astfel încât programul vostru să poată fi rulat de oriunde din sistem prin comanda ''​mysum''​. (Atenție! Vrem ca atât executabilele vechi cât și binarul ​''​mysum'' ​să poată fi rulate de oriunde.) 
-2. Modificați variabila ''​PATH''​ astfel încât programul vostru să poată fi rulat de oriunde din sistem prin  +
-comanda ''​sum''​. (HINT: variabila ​''​PATH''​)+
uso/laboratoare/new/05-cli/nice-to-know.1540851354.txt.gz · Last modified: 2018/10/30 00:15 by liza_elena.babu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0