運維之門

来源:http://www.cnblogs.com/george-guo/archive/2017/04/07/6676589.html
-Advertisement-
Play Games

1、教學環境 2、雲計算概念 3、工作崗位與內容 4、linux系統簡介 5、shell概念 6、linux基礎命令 man/help/info/pwd/cd/ls/mkdir/stat/touch/rm/copy/mv/echo/cat/less/more/tty/管道 7、重定向 >,1>,2> ...


1、教學環境 2、雲計算概念 3、工作崗位與內容 4、linux系統簡介 5、shell概念 6、linux基礎命令 man/help/info/pwd/cd/ls/mkdir/stat/touch/rm/copy/mv/echo/cat/less/more/tty/管道 7、重定向 >,1>,2>,&>,<,>>     一、教學環境 Linux + VMware WorkStation   二、雲計算概念 雲計算(cloud computing)是基於互聯網的相關服務的增加、使用和交付模式,通常涉及通過互聯網來提供動態易擴展且經常是虛擬化的資源。雲是網路、互聯網的一種比喻說法。雲計算甚至可以讓你體驗每秒10萬億次的運算能力,擁有這麼強大的計算能力可以模擬核爆炸、預測氣候變化和市場發展趨勢。 雲計算(Cloud Computing)是分散式計算(Distributed Computing)、並行計算(Parallel Computing)、效用計算(Utility Computing)、 網路存儲(Network Storage Technologies)、虛擬化(Virtualization)、負載均衡(Load Balance)、熱備份冗餘(High Available)等傳統電腦和網路技術發展融合的產物。   三、運維工程師、DBA 運維工程師(Operations)在國內又稱為運維開發工程師(Devops),在國外稱為 SRE(Site Reliability Engineering)。負責維護並確保整個服務的高可用性,同時不斷優化系統架構、提升部署效率、優化資源利用率提高整體的ROI。運維工程師面對的最大挑戰是大規模集群的管理問題,如何管理好幾十萬台伺服器上的服務,同時保障服務的高可用性,是運維工程師面臨的最大挑戰。 資料庫管理員(Database Administrator,簡稱DBA),是從事管理和維護資料庫管理系統(DBMS)的相關工作人員的統稱,屬於運維工程師的一個分支,主要負責業務資料庫從設計、測試到部署交付的全生命周期管理。DBA的核心目標是保證資料庫管理系統的穩定性、安全性、完整性和高性能。   四、linux系統簡介 Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟體、應用程式和網路協議。它支持32位和64位硬體。Linux繼承了Unix以網路為核心的設計思想,是一個性能穩定的多用戶網路操作系統。 Linux操作系統誕生於1991 年10 月5 日(這是第一次正式向外公佈時間)。Linux存在著許多不同的Linux版本,但它們都使用了Linux內核。Linux可安裝在各種電腦硬體設備中,比如手機、平板電腦、路由器、視頻游戲控制台、台式電腦、大型機和超級電腦。 1、特點: 完全免費;完全相容POSI1.0標準;多用戶、多任務;良好的界面(KDE,gnome,Xfce,LXDE);支持多種平臺(x86、680x0、SPARC、Alpha)。 2、基本思想: Linux的基本思想有兩點:第一,一切都是文件;第二,每個軟體都有確定的用途。 3、文件類型: - 普通文件(regular file):就是一般存取的文件,依照文件的內容,可以分為:純文本文件(ASCII);二進位文件(binary);數據格式的文件(data)。 d 目錄文件(directory):就是目錄。 l 連接文件(link):類似Windows下麵的快捷方式。符號 設備與設備文件(device):與系統外設及存儲等相關的一些文件,通常都集中在 /dev目錄。通常又分為兩種: c 塊設備文件(就是存儲數據以供系統存取的介面設備,簡單而言就是硬碟) b 字元設備文件(即串列埠的介面設備,例如鍵盤、滑鼠等等)。 s 套接字(sockets):這類文件通常用在網路數據連接。可以啟動一個程式來監聽客戶端的要求,客戶端就可以通過套接字來進行數據通信。 p 管道(FIFO,pipe):FIFO也是一種特殊的文件類型,它主要的目的是,解決多個程式同時存取一個文件所造成的錯誤。 # ls / --查看文件結構 bin boot data dev etc home jenkins lib lib64 media mnt opt proc root sbin selinux srv sys tmp usr var   五、Shell Shell是系統的用戶界面,提供了用戶與內核進行交互操作的一種介面。它接收用戶輸入的命令並把它送入內核去執行。實際上Shell是一個命令解釋器,它解釋由用戶輸入的命令並且把它們送到內核。不僅如此,Shell有自己的編程語言用於對命令的編輯,它允許用戶編寫由shell命令組成的程式。 同Linux本身一樣,Shell也有多種不同的版本。主要有下列版本的Shell: Bourne Shell: 是貝爾實驗室開發的。 BASH: 是GNU的Bourne Again Shell,是GNU操作系統上預設的shell。/bin/bash Korn Shell: 是對Bourne SHell的發展,在大部分內容上與Bourne Shell相容。 C Shell: 是SUN公司Shell的BSD版本。 Z Shell: The last shell you’ll ever need! Z是最後一個字母,也就是終極Shell。它集成了bash、ksh的重要特性,同時又增加了自己獨有的特性。   六、Linux系統常用命令 1、Linux的命令分為內部命令和外部命令: 內部命令在系統啟動時就調入記憶體,是常駐記憶體的,所以執行效率高。 外部命令是系統的軟體功能,用戶需要時才從硬碟中讀入記憶體。系統將會讀取環境變數文件.bash_profile、/etc/profile去找PATH路徑。 # echo $PATH    --查看 PATH 包含哪些路徑 # enable -a  --查看所有內部命令 # type service   --type判斷命令為內部還是外部 # type pwd   --service 為外部命令;pwd為內部命令 # enable tree   --enable也可判斷 2、linux命令語法規則 command -option file 3、命令幫助——man\help\info # man passwd   --使用 man 手冊查找 passwd 命令如何使用 # tree --help   --外部命令查詢方式(或 -h);並不是所有命令都支持 # help cd   --內部命令查詢方式 # info ls 4、工作目錄切換——pwd\cd 絕對路徑: 一定是以"/"(根)開頭,它是唯一一個絕對能夠描述對象所在的路徑的方式。"/" 根目錄是linux操作系統最頂級的目錄,沒有任何路徑比它還要靠前。他是操作系統所在的目錄(分區)。 相對路徑:路徑是相對的,對象所在的路徑是相對於當前所在路徑而來,當前的所在路徑不一樣,那麼目標對象的相對路徑也不一樣。 # pwd --查看當前所在的工作目錄 # cd /usr/local/ --以絕對路徑的方式去往 /usr/local 目錄 # cd bin/ --以相對的路徑去往 /usr/local/ 目錄下的 bin 目錄。如何使用絕對方式? # cd . --. 代表當前目錄。該命令代表工作目錄沒動 # cd .. --返回當前目錄的父目錄,也就是前一級。也屬於相對路徑 # cd - --返回前次所在的工作目錄 # cd ~ --到當前用戶的家目錄 # cd /usr/local/../lib/../.. --這個到哪了?? 5、列出目錄下內容——ls # ls --查看當前目錄下的文件列表 # ls /bin/ --查看 /bin 目錄下有哪些文件 # ls -l /etc/ --查看 /etc 目錄下文件的詳細信息,參數 -l -rw-r--r--. 1 root root 46 Apr 22 18:56 adjtime '-' 為文件類型,普通文件。文件類型有7類:-dslbcp rw-r--r-- 為文件許可權 # ls -a /root -- 顯示以'.'開頭的隱藏文件,參數 -a # ls -ld /etc/ --查看目錄本身的信息。參數 -d # ls -lt /data/test --按文件的創建/最後修改排序 6、創建目錄——mkdir # mkdir /data --以絕對路徑創建目錄 # mkdir test --以相對路勁創建目錄 # mkdir dir1 dir2 --同時創建好幾個目錄 # mkdir test/a/b/c -p --以相對路勁遞歸創建目錄,參數 -p 7、文件狀態——stat # stat aa File: `aa' --文件名 Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: 803h/2051d Inode: 1968262 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2016-10-19 16:54:56.010977018 +0800 --訪問時間 Modify: 2016-10-19 16:53:34.722976466 +0800 --修改時間 Change: 2016-10-19 16:53:34.722976466 +0800 --狀態改變時間 註意:訪問時間只記錄文件狀態、內容改變後的第一次訪問時間。後面如果修改時間&狀態改變時間沒有發生變化,那麼即使進行了對文件的多次訪問,訪問時間也不會改變 在Linux中,沒有文件創建時間的概念。只有文件的訪問時間、修改時間、狀態改變時間。 如果文件創建後就沒有修改過,修改時間=創建時間; 如果文件創建後,狀態就沒有改變過,那麼狀態改變時間=創建時間; 如果文件創建後,沒有被讀取過,那麼訪問時間=創建時間,這個基本不太可能 8、創建文件——touch # touch /data/a # touch test/a # touch a b c # touch file{1,2,3,} # touch ["a b"]['a b'][a\ b] --創建一個文件 a b # touch -r a aa --使用 a 的屬性時間替換 aa 的屬性時間 # touch -d '2016-10-10 10:10' aa --修改文件的 訪問時間與修改時間。符號 -d # touch -m -d '2016-11-1 11:11' aa --只修改文件的 修改時間。符號 -m # touch -a -d '2016-6-6 6:6' aa --只修改文件的 訪問時間。符號 -a # touch -a -t 201505050555 aa --以該種時間格式修改文件訪問時間。符號 -t 9、刪除文件——rm # rm /root/test/a --刪除普通文件,並且會再讓我們確認下 rm: remove regular empty file `/root/test/a'? y # rm -f /root/test/aa --不用確認,直接刪除普通文件。符號 -f # rm -rf /root/test/ --刪除目錄,並且不用重新確認。符號 -r # rm -rf /root/test1/* --刪除目錄下的所有文件 10、拷貝文件——cp # cp /etc/passwd /root/test/ --拷貝普通文件 # cp /etc/passwd /root/test/password --拷貝普通文件,並且改名 # cp -r /etc/ /root/test --拷貝 /etc/ 目錄到 /root/test 目錄下 # cp -r /etc/* /root/test/bak/ --開唄 /etc/ 目錄下的所有文件到 /root/test/bak/ 目錄下 # cp -a /etc/passwd /root/test/ --將文件的各種屬性儘量完整的拷貝到目的地 11、移動文件——mv # mv /root/test/passwd bak/ --移動文件 # mv /root/test/passwd bak/pass --移動文件並改名 # mv /root/test/bak /root/test/bak-01 --移動目錄並改名 12、輸出——echo/tty # echo 'hello world' --輸出到終端 # tty --查看當前設備名 # echo 'hello world' > /dev/pts/1 --輸出到另外一個終端 # echo -n 'hello world' --輸出到終端後,不換行。符號 -n # echo -e '123\nhello world' --使能反斜杠轉義。符號 -e 常用轉義參數: \n(換行) \t(Tab) \b(退格鍵) \v(換行再Tab) 等等 13、查看文件——cat/more/less # cat /etc/passwd --輸出文件內容 # cat -n /etc/passwd --顯示每一行的行號。符號 -n # cat -nb /etc/passwd --只顯示非空的行。符號 -b # more /etc/passwd -- 一頁一頁的打開文件,空格下一頁,b 上一頁,/ 搜索,q退出 # less /etc/passwd --打開形式與more 類似。f 下一頁,w上一頁,j 下一行,k上一行,/ 搜索,h 幫助,q退出 14、過濾——grep # grep root /etc/passwd --查找文件里符合條件的字元串 # grep -v root /etc/passwd --將不包含root的行過濾出來。 -v # grep -A2 root /etc/passwd --在過濾出符合條件行的同時將其後面的兩行也顯示出來。-A # grep -B2 root /etc/passwd --在過濾出符合條件行的同時將其前面的兩行也顯示出來。-B # grep -C2 root /etc/passwd --在過濾出符合條件行的同時將其前後的兩行也顯示出來。-C # grep -c root /etc/passwd --計算出符合要求的行數。符號 -c # grep -i Root /etc/passwd --忽略字元大小寫。符號 -i # grep root /root/* --大範圍搜索 # grep -R root /root/* --大範圍遞歸搜索,搜索的範圍更加廣。符號 -R # grep -Rl root /root/* --只列出符合要求的文件名,不講內容輸出來。符號 -l # grep -w bin /etc/passwd --只顯示全字元合的列。符號 -w # grep -wo bin /etc/passwd --只顯示符合要求的字元。符號 -o 15、管道—— | 用法:command 1 | command 2 作用:是把第一個命令command 1執行的結果作為command 2的輸入傳給command 2 # cat /etc/passwd -n | less # echo -e 'rootjjjjjjjj\nkkkkkkkk' | grep root # cat /etc/passwd | grep root   七、重定向 作用:將輸出的內容重新定向到別的地方; 輸入為: 標準輸入(0);預設為鍵盤 輸出分為: 標準正確輸出(1) 和 標準錯誤輸出(2);預設為屏幕 相關符號: >,1>,2>,&>,< >> # ls -l /etc/passwd --標準正確輸出;預設到終端 -rw-r--r-- 1 root root 1920 Oct 11 22:37 /etc/passwd # ls -l /etc/kkk --標準錯誤輸出;預設到終端 ls: cannot access /etc/kkk: No such file or directory # echo $? --對上一條執行命令的正確性進行判斷;非0基本會標準錯誤輸出 1、重定向與追加的區別 # echo 'hello world' > george --將本該輸出到終端的內容重定向到george文件 # echo 'hi,george' > george --將新的內容重定向到george文件,發現覆蓋了原來的內容 # echo 'hi,frank' >> george --追加則另起一行,將新的內容寫入。符號 >> 2、標準正確輸出重定向 符號 >,1> # ls -l /etc/passwd 1> george --標準正確輸出重定向到了 george 文件 # ls -l /etc/kkkkk > george --而標準錯誤輸出還是到了我們的終端 ls: cannot access /etc/kkkkk: No such file or directory 3、標準錯誤輸出重定向 符號 2> # ls -l /etc/kkkkk 2> george --標準錯誤輸出重定向到了 george 文件 # ls -l /etc/passwd 2> george --而標準正確輸出還是到了我們的終端 -rw-r--r-- 1 root root 1920 Oct 11 22:37 /etc/passwd 4、標準正確&錯誤輸出重定向 符號 &> # ls -l /etc/jjj /etc/passwd > correct 2> error --將標準正確輸出重定向到 correct;將標準錯誤輸出重定向到 error # ls -l /etc/jjj /etc/passwd &> george --將標準正確&錯誤都重定向到 george 5、標準輸入 符號 < # mail -s 'ooo' root@localhost --使用鍵盤標準輸入 hello , root , wo zai yong jian pan qiao zi. . # mail -s 'ooo' root@localhost < /etc/passwd --使用標準輸入符號進行標準輸入,內容為 /etc/passwd 裡頭的內容
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 使用C#代碼實現對ElastiSearch的編程查詢,是十分方便的,通常情況下,開發者採用官方提供的NEST客戶端程式,通過封裝的方法向ElasticSearch引擎發送查詢請求,搜索數據,最終獲取返回的查詢結果,實現預定的業務需求。在內部,NEST客戶端通過格式化的數據結構,把C#代碼轉換成HTT... ...
  • 近日,在項目Debug過程中發現了SQL Server排序規則衝突的問題。 由於原資料庫是從英文環境的SQL中生成的,其排序規則為“SQL_Latin1_General_CP1_CI_AS”,備份到本地中文環境之後,預設的排序規則為“Chinese_PRC_CI_AS”。本來對應的查詢語句一直處於穩 ...
  • 首先在我的Student表中插入幾條數據,由於我的表已經創建完成了,所以就沒有創建表的 sql 語句了,不過可以看我的上一篇文章: http://www.cnblogs.com/Brambling/p/6649350.html 插入數據sql語句: 當然,也可以像下麵這樣寫,不過我個人習慣用上面這種 ...
  • 1.步驟序號 1.1 查詢的一般形式 1.2. 根據各個子句被邏輯處理的順序附以步驟序號 1.3. 查詢流程圖 查詢流程圖中,ORDER BY和TOP是處理順序是反的。 ""……why TOP operators come earlier than ORDER BY in the query exe ...
  • 簡要介紹 MySQL Flashback 的原理,安裝和使用。 ...
  • Mac下自帶的終端並不好用,當你打開終端的時候是一個白花花的視窗,其實Mac自帶幾種shell,預設使用的是bash,可以通過 查看幾種shell 其中最為強大的當然是zsh,相比起bash來,zsh可以自動補全命令行,可以更換多種主題,可以顯示Git倉庫的狀態等等,非常強大。但是早期因為zsh配置 ...
  • 1. 概述 <<深入理解Java虛擬機--JVM高級特性與最佳實踐>>第一章就談到自己編譯jdk,來吧。 2. 編譯環境 VMware12 CentOS-7-x86_64-Everything-1611 3. 軟體準備 Bootstrap JDK: jdk-7u79-linux-x64.tar.gz ...
  • linux shell 可以用戶定義函數,然後在shell腳本中可以隨便調用。下麵說說它的定義方法,以及調用需要註意那些事項。 原文和作者一起討論:http://www.cnblogs.com/intsmaze/p/6675421.html 微信:intsmaze 原文和作者一起討論:http:// ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...