計算機基礎與Linux入門
計算機組成及功能
Linux常見發行版
Linux重要哲學思想
Linux文件系統層級結構及文件命名規則
如何獲取Linux命令的使用幫助
Linux常用命令及示例
1.1 計算機組成及功能
1.1.1 計算機的五大部件
計算機的主要組成部分有:
-
1、CPU:運算器
-
2、控制器、寄存器(內部存儲)、緩存;
-
3、存儲器:內存,RAM;
-
4、INPUT:下達指令,提供數據等;
-
5、OUTPUT:輸出數據加工后的結果;
其中:1和2都屬于CPU的內部組件
1.2 Linux常見發型版本
-
1、CentOS:從RedHat發展而來的發行版,由志愿者維護與RedHat完全兼容,目前已經被RedHat收購。
-
2、Debian:一個強烈信奉自由軟件,并由志愿者維護的系統。
-
3、Fedora:是RedHat的社區版,會經常引入新特性測試。
-
4、RedHat:有Redhat公司發行并維護。
-
5、Ubuntu:一個非常流行的桌面發行版。
-
6、SUSE:SUSE Linux原是以Slackware Linux為基礎,并提供完整德文使用界面的產品。
1.3 Linux重要哲學思想
-
1、一切皆文件(硬件設備也是通過文件表示)
物理終端: /dev/console
虛擬終端: /dev/tty[1-6]
串行終端: /dev/ttyS#
偽終端: /dev/pts/#
-
2、由眾多目的單一的小程序組成,一個程序只做一件事,并且做好;
-
3、組合小程序完成復雜任務;
-
4、盡可能避免跟用戶交互;
-
5、使用文本文件保存配置信息;
-
6、提供機制,而非策略。
1.4 Linux文件系統層級結構及文件命名規則
文件是什么?眾多文件如何有效組織起來?
-
目錄:目錄是路徑的映射
-
文件:存儲空間的一段流式數據,對數據可以做到按名存??;
-
Linux的文件系統:層級結構;有索引;
Linux的文件系統成倒置的樹狀結構,如下:
/ |-- bin -> usr/bin |-- boot |-- data |-- dev |-- etc |-- home |-- lib -> usr/lib |-- lib64 -> usr/lib64 |-- media |-- mnt |-- opt |-- proc |-- root |-- run |-- sbin -> usr/sbin |-- srv |-- sys |-- tmp |-- usr `-- var
1.4.1 文件的路徑表示
-
絕對路徑: 從根開始表示出的路徑;
[root@bj-1-140-node1 ~]# cd /etc/
-
相對路徑: 從當前位置開始表示出的路徑;
[root@bj-1-140-node1 etc]# cd sysconfig/
1.4.2 文件名使用法則
-
1、嚴格區分字符大小寫;
-
2、目錄也是文件,在同一個目錄下,兩個文件不能同名;
-
3、支持使用除/以外的任意字符;
-
4、最長不能超過255個字符;
1.4.3 用戶家目錄
用戶的起始目錄: 普通用戶管理文件的位置;
普通用戶Jerry的家目錄就是/home/Jerry
1.5 如何獲取Linux命令的使用幫助
Linux系統的命令分為外部命令與內部命令兩大類
1.5.1 內部命令的使用幫助
內部命令使用help查看命令的使用方法;查看命令是內部還是外部命令通過type查看;
[root@bj-1-140-node1 ~]# help cd
1.5.2 外部命令的使用幫助
外部命令的使用幫助可以有兩種方式。
-
1、命令自帶簡要格式的使用幫助
[root@bj-1-140-node1 ~]# tree --help
-
2、使用man手冊獲取命令幫助
命令格式:
man [1-8] COMMAND
常用選項:
-M /PATH/TO/SOMEDIR 到指定目錄下查找手冊并打開
man命令可以指定查看某個具體章節
SECTION: NAME: 功能性說明 SYNOPSIS:語法格式 DESCRIPTION: 描述 OPTIONS:選項 EXAMPLES: 使用示例 AUTHOR: 作者 BUGS:報告程序bug的方式 SEE ALSE: 參考 SYNOPSIS: []:可選內容 <>:必須提供的內容 a|b|c:多選一 ...:同類內容可出現多個
使用手冊:壓縮格式的文件,有章節之分
/usr/share/man man1, man2, man3, ... man1:用戶命令; man2:系統調用 man3:C庫調用 man4:設備文件及特殊文件 man5:文件格式(配置文件格式) man6:游戲使用幫助 man7:雜項 man8:管理工具及守護進程;
man命令打開手冊以后的操作方法
翻屏:空格鍵,向文件尾部翻一屏; b:向文件首部翻一屏; Ctrl+d:向文件尾部翻半屏; Ctrl+u:向文件首部翻半屏; 回車鍵:一次向文件尾部翻一行; k:向文件首部翻一行; G:跳轉最后一行 #G:跳轉至指定行,#號代表數字 文本搜索功能: /關鍵詞搜索指定字符串不區分大小寫,從文件首部向尾部依次查找 或 ?關鍵詞從文件尾部向首部部依次查找 n:與查找命令方向相同 N:與查找命令方向相反 退出: q
1.5.3 應用程序自帶的幫助文檔
-
REDEME: 應用程序的相關信息
-
INSTALL: 安裝幫助
-
CHANGES: 版本迭代時的改動信息
1.5.4 通過程序的官方文檔獲取幫助
通過查看獲取官方站點上的"Document"
1.5.5 用好搜索引擎
Google搜索關鍵詞:
如搜索某一類型文檔可以在后面加上filetype:pdf 例如:centos7 filetype:pdf
也可以在指定站點搜索指定內容,例如:centos7 site:51cto.com
1.6 Linux常用命令使用
1.6.1 help
獲取內部命令幫助
[root@bj-1-140-node1 ~]# help cd
1.6.2 pwd
獲取當前工作目錄
[root@bj-1-140-node1 ~]# pwd/root
1.6.3 file
查看文件類型
[root@bj-1-140-node1 ~]# file /etc/issue /etc/issue: ASCII text [root@bj-1-140-node1 ~]# file /bin/ls /bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=aa7ff68f13de25936a098016243ce57c3c982e06, stripped
1.6.4 basename
指定一個文件路徑獲取文件的基名
[root@bj-1-140-node1 ~]# basename /etc/sysconfig/selinux selinux
1.6.5 dirname
獲取文件所在的目錄名
[root@bj-1-140-node1 ~]# dirname /etc/sysconfig/selinux /etc/sysconfig
1.6.6 type
查看命令的類型是內部命令還是外部命令
[root@bj-1-140-node1 ~]# type cd cd is a shell builtin [root@bj-1-140-node1 ~]# type tree tree is hashed (/usr/bin/tree)
1.6.7 cd
切換目錄
命令格式
cd /PATH/TO/SOMEDIR
cd 不加任何參數時切換回家目錄;bash中~表示家目錄;
cd ~ :切換回自己的家目錄cd ~USERNAME :切換到指定用戶家目錄cd - :切換至上一次所在目錄
cd相關的環境變量
$PWD 當前工作目錄$OLDPWD 上一次的工作目錄
1.6.8 ls
list 列出指定目錄下的內容
命令使用格式: ls [OPTION]... [FILE]... -a:顯示所有文件,包括隱藏文件; -A:顯示除.和..之外的所有文件; -l:顯示文件的詳細屬性信息; -rw-------. 1 root root 1182 Dec 2 04:27 anaconda-ks.cfg -:文件類型 rw-------:文件的權限分為三組 rw-:文件屬主的權限; ---:文件的屬組的權限; ---:其它用戶的權限(非屬主、屬組); 1:數字表示文件被硬鏈接的次數; root:文件的屬主; root:文件的屬組; 1182:文件的大小,單位是字節; Dec 2 04:27:文件最近一次被修改的時間 anaconda-ks.cfg:文件名 -h:將文件大小換算成人類可讀的形式 -d:查看目錄自身的詳細信息,并非目錄中內容; -r:以逆序的方式顯示文件; -R:遞歸顯示;
示例
[root@bj-1-140-node1 ~]# ls anaconda-ks.cfg [root@bj-1-140-node1 ~]# ls -l total 4 -rw-------. 1 root root 1182 Dec 2 04:27 anaconda-ks.cfg [root@bj-1-140-node1 ~]# ls -lr /etc/sysconfig/ total 92 -rw-r--r--. 1 root root 644 Jun 16 2015 wpa_supplicant -rw-r--r--. 1 root root 138 Aug 13 2015 svnserve -rw-r-----. 1 root root 506 Nov 20 2015 sshd lrwxrwxrwx. 1 root root 17 Dec 2 04:22 selinux -> ../selinux/config -rw-r--r--. 1 root root 0 Jun 10 2014 run-parts -rw-r--r--. 1 root root 196 Sep 8 2015 rsyslog -rw-r--r--. 1 root root 12 Nov 21 2015 rsyncd -rw-r--r--. 1 root root 755 Nov 20 2015 readonly-root -rw-r--r--. 1 root root 15 Nov 21 2015 rdisc -rw-r--r-- 1 root root 159 May 31 2016 ntpdate drwxr-xr-x. 2 root root 4096 Dec 4 2016 network-scripts -rw-r--r--. 1 root root 22 Dec 2 04:27 network -rw-r--r--. 1 root root 634 Nov 20 2015 netconsole drwxr-xr-x. 2 root root 6 Nov 20 2015 modules -rw-r--r--. 1 root root 200 Mar 18 2014 man-db -rw-r--r--. 1 root root 180 Dec 2 04:26 kernel -rw-r--r--. 1 root root 1460 Nov 21 2015 kdump -rw-r--r--. 1 root root 903 Jul 14 2015 irqbalance -rw-------. 1 root root 1974 Nov 20 2015 iptables-config -rw-------. 1 root root 1988 Nov 20 2015 ip6tables-config -rw-r--r--. 1 root root 798 Nov 20 2015 init lrwxrwxrwx. 1 root root 17 Dec 2 04:23 grub -> /etc/default/grub -rw-r--r--. 1 root root 72 Nov 20 2015 firewalld -rw-------. 1 root root 1390 Jun 10 2014 ebtables-config -rw-------. 1 root root 110 Jul 27 2015 crond -rw-r--r--. 1 root root 150 Nov 20 2015 cpupower drwxr-xr-x. 2 root root 6 Nov 20 2015 console drwxr-xr-x. 2 root root 41 Dec 2 04:22 cbq -rw-r--r--. 1 root root 429 Dec 2 04:27 authconfig
1.6.9 cat
文本文件查看工具,查看文件中的內容
命令格式: cat [OPTION]... [FILE]... -n:顯示行號; -E:顯示文件尾部行結束符$;
示例
[root@bj-1-140-node1 ~]# cat -n /etc/fstab 1 2# 3# /etc/fstab 4# Created by anaconda on Fri Dec 2 04:20:15 2016 5# 6# Accessible filesystems, by reference, are maintained under '/dev/disk' 7# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info 8# 9UUID=d7c087de-36be-468d-aa08-b0d203c80db0 / xfs defaults 0 0 10UUID=3f4c9e32-d1bc-472b-ae1b-04eab1745d7e /boot xfs defaults 0 0 11UUID=a6ff9119-a960-4896-8060-15c0f68c993a swap swap defaults 0 0 [root@bj-1-140-node1 ~]# cat -E /etc/fstab $ #$ # /etc/fstab$ # Created by anaconda on Fri Dec 2 04:20:15 2016$ #$ # Accessible filesystems, by reference, are maintained under '/dev/disk'$ # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info$ #$ UUID=d7c087de-36be-468d-aa08-b0d203c80db0 / xfs defaults 0 0$ UUID=3f4c9e32-d1bc-472b-ae1b-04eab1745d7e /boot xfs defaults 0 0$ UUID=a6ff9119-a960-4896-8060-15c0f68c993a swap swap defaults 0 0$
1.6.10 echo
回顯命令
echo [SHORT-OPTION]... [STRING]... -n:不進行換行; -e:讓轉義符生效; \n:換行符 \t:制表符(Tab鍵) 顏色控制: [root@bj-1-140-node1 ~]# echo -e "\033[32;1mHello,World\033[0m"STRING 可以使用引號,單引號和雙引號都可以; 單引號:強引用,變量引用不執行 雙引號:弱引用,比那里應用會執行
示例
[root@bj-1-140-node1 ~]# echo -e "Hello\nWorld"HelloWorld [root@bj-1-140-node1 ~]# echo -e "\033[32;1mHello,World\033[0m"Hello,World
1.6.11 shutdown
關機或重啟命令
命令格式: shutdown [OPTIONS...] [TIME] [WALL...] -h:halt 關機 -r:reboot 重啟 -c:cancel 取消 TIME: now 立即執行 hh:mm # 指定一個具體的時間 +m :在幾分鐘以后關機 WALL:可以指定關機或者重啟時要發送的信息
示例
1.6.12 日期相關的命令
-
date 顯示系統時鐘
顯示日期時間: date [OPTION]... [+FORMAT] FORMAT:格式符 %F:顯示年-月-日 %T:顯示小時:分鐘:秒鐘 %Y:年 %m:月 %d:日 %M:分鐘 %H:小時 %S:秒 %s:從1970-01-01到命令執行的那一刻所經歷的秒鐘(unix元年) 設定日期時間:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] date 月日時分年.秒 date 120415492016.08
[root@bj-1-140-node1 ~]# date Sun Dec 4 18:34:38 CST 2016 [root@bj-1-140-node1 ~]# date +%F2016-12-04 [root@bj-1-140-node1 ~]# date +%T18:34:45 [root@bj-1-140-node1 ~]# date +"%F %T"2016-12-04 18:35:09 # 設置系統時間 [root@bj-1-140-node1 ~]# date 120418382016Sun Dec 4 18:38:00 CST 2016
-
hwclock 顯示硬件時鐘
-c:把系統時鐘設置為跟硬件時鐘一樣;-w:把硬件時鐘設置為跟系統時間一樣; [root@bj-1-140-node1 ~]# hwclock Sun 04 Dec 2016 06:34:01 PM CST -0.682422 seconds
-
cal 查看日歷
[root@bj-1-140-node1 ~]# cal December 2016 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
原創文章,作者:oranix,如若轉載,請注明出處:http://www.www58058.com/62536