Linux file system permite-nos operar várias operações em ficheiros como criar, editar, renomear, remover. Podemos editar ficheiros por diferentes editores Linux como vim, nano, Emacs, Gedit, Gvim, e mais.
Como editar ficheiros em Linux
Vamos compreender como editar ficheiros num servidor Linux sobre diferentes editores de texto.
- Editar ficheiros com o editor VI
O editor VI é o editor de texto mais amplamente utilizado em sistemas baseados em Linux. O editor Vi tem vários modos como modo normal, modo de inserção, modo de comando, modo de linha, e muito mais. Cada modo permite-nos operar as suas operações específicas.
É mais amplamente utilizado devido à sua modalidade. A maioria das ferramentas tem apenas um modo; elas recebem entrada e realizam operações comandadas, mas Vi tem vários modos.
Quando iniciamos Vi, abre com modo normal, que é basicamente um modo de comando. Neste modo, tudo o que digitamos é considerado como um comando, não como input.
Algumas vezes Vi parece um editor típico, mas quando se está habituado a ele, sentir-se-á como uma das poderosas ferramentas de edição.
Antes de editar ficheiros, vamos entender como mudar um modo no editor Vi:
- Pressione a tecla ESC para modo normal.
- Pressione a tecla i para modo de inserção.
- li>Pressiona :w test.txt para guardar o ficheiro como test.txt
>li>Pressiona :q! teclas para sair do editor sem guardar um ficheiro.li>Pressiona :wq! Teclas para guardar o ficheiro actualizado e sair do editor.
Agora, vamos entender como editar um ficheiro usando o editor Vi.
Para editar um ficheiro, criar um ficheiro primeiro utilizando o comando cat:
O comando acima permite introduzir o conteúdo do ficheiro no terminal, introduzir o conteúdo do ficheiro, depois premir as teclas CTRL+D para guardar o ficheiro. Considere o snap abaixo do terminal:
Para editar este ficheiro, execute o comando abaixo para abrir com o editor Vi:
O comando acima abrirá o ficheiro com o editor Vi no modo normal. Considere a imagem abaixo do editor:
Este ficheiro é aberto no modo normal, para o mudar para o modo de inserção prima a tecla ‘ESC’ seguida da tecla ‘i’. Coloque o cursor sobre a posição desejada e introduza algum texto. Para guardar o ficheiro e sair do editor, prima a tecla ‘ESC’, seguida da tecla :wq! Teclas. Considere a imagem abaixo do editor:
Agora, editamos um ficheiro utilizando o editor Vi com sucesso. O editor será fechado depois disto e voltará à linha de comando. Para ver o conteúdo do ficheiro, executar o comando cat da seguinte forma:
Considerar o snap abaixo do terminal.
- Editar ficheiros com um editor de nano texto
Nano é também um dos editores mais utilizados em sistemas baseados em Linux. É um editor simples e influente de Linux. É um editor incorporado para as distribuições de Linux. Não precisamos de ter qualquer conhecimento prévio sobre o editor nano antes de o utilizar. No nano, nenhum comando primário é utilizado para operar no ficheiro. Todas as operações básicas são exibidas na parte inferior do editor. Podemos activá-las com uma tecla CTRL, por exemplo, para guardar o ficheiro prima as teclas CTRL+O, para sair do editor prima a tecla CTRL+X.
Para editar um ficheiro com o nano editor, abra o ficheiro do directório onde é guardado com o seguinte comando:
O comando acima irá abrir o ficheiro Demo.txt com o nano editor. Para editar o ficheiro, mover o cursor e introduzir o texto desejado e premir as teclas CTRL+O para guardar o ficheiro. Considere a imagem abaixo do nano editor de texto:
Pressione as teclas CTRL+X para sair do editor. As alterações feitas no ficheiro foram guardadas com sucesso. Para verificar as alterações, executar o comando cat da seguinte forma:
Ihe mostrará o conteúdo do ficheiro. Considere a saída abaixo:
- Editar ficheiro usando o editor Emacs
editor Emacs também nos permite editar ficheiros. Além disso, tem muitas características incorporadas tais como navegador da web, calendário, terminal, e muito mais. Funciona como um editor de texto normal. No editor Emacs, podemos editar ficheiros e guardá-los por barra de navegação. Não é um editor incorporado no sistema baseado em Linux, mas podemos instalá-lo usando o terminal.
Para instalar o terminal aberto do editor emacs (Por CTRL+ALT+T) e executar o comando abaixo:
O comando acima solicitará a palavra-passe administrativa, digite a palavra-passe e prima a tecla ENTER. Considere o snap abaixo do terminal:
Verificará o processo de instalação, prima a tecla ‘y’ para confirmação. O processo de instalação começará, demorará algum tempo a completar o processo de instalação. Considere a saída abaixo:
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) ...
O processo acima descrito daemon instalou o editor emacs no nosso sistema. Agora podemos explorar o editor emacs no nosso sistema Linux.
para abrir um ficheiro com o editor emacs mudar o directório para o caminho onde o nosso ficheiro existe e executar o comando abaixo:
O comando acima abrirá o ficheiro com o editor emacs. Podemos editar o ficheiro como um editor de texto tradicional. Considere a imagem abaixo do editor emacs:
Editar o ficheiro e guardá-lo utilizando a opção de guardar dada na barra de navegação.
Para verificar a actualização do ficheiro, executar o comando cat da seguinte forma:
Considerar a saída abaixo: