寫給初學者的Linux餐前小菜

做者簡介 海洋,從事linux運維工做6年,業務運維4年,現任職餓了麼資深運維工程師,負責物流業務運維及穩定性相關工做,隨着運維工做不斷自動化和智能化,現對aiops感興趣,喜歡羽毛球、籃球等運動,沒事的話喜歡宅在家。mysql

寫給初學者的Linux餐前小菜

本文以linux的幾個重要的哲學思想爲起點,依次介紹了linux下的文件目錄及做用、基本命令操做以及包管理器的使用幾個話題,帶領初學的同窗從總體上感覺一下linux的輪廓。linux

Linux遵循的哲學思想

  1. 一切皆文件 除了普通文件,諸如目錄、字符設備、塊設備、套接字等在Unix/Linux中也都是以文件來對待,雖然類型不一樣,可是對其提供的倒是同一套操做界面。不一樣的文件根據類型或用途放在不一樣的目錄下。
  2. 由目的單1、短小、精悍的程序組成 經過短小、簡單的程序保障linux的高效,因爲程序功能過於單一,一個完整的服務須要依賴多個程序,多個程序相互的依賴關係又是一個問題,linux經過包管理器很好的解決了這個問題
  3. 文本文件保存配置信息 使用簡單的文件編輯器就能夠完成配置、更改配置(有關文本編輯器的使用,下次再聊)
  4. 儘可能避免捕獲用戶接口 一個程序一旦開始運行,就不須要用戶進行任何操做,儘可能不和用戶交互

Linux文件目錄及做用

目錄 做用
/ 根目錄
/bin 主要放基本執行命令
/sbin 主要放系統管理的命令
/boot 引導目錄(與系統啓動有關),放置內核、grub、initrd等文件
/dev device,設備文件目錄,也是特殊文件目錄
/etc 配置文件目錄,放置系統的配置文件
/home 用戶的家目錄,放置用戶的信息(用戶登陸後身處的默認目錄即爲用戶的家目錄)
/lib library,庫文件目錄,放置庫文件
/mnt 系統掛載目錄
/media 額外文件系統的掛在目錄
/misc 被動目錄,放置雜項設備
/opt 可選目錄,第三方軟件安裝的目錄
/proc 僞目錄,放置內核映像文件
/srv 服務器運行中產生的數據的臨時使用的目錄
/sys 僞目錄,放置內核中硬件信息的映射
/tmp 臨時文件目錄,放置系統中產生的臨時文件
/usr 第三方軟件的管理命令、額外信息等都存放在此
/var 常常變化的文件所處的目錄,如用戶的郵箱隊列

終端下的Linux:經過命令行和Linux交流

和操做系統交互的方式,通常分爲兩類nginx

  • GUI: graphical user interface 圖形化接口,相似windows系統的圖形化界面,linux使用的很少
  • CLI: command line interface 命令行接口,linux多經過這種方式進行操做,因此掌握基本命令是相當重要的

Linux中的命令格式:

  • 命令嚴格區分大小寫
  • command [options][arguments]
  • 短選項:-l 、-h、 -hl 分開的選項之間用空格隔開如ls -a -l = ls -al
  • 長選項:--help--long
  • 參數與選項之間空格隔開,參數之間也用空格隔開ls -al /etc /home

磨刀不誤砍柴工:如何得到一個命令的幫助信息

linux在非圖形界面下的操做都是基於命令行的,然而linux又有很是多的命令,每一個命令又有不少options, 在使用一個命令前,清楚的知曉命令的做用以及options的做用是很是重要的,下面我們來學習下經過哪些方法能夠得知這些信息。sql

Linux的命令分類

  1. 內部命令(shell自帶的命令) help command 獲取內部命令的幫助信息 [xxx@xxx]$ help cd shell

    help cd

  2. 外部命令(除了內部命令,即爲外部命令) command -h 獲取外部命令的幫助信息 [xxx@xxx]$ nginx -h 數據庫

    nginx -h

MAN手冊

man手冊能夠說是linux很全面的幫助文檔了,包括多個章節,每一個章節涉及不一樣方面。windows

  1. User commands 普通用戶命令相關信息
  2. System calls 系統調用相關信息
  3. Library functions 庫函數相關信息
  4. Devices 設備相關信息
  5. Files 文件格式、文件系統相關信息
  6. Games 娛樂和遊戲相關信息
  7. Overviews, conventions, and miscellaneous 雜項
  8. Superuser and system administration commands 管理員命令相關信息

__whatis__命令服務器

有的命令只涉及一個維度、有的命令可能涉及多個維度。查看命令對應在man手冊中的信息可以使whatis, whatis command顯示一個命令的簡單說明,同時顯示出此命令不一樣部分在man手冊上的章節數。markdown

[xxx@xxx]$ whatis cd運維

whatis cd

whatis是調用數據庫中有關這個命令的相關簡單說明,若是系統剛剛安裝,有些命令可能還沒來得及建立數據庫,所以便沒法使用whatis開查看此命令的幫助信息。可使用mkwhatis command幫命令生成一個有關此命令的數據數據。

經常使用命令

ls: 顯示目錄文件

  • -a 顯示目錄中全部文件(包括隱藏文件)
  • -l 顯示文件的詳細信息(權限、時間、屬主、屬組等)
  • -h 顯示文件大小(自動換算爲B、KB、MB、G)
  • -d 顯示目錄自己信息

cd: 切換所在目錄

  • cd ~ 切換到當前用戶的家目錄
  • cd - 切換到上一次目錄
  • cd . 切換到當前目錄
  • cd .. 切換到上一級目錄(父目錄)
  • cd /xx 切換到指定路徑

cat: 輸出文件全部內容

  • cat filename 輸出filename的全部內容
  • cat -n filename 輸出內容、顯示行號

tail: 查看文件內容(默認顯示後10行)

  • -f filename 動態顯示文件後10行(實時刷新)
  • -fn filename 動態顯示文件後n行(實時刷新)

echo: 像文件內寫入內容

  • echo xxx > filename 用xxx覆蓋filename的內容(filename原來內容消失,只有xxx)
  • echo xxx >> filename 在filename內容新追加一行xxx(filename原來內容依然在,新增一行xxx)

歷史命令

  • history 查看當前用戶使用過的命令,默認記錄1000條
  • history -c 清除命令歷史
  • ! + 'n'(歷史命令前的數字)便可使用命令歷史中相應的命令。
  • ! + '-n' 執行歷史命令中倒數第n條命令
  • ! + 字符串 表示執行歷史命令中離如今最近的以這個字符串開始的命令
  • !! 表示重複執行上一條命令
  • !$ 引用上一條命令的最後一個字符

Linux下的軟件安裝:包管理器的使用

上面我們說過基於'由目的單1、短小、精悍的程序組成'的特性,須要對多個程序間的依賴進行管理,linux開發出了包管理器。 包管理器能夠自動化地更新與管理軟件包,可以從指定的服務器自動下載軟件包而且安裝,能夠自動處理依賴性關係,而且一次安裝全部依賴的軟體包,無須繁瑣地一次次下載、安裝。

YUM

Yum(全稱爲Yellow dog Updater, Modified)是在Fedora和RedHat以及Centos中基於rpm的軟件包管理器。

YUM基本用法

  • yum install package 安裝程序package
  • yum groupinstall package 安裝程序組
  • yum update package 更新程序package
  • yum upgrade package 升級程序package
  • yum remove package 卸載程序package

YUM安裝mysql

  1. 首先得到root權限(本身的主機通常都是root)
  2. 執行命令 [xxx@xxx]$ yum install mysql-server mysql mysql-devel -y
    • mysql 即mysql客戶端command
    • mysql-server 即mysql服務端
    • mysql-devel 安裝所需的庫和文件等
    • -y 確認安裝(若是沒有-y 在安轉過程當中須要輸入y + '回車') 接下來就是刷屏的安裝信息了,若是安裝成功會顯示 Complete!
  3. 執行命令 [xxx@xxx]$ service mysqld start 啓動mysql服務
    mysql-start
  4. 連接mysql服務 [xxx@xxx]$ mysql 能夠直接登陸mysql(mysql剛初始化沒有密碼)
  5. 設置root用戶連接mysql的密碼 [xxx@xxx]$ mysqladmin -u root password 'password' [xxx@xxx]$ mysql -u root -p 輸入密碼,便可登陸 mysql安裝及啓動到此結束,接下來就能夠進行建庫、建表操做。

結尾

可見linux的操做雖然陌生,也是很是簡單的,只須要掌握一些基本知識便可爲咱們所用。 若是你們須要很是全面的linux入門資料《鳥哥私房菜》是不錯的選擇,對於比較感興趣的知識點想深挖下去能夠經過Google直接搜關鍵字就能查到不少高質量的文章。 不過最最最權威的仍是官網!




閱讀博客還不過癮?

歡迎你們掃二維碼加入交流羣,討論和博客有關的技術問題,還能夠和博主有更多互動

博客轉載、線下活動及合做等問題請郵件至 shadowfly_zyl@hotmail.com 進行溝通
相關文章
相關標籤/搜索