初識Linux

本文對計算機組成及其功能、Linux的發行版、以及Linux的哲學思想進行了簡單的介紹;同時對Linux系統中常用的基礎命令以及如何獲取幫助信息進行了詳細的說明。

計算機的組成及其功能

什么是計算機?

計算機就是通過輸入設備(鍵盤、鼠標等),將用戶輸入的數據經過中央處理單元(即CPU)計算和處理之后,將結果通過輸出設備(顯示器)展現給用戶的設備

計算機組成?

由計算機的定義或者功能可知,計算機由三大部分組成:輸入設備、中央處理單元(即CPU)、輸出設備,為了提高計算機處理效率,計算機還需要內存作為數據暫時存放數據的空間,以提高數據處理效率;

  • 輸入設備:將需要處理的數據輸入到計算機里的介質,常見的輸入設備有:鍵盤、鼠標等;
  • 中央處理單元:即我們常說的計算機的CPU,CPU可看作計算機的大腦,一切的數據運算和管理均在CPU中進行,為計算機中最重要的部分;CPU根據功能可分為兩部分組成:
  • 算數邏輯單元:主要負責所有數據運算;
  • 控制單元:協調各組建和單元之間的工作;
  • 內存:存放輸入數據:輸入設備將需要處理的數據暫存在內存中,以供CPU讀取處理;存放輸出數據:CPU處理完成的數據也暫時存放于內存中,再由內存傳輸到輸出單元
  • 輸出設備:將按要求處理完成的數據呈現出來的介質。例如:屏幕,打印機等

認識Linux發行版

Linux發行版是指將GNU組織發布的源碼源文件進行編譯后的二進制文件,更具有普適性,目前Linux有三大主流發行版:

  • Debian:是目前唯一由社區維護的Linux發行版,其中Ubuntu為大家所熟知,就是Debian的一個分支,這類發行版是沒有商業公司支持的,適合個人學習或者研究使用;
  • Slackware:比較熟知的Liux發行版為S.U.S.E,其中SLES為企業版,S.U.S.E以界面華麗美觀著稱;
  • redhat系列:CentOS、Fedora為其大家所熟知發行版本

Linux哲學思想

一切皆文件:

Linus系統幾乎把所有資源系統均抽象為文件形式,甚至包括硬件設備,通信接口等;

  • Linux中硬件設備:幾乎所有硬件設備文件均在/dev目錄下,例如:/dev/disk、/dev/sda等
  • Linux文件系統:Linux文件系統采用倒置樹狀結構,如下圖所示:1.1?例如:/dev/pts/ptmx :最左側/:表示倒置樹狀結構最高層,為根目錄;其他的/:表示Linux文件系統中路徑分隔符

    文件路徑表示方法絕對路徑:從根目錄/開始,例如:/etc/passwd/; 相對路徑:從當前位置開始表示出的路徑

    文件使用法則: 1. 嚴格區分大小寫; 2. 目錄也是文件,在同一路徑下,不能出現同名文件; 3. 文件名使用除/以外的任意字符; 4. 最長不能超過255個字符

由眾多功能單一的程序組成

一個程序只用于做一件事,而Linux完成一件復雜工作需要組合很多個小程序;

Linux系統的目標是以編程的方式實現自動化任務,盡量避免跟用戶交互,故對于Linux系統來說,圖形化界面僅僅是Linux操作系統的一個應用程序而已;

Linus系統使用文本文件保存配置信息:一般的配置文件在/etc目錄下 例如:/etc/ntp.conf 即為與ntp服務相關的配置文件,使用文本文件保存該配置信息。

Linux系統命令使用

通用格式

COMMAND OPTIONS ARGUMENTS
其中:OPTIONS:指定命令的運行特性;ARGUMENTS:命令的生效對象

常用命令介紹

ifconfig

  1. 功能:用來查看或者設置網絡接口的ip地址
  2. 語法規則:ifconfig [interface]
    ifconfig interface [aftype] options | address ...
  3. 舉例:ifconfig eth0/lo:查看eth0/lo接口的ip地址及網卡其他屬性,如該網卡的最大傳輸單元MTU,該網卡發送和接收數據包情況等?1.2

echo

回顯命令
例如:echo $? 可以回顯上一條命令的指令結果,0為正常執行
echo $SHELL 可查看接口程序

tty:查看當前的終端設備

startx

啟動圖形化界面,圖形化界面為F7,使用ctrl+alt+F[1…6]切換終端

export

  1. 功能:設置或者顯示環境變量,在設置環境變量時,只對當前shell生效
  2. 語法規則:export [-fnp][變量名稱]=[變量設置值]
  3. OPTIONS: -f  代表[變量名稱]中為函數名稱。
    -n  刪除指定的變量。變量實際上并未刪除,只是不會輸出到后續指令的執行環境中。
    -p  列出所有的shell賦予程序的環境變量。
  4. 舉例:export PATH=$PATH:/tmp 使用回顯命令echo $PATH 可看到/tmp已被加入到當前shell的環境變量PATH中,而并未被加入其它shell中

pwd

  1. 功能:以絕對路徑的方式顯示當前工作目錄的名稱
  2. 語法規則:pwd [OPTION]...

history

  1. 功能:記錄執行過的命令
  2. 語法規則:
    history [-c] [-d offset] [n]
    history -anrw [filename]
    history -ps arg [arg...]
  3. OPTIONS
    history [n] n為數字,列出最近的n條命令;
    -c:將目前shell中的所有history命令消除;
    history [-raw] histfiles:
    -a 將目前新增的命令寫入histfiles, 默認寫入~/.bash_history;
    -r 將histfiles內容讀入到目前shell的history記憶中;
    -w 將目前history記憶的內容寫入到histfiles
  4. 舉例:
  1. shell > history
  2. 34 14-10-28 16:19:24 ll
  3. 35 14-10-28 16:19:26 vim test
  4. 36 14-10-28 16:19:33 ll
  5. 37 14-10-28 16:19:34 ll

顯示3行:

  1. shell > history 3
  2. 1032 14-11-02 16:10:41 history
  3. 1033 14-11-02 16:10:46 history |more
  4. 1034 14-11-02 16:11:15 history 3

使用! 執行歷史命令。 ! number 執行第幾條命令 ! command 從最近的命令查到以command開頭的命令執行 !! 執行上一條

  1. shell > !1046
  2. history 3
  3. 1045 14-11-02 16:22:38 head ~/.bash_history
  4. 1046 14-11-02 16:35:37 history 3
  5. 1047 14-11-02 16:35:48 history 3
  6. shell > !!
  7. history 3
  8. 1046 14-11-02 16:35:37 history 3
  9. 1047 14-11-02 16:35:48 history 3
  10. 1048 14-11-02 16:35:52 history 3
  11. shell > !head
  12. head ~/.bash_history
  13. #1414484377
  14. cd update/
  15. #1414484377

shutdown

  1. 功能:關機或重啟系統
  2. 語法規則: shutdown [OPTION]... TIME [MESSAGE]
  3. OPTIONS:
    -r:在系統關閉之后重啟
    -h:halt暫停
    -c:取消關機

poweroff

  1. 功能:關機
  2. 語法規則: poweroff [OPTION]...
  3. OPTIONS:
    -f:–force,強制執行操作
    -v:–verbose,輸出詳細信息

reboot

  1. 功能:重啟
  2. 語法規則: 同poweroff

日期時間相關命令:

在Linux系統中,系統啟動時從硬件讀取日期和時間信息,讀取完成后,就不再與硬件相關聯。與日期相關的命令如下:

date
  1. 功能:查看系統時鐘
  2. 語法規則:
    date [OPTION]... [+FORMAT]
    date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
    以給定的格式顯示當前時間,或是設置系統日期
  3. 舉例: 時間輸出:
  1. [root@root ~]# date “+%Y-%m-%d”
  2. 2018-01-14
  3. [root@root ~]# date “+%H:%M:%S”
  4. 13:13:59
  5. [root@root ~]# date “+%Y-%m-%d %H:%M:%S”
  6. 2018-01-14 13:14:19
  7. [root@root ~]# date “+%Y%m%d %H:%M:%S”
  8. 20180114 13:14:58
  9. [root@root ~]# date -d today
  10. Tue Feb 19 13:10:38 CST 2013
  11. [root@root ~]# date -d now
  12. Tue Feb 19 13:10:43 CST 2013
  13. [root@root ~]# date -d tomorrow
  14. Wed Feb 20 13:11:06 CST 2013
  15. [root@root ~]# date -d yesterday
  16. Mon Feb 18 13:11:58 CST 2013

時間設置: 我們一般使用“date -s”命令來修改系統時間, 比如將系統時間設定成2011年7月13日的命令:date -s 07/13/2011 將系統時間設定成11點12分0秒的命令:date -s 11:12:00

注意: 這里說的是系統時間,是linux由操作系統維護的。 在系統啟動時,Linux操作系統將時間從CMOS中讀到系統時間變量中,以后修改時間通過修改系統時間實現。為了保持系統時間與CMOS時間的一致性,Linux每隔一段時間會將系統時間寫入CMOS。由于該同步是每隔一段時間(大約是11分鐘)進行的,在我們執行date -s后,如果馬上重起機器,修改時間就有可能沒有被寫入CMOS,這就是問題的原因。

如果要確保修改生效可以執行如下命令。 clock –w, 強制把系統時間寫入CMOS

clock,hwclock
  1. 功能:顯示與設定硬件時鐘
  2. 舉例: hwclock命令與clock命令是一個東西

[root@linuxidc.com~]# type -a hwclock
hwclock is /sbin/hwclock
hwclock is /usr/sbin/hwclock
[root@linuxidc.com~]# ls -l /sbin/hwclock /usr/sbin/hwclock
-rwxr-xr-x 1 root root 34096 2012-01-07 /sbin/hwclock
lrwxrwxrwx 1 root root 18 08-13 00:14 /usr/sbin/hwclock -> ../../sbin/hwclock

[root@linuxidc.com~]# type -a clock
clock is /sbin/clock
[root@linuxidc.com~]# ls -l /sbin/clock
lrwxrwxrwx 1 root root 7 08-13 00:14 /sbin/clock -> hwclock

顯示硬件時鐘

[root@linuxidc.com~]# hwclock
2011年11月06日 星期日 21時09分28秒 -0.134840 seconds
[root@linuxidc.com~]# hwclock -r
2011年11月06日 星期日 21時09分33秒 -0.469123 seconds
[root@linuxidc.com~]# hwclock –show
2011年11月06日 星期日 21時09分45秒 -0.127548 seconds

修改日期并同步到硬件時鐘

[root@linuxidc.com~]# date
2011年 11月 06日 星期日 21:11:57 CST
[root@linuxidc.com~]# date 11062112 <== 格式 mmddHHMM,即 月日時分
2011年 11月 06日 星期日 21:12:00 CST
[root@linuxidc.com~]# hwclock -w
[root@linuxidc.com~]# hwclock
2011年11月06日 星期日 21時12分13秒 -0.648818 seconds

注:要使系統時間準確,最好還是使用ntp方式。 使用ntpdate命令從網絡同步時間,再同步到硬件時鐘
ntpdate命令是使用NTP協議來從網絡同步時間的命令。NTP=Network Time Protocol 網絡時間協議。

[root@linuxidc.com~]# ntpdate 0.rhel.pool.ntp.org
6 Nov 21:17:55 ntpdate[4829]: step time server 123.146.124.28 offset -1.025258 sec
[root@linuxidc.com~]# date
2011年 11月 06日 星期日 21:17:59 CST
[root@linuxidc.com~]# hwclock -w

獲取幫助

查看命令類型:

type COMMAND:可查看內置或者外部命令。 要想獲取幫助,首先要弄清楚該命令為內部還是外部命令

內部命令:

help COMMAND

外部命令

  1. 命令自帶簡要格式的使用幫助:COMMAND –help
  2. 使用手冊:man,manual的簡寫,位于/usr/share/man
    • 使用規則:man COMMAND
    • man page組成部分:NAME:簡短的命令、數據名稱說明;SYNOPSIS:簡短的命令執行語法簡介;DESCRIPTION:較為完整的說明
    • man手冊章節說明:
      man 1:用戶在shell環境中可以操作的命令或可執行文件;
      man 2:系統內核可調用的函數與工具等;
      man 3:常用的函數與函數庫,大部分為c函數庫
      man 4:設備文件及特殊文件的說明
      man 5:配置文件或者是某些文件的格式
      man 6:游戲使用幫助
      man 7:雜項,慣例與協議等,例如Linux文件系統、網絡協議等說明
      man 8:管理工具及守護進程,系統管理員可用的管理命令
      man 9:內核kernel有關的文件
    • 查看:whatis COMMAND 查看某個命令在哪些章節存在,前提是必需要創建whatis數據庫才行,因為其執行過程是查詢數據庫進行的。
    • 創建或更新數據庫:makewhatis
  3. info COMMAND:獲取命令的在線文檔
  4. 參考自帶幫助文檔:/usr/share/doc其中
    README:程序的相關信息
    INSTALL:安裝幫助
    CHANGES:版本迭代時的改動信息
  5. 主流發行版的官方文檔:http://www.redhat.com/doc等
  6. 程序的官方文檔:官方站點上的documents
  7. 搜索引擎

 

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/91111

(0)
小小珊susan小小珊susan
上一篇 2018-01-14 14:08
下一篇 2018-01-14 16:50

相關推薦

  • sed使用方法

      sed編輯器被稱作流編輯器(stream editor)。流編輯器在處理數據之前基于預先提供的一組規則來編輯數據流。 一、命令格式   sed options '"地址""編輯命令"' file   常用選項:     -n:靜默模式,不顯示模式…

    Linux干貨 2015-12-28
  • N25第八周學習總結_sed命令詳解

    sed使用詳解 大綱: 1、    sed是什么 2、    為什么要使用sed 3、    sed使用方法 4、    sed詳解   正題: 1、    sed是什么 sed全名Stream Ed…

    2017-02-26
  • 馬哥教育網絡班22期第6周課程作業

    請詳細總結vim編輯器的使用并完成以下練習題 1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; %s@^[[:space:]]\+@# 2、復制/boot/grub/grub.conf至/tmp目錄中,刪除/tmp/grub.conf文件中的行首的空白字符; %…

    Linux干貨 2016-12-05
  • Hadoop集群配置(最全面總結)

    通常,集群里的一臺機器被指定為 NameNode,另一臺不同的機器被指定為JobTracker。這些機器是masters。余下的機器即作為DataNode也作為TaskTracker。這些機器是slaves\ 官方地址:(http://hadoop.apache.org/common/docs/r0.19.2/cn/cluster_setup.ht…

    Linux干貨 2015-04-13
  • Linux磁盤管理及其相關命令使用

    Linux磁盤及文件系統    CPU MEMORY(RAM) I/O    I/O:disks entercard    Disks:持久存儲數據    接口類型:      IDE(ata):并行 133MB/s     &n…

    Linux干貨 2016-08-26
  • HA專題: 使用pacemaker+corosync實現MySQL高可用

    HA專題: 使用pacemaker+corosync實現MySQL高可用 前言 實驗拓撲 實驗環境 實驗步驟 準備工作 安裝HA組件并配置 配置NFS 配置MySQL 配置HA資源 測試 總結 前言 上篇文章我們介紹了使用pacemkaer+corosync實現簡單的nginx高可用, 這篇文章我們介紹如何使用pacemaker+corosync實現MySQ…

    Linux干貨 2016-04-11
欧美性久久久久