Il file system Linux ci permette di effettuare varie operazioni sui file come creare, modificare, rinominare, rimuovere. Possiamo modificare i file con diversi editor Linux come vim, nano, Emacs, Gedit, Gvim, e altri.
Come modificare i file in Linux
Capiamo come modificare i file su un server Linux con diversi editor di testo.
- Modifica i file con l’editor VI
L’editor VI è l’editor di testo più usato nei sistemi basati su Linux. L’editor VI ha varie modalità come la modalità normale, la modalità inserimento, la modalità comando, la modalità linea, e altre ancora. Ogni modalità ci permette di operare le sue specifiche operazioni.
È molto usato per la sua modalità. La maggior parte degli strumenti hanno una sola modalità; prendono l’input ed eseguono operazioni comandate, ma Vi ha diverse modalità.
Quando si avvia Vi, si apre con la modalità normale, che è fondamentalmente una modalità di comando. In questa modalità, qualsiasi cosa digitiamo è considerata come un comando, non come un input.
A volte Vi sembra un tipico editor, ma quando ti sarai abituato, ti sembrerà uno dei potenti strumenti di editing.
Prima di modificare i file, cerchiamo di capire come cambiare una modalità nell’editor Vi:
- Premere il tasto ESC per la modalità normale.
- Premere il tasto i per la modalità insert.
- Premere i tasti :q! per uscire dall’editor senza salvare un file.
- Premere i tasti :wq! per salvare il file aggiornato e uscire dall’editor.
- Premere :w test.txt per salvare il file come test.txt
Ora, cerchiamo di capire come modificare un file usando l’editor Vi.
Per modificare un file, create prima un file usando il comando cat:
Il comando di cui sopra permette di inserire il contenuto del file sul terminale, inserire il contenuto del file, poi premere i tasti CTRL+D per salvare il file. Si consideri l’immagine sottostante del terminale:
Per modificare questo file, eseguire il seguente comando per aprirlo con l’editor Vi:
Il comando precedente aprirà il file con l’editor Vi in modalità normale. Considera l’immagine sottostante dell’editor:
Questo file è aperto in modalità normale, per passare alla modalità di inserimento premi il tasto ‘ESC’ seguito dal tasto ‘i’. Posiziona il cursore sulla posizione desiderata e inserisci del testo. Per salvare il file e uscire dall’editor, premi il tasto ‘ESC’, seguito da :wq! Tasti. Considerate la seguente immagine dell’editor:
Ora, abbiamo modificato con successo un file usando l’editor Vi. L’editor verrà chiuso dopo questo e si tornerà alla linea di comando. Per vedere il contenuto del file, eseguite il comando cat come segue:
Considerate il seguente scatto del terminale.
- Modifica file con un editor di testo nano
Nano è anche uno degli editor più usati nei sistemi basati su Linux. È un editor semplice e influente di Linux. È un editor integrato nelle distribuzioni Linux. Non abbiamo bisogno di avere alcuna conoscenza preliminare dell’editor nano prima di usarlo. In nano, nessun comando principale viene utilizzato per operare sul file. Tutte le operazioni di base sono visualizzate sul fondo dell’editor. Possiamo attivarle con un tasto CTRL, per esempio, per salvare il file premere i tasti CTRL+O, per uscire dall’editor premere il tasto CTRL+X.
Per modificare un file con l’editor nano, aprire il file dalla directory in cui è memorizzato con il seguente comando:
Il comando di cui sopra aprirà il file Demo.txt con l’editor nano. Per modificare il file, sposta il cursore e inserisci il testo desiderato e premi i tasti CTRL+O per salvare il file. Considerate la seguente immagine dell’editor di testo nano:
Premete i tasti CTRL+X per uscire dall’editor. Le modifiche apportate al file sono state salvate con successo. Per verificare le modifiche, esegui il comando cat come segue:
Visualizzerà il contenuto del file. Considera il seguente output:
- Modifica file usando l’editor Emacs
L’editor Emacs ci permette anche di modificare file. Inoltre, ha molte caratteristiche integrate come il browser web, il calendario, il terminale e altro. Funziona come un normale editor di testo. Nell’editor Emacs, possiamo modificare i file e salvarli tramite la barra di navigazione. Non è un editor integrato nei sistemi basati su Linux, ma possiamo installarlo usando il terminale.
Per installare l’editor emacs aprite il terminale (con CTRL+ALT+T) ed eseguite il seguente comando:
Il comando di cui sopra richiederà la password amministrativa, digitate la password e premete il tasto ENTER. Considera il seguente scatto del terminale:
Verrà verificato il processo di installazione, premi il tasto ‘y’ per conferma. Il processo di installazione inizierà, ci vorrà un po’ per completare il processo di installazione. Considerate l’output seguente:
Get:1 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 emacs25-common all 25.2+1-6 Get:2 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 liblockfile-bin amd64 1.14-1.1 Get:3 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 liblockfile1 amd64 1.14-1.1 Get:4 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 emacs25-bin-common amd64 25.2+1-6 Get:5 http://in.archive.ubuntu.com/ubuntu bionic-updates/main amd64 libgif7 amd64 5.1.4-2ubuntu0.1 Get:6 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 libotf0 amd64 0.9.13-3build1 Get:7 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 m17n-db all 1.7.0-2 Get:8 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 libm17n-0 amd64 1.7.0-3build1 Get:9 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 emacs25 amd64 25.2+1-6 Get:10 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 emacs all 47.0 Get:11 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 emacs25-el all 25.2+1-6 Fetched 33.9 MB in 3min 20s (170 kB/s) Selecting previously unselected package emacs25-common.(Reading database ... 168266 files and directories currently installed.)Preparing to unpack .../00-emacs25-common_25.2+1-6_all.deb ...Unpacking emacs25-common (25.2+1-6) ...Selecting previously unselected package liblockfile-bin.Preparing to unpack .../01-liblockfile-bin_1.14-1.1_amd64.deb ...Unpacking liblockfile-bin (1.14-1.1) ...Selecting previously unselected package liblockfile1:amd64.Preparing to unpack .../02-liblockfile1_1.14-1.1_amd64.deb ...Unpacking liblockfile1:amd64 (1.14-1.1) ...Selecting previously unselected package emacs25-bin-common.Preparing to unpack .../03-emacs25-bin-common_25.2+1-6_amd64.deb ...Unpacking emacs25-bin-common (25.2+1-6) ...Selecting previously unselected package libgif7:amd64.Preparing to unpack .../04-libgif7_5.1.4-2ubuntu0.1_amd64.deb ...Unpacking libgif7:amd64 (5.1.4-2ubuntu0.1) ...Selecting previously unselected package libotf0:amd64.Preparing to unpack .../05-libotf0_0.9.13-3build1_amd64.deb ...Unpacking libotf0:amd64 (0.9.13-3build1) ...Selecting previously unselected package m17n-db.Preparing to unpack .../06-m17n-db_1.7.0-2_all.deb ...Unpacking m17n-db (1.7.0-2) ...Selecting previously unselected package libm17n-0:amd64.Preparing to unpack .../07-libm17n-0_1.7.0-3build1_amd64.deb ...Unpacking libm17n-0:amd64 (1.7.0-3build1) ...Selecting previously unselected package emacs25.Preparing to unpack .../08-emacs25_25.2+1-6_amd64.deb ...Unpacking emacs25 (25.2+1-6) ...Selecting previously unselected package emacs.Preparing to unpack .../09-emacs_47.0_all.deb ...Unpacking emacs (47.0) ...Selecting previously unselected package emacs25-el.Preparing to unpack .../10-emacs25-el_25.2+1-6_all.deb ...Unpacking emacs25-el (25.2+1-6) ...Setting up liblockfile-bin (1.14-1.1) ...Processing triggers for mime-support (3.60ubuntu1) ...Processing triggers for desktop-file-utils (0.23-1ubuntu3.18.04.2) ...Setting up libotf0:amd64 (0.9.13-3build1) ...Processing triggers for install-info (6.5.0.dfsg.1-2) ...Setting up liblockfile1:amd64 (1.14-1.1) ...Setting up libgif7:amd64 (5.1.4-2ubuntu0.1) ...Setting up m17n-db (1.7.0-2) ...Setting up emacs25-common (25.2+1-6) ...Processing triggers for libc-bin (2.27-3ubuntu1) ...Setting up libm17n-0:amd64 (1.7.0-3build1) ...Processing triggers for man-db (2.8.3-2ubuntu0.1) ...Processing triggers for gnome-menus (3.13.3-11ubuntu1.1) ...Processing triggers for hicolor-icon-theme (0.17-2) ...Setting up emacs25-bin-common (25.2+1-6) ...update-alternatives: using /usr/bin/ctags.emacs25 to provide /usr/bin/ctags (ctags) in auto modeupdate-alternatives: using /usr/bin/ebrowse.emacs25 to provide /usr/bin/ebrowse (ebrowse) in auto modeupdate-alternatives: using /usr/bin/emacsclient.emacs25 to provide /usr/bin/emacsclient (emacsclient) in auto modeupdate-alternatives: using /usr/bin/etags.emacs25 to provide /usr/bin/etags (etags) in auto modeSetting up emacs25-el (25.2+1-6) ...Setting up emacs25 (25.2+1-6) ...update-alternatives: using /usr/bin/emacs25-x to provide /usr/bin/emacs (emacs) in auto modeInstall emacsen-common for emacs25emacsen-common: Handling install of emacsen flavor emacs25Install dictionaries-common for emacs25install/dictionaries-common: Byte-compiling for emacsen flavour emacs25Setting up emacs (47.0) ...Processing triggers for libc-bin (2.27-3ubuntu1) ...
Il processo del demone di cui sopra ha installato l’editor emacs sul nostro sistema. Ora possiamo esplorare l’editor emacs nel nostro sistema Linux.
Per aprire un file con l’editor emacs cambiate directory al percorso dove esiste il nostro file ed eseguite il seguente comando:
Il comando di cui sopra aprirà il file con l’editor emacs. Possiamo modificare il file come un tradizionale editor di testo. Considera l’immagine sottostante dell’editor emacs:
Modifica il file e salvalo usando l’opzione save data sulla barra di navigazione.
Per verificare l’aggiornamento del file, esegui il comando cat come segue:
Considera il seguente output: