2018/9/17 Linux 第1周筆記

1、描述計算機的組成及其功能。
2018/9/17 Linux 第1周筆記

**  硬件:**
              運算器、存儲器、控制器、輸入設備、輸出設備。
     ** 運算器的功能   ** 
             實現算術運算和邏輯運算(與控制器組成CPU)。 
     **存儲器的功能 **
             將輸入設備接收到的信息以二進制的數據形式存到存儲器中。 
     ** 控制器的功能 **
             將指令逐條從存儲器中取出,經譯碼分析後向全機發出相應的操作控制信號作用於其他部件,使各部件有條不紊地協調工作(與運算器組成CPU)。 
     ** 輸入設備的功能 **
             將數據、程序、文字符號、圖象、聲音等信息輸送到計算機中。 
     ** 輸出設備的功能 **
             將計算機的運算結果或者中間結果打印或顯示出來。

軟件:
系統軟件
操作系統軟件,這是軟件的核心。
各種語言的解釋程序和編譯程序。
各種服務性程序(診斷程序與排錯程序等 )

應用軟件
應用軟件是指用戶利用電腦及其提供的系統軟件爲解決各種實際問題而編制的電腦程序。

2、按系列羅列Linux的發行版,並描述不同發行版之間的聯繫與區別。
2018/9/17 Linux 第1周筆記

聯繫: 所有的發行版都使用linux內核;都需要遵循GNU的GPL協定;所有的發行版都有自己的版 本號,版本格式約定基本一樣(主版本號.次版本號.發行號或修正號)。
區別:發行版的本質區別,在於集成了不同版本的內核、庫、程序的組合。不同發行版幾乎採用了不同的包管理器(SLES、Fedora、openSUSE、centos、RHEL使用rmp包管理系統,包文件以rpm爲擴展名;Ubuntu系列,Debian系列使用基於DPKG包管理系統,包文件以deb爲擴展名。)

3、描述Linux的哲學思想,並按照自己的理解對其進行解釋性描述。
Linux 哲學思想:

  1. 一切皆文件:
    把幾乎所有資源全部抽象爲文件形式:包括硬件設備,通信等。
  2. 由衆多功能單一的程序組成:一個程序只做一件事,由組合小程序完成複雜任務。
  3. 儘量避免跟用戶交互,目標是易於以編程的方式實現自動化任務。
  4. 使用文本文件保存配置信息。

    4、說明Linux系統上命令的使用格式;詳細介紹ifconfig、echo、tty、startx、export、pwd、history、 shutdown、poweroff、reboot、hwclock、date命令的使用,並配合相應的示例來闡述。

ifconfig
語法:
ifconfig [網絡設備][down up -allmulti -arp -promisc][add<地址>][del<地址>][<hw<網絡設備類型> <硬件地址>][io_addr<I/O地址>][irq<IRQ地址>][media<網絡媒介類型>][mem_start<內存地址>][metric<數目>][mtu<字節>][netmask<子網掩碼>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]

顯示網絡設備信息
[root@Cenots7-1 ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.234.128 netmask 255.255.255.0 broadcast 192.168.234.255
inet6 fe80::778:46c0:7f04:49b prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:86:a0:12 txqueuelen 1000 (Ethernet)
RX packets 9454 bytes 12892791 (12.2 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5774 bytes 407283 (397.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
啓動關閉網卡
ifconfig en33 down 關閉
ifconfig en33 up 開啓
用ifconfig修改MAC地址
ifconfig en33 hw ether 00:AA:BB:CC:DD:EE
配置IP地址
ifconfig en33 192.168.234.129 netmask 255.255.255.0
啓用和關閉arp協議
ifconfig en33 arp #開啓網卡en33 的arp 協議
ifconfig en33 -arp #關閉網卡en33 的arp 協議
設置最大傳輸單元
ifconfig en33 mtu 1500 #設置能通過的最大數據包大小爲1500 bytes

**echo 回顯**
        echo[SHORT-OPTION]...[STRING]...
            -n:不進行換行; 
                  例:[root@Cenots7-1 ~]# echo -n "hello everybody" 
                         hello everybody[root@Cenots7-1 ~]# 
            -e:讓轉義符生效; 
                 \n:換行
                    例:hello everybody[root@Cenots7-1 ~]# echo -e "hello \neverybody"
                            hello 
                            everybody
                  \t:製表符
                     例:[root@Cenots7-1 ~]# echo -e "hello\teverybody" 
                             hello   everybody

              STRING可以使用引號,單引號和雙引號均可用; 
                 單引號:強引用,變量引用不執行替換; 
                      [root@Cenots7-1 ~]# echo '$SHELL'
                          $SHELL
                 雙引號:弱引用,變量引用會被替換; 
                       [root@Cenots7-1 ~]# echo "$SHELL"
                          /bin/bash
              注意:變量引用的正符號

  **    tty**
          終端是一種字符型設備,它有多種類型,通常使用tty來簡稱各種類型的終端設備
          tty [-s][--help][--version]
              -s或--silent或--quiet 不顯示任何信息,只回傳狀態代碼。
              --help 在線幫助。
              --version 顯示版本信息。
          例:
               [root@Cenots7-1 ~]# tty
               /dev/pts/0

    **startx **  
         進入Linux 的圖形界面 
       實例
           要在工作站上或 X 終端上啓動 X 會話,請輸入:   startx
           要在工作站上強制啓動 X 會話,請輸入:   startx -w
           要爲 X 終端啓動 X 會話,並註銷用戶的 telnet 會話,請輸入:
              startx; kill -9 $$
           要使用 .xinitrc 腳本啓動 X 會話,請輸入:
              startx -x .xinitrc

**pwd  **
      顯示工作目錄路徑
      語法:
              pwd [OPTION]...
                  --help:顯示幫助信息;
                 --version:顯示版本信息。
         例如:[root@Cenots7-1 sysconfig]# pwd
                    /etc/sysconfig

history
history(選項)(參數)
命令歷史:
shell 進程會在其會話中保存此前用戶提交執行過的命令
HISTSIZE: shell進程可保留的命令歷史的條數;
HISTFILE: 持久保存命令歷史的文件;
[root@Cenots7-1 ~]# echo $HISTFILE
/root/.bash_history
HISTFILESIZE:命令歷史文件的大小;
[root@Cenots7-1 ~]# echo $HISTSIZE
10000
命令用法:
history
history [n]
history -c
history -d offset
history -anrw [filename]
history -p arg [arg ...]
history -s arg [arg ...]
選項

-c:清空當前歷史命令;
-a:將歷史命令緩衝區中命令寫入歷史命令文件中;
-r:將歷史命令文件中的命令讀入當前歷史命令緩衝區;
-w:將當前歷史命令緩衝區命令寫入歷史命令文件中。
-d: offset: 刪除指定命令歷史

參數:
n:打印最近的n條歷史命令
例:
使用history命令顯示最近使用的10條歷史命令,輸入如下命令:
[root@Cenots7-1 ~]# history 10
252 shut -r +1
253 shutdown -r +1
254 man pwd
255 pwd -P
256 pwd
257 pwd -L
258 man tty
259 tty
260 export -p
261 history 10

   顯示history 的時間
          臨時顯示:
                        [root@Cenots7-1 ~]# export HISTTIMEFORMAT='%F %T '
                       通過history 命令即可顯示命令輸入時間。
                永舊顯示:
                        [root@Cenots7-1 ~] vi ~/.bashrc
                                      加入:export HISTTIMEFORMAT='%F %T '
                                            執行:[root@Cenots7-1 ~] source ~/.bashrc

                            顯示結果:
                                    1982  2018-10-18 22:38:58 export HISTTIMEFORMAT='%F %T '
                    1983  2018-10-18 22:39:05 history | more
                    1984  2018-10-18 22:46:47 vi ~/.bashrc
                    1985  2018-10-18 22:48:06 source ~/.bashrc
                    1986  2018-10-18 22:48:12 reboot
                    1987  2018-10-18 22:51:00 history 

調用命令歷史列表中的命令:
!#:再一次執行歷史列表中的第#條命令;
!!:再一次執行上條命令;
!STRING: 再一次執行命令歷史列表中最近以STRING開頭的命令;
注意:命令的重複執行有時候需要依賴於冪等性;
調用上一條命令的最後一個參數:
快捷鍵 :ESC . ---按ESC 鬆手後按 .
字符串: !$
例:[root@Cenots7-1 /]# vi !$

控制命令歷史記錄的方式:
環境變量: HISTCONTROL
ignoredups:忽略重複的命令;
ignorespace:忽略以空白字符開頭的命令;
ignoreboth: 以上兩者同時生效
查看環境變量:
[root@Cenots7-1 ~]# echo $HISTCONTROL
ignoredups
修改變量的值:
~]# exprot NAME='VALUE'
注意: 只在該進程內有效
例:
[root@Cenots7-1 /]# export HISTCONTROL=ignorespace
[root@Cenots7-1 /]# echo $HISTCONTROL
ignorespace
備註: 如想永久改動,直接到/etc/profile 下的HISTCONTROL 下修改。
修改後執行:
[root@Cenots7-1 /]# source /etc/profile

shutdown
關機或重啓命令
shutdown [OPTIONS...][TIME] [WALL...]
OPTIONS:
-h:hatl
-r: reboot
-c:cancel
TIME:
now 表示現在
hh:mm 表示幾點幾分
+m 表示在目前時間上增加多少分鐘
例:
[root@Cenots7-1 ~]# shutdown -h now
例:
[root@Cenots7-1 ~]# shutdown -r 23:25-----表示今天23:25分重啓
Shutdown scheduled for Wed 2018-09-05 23:25:00 CST, use 'shutdown -c' to cancel.
[root@Cenots7-1 ~]#
Broadcast message from root@Cenots7-1 (Wed 2018-09-05 23:24:07 CST):
The system is going down for reboot at Wed 2018-09-05 23:25:00 CST!
例:
[root@Cenots7-1 ~]# shutdown -r +1 ----表示目前時間一分鐘之後重啓
Shutdown scheduled for Wed 2018-09-05 23:29:56 CST, use 'shutdown -c' to cancel.
[ root@Cenots7-1 ~]#
Broadcast message from root@Cenots7-1 (Wed 2018-09-05 23:28:56 CST):

The system is going down for reboot at Wed 2018-09-05 23:29:56 CST!

poweroff
命令用來關閉計算機操作系統並且切斷系統電源。
語法
poweroff(選項)
-h: 停止機器;
-r: 重啓機器

reboot
命令用來重新啓動正在運行的Linux操作系統。
語法
reboot(選項)
-d:重新開機時不把數據寫入記錄文件/var/tmp/wtmp。本參數具有“-n”參數效果;
-f:強制重新開機,不調用shutdown指令的功能;
-w:僅做測試,並不真正將系統重新開機,只會把重開機的數據寫入/var/log目錄下的wtmp記錄文件。
實例

reboot //重開機。
reboot -w //做個重開機的模擬(只有紀錄並不會真的重開機)。

hwclock
硬件時鐘
語法: hwclock [function] [option...]
顯示或設定硬件時鐘
-s, --hctosys:以硬件爲準,把系統調整爲與硬件時間相同;
-w, --systohc:以系統爲準,把硬件時間調整爲與系統時鐘相同;
-r,--show 顯示硬件時間

date
系統時鐘
語法:date [OPTION]... [+FORMAT]
FORMAT:格式符
%F full date; same as %Y-%m-%d
%T time; same as %H:%M:%S
%Y year
%m month (01..12)
%d day of month (e.g., 01)
%H hour (00..23)
%M minute (00..59)
%S second (00..60)
%s:從1970年1月1日(unix元年)0點0分0秒到命令執行那一刻經過的秒數;
設定日期時間:date[MMDDhhmm][[CC]YY][.ss]]
例:[root@Cenots7-1 ~]# date +"%F %T"
2018-09-02 01:11:57

5、如何在Linux系統上獲取命令的幫助信息,請詳細列出,並描述man文檔的章節是如何劃分的。
獲取命令幫助
內部命令:
~]# help COMMAND
外部命令:
~]# COMMAND –help
使用手冊(man):壓縮格式的文,有章節之分
/usr/share/man man1,man2,...
1.用戶命令:
2.系統調用;
3.C庫調用;
4.設備文件及特殊文件;
5.文件格式;(配置文件格式)
6.遊戲使用幫助;
7.雜項;
8.管理工具及守護進行。
~]# man CHAPTER COMMAND
例:man 1 pwd
備註:並非每個COMMAND在所有章節下都有手冊;
查看:whatis COMMAND
注意:其執行過程是查詢數據庫進行的;
手動更新數據庫;
~]#makewhatis

6、請羅列Linux發行版的基礎目錄名稱命名法則及功用規定。

/bin:所有用戶可用的基本命令程序文件;
/sbin:供系統管理使用的工具程序;
/boot:引導加載器必須用到的各靜態文件;
/dev:存儲特殊文件或設備文件;
設備有兩種類型:字符設備(線性設備)、塊設備(隨機設備);
/etc: 系統程序的配置文件,只能爲靜態;
/home:普通的家目錄;
/root: 管理員的家目錄;
/lib: 爲系統啓動或根文件系統上的應用序(/bin,/sbin等)提供共享庫,以及爲內核提供內核模
塊;
libc.so.:動態鏈接的C庫;
ld
:運行時鏈接器/加載器;
modules:用於存儲內部模塊的目錄
/lib64:64位系統特有的存放64位共享庫的路徑;
/media: 便攜式設備掛載點;
/opt: 附加應用程序的安裝位置:可選路徑;
/srv: 當前主機爲服務提供的數據;
/tmp:爲那些會產生臨時文件的程序提供的用於存儲臨時文件的目錄;
/usr: usr Hierarchy,全局共享的只讀數據路徑;
/usr/local: Local hierarchy, 讓系統管理員安裝本地應用程序;也通常用於安裝第三方程序;
/var: /var Hierarchy,存儲常發生變化的數據的目錄;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章