Terminal Tips n' tricks

Zdravo ljudi,

video sam da dosta clanova koristi po prvi put linux, pa bi mozda bilo kul da se uradi neko predavanje za bitne i korisne komande/alatke. Da se predje basics a i “life-hacks” kao npr crl+l za brisanje terminala umesto kucanja clear-a.

Zeleo bih da vidim koje su vama bitni alati koje bi zeleli da spomenete. Da li bile za ubrzavanje rada u terminalu ili troubleshooting/debugging, sve je dobrodoslo.

5 Likes

A list of topics useful for understanding terminal life in my opinion (loosely ordered):

  • Relations between TTY, terminal emulators and shells.
  • Popular terminal emulators: xterm, urxvt, kitty, foot, etc.
  • Popular shells: bash, zsh, fish, mosh, etc.
  • (Optional) POSIX standard.
  • (Optional) Difference between the shell and the language. Sh-scripts.
  • Handy readline shortcuts for default (Emacs) editing mode: ctrl-w, ctrl-a, alt-b, ctrl-p, etc.
  • (Optional) readline Vi-mode.
  • (Optional) WTF is readline and where it can be found =)
  • Basic history interaction: Ctrl-r, Ctrl-t, history | less.
  • Advanced Bash history interaction: sudo !! and rm !$.
  • Background and foreground tasks with Ctrl-z and fg.
  • Standart toolchain: cat, less, grep, etc.
  • Pipes and friends: |, >, >>, 2>.
  • Exit codes.
  • Grouping: command1 && command2, command1 || command2, command1; command2.
  • Stdin, stdout, stderr.
  • Arguments for commands: ls vs ls -lah.
  • Conventions about arguments: -v vs --version.
  • (Global) variables.
  • Aliases.
  • .bashrc and friends (like .zshrc).
  • Info about files and commands: which less, type less, stat .bashrc, file .bashrc, etc.
  • Prompt styling: echo $PS1.
  • Terminals Are Weird
  • Terminal Miltiplexers: tmux, screen, etc.
  • (Optional) Are Terminal Multiplexers Overrated?
8 Likes

Ja bih dodao ovde dve stvari koje često koristim, a koje su pogodne za početnike:

  • cd bez argumenata vraća u home direktorijum
  • pre pokretanja rm sa džokerima, pokrenuti ls sa istim džokerom da bi se videlo šta će sve biti obrisano: npr. prvo ls *.pdf pa rm *.pdf.
2 Likes

Maybe we can make the next lightning talk with a theme? CLI night at decentrala :smiley:

4 Likes

Win+R > Run > cmd /k "%1"

ovaj "%1" znaci da mozete upisivat paths s razmakom bez navodnika , recimo cd C:\Program Files\

inač zalinux distro cURL & wget su top komande…

gsudo for windows - ono sta je sudo za linux, gsudo je za win… mocna komanda i opasna, moze se iskoristit protiv vas… hh

moramo i spomenit microsoft - vscode(standalone netriba mu vstudio)… vscode je bas upakira sve živo, sve terminale + mnogo extenzija… top za win10,11 64bit usere je must have…

1 Like

@disu1950 windows je ovde taboo tema, kao i google prosli put, a ovaj post je o linux terminalu :laughing:

U slucaju da neko nema izbora, pa ima samo win, nabolje je koristiti package managere scoop i chocolatey na kojima se mogu naci mnogi paketi kao i na linuxima. WSL je jos jedna od opcija.
Za terminal preporucujem Alacritty koga ima na oba package managera. Time bi se dobio linux like experiance, ali jednostavnije je samo uskociti odma u linux, ako vec imate izbora.

Back to topic:
Korisna stv koju sam skoro provalio, koristim fishshell koji ima intelisense (kao autocomplete) za komande (i dosta drugih featura pored toga), ali ga ne popuni uvek klikom na Tab, ako postoji vise opcija izlista ih i onda biras, ali na Ctrl+f umesto Tab uradi bas to i time preskoci taj korak biranja. Pretpostavljam da ima ista fora i na zsh.

Za vim like terminal sledeca komanda:

set -o vi 

Dodati u .bashrc da radi za svaku sesiju.

3 Likes

@coja

jasno mi je, kužim koja je Š.
budem pripazija… np…
ty for inf


inace evo sum basics da se nade:


Pro tip: kad ste u shellu i pisete svoj logins za nesto .history sprema vidljiv pass, zato mozete pisat ovako:

$ raznak pa onda "vaspass"

inace kad kucate prvo razmak onda se to ne sprema u .history…
ja .history brisem non stop, jel netko vam moze zloupotrijebit ovaj file…

3 Likes

ovo ima veze sa HISTCONTROL variablom, ali na Ubuntu sistemima mislim da je po defaultu to sto si rekao - da space pa komanda ne pise u .history

$man bash
/histcontrol

1 Like