Se in precedenza hai interagito con un sistema operativo come Windows, il seguente contesto dovrebbe avere perfettamente senso. Tali ambienti del sistema operativo supportano due tipi di file. Il primo tipo sono quelli eseguibili e il secondo tipo sono quelli non eseguibili. I file eseguibili sono associati a un'estensione del file di firma come ".exe".
Rendere eseguibile un file in Linux
D'altra parte, quando si migra nell'ecosistema Linux, la regola dei file non eseguibili ed eseguibili non si applica. Ad ogni file può essere assegnato il privilegio eseguibile. Per capire come funziona questo concetto, abbiamo bisogno di un file di esempio a cui fare riferimento.
L'approccio da terminale/linea di comando
Per creare un tale file, possiamo usare il comando echo integrato. È applicabile sul terminale Linux. Questo comando è utile per creare una stringa di comando e reindirizzarla a un file.
Apri il tuo terminale Linux ed esegui la seguente sequenza di comandi.
$ echo 'echo hello FossLinux user, welcome to this tutorial session' >> greetings $ cat greetings
Dalla sequenza di comandi sopra, abbiamo usato il comando echo per creare la stringa letterale "echo ciao utente Fosslinux, benvenuto in questa sessione di tutorial". Successivamente, abbiamo archiviato questa stringa letterale in un file chiamato "saluti". Come avrai notato, con Linux è possibile creare un file senza assegnargli un'estensione come .exe o .txt. Questo approccio alla creazione di file non è possibile in altri ambienti del sistema operativo.
Un file esistente senza estensione in Linux consente di concedergli un privilegio di esecuzione ogni volta che se ne presenta la necessità. Dopo l'esecuzione del comando "cat greetings", il terminale restituisce la stringa letterale che abbiamo memorizzato all'interno del file "greetings" dalla sequenza di comandi sopra.
echo hello FossLinux user, welcome to this tutorial session
La stringa letterale deve iniziare con il comando echo affinché l'ambiente Linux lo interpreti correttamente. Altrimenti, potresti ricevere un errore come "comando non trovato" quando in seguito renderemo eseguibile il file. La flessibilità dell'ambiente del sistema operativo Linux diventa praticabile quando possiamo rendere eseguibile questo file di "auguri" senza fare riferimento al comando cat per accedere al suo contenuto.
Per rendere eseguibile il file, useremo il comando “chmod” come mostrato di seguito.
$ chmod +x greetings
In seguito, dobbiamo solo chiamare questo file di "auguri" nel modo seguente per accedere al suo contenuto.
$ ./greetings
L'output previsto dovrebbe essere simile al seguente:
hello FossLinux user, welcome to this tutorial session
Come hai notato, l'output sopra non inizia con 'eco'. L'ambiente del terminale non interpreta l'eco come un output ma come un comando necessario per visualizzare l'output del terminale risultante.
Sotto il cofano di questo processo di esecuzione dei file
Prima che l'esecuzione di qualsiasi file avvenga in un ambiente Linux, il primo passaggio consiste nel collegare il percorso di quel potenziale file eseguibile all'ambiente del terminale Linux. Il passaggio successivo consiste nel determinare il tipo di autorizzazione necessaria al file. Ad esempio, dovevamo accedere al contenuto del file di "auguri" creato per il caso che abbiamo dimostrato.
In questo scenario, dovevamo lavorare con i permessi di "lettura" per accedere e produrre i contenuti di questo file. Rende necessario l'uso del comando “chmod +x”. Assegnare o rimuovere l'autorizzazione di esecuzione di un file non rende quel file eseguibile in modo permanente o permanentemente ineseguibile. Stiamo solo dando al file un privilegio di esecuzione che può anche essere tolto.
L'uso di "./" prima del file "saluti" indica al programma terminale dove trovare il file pianificato per l'esecuzione. Puoi anche usare "sudo" prima di "./greetings" per garantire i processi di esecuzione con i privilegi necessari. Nell'esempio sopra discusso, abbiamo usato echo per gestire l'esecuzione della stringa letterale "ciao utente FossLinux, benvenuto in questa sessione di tutorial". Puoi usare un altro programma come la stampa di Python per questa esecuzione.
Dovrai prima impostare il percorso binario del programma come intestazione sul file che desideri eseguire. In questo caso, se dovessimo utilizzare la funzione di stampa di Python, il contenuto del file "saluti" sarà simile al seguente:
#!/usr/bin/python print "hello FossLinux user, welcome to this tutorial session"
L'esecuzione di questo file con il comando "./greetings" produrrà gli stessi risultati dell'utilizzo del comando echo.
L'approccio GUI
Se non vuoi un percorso tecnico per il modo in cui rendi eseguibili i tuoi file, l'interfaccia utente grafica di Linux è sempre un buon punto di partenza. Innanzitutto, individua il file che desideri rendere eseguibile navigando fino alla sua posizione. Usa il mouse del computer per fare clic con il tasto destro del mouse su questo file e selezionare il "menu delle proprietà".
La schermata successiva avrà tre opzioni di menu allineate. Seleziona l'opzione di menu "Autorizzazioni".
In questa finestra, seleziona la casella "Consenti l'esecuzione di file come programmi".
Con questi semplici passaggi della GUI, avrai reso eseguibile il tuo file di destinazione.
Flessibilità Chmod
Chmod è una forma abbreviata per "cambia modalità". Si occupa del controllo dell'accesso ai permessi sia per i file che per le directory sul tuo sistema operativo Linux. Ad esempio, poiché ci siamo già occupati di rendere eseguibile un file, potresti anche voler sapere come togliere a tutti questi privilegi di esecuzione.
In questo caso, potresti voler familiarizzare con alcune modalità assolute associate al comando chmod. I numeri numerici rappresentano queste modalità e il loro utilizzo segue la seguente regola di sintassi:
chmod absolute_mode name_of_file.file_extension
Un altro utilizzo di chmod nell'esecuzione di file
- chmod 775 your_file_name.file_extension:con questa modalità, chiunque può eseguire il file creato o esistente. Tuttavia, è solo il proprietario del file che può scrivere o aggiungere dati a quel file.
- chmod 777 nome_file.estensione_file:con questa modalità, ogni utente del sistema Linux ha uguale autorizzazione per eseguire un file esistente o creato.
- chmod 0010 nome_file.estensione_file:sono solo i membri del gruppo definiti di un sistema Linux che eseguiranno il file presentato.
- chmod 0100 your_file_name.file_extension:solo il proprietario del file o l'individuo che ha creato il file sul sistema Linux lo eseguirà esclusivamente.
- chmod -777 your_file_name.file_extension:questo comando toglie il privilegio di esecuzione del file a tutti gli utenti di quel sistema operativo Linux.
Con queste informazioni extra sul comando chmod, dovresti essere sicuro del suo utilizzo per rendere i tuoi file eseguibili nell'ambiente del sistema operativo Linux.
Nota finale
La semplice regola per rendere eseguibile un file in Linux prevede i seguenti passaggi.
- Accedi al tuo terminale Linux
- Usa il tuo terminale Linux per cercare la posizione del file di destinazione.
- Una volta trovato il file di destinazione, annota il suo nome più l'eventuale estensione del file associata. L'estensione del file può essere “.bin” o “.run”.
- In seguito, usa la seguente sintassi del comando per rendere eseguibile quel file.
sudo chmod +x name_of_file.file_extension
Ad esempio, sudo chmod +x new_file.bin
Dopo aver appena reso questo file eseguibile, potresti volerlo installare se è un file "bin" o semplicemente eseguirlo se è un file "run". In entrambi i casi, i seguenti approcci ai comandi porteranno a termine il lavoro.
Per un file .bin, ricorda di utilizzare ./my_file_name.bin
Per un file .run, ricorda di usare ./my_file_name.run
Se si verificano errori durante l'installazione o l'esecuzione del file eseguibile creato con i comandi precedenti, far precedere l'esecuzione di questi comandi con "sudo". Conferirà all'utente corrente del sistema Linux i privilegi di esecuzione necessari.