Linux基礎(Vim編輯器與Shell命令腳本)

1、Vim文本編輯器

Vim文本編輯器有三種模式

命令模型:控制光標移動,可對文本進行復制、粘貼、刪除和查找得等工作。

輸入模式:正常的文本錄入

末行模式:保存或退出文檔,以及設置編輯環境。

在每次運行Vim編輯器時,默認進入命令模式,此時需要先切換到輸入模式后再進行文檔編寫工作,而每次再編寫完文檔后需要先返回命令模式,然后再進入末行模式,執行文檔的保存或退出操作。再Vim中,無法直接從輸入模式直接切換到末行模式。Vim編輯器中內置的命令有成百上千用法。

命令模式常用命令

命令作用
dd刪除光標所在整行
5dd刪除從光標處開始的5行
yy

復制光標所在行

5yy復制從光標處開始的5行
n顯示搜索命令定位的下一個字符串
N顯示搜索命令定位的上一個字符串
u撤銷上一步的操作
p將之前刪除(dd)或復制(yy)過的數據粘貼到光標后面

末行模式中可用的命令

命令作用
:w保存
:q退出(放棄對文檔的修改內容)
:q!強制退出
:wq!強制保存退出
:set nu顯示行號
:set nonu不顯示行號
:命令執行該命令
:整數跳轉到該行
:s/one/two

將當前光標所在行的第一個one替換成two

:s/one/two/g將當前光標所在行的索引one替換成two
:%s/one/two/g將全文中的所有one替換成two
?字符串在文本中從下至上搜索該字符串
/字符串在文本中從上至下搜索該字符串

編寫簡單的文檔

[root@localhost ~]# vim test

我們可以分別使用a、i、o 三個鍵從命令模式切換到輸入模式,如圖

接下來我們就可以輸入一些內容了

?輸入完成后,切換至命令模式

保存退出

配置主機名稱

為了便于在局域網中查找某臺特定的主機,或者對主機進行區分,除了要有IP地址外,還要為主機配置一個主機名,主機之間可以通過這個類似于域名的名稱來相互訪問。在Linux系統中,主機名大多保存在/etc/hostname,接下來/etc/hostname文件修改內容為“DongFang”。

第一步,使用Vim編輯器修改“/etc/hostname”主機名稱文件

第二步,把原有主機名刪除,追加“DongFang”。

第三步,保存退出,使用hostname命令查看是否修改成功

Vim編輯器功能非常強大,應用范圍廣,在配置網卡信息、配置Yum軟件倉庫和撰寫腳本等方面表現出色。我們就不一一舉例了。

2、編寫Shell腳本

可以將Shell終端解釋器當作人與計算機硬件之間的翻譯官,它作為用戶與Linux系統內部的通信媒介,除了能夠支持各種變量與參數之外,還提供了諸多循環,分支等高級編程語言才有的控制結構特性。

Shell腳本命令的工作方式有兩種:

交互式:用戶每輸入一條命令就立即執行

批處理:由用戶實現編寫好的一個完整的Shell腳本,Shell會一次性執行腳本中諸多命令。

?查看SHELL變量可以發現當前系統已經默認使用Bash作為命令行終端解釋器了

編寫簡單的腳本

例如,我們想查看當前工作路徑并列出當前目錄下所有的文件及其屬性信息。

Shell腳本文件的名稱是任意的,但為了避免被誤認為是普通文件,建議將.sh后綴加上,以表示一個腳本文件。

在上面的腳本中出現看三種不同的元素:

第一行的腳本聲明(#!)用來告訴系統使用哪種Shell解釋器來執行腳本;

第二行的注釋信息(#)是對腳本功能和某些命令的介紹信息。

第三,四行的可執行語句也就是我們平時的命令

第一種執行方式,bash解釋器命令直接運行Shell腳本

第二種執行方式,通過輸入完整路徑的方式來執行

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/534326.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/534326.shtml
英文地址,請注明出處:http://en.pswp.cn/news/534326.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python二級筆記(16)

知識點: 1,進程調度僅負責對CPU進行分配 2,帶鏈的隊列是采用鏈式存儲結構表示的隊列。鏈式存儲的存儲單元是不連續的,因為是不連續的存儲空間,所以指針將不會有規律的地連續變化。當front rear NULL時,…

Python二級筆記(17)

操作題: 1,接收用戶輸入的一個浮點數,輸出這個浮點數的小數部分各字符的和,以10為寬度,靠右顯示,,采用星號*填充。 代碼: s input("請輸入一個小數:") s s[::1] cs () for c in…

Python二級筆記(18,19合集操作篇)

操作題: 1,鍵盤輸入正整數n,按要求把n輸出到屏幕,格式要求:寬度為25個字符,等號字符()填充,右對齊,帶千位分隔符。如果輸入正整數超過25位,則按照真實長度輸…

Qt圖形界面編程入門(信號和槽通信機制)

信號和槽機制是Qt的核心機制,可以讓編程人員將互不相關的對象綁定在一起,實現對象之間的通信。 聲明了信號的對象,當其狀態改變時,信號就由該對象發送出去,而且該對象只負責發送信號,它不知道另一端是誰在…

Python二級筆記(18,19合集知識點篇)

知識點: 1,軟件測試的目的是發現程序中的錯誤。調試是作為成功測試的后過而出現的步驟,也就是,調試是在測試發現錯誤之后排除錯誤的過程。軟件調試的任務是診斷和改成程序中的錯誤。 2,深度等于控制的層數 3&#x…

軟件工程(成本/效益分析)

一般說來,人們投資于一項事業的目的是為了在將來得到更大的好處。開發一個軟件系統也是一種投資,期望將來獲得更大的經濟效益,經濟效益通常表現為減少運行費用或增加收入。但是,投資開發新系統往往需要冒一定的風險。系統的開發成…

Linux基礎(用戶身份和文件權限)

用戶身份與能力 Linux是一個多用戶、多任務的操作系統,具有很好的穩定性與安全性,在幕后保障Linux系統安全則是一系列復雜的配置工作。 Linux系統的管理員之所以是root,并不是因為它的名字叫root,而是因為該用戶的身份號碼即UID…

Centos 8 RHEL 8 破解root密碼

https://blog.csdn.net/u014042047/article/details/107309890/

TensorFlow實驗(1)

實驗1-2 搭建深度學習開發環境 1)安裝Anaconda 2)創建虛擬環境: 3)激活環境 4)安裝tensorflow 5)安裝jupyter notebook 安裝完成之后,運行第一個程序“Hello,World” 要求:詳細安裝步驟&…

TensorFlow實驗(2)

實驗3-4 數據結構-張量 1)已知兩個張量[1,3,5,7]和[2,4,4,8],編寫一個模型,計算兩個張量的加法,輸出結果,并在tensorboard中顯示 2)已知張量[1,2,3,4,5,6,7,8,9,10,11,12]有12個元素,利用tf.reshape()將其…

Linux基礎(文件權限續篇)

文件的特殊權限 在復雜多變的生產環境中,單純設置文件的rwx權限無法滿足我們對安全和靈活性的需求,因此便有了SUID,SGID,SBIT的特殊權限位。這是一種對文件權限進行設置的特殊功能,可以與一般權限同時使用,以彌補一般權限不能實現…

Linux基礎(存儲結構和磁盤劃分)

一切從“/”開始 在Linux系統中,目錄、字符設備、塊設備、套接字、打印機等都被抽象成了文件,一切皆為件 與windows操作系統不同,Linux系統內不存在C/D/E/F盤等,一切文件都是從根(/)目錄開始的 Linux系統…

軟件工程(需求分析)

需求分析 為了開發出真正滿足用戶需求的軟件產品,首先必須知道用戶的需求。對軟件需求的深人理解是軟件開發工作獲得成功的前提條件,不論人們把設計和編碼工作做得如何出色,不能真正滿足用戶需求的程序只會令用戶失望.給開發者帶來煩惱。 需求分析是軟…

TensorFlow構建二維數據擬合模型(1)

知識圖譜 TensorFlow運行機制 TensorFlow是基于計算圖的深度學習編程模型 Tensor表示張量,其實質上是某種類型的多維數組 Flow表示基于數據流圖的計算,實質上是張量在不同節點間的轉化過程。 在TensorFlow中,計算圖中的節點稱為OP&…

Qt圖形界面編程入門(標簽與槽機制習題分享)

標簽對象初始顯示0&#xff0c;每次單擊標簽對象后&#xff0c;其顯示內容就加1&#xff0c;依次變為1、2、3等。 #ifndef DIALOG_H #define DIALOG_H#include <QDialog> #include <QPushButton> //包含命令按鈕類 #include "MyLabel.h"class Dialo…

js中執行到一個if就停止的代碼_Node 中如何引入一個模塊及其細節

在 node 環境中&#xff0c;有兩個內置的全局變量無需引入即可直接使用&#xff0c;并且無處不見&#xff0c;它們構成了 nodejs 的模塊體系: module 與 require。以下是一個簡單的示例const fs require(fs)const add (x, y) > x ymodule.exports add雖然它們在平常使用…

二級MS Office公共基礎知識錯題本(1)

1&#xff0c;順序程序具有順序性、封閉性和可再現性的特點&#xff0c;不具備并發性 2&#xff0c;為了降低算法的空間復雜度&#xff0c;主要應減少輸入數據所占的存儲空間以及額外空間&#xff0c;通常采用壓編存儲技術。 3&#xff0c;樹的總的結點數為樹中所有結點的度數…

c++ file* 句柄泄漏_C++核心指南:P.8 勿泄漏任務資源

P.8: 勿泄漏任務資源原因隨著時間的推移&#xff0c;即使是資源的緩慢增長也會耗盡這些資源的可用性&#xff0c;這對于長時間運行的程序特別重要&#xff0c;但也是負責任的編程行為的基本部分。糟糕的例子void f(char* name){ FILE* input fopen(name, "r"); // .…

數據規范化、實體-聯系圖、狀態轉換圖、層次方框圖、Warnier圖、IPO圖及驗證軟件需求

數據規范化 軟件系統經常使用各種長期保存的信息&#xff0c;這些信息通常以一定方式組織并存儲在數據庫或文件中&#xff0c;為減少數據冗余&#xff0c;避免出現插入異常或刪除異常&#xff0c;簡化修改數據的過程,通常需要把數據結構規范化。 通常用“范式(normal forms)”…

python和c混合編程 gil,如何在python中使用C擴展來解決GIL

I want to run a cpu intensive program in Python across multiple cores and am trying to figure out how to write C extensions to do this. Are there any code samples or tutorials on this?解決方案You can already break a Python program into multiple processes.…