Avevo installato Ubuntu 14.04 su virtualbox, devo essere in grado di leggere il codice sorgente dei comandi della shell e modificare qualsiasi comando? qualche aiuto per favore? dove posso trovare i comandi della shell? in quale directory?
Avevo installato Ubuntu 14.04 su virtualbox, devo essere in grado di leggere il codice sorgente dei comandi della shell e modificare qualsiasi comando? qualche aiuto per favore? dove posso trovare i comandi della shell? in quale directory?
Risposte:
Comandi di shell diversi verranno da luoghi diversi, tuttavia è probabile che la seguente procedura funzioni per molti di essi:
(Nota: non è necessario essere root per nulla di tutto ciò.)
which, provare type whichnella tua shell bash o anche which which(più in generale which ..., dove ...rappresenta qualunque comando desideri trovare).dpkg -S /path/namepuò darti questo, oppure, per combinare i passaggi 1 e 2: dpkg -S $(which ...)ad es dpkg -S $(which which). In questo caso, ottengo:debianutils: /usr/bin/whichapt-get updateprima di eseguire questa operazione, soprattutto se viene visualizzato un errore simile E: You must put some 'source' URIs in your sources.list, che sembra, almeno nel mio caso, essere un po 'un messaggio di errore delle aringhe rosse.) Questo può essere fatto con apt-get source ..., ad esempio apt-get source debianutils( si potrebbero combinare i passaggi e fare apt-get source $(dpkg -S $(which which) | cut -d: -f1)).Da lì, dovresti avere alcuni nuovi file e directory in qualsiasi directory in cui hai iniziato (quindi inizia in una directory appropriata), contenente la fonte appropriata.
Un altro esempio, in una sola riga:
cmd_to_get=ls; apt-get source $(dpkg -S $(which $cmd_to_get) | cut -d: -f1)
che afferra la fonte per ls(insieme a un sacco di altre cose che è dentro coreutilscon esso).
Da lì, puoi giocare ancora.
Se desideri quindi creare cose, vedi questa domanda correlata su askubuntu .
Happy hacking!
typecomando per scoprire dove risiede un dato comando. Aggiungi-ase vuoi trovare ogni istanza di un comando.