Linux基礎入門-環境變數與文件查找

来源:http://www.cnblogs.com/yanqiang/archive/2016/06/19/5598550.html
-Advertisement-
Play Games

一、環境變數 : Shell中的變數也有不同的數據類型,不用專門指定類型名,可以參與運算,有作用域限制。 創建一個變數 可以不用專門聲明,可以即用即創建 變數賦值 echo $tmp 讀取變數的值 Notes: 變數名不能用數字開頭,且只能是英文字母,數字,下劃線 Shell的環境變數作用於自身及它 ...


一、環境變數:
Shell中的變數也有不同的數據類型,不用專門指定類型名,可以參與運算,有作用域限制。
declare tmp 創建一個變數
可以不用專門聲明,可以即用即創建
tmp=shiyanlou 變數賦值
echo $tmp 讀取變數的值
Notes: 變數名不能用數字開頭,且只能是英文字母,數字,下劃線
Shell的環境變數作用於自身及它的子進程,環境變數可以繼承。

通常有以下三種環境變數:

  1. 當前Shell進程私有用戶自定義變數,如tmp
  2. Shell本身內建的變數
  3. 從自定義變數導出的環境變數

與環境變數相關的命令:

set 顯示當前Shell所有環境變數,包括內建環境變數,用戶自定義變數和導出的環境變數
env 顯示與當前用戶相關的環境變數,還可以讓命令在指定環境中運行
export 顯示從Shell中導出的環境變數,也能通過它將自定義變數導出為環境變數


用vimdiff可以比較這幾個命令輸出文件的不同,如截圖所示
zsh創建子Shell, 實驗樓用的是zsh,Ubuntu用的是Bash
然後輸入值為空,表示變數無效
export導出temp為環境變數,然後創建子進程,有效
添加環境變數示例:
PATH = $PATH:/home/shiyanlou/mybin
這裡一定要使用絕對路徑
為了讓該環境變數每次啟動Shell時自動執行添加路徑到PATH,需要把它寫入到配置文件中,zsh的配置文件為.zshrc,Bash的配置文件為.bashrc,在etc下還都有一個或多個全局的配置文件,不過我們一般只修改用戶目錄下的。
echo "PATH=$PATH:/home/shiyanlou/mybin" >> .zshrc
>是以覆蓋的方式重定向到一個文件中,>>是追加標準輸出到文件中。
變數修改的方式:
${變數名#匹配字元串} 從前向後匹配,刪除符合的最短數據
${變數名##匹配字元串} 從前向後匹配,刪除符合的最長數據
${變數名%匹配字元串} 從後向前匹配,刪除符合的最短數據
${變數名%%匹配字元串} 從後向前匹配,刪除符合的最長數據
${變數名/舊的字串/新的字串} 將符合舊字串的第一個字串替換為新的字串
${變數名//舊的字串/新的字串} 將符合舊字串的全部字串替換為新的字串
用unset刪除變數
讓環境變數立即生效,可以用source命令,
source .zshrc
也可以用它的別名.,需要指定完整的絕對或者相對路徑名
. ./.zshrc
二、搜索文件:
whereis直接從資料庫中查找,快速,搜索-b, -m, -s文件
locate通過/var/lib/mlocate/mlocate.db資料庫查詢,這個資料庫每天自動update一次,快而全
$ locate /usr/share/*.jpg
\轉義,只統計數目可以加上-c參數,-i可以忽略大小寫查找
which是Shell內建的命令,常用於確定是否安裝了某個指定的軟體,因為它只從PATH環境變數指定的路徑去搜尋
find最為強大,不僅可以通過文件類型,文件名查找,而且可以根據文件的屬性(如時間戳,文件許可權等)查找。基本格式如下:
find [path] [option] [action]
與時間有關的參數:
-atime 最後訪問的時間
-ctime 創建時間
-mtime 最後修改時間
作業提要:
用cmatrix實現《黑客帝國》中的代碼數字雨
F11全屏顯示




本文原載於實驗樓


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

-Advertisement-
Play Games
更多相關文章
  • 用戶和許可權是Oracle資料庫系統最基本的安全管理機制。 用戶通過SQL*Plus或者應用程式登錄Oracle時,必須提供一個脹號,即用戶名和口令。登錄後還必須有一定的許可權才能完成相應的操作。用戶具有什麼樣的許可權,才能完成什麼樣的操作。 如果用戶希望訪問資料庫,首先應該由資料庫管理員為其分配一個賬號 ...
  • 資料庫複習⑧ 2016年6月18日 21:23 Main Integrity Constraints 實體完整性約束 1.各種約束 Keys Foreign-key 外鍵 引用完整性約束 Value-based constraints 值約束 Tuple-based constraints 元組約束 ...
  • 1.ASCII 功能:​得到給定字元的字元編碼 語法:ASCII(CHAR) 例句: SQL> SELECT ASCII('A') FROM DUAL; ASCII('A') ---------- 65 2.CHR 功能:​得到給定數字對應的字元,與ASCII是一對反函數 語法... ...
  • 埠映射 一:什麼是埠映射 埠映射就是將外網主機的IP地址的一個埠映射到內網中一臺機器,提供相應的服務。當用戶訪問該IP的這個埠時,伺服器自動將請求映射到對應區域網內部的機器上。 二:怎樣通過埠映射將內網埠映射到外網 1. 首先登陸你的路由器,具體的地址看路由器反面說明 2.點擊左邊導航 ...
  • 程式猿這個行業素來有鄙視鏈存在,從開發語言間的鄙視到IDE之爭從來沒斷過。真不知道有什麼好爭的,就像找結婚對象一樣,適合自己的就是最好的。 ...
  • 推薦:http://www.cnblogs.com/roucheng/p/3470287.html ...
  • Linux中常用的查看系統信息的命令 Linux中常用的查看系統信息的命令 Linux中常用的查看系統信息的命令 導讀 Linux是一個神奇而又高效的操作系統,學完Linux對Linux系統有一個熟悉的瞭解後,你需要瞭解下這些實用的查看系統信息的命令。 查看系統版本命令 uname 談到系統版本就一 ...
  • 文件打包與解壓縮 : Windows上常見的壓縮文件尾碼有\ .zip(zip程式打包壓縮), \ .rar(rar程式壓縮), \ .7z(7zip程式壓縮),在Linux上常見的還有\ .gz(gzip程式壓縮,GNU zip), \ .xz(xz程式壓縮), \ .bz2(bzip2壓縮), ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...