jump to navigation

Aggiungere “sudo” all’ultimo comando dato

In Ergonomia, Troiate del giorno il 16/07/07 @ 23:22 trackback

Questo trucchetto potrebbe tornarvi utile quelle volte che date un comando che richiede diritti di amministrazione ma dimenticate di aggiungere “sudo” all’inizio della riga.

sandwich.png

La vignetta qui sopra è un classico umoristico abbastanza esplicativo: una richiesta (fammi un panino) viene accolta con un “no” (eh? fattelo da solo), ma diventa irrifiutabile se ci si aggiunge “sudo” :D Nell’immagine potete però notare che per usare sudo bisogna ripetere il comando, cosa alquanto noiosa. Per rimediare a questo c’è un sistema decisamente elegante…


Poniamo che io voglia aggiornare il sistema da linea di comando. Lancio con noncuranza apt:

$: apt-get update

Il cursore fa una capriola e mi risponde: “Permesso negato“. Ma certo, ho dimenticato “sudo”. Mi alzo indispettito, vado a giocare un po’ al dottore con Ambrosia, giusto per compensare la temporanea perdita di autostima, poi torno al terminale e digito:

$: sudo !!

Zac! Il sistema risponde con un impercettibile inchino. Mi viene mostrato il comando per intero, chiesta la password, che io concedo con la stessa generosità dimostrata prima alla mia amica, e la richiesta viene soddisfatta in perfetta efficienza.

Ecco allora la vignetta di prima, ma modificata per sfruttare questo piccolo trucchetto. Notare il risparmio:

sandwich-enhanced.jpg


Non male :D

Se volete scovare altri trucchetti relativi all’uso della bash, terminale e comandi in genere, cercate nella categoria “Comodamente Shell

[fonte: Tom]

Pagine forse correlate:

Etichette: ,

Commenti »

1. Andrea Alberti - 16/07/07 @ 23:25

davvero fico

2. Mela (jerrad) - 16/07/07 @ 23:28

:)

3. maurolinux - 16/07/07 @ 23:29

bellissimo

4. Anonimo - 16/07/07 @ 23:34

utilissimo, grazie!

5. LuNa - 16/07/07 @ 23:39

questo qui e particolarmente azzecato perke sudo e’ una cosa che si dimentica spessissimo, io lo uso da tanto il doppio esclamativo ma applicato a questo è comodissimo, bravo felipe :D

6. elect - 16/07/07 @ 23:42

Altrimenti, freccia in alto, ctrl+a e digitare sudo..

7. elect - 16/07/07 @ 23:43

Prova

8. elect - 16/07/07 @ 23:44

Edit: nn era un prova per dire provaci tu, era un prova per vedere se funzava il commento..

Ps: cmq troppo lol la scenetta

9. Cimmo - 16/07/07 @ 23:46

mi piacciono i post con questo humor :)

10. irruenza - 16/07/07 @ 23:56

Questo perchè la shell tiene in memoria gli ultimi 500 comandi..
Se digitate history vi compare l’elenco numerato, a quel punto se digitate !n_comando il comando sarà rieseguito..il doppio punto esclamativo riesegue l’ultimo comando, ed è possibile aggiungervi prima (come nel caso di sudo) o dopo altri comandi/opzioni…..
Forse ho spiegato in maniera contorta……boh
un saluto

11. riva.dani - 16/07/07 @ 23:57

Ommioddio… Come ho fatto senza finora? Davvero utilissimo, che ignorante che ero/sono!

PS: Ovviamente fino ad ora usavo freccia su > Home > sudo > spazio > invio, ma altrettanto ovviamente così si fa prima! :p

12. Nemo - 17/07/07 @ 0:09

i !! funzionano sempre, prendo la command line precedente e la ripropongono

13. Jaba - 17/07/07 @ 1:04

:D macché comodità e comodità: qui ci vuole un dieci per lo stile!!!
SUDOOOO!!! :D :D devo fare un alias maiuscolo con tante “O” :D

14. montoya - 17/07/07 @ 8:51

Nemo, mi hai anticipato. Cmq uso sempre ![A-z]+ in genere per ripetere l’ultimo comando che inizia per [A-z]+… fantastico.

15. Daniele - 17/07/07 @ 8:56

we, che chicca!
“One way ticket to hell, and back!!

16. simone_engineer - 17/07/07 @ 9:29

Finalmente esiste un modo per non ripetere tutto il comando! Sei un Grande!

17. irruenza - 17/07/07 @ 9:35

@simone_engineer
veramente il “modo” esiste già da un po’….io per lavoro usavo una sun blade con solaris e, che mi ricordi, almeno 8 anni fa su solaris già c’era, l’history e il punto esclamativo.e credo anche su linux

18. irruenza - 17/07/07 @ 9:39

Anzi, perchè, Felipe, non inserisci nel post anche il fatto che !! equivale semplicemente all’ultimo comando, e che col punto esclamativo si può richiamare anche il penultimo, terzultimo, ecc…… così si capirebbe meglio l’esatto senso di !
ciao

19. Massimo - 17/07/07 @ 10:23

E consideriamo anche !$ che equivale all’ultimo argomento del precedente comando :)

Le scorciatoie che conosco:
ctrl+a inizio riga
ctrl+e fine riga
ctrl+u cancella tutta una riga
ctrl+k cancella fino alla fine
ctrl+w cancella fino all’inizio
ctrl+s blocca il terminale (funziona anche con il login non grafico)
ctrl+q lo sblocca

Per chi usa la tcsh, ESC+spazio permette l’espansione immediata dei !*, e ESC+p permette di completare la riga di comando pescando il primo comando nell’history che inizia uguale.

20. visik7 - 17/07/07 @ 10:34

1000 Kudos x felipe

21. nomadsoul - 17/07/07 @ 11:14

oppure puoi anche, per dire, premere freccia su, premere il tasto home e scrivere sudo all’inizio della riga :P

22. Eli - 17/07/07 @ 11:29

Grande Felipe & Grande Irruenza :) :) :)

23. visik7 - 17/07/07 @ 11:43

@ nomadsoul
come si e’ sempre fatto pero’ vuoi mettere i 2 punti esclamativi ?
sudo !!

24. H4TtoRy - 17/07/07 @ 12:00

Fantastico :D molto utile

25. franganghi - 17/07/07 @ 12:00

ste vignette? fantastiche.
l’articolo? interessante… segno.

26. motumboe - 17/07/07 @ 12:24

ehehe xkcd ce l’ho nei feed :-)

27. Fabrizio - 17/07/07 @ 12:29

Se la fonte è questa http://lifehacker.com/software/shortcut-screencast-contest/sudo–the-previous-command-278144.php andrebbe citata… no? ;-)

28. giovanniceribella - 17/07/07 @ 12:29

Utile.
La vignetta originale, però esiste da 8-9 mesi (per la prima volta sono arrivato prima di felipe!).
Ciao!

29. Zanna - 17/07/07 @ 12:38

I Shivaree sono ancora vivi? cmq mi sarà utile sto trucco grazie!

30. Kouta - 17/07/07 @ 12:49

AIUTATEMI digito :
sudo make ambrosia parsley
ma non arriva e non succede nulla!! mi da questo errore

[email protected]:~$ make ambrosia parsley
make: *** No rule to make target `ambrosia’. Stop.

IO la voglio!

31. gian - 17/07/07 @ 13:02

davvero utile…
dimentico spesso sudo, e per rimediare faccio:
su + home + digito “sudo” …
con sudo !! diventerò ancora più veloce! xD

32. felipe - 17/07/07 @ 14:17

@irruenza:
Tempo fa ho descritto un metodo per superare il limite di 500 nella history bash: https://pollycoke.net/2007/03/08/aumentare-la-memoria-della-bash-per-fare-alcuni-trucchetti/

Per il resto non sei stato per niente “contorto” e anzi sottoscrivo tutto, questo è solo un modo per trarre vantaggio di questa caratteristica poco conosciuta. I commenti che ampliano le info, come il tuo, sono una benedizione :)

@Massimo:
Dai un occhio a queste: https://pollycoke.net/2006/10/04/shell-alcune-interessanti-combinazioni-di-tasti/

@Fabrizio:
La fonte è un’altra, e l’ho citata in calce al post come faccio sempre. Prova a leggere meglio.

@giovanniceribella:
Non a caso l’ho definita un “classico umoristico”

@Kouta:
Bisogna prima soddisfare una lunga serie di dipendenze :D

@tutti:
Contento che vi sia piaciuto! È bello vedere che la bash sia ancora apprezzata, e che questi trucchetti attirino sempre la nostra attenzione :)

33. stambec92 - 17/07/07 @ 14:21

Lolleggio, rotfleggio, asdeggio. ->NO!
sudo !! -> si padrone

34. mazzjoe - 17/07/07 @ 14:47

il sudo incazzato è bellissimo LOL

35. merlos - 17/07/07 @ 15:16

tratto direttamente da “man bash” :)

[....]
Event Designators
An event designator is a reference to a command line entry in the his?
tory list.

! Start a history substitution, except when followed by a blank,
newline, carriage return, = or ( (when the extglob shell option
is enabled using the shopt builtin).
!n Refer to command line n.
!-n Refer to the current command line minus n.
!! Refer to the previous command. This is a synonym for ‘!-1’.
!string
Refer to the most recent command starting with string.
!?string[?]
Refer to the most recent command containing string. The trail?
ing ? may be omitted if string is followed immediately by a new?
line.
[....]

Grazie della dritta!!

36. valentin10 - 17/07/07 @ 15:16

Very good blog, very rich nice pictures and articles, congratulations !!!

37. Fabrizio - 17/07/07 @ 16:16

Sorry, non avevo visto.

38. mamozzi - 17/07/07 @ 18:38

La shell ha tante di quelle comodità che tuttora non capisco quelli che la bollano come “da dinosauri” e vogliono farne assolutamente a meno…

39. Anonimo - 17/07/07 @ 18:57

mmm, veramente il su home sudo fa risparmiare un tasto (8 contro 9) :P

40. Marcello Cannarsa - 17/07/07 @ 20:48

utile per un esempio banale del sudo

41. icdui - 17/07/07 @ 20:51

Fantastiche le vignette XD … utile il trucchetto.

42. Luciano - 18/07/07 @ 1:37

Non loconoscevo! Utilissimo! :)

43. Fire - 20/07/07 @ 11:37

Beh carinissima….la tipa ;-)

44. Tre pacchetti interessanti « pollycoke :) - 21/07/07 @ 17:39

[...] si trovasse bene col suo editor, semplicemente provi a dare un semplice apt-get install texmaker (sudo !!). E’ talmente semplice da usare da non richiedere ulteriori [...]

45. La mappa delle comunità online e cosa accadrebbe se la vita fosse un sistema Unix-like at Boliboop - 19/08/07 @ 16:43

[...] Pollycoke ha recentemente fatto una divertente sintesi della vignetta qui sopra, usando il comando sudo !!: potete vederla qui. [...]

46. Sudo su Debian | /nuNce.net/blog/ - 30/08/07 @ 0:34

[...] il simpatico articolo di Felipe vi introduco al comando sudo e a una sua particolare [...]