Linux學習筆記07之shell

来源:https://www.cnblogs.com/RiwellAckerman/archive/2019/07/26/11253155.html
-Advertisement-
Play Games

shell從廣義上分為兩類: GUI:GNOME KDE XFACE等 CLI:sh csh bash shell啟動:當用戶登錄完成後,系統會自動啟動shelll程式 進程:應用程式的副本,用PID區分(在系統中,進程只認為自己存在) root student用戶 shell:父shell程式和子 ...


shell從廣義上分為兩類:

  • GUI:GNOME KDE XFACE等
  • CLI:sh csh bash

shell啟動:當用戶登錄完成後,系統會自動啟動shelll程式

進程:應用程式的副本,用PID區分(在系統中,進程只認為自己存在)

root student用戶

shell:父shell程式和子shell程式(父子shell之間設置環境互相獨立)

# cat /etc/shells //查看支持哪些shell

# yum -y install ksh csh

#exit//退出當前shell

shell是一個程式

 

bash的特性:

  1. 命令歷史history:Linux會自動記錄系統過去執行的命令,並保存在記憶體的緩衝區中,
  2. 在每個用戶的家目錄下,有個隱藏文件.bash_history保存命令歷史

-c:清空命令歷史

-d:刪除某一條命令歷史

-w:將命令歷史保存到某個文件中

變數:PATH命令路徑變數

HISTSIZE:命令歷史大小變數

# echo HISTSIZE//查看HISTSIZE(命令歷史大小)變數的值,預設1000

  • !n:執行命令歷史中的第n個命令
  • !-n:倒數第n個命令
  • !Word:執行命令歷史中最近一個匹配的命令
  • !!:執行上一條命令
  • !$:引用一個命令的最後一個參數
  • esc+.:引用一個命令的最後一個參數

管道,重定向

命令別名(alias定義的別名只在當前shell生效)

alias comm_alias=command

unalias comm_alias//取消別名

註意:執行alias命令時,command最好用‘’標識出來

# alias cdnet='cd /etc/sysconfig/network-scripts'

 命令行編輯

  • ctrl+a:命令行行首
  • ctrl+e:命令行行尾
  • ctrl+u:刪除游標到行首
  • ctrl+k:刪除游標到行尾
  • ctrl+l:清屏

命令行展開

命令補齊:在PATH變數搜索命令並補齊(PATH變數必須正常)

路徑和文件補齊:(在系統路徑中查找)

命令替換:把命令中的子命令替換為子命令執行結果的過程

$(command)或者`command`

# echo "Dirctory is $(pwd)"

 “”:弱引用,實現變數的替換,將變數的名字編程變數值

‘’:強引用,不能實現變數的替換

命令行通配:globbing

*:匹配任意長度的任意字元

?:匹配任意單個字元

[]:匹配指定範圍內的任意單個字元

[ab][a-m][a-Z][A-Z][a-zA-Z][0-9][a-zA-Z0-9]

[^]:匹配指定範圍外的任意單個字元

[:space:]:表示空格

[:punct:]:表示所有標點

[:lower:]:表示所有小寫字母

[:upper:]:表示所有大寫字母

[:alpha:]:表示所有字母(包括大小寫)

[:dgit:]:表示所有的數字

[:alnum:]:表示所有數字和大小寫字母


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、簡要介紹 ABP vNext 針對於應用服務層,為我們單獨設計了一個模塊進行實現,即 Volo.Abp.Ddd.Application 模塊。 PS:最近博主也是在惡補 DDD 相關的知識,這裡推薦大家看一下 "ThoughtWorks" 的 DDD 相關文章。 關於 DDD 相關的著作,我這兒 ...
  • 在C#中的Datatable數據變數的操作過程中,需要手動往DataTable變數的末尾新增一行數據,例如一個實際的例子,我們做數據報表,在最後一行可能需要新增一行DataRow數據作為一個彙總記錄,此時就需要手動往DataTable變數中新增一條數據。往DataTable變數中新增一條數據主要使用 ...
  • 在C#中的Datatable數據變數的操作過程中,可以通過遍歷DataTable的所有列對象Columns屬性,來獲取DataTable中的所有列名信息,DataTable中所有列的對象信息都存儲在DataTable的Columns屬性中,包括列的名稱,數據列存儲的數據類型等等。 C#遍歷DataT ...
  • 在C#中的Datatable數據變數的操作過程中,有時候我們需要移除當前DataTable變數中的某一列的數據,此時我們就需要使用到DataTable變數內部的Columns屬性變數的Remove方法或者RemoveAt方法,Remove方法和RemoveAt方法用於移除DataTable數據列的操 ...
  • 在C#中的Datatable數據變數的操作過程中,如果需要克隆當前DataTable變數的結構,包括所有 DataTable 架構和約束等信息,可以使用DataTable中的Clone方法來實現,Clone方法的簽名為virtual DataTable Clone(),無需帶任何參數。Clone() ...
  • 在C#中的Datatable數據變數的操作過程中,可以通過DataTable變數的Rows屬性的InsertAt方法往DataTable的指定位置行數位置插入一個新行數據,即往DataTable表格指定位置插入新數據DataRow,如果在插入新行數據的時候使用的是Rows屬性的Add方法,則是插入到 ...
  • 在C#中的Datatable數據變數的操作過程中,有時候我們需要往現有的DataTable中新增一個自定義數據列,該列在原有的DataTable變數中並不存在,屬於用戶手工自定義新增的數據列,在往DataTable變數中新增數據列有時候還可能需要指定新增的位置,例如新增到DataTable變數中的第 ...
  • 在C#中的Datatable數據變數的操作過程中,有時候我們需要遍歷DataTable變數獲取每一行的數據值,例如將DataTable變數轉換為List集合的時候,我們就會遍歷DataTable變數,遍歷DataTable變數獲取到每一行的DataRow對象,通過DataRow對象我們可以獲取到對應 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...