前言:從今天開始寫這系列linux博客了(是學習劉遄老師的<linux就該這麼學>),視頻學習的資源能夠在b站上找到:https://www.bilibili.com/video/av45771723?from=search&seid=16246736897428574633,同時這本書的電子稿的話,能夠在劉遄老師的網站找到:https://www.linuxprobe.com/chapter-06.html,並且裏面有系統安裝資源和教程,很是詳細。html
1、認識RPM和yum :node
在早期linux系統裏面要安裝一個軟件的話,只能採用源碼包的方式來安裝,並且要考慮軟件的依賴關係,因此在linux系統中裝軟件很是的麻煩,因而乎RPM(red package mangement:紅帽軟件包管理器),就出現了,這才解決了這個裝軟件的麻煩性。linux
可是隨着技術的發展,如今的軟件是愈來愈複雜話了,因此RPM在linux裏面裝系統仍是很是的麻煩,因此這個時候yum創庫出現了(它是經過大量的經常使用RPM軟件放在一塊兒,解決軟件包的依賴關係,進一步來下降軟件的安裝難度)redis
2、RHEL7中服務進程中經常使用的命令:vim
一、基本形式:windows
systemctl + 配置命令緩存
systemd +服務名bash
二、經常使用服務進程命令:網絡
a、systemctl restart +服務名 --------表示重啓服務架構
b、systemctl start +服務名 --------表示啓動服務
c、systemctl stop +服務名 --------表示關閉服務
d、systemctl enable +服務名 ---------表示加入啓動項
e、systemctl status +服務名 --------表示查看服務
注意:這個服務進程命令很是重要,後面的許多服務配置常常要用到這些命令
3、linux命令的常見格式爲:
注意:短格式和短格式能夠合併,例如上面的 -a 和-l 就能夠合併成-al ,可是短格式和長格式不能夠合併以及長格式與長格式也不能夠合併
4、經常使用系統命令的用法:
一、man命令,它是用man + 任何命令,就會顯示這個命令的具體用法了,很是方便。
二、echo命令:它是在終端上輸出字符串或者提取變量的值,格式爲:「echo [字符串] | $變量
[root@linuxprobe Desktop]# echo i like the linux
i like the linux
取變量的值(這裏是取變量的SHELL的值,不要忘加"$"):
[root@linuxprobe Desktop]# echo $SHELL
/bin/bash
三、date命令,它是顯示及設置系統的時間或者日期,格式" date [選項] [+指定的格式],同時咱們在使用的時候在它的後面加一個"+"開頭的參數,能夠按照指定的格式來輸出系統的時間和日期,它經常使用參數用法以下:
a、按照默認格式查看當前系統的時間:
[root@linuxprobe Desktop]# date
Wed May 22 01:19:14 CST 2019
b、按照"年-月-日 小時:分鐘:秒"的格式來查看當前系統的時間:
[root@linuxprobe Desktop]# date "+%Y-%m-%d %H:%M:%S" 2019-05-22 01:22:47
c、將系統的時間能夠設置成一個指定的時間,好比:2019年5月22日5點25分:
[root@linuxprobe Desktop]# date -s "20190522 5:25:00"
Wed May 22 05:25:00 CST 2019
d、使用"%j"能夠查看今天是今年中的第幾天:
[root@linuxprobe Desktop]# date "+%j" 142
四、reboot命令,它用於重啓系統,只要直接輸入這個命令就能夠重啓系統了。
五、poweroff命令,它是用於關閉系統,只要直接輸入這個命令就能夠實現關閉系統了。
六、ps命令,它是用來查看系統中的進程狀態,格式爲"ps [參數]",它的經常使用參數以下:
注意若是很差理解進程是什麼,能夠看下面這個(簡單把它理解成一個寫好的軟件,正在運行,好比咱們windows系統中的任務管理器中能夠查看進程):
同時在linux 系統中有五種常見的進程狀態:
-------R(運行):表示進程正在運行或者在運行隊列中等待
-------S(中斷):表示進程處於休眠中,當某個條件造成後或者接受到信號時,則脫離該狀態
--------D(不可中斷):表示進程不響應異步信號,即便使用kill 命令也不能將其中斷。
--------Z(僵死):表示進程已經終止,可是進程描述符依然存在,直到父進程調用wait()系統函數後纔將進程釋放。
--------T(中止):表示收到中止信號後中止運行
接下來咱們看一下這個ps 命令的演示效果:
那麼這裏的USER PID 等後面的參數表明什麼意思呢,看下面的說明:
七、top命令,它是動態的查看進程活動與系統負載等信息,格式爲"top",也就是和我剛纔說的那樣,在windows任務管理器中,能夠查看進程狀態,這個命令的演示效果以下:
說明:這裏從top第一行從左往右的意思依次是表示 : 當前系統時間是---13:22:08,運行了33分鐘,登入終端數爲2個,系統負載分別爲18秒,12秒,19秒(數值越小意味着負載承受壓力越低)。
第二行從左往右表示爲,進程總數(也就是程序總個數)爲492個,一個正在運行的進程數,491個進程沒有運行,0個進程被中止,僵死的進程爲0個。
第三行從左往右依次表示:cpu暫用的資源百分比總共爲2.3%,97.7%的cpu資源處於空閒的狀態。
第四行從左往右依次表示:物理內存總共爲1870784kiB,已經使用了942536kiB,空閒內存爲92848kiB,做爲內核緩存的內存量爲928kiB。
第五行從左往右依次表示:虛擬內存總量爲2097148kiB,虛擬內存使用量爲0,虛擬內存空閒量爲2097148kiB,已經被提早加載的內存量我337512kiB
八、pidof命令,它是用來查詢某個指定服務進程的PID值(就是進程的標識符,有點像網絡裏面的端口號),格式爲:"pidof [參數] [服務名稱]"。好比咱們來查看一下sshd服務:
[root@linuxprobe Desktop]# pidof sshd
2381 //sshd的PID值爲2381
九、kill命令,它是用於終止某個指定PID的服務進程,格式爲"kill[參數] [進程PID],例如咱們關閉sshd服務,而後再用pidof查看,你會發現查看不到sshd服務的PID值
[root@linuxprobe ~]# pidof sshd
2381 [root@linuxprobe ~]# kill 2381 [root@linuxprobe ~]# pidof sshd [root@linuxprobe ~]#
十、killall命令,它用於終止某個指定名稱的服務所對應的所有進程,格式爲:"killall [參數] [服務名稱]"(這裏暫時沒有學到一個服務有不少個PID值的服務,因此暫時舉不出一個例子來可是後面會學到,到時候會完善這裏)。
5、系統狀態監測命令:
一、ifconfig命令,它是用來獲取網卡配置與網絡狀態等信息,格式爲"ifconfig [網絡設備] [參數]",(這個命令相似咱們在Windows裏面的ipconfig命令查看網卡的信息):
注:這個是windows 中查看網卡的信息。
接下來咱們來看一下linxu系統下的網卡查看命令:
注:這裏網卡名稱是bond0,inet後面192.168.10.10是ip地址,ether參數後面的00:50:56:3c:5d:40是網卡的物理地址(也叫MAC地址),RX,TX是表示接受數據包和發送數據包。
二、uname命令,它是用於查看系統內核與系統版本等信息,格式爲"uname [-a]",演示效果以下:
[root@linuxprobe ~]# uname -a
Linux linuxprobe.com 3.10.0-123.el7.x86_64 #1 SMP Mon May 5 11:16:57 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux
說明:內核名稱爲:linux,主機名爲:linuxprobe.con,內核發行版本:3.10.0-123.e17.x86_64,節點名:smp,系統時間:Mon May 5 11:16:57 ,操做系統名稱:x86_64_x86_64 x86_64 GNU/Linux。
三、uptime命令,它是來查看系統的負載信息(好比說,能夠顯示當前系統時間,系統當前已經運行的時間,啓用終端數量以及平均負載值等等)這個命令有點像top命令。
[root@linuxprobe ~]# uptime
18:42:48 up 5:54, 2 users, load average: 0.04, 0.07, 0.06
四、free命令,它是用來查看當前系統中內存的使用信息,格式爲"free [-h]",這個命令的最大做用就是能夠時刻查看內存的使用量,防止系統宕機
[root@linuxprobe ~]# free -h
total used free shared buffers cached
Mem: 1.8G 1.0G 815M 9.8M 928K 330M -/+ buffers/cache: 680M 1.1G Swap: 2.0G 0B 2.0G
五、who命令,它是查看當前登入主機的用戶終端信息,格式爲"who [參數]"
[root@linuxprobe ~]# who
root :0 May 22 12:50 (:0) //登入用戶名爲root root pts/0 May 22 13:12 (:0)
六、last命令,它是來查看全部系統的登入記錄(好比說咱們這個操做系統有哪些用戶登入過,均可以用這個命令查看到的)。
[root@linuxprobe ~]# last
root pts/0 :0 Wed May 22 13:12 still logged in root :0 :0 Wed May 22 12:50 still logged in (unknown :0 :0 Wed May 22 12:48 - 12:50 (00:01) reboot system boot 3.10.0-123.el7.x Wed May 22 20:48 - 18:54 (-1:-53)
七、history命令,它是用來查看咱們以前執行過的命令,利用這個命令通通能夠查看到,
[root@linuxprobe ~]# history
1 cd ~
2 fdisk /dev/sdb 3 vim /etc/sysconfig/network-scripts/ifcfg-eno16777736 4 systemctl restart network 5 vim /etc/sysconfig/network-scripts/ifcfg-eno16777736 6 systemctl restart network 7 ifconfig 8 exit 9 vim /etc/sysconfig/network-scripts/ifcfg-eno16777736 10 vim /etc/sysconfig/network-scripts/ifcfg-eno16777736 11 systemctl restart network 12 exit 13 vim /etc/ssh/sshd_config 14 systemctl restart sshd 15 systemctl enable sshd 16 vim /etc/ssh/sshd_config 17 systemctl enable sshd 18 systemctl enable sshd 19 systemctl enable sshd 20 vim /etc/ssh/sshd_config 21 systemctl enable sshd 22 vim /etc/ssh/sshd_config 23 systemctl enable sshd 24 sentenforce 0
注:上面是一部分執行過的命令,這個命令能夠顯示全部以前用過的命令記錄。歷史命令會被保存到用戶的家目錄中的./bash_history 文件中(linux系統中以(.)開頭的文件均表示隱藏文件,並且這些文件大多數爲系統服務文件);history -c 命令是表示清空以前用過的全部命令記錄。
八、sosreport命令,它是用來收集系統配置及架構信息並輸出診斷文檔,格式爲"sosreport"(這個命令能夠很好的查看一些錯誤,當系統發生故障的時候,並且也可讓技術人員遠程經過這個錯誤信息來解決問題,也就不用親自來現場解決,由於Linux技術服務到現場的話,維修費用很是貴)
6、工做目錄切換命令:
一、pwd命令,它是來顯示用戶當前所處的工做目錄:
[root@linuxprobe Desktop]# pwd
/root/Desktop //當前在rooty用戶下的桌面目錄
二、cd命令,它是用來切換工做路徑,格式爲:"cd [目錄名稱]";「cd -」命令表示返回上一次所處的目錄,使用"cd.."命令表示進入上級目錄,以及使用"cd ~"命令表示爲切換到當前用戶的家目錄。演示效果以下:
[root@linuxprobe Desktop]# cd /bin //切換到bin目錄下
[root@linuxprobe bin]# cd - //返回桌面目錄下
/root/Desktop [root@linuxprobe Desktop]# cd ~ //切換到用戶的家目錄 [root@linuxprobe ~]#
三、ls命令,它是來顯示目錄中的文件信息。格式爲:"ls [選項] [文件]";可使用"ls -a" 命令查看所有文件(包括隱藏文件),使用「ls -l 」命令能夠查看文件的屬性、大小等詳細信息;使用"ls -al"命令能夠查看所有文件的屬性。顯示效果以下:
[root@linuxprobe ~]# ls -al
total 92 dr-xr-x---. 17 root root 4096 May 23 00:32 . drwxr-xr-x. 17 root root 4096 May 23 2019 .. -rw-------. 1 root root 3720 May 23 00:32 .ICEauthority -rw-------. 1 root root 2438 May 21 19:40 .bash_history -rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout -rw-r--r--. 1 root root 176 Dec 29 2013 .bash_profile -rw-r--r--. 1 root root 176 Dec 29 2013 .bashrc drwx------. 10 root root 4096 Feb 21 21:58 .cache drwx------. 15 root root 4096 Feb 17 21:20 .config -rw-r--r--. 1 root root 100 Dec 29 2013 .cshrc drwx------. 3 root root 24 Feb 6 17:52 .dbus -rw-------. 1 root root 16 Feb 6 18:02 .esd_auth drwx------. 3 root root 18 Feb 6 18:02 .local drwx------. 2 root root 46 Feb 22 22:44 .ssh -rw-r--r--. 1 root root 129 Dec 29 2013 .tcshrc -rw-------. 1 root root 6077 May 21 19:22 .viminfo -rw-------. 1 root root 6944 Feb 23 23:08 .viminfo.tmp -rw-------. 1 root root 59 May 4 20:21 .xauthpl8Xz5 drwxr-xr-x. 2 root root 6 May 21 18:47 Desktop drwxr-xr-x. 2 root root 6 Feb 6 18:02 Documents drwxr-xr-x. 2 root root 6 Feb 6 18:02 Downloads drwxr-xr-x. 2 root root 6 Feb 6 18:02 Music drwxr-xr-x. 2 root root 6 Feb 6 18:02 Pictures drwxr-xr-x. 2 root root 6 Feb 6 18:02 Public drwxr-xr-x. 2 root root 6 Feb 6 18:02 Templates drwxr-xr-x. 2 root root 6 Feb 6 18:02 Videos drwxr-xr-x. 3 root root 14 May 21 19:26 a -rw-------. 1 root root 1032 Feb 7 01:50 anaconda-ks.cfg -rw-r--r--. 1 root root 63 May 21 19:14 hh drwxr-xr-x. 2 root root 6 May 21 19:24 hhh -rw-r--r--. 1 root root 1083 Feb 6 17:52 initial-setup-ks.cfg -rw-r--r--. 1 root root 3 Feb 22 22:41 readme.txt -rw-r--r--. 1 root root 96 May 21 19:27 tt -rw-r--r--. 1 root root 70 Feb 22 22:44 tu.txt
若是想查看目錄屬性信息,能夠用"ls -ld +[目錄名稱]",演示以下:
[root@linuxprobe ~]# ls -ld /etc
drwxr-xr-x. 132 root root 8192 May 23 2019 /etc //drwxr-xr-x這個就是表示目錄的屬性,關於文件的屬性,後面咱們會學到
7、文件文本編輯命令:
一、cat 命令,它是來查看純文本文件(內容比較少的),格式爲:"cat [選項] [文件]"。"cat -n [文件] "命令能夠在查看文件的內容的時候,能夠顯示行號出來。
[root@linuxprobe ~]# cat -n anaconda-ks.cfg
1 #version=RHEL7 2 # System authorization information 3 auth --enableshadow --passalgo=sha512 4 5 # Use CDROM installation media 6 cdrom 7 # Run the Setup Agent on first boot 8 firstboot --enable 9 ignoredisk --only-use=sda 10 # Keyboard layouts 11 keyboard --vckeymap=us --xlayouts='us' 12 # System language 13 lang en_US.UTF-8 14 15 # Network information 16 network --bootproto=dhcp --device=eno16777736 --onboot=off --ipv6=auto 17 network --hostname=linuxprobe.com 18 # Root password 19 rootpw --iscrypted $6$CwjdunbhIs0f/XbH$0LRlGWkfG.rDumUCwVtFU6TuNAlVyh3Yd2/ef4CbwLowJ7y5WHmOA10PuJuERGlPaZf70LldkqR5RgnM/cmCm0 20 # System timezone 21 timezone America/New_York --isUtc 22 # X Window System configuration information 23 xconfig --startxonboot 24 # System bootloader configuration 25 bootloader --location=mbr --boot-drive=sda 26 autopart --type=lvm 27 # Partition clearing information 28 clearpart --none --initlabel 29 30 %packages 31 @base 32 @core 33 @desktop-debugging 34 @dial-up 35 @fonts 36 @gnome-desktop 37 @guest-agents 38 @guest-desktop-agents 39 @input-methods 40 @internet-browser 41 @multimedia 42 @print-client 43 @x11 44 45 %end 46
cat命令詳解:https://www.linuxcool.com/cat
二、more命令,它是來查看純文本文件(內容比較多的),格式爲"more [選項] [文件]";相對於剛纔那個cat 命令來說的話,在查看一個未知文件大小的時候,最好用這個命令:演示以下:
[root@linuxprobe ~]# more anacoda-ks.cfg
anacoda-ks.cfg: No such file or directory [root@linuxprobe ~]# more anaconda-ks.cfg #version=RHEL7 # System authorization information auth --enableshadow --passalgo=sha512 # Use CDROM installation media cdrom # Run the Setup Agent on first boot firstboot --enable ignoredisk --only-use=sda # Keyboard layouts keyboard --vckeymap=us --xlayouts='us' # System language lang en_US.UTF-8 # Network information network --bootproto=dhcp --device=eno16777736 --onboot=off --ipv6=auto network --hostname=linuxprobe.com # Root password rootpw --iscrypted $6$CwjdunbhIs0f/XbH$0LRlGWkfG.rDumUCwVtFU6TuNAlVyh3Yd2/ef4Cbw LowJ7y5WHmOA10PuJuERGlPaZf70LldkqR5RgnM/cmCm0 # System timezone timezone America/New_York --isUtc # X Window System configuration information --More--(64%)
注:它還會顯示當前查看了多少內容百分比,例如上面顯示查找了%64的內容。
三、head命令,它是用來查看純文本文檔的前N行,格式爲"head [選項] [文件]"。可使用"head -n +顯示行數 +文件名 "來查看文本的前N行:
[root@linuxprobe ~]# head -n 20 anaconda-ks.cfg
#version=RHEL7 # System authorization information auth --enableshadow --passalgo=sha512 # Use CDROM installation media cdrom # Run the Setup Agent on first boot firstboot --enable ignoredisk --only-use=sda # Keyboard layouts keyboard --vckeymap=us --xlayouts='us' # System language lang en_US.UTF-8 # Network information network --bootproto=dhcp --device=eno16777736 --onboot=off --ipv6=auto network --hostname=linuxprobe.com # Root password rootpw --iscrypted $6$CwjdunbhIs0f/XbH$0LRlGWkfG.rDumUCwVtFU6TuNAlVyh3Yd2/ef4CbwLowJ7y5WHmOA10PuJuERGlPaZf70LldkqR5RgnM/cmCm0 # System timezone
四、tail命令,用於查看純文本文檔的後N行或者持續刷新內容,格式爲"tail [選項]] [文件]"使用命令"tail -n + 顯示行數 +文件名 " ,並且使用命令"tail -f [文件名]"能夠實時查看文件的內容:
[root@linuxprobe ~]# tail -n 20 anaconda-ks.cfg
# Partition clearing information
clearpart --none --initlabel %packages @base @core @desktop-debugging @dial-up @fonts @gnome-desktop @guest-agents @guest-desktop-agents @input-methods @internet-browser @multimedia @print-client @x11 %end
[root@linuxprobe ~]# tail -f anaconda-ks.cfg
@guest-agents @guest-desktop-agents @input-methods @internet-browser @multimedia @print-client @x11 %end
五、tr命令,它是用來替換文本文件中的字符,格式爲"tr [原始字符] [目標字符]",例如咱們下面來把anaconda-ks.cfg文件裏面的內容所有替換成大寫,這裏有一個管道符(打個比喻,咱們平常生活中,你下班回家進家門的時候,你第一時間要作的是就是開開家門進去,而這個管道符就像這扇門同樣,打開了你就進去了裏面,因此下面我舉得這個例子是先經過cat 命令查文件anaconda-ks.cfg裏面的內容,而後經過管道符傳遞給後面,再經過tr命令命令把剛纔傳遞過來的文件內容裏面的字符所有進行大寫):
[root@linuxprobe ~]# cat anaconda-ks.cfg | tr [a-z] [A-Z]
#version=RHEL7 # System [uthoriz[tion inform[tion [uth --en[blesh[dow --p[ss[lgo=sh[512 # Use CDROM inst[ll[tion medi[ cdrom # Run the Setup Agent on first boot firstboot --en[ble ignoredisk --only-use=sd[ # Keybo[rd l[youts keybo[rd --vckeym[p=us --xl[youts='us' # System l[ngu[ge l[ng en_US.UTF-8 # Network inform[tion network --bootproto=dhcp --device=eno16777736 --onboot=off --ipv6=[uto network --hostn[me=linuxprobe.com # Root p[ssword rootpw --iscrypted $6$CwjdunbhIs0f/XbH$0LRlGWkfG.rDumUCwVtFU6TuNAlVyh3Yd2/ef4CbwLowJ7y5WHmOA10PuJuERGlP[Zf70LldkqR5RgnM/cmCm0 # System timezone timezone Americ[/New_York --isUtc # X Window System configur[tion inform[tion xconfig --st[rtxonboot # System bootlo[der configur[tion bootlo[der --loc[tion=mbr --boot-drive=sd[ [utop[rt --type=lvm # P[rtition cle[ring inform[tion cle[rp[rt --none --initl[bel %p[ck[ges @b[se @core @desktop-debugging @di[l-up @fonts @gnome-desktop @guest-[gents @guest-desktop-[gents @input-methods @internet-browser @multimedi[ @print-client @x11 %end
注:這裏好像使用這個命令沒起做用,可是劉遄老師書上成功了,以及看老師講課也是能夠放大的,可是不知道我在試驗的時候不知道爲啥出錯了。
六、wc命令,它是統計指定文本的行數、字數、字節數,格式爲:"wc [參數] 文本",它的具體用法以下:
演示以下:
[root@linuxprobe ~]# wc -l anaconda-ks.cfg
46 anaconda-ks.cfg [root@linuxprobe ~]# wc -w anaconda-ks.cfg 98 anaconda-ks.cfg [root@linuxprobe ~]# wc -c anaconda-ks.cfg 1032 anaconda-ks.cfg
七、stat命令,它是來查看文件的具體存儲信息和時間信息,格式爲:"stat 文件名稱":
[root@linuxprobe ~]# stat anaconda-ks.cfg
File: 'anaconda-ks.cfg' Size: 1032 Blocks: 8 IO Block: 4096 regular file Device: fd01h/64769d Inode: 68975158 Links: 1 Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root) Context: system_u:object_r:admin_home_t:s0 Access: 2019-09-01 08:43:40.624951086 +0800 Modify: 2019-02-07 01:50:58.773909354 +0800 Change: 2019-02-07 01:50:58.774909354 +0800 Birth: -
八、cut命令,它是按列提取文本字符,格式爲" cut [參數] 文本";可使用參數-f 來設置下須要看的列數,同時在設置的時候還要使用參數 -d 來設置間隔符。演示以下:
[root@linuxprobe Desktop]# head -n 2 /etc/passwd
root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin [root@linuxprobe Desktop]# cd ~ [root@linuxprobe ~]# cut -d: -f1 /etc/passwd //以間隔符冒號":"來提取etc目錄下的文件內容的第一列 root bin daemon adm lp sync shutdown halt mail operator games ftp nobody dbus polkitd unbound colord usbmuxd avahi avahi-autoipd libstoragemgmt saslauth qemu rpc rpcuser nfsnobody rtkit radvd ntp chrony abrt pulse gdm gnome-initial-setup
九、diff命令,它是用來比較多個文本文件的差別,格式爲:" diff [參數] 文件",在使用這個命令的時候 可使用參數"--brief " 來確認兩個文件是否不一樣,還可使用參數" -c " 來詳細比較出多個文件的差別之處,在顯示這個命令以前,我先vim編輯器建立了兩個文件:hh和tt,而後往裏面隨便寫內容:
8、文件目錄管理命令:
一、touch命令,它是用於建立空白文件或者設置文件的時間,格式爲: "touch [文件] ‘’,它的參數使用以下:
本身的理解:atime 是表示最後訪問時間;mtime是表示修改的內容;ctime是表示修改屬性;下面的演示是修改了文件的時間:
[root@linuxprobe Desktop]# cd ~
[root@linuxprobe ~]# ls -l anaconda-ks.cfg -rw-------. 1 root root 1032 Feb 7 01:50 anaconda-ks.cfg [root@linuxprobe ~]# echo "i like the linux " >> anaconda-ks.cfg [root@linuxprobe ~]# ls -l anaconda-ks.cfg -rw-------. 1 root root 1050 May 23 18:31 anaconda-ks.cfg [root@linuxprobe ~]# touch -d "2019-05-24 18:33 " anaconda-ks.cfg [root@linuxprobe ~]# ls -l anaconda-ks.cfg -rw-------. 1 root root 1050 May 24 2019 anaconda-ks.cfg [root@linuxprobe ~]#
二、mkdir命令,它是來建立空白的目錄,格式爲: "mkdir [選項] 目錄 ",這個命令用的比較多,在後面 的磁盤分區常常要用到這個命令,因此這個命令必定要掌握,這裏我建立了一個haha 目錄,而且同時在這個目錄下面還可使用參數" -p 「來遞歸建立具備嵌套層關係的文件目錄,演示以下:
[root@linuxprobe ~]# mkdir haha
[root@linuxprobe ~]# cd haha [root@linuxprobe haha]# mkdir -p a/b/c/d/e [root@linuxprobe haha]# cd a [root@linuxprobe a]# cd b [root@linuxprobe b]# cd c [root@linuxprobe c]#
三、cp命令,它是用來複制文件或者目錄,格式爲i:「 cp [選項 ] 源文件 目標文件 」,在linux系統中複製操做分爲三種狀況:
a、若是目標文件是目錄,則會把源文件複製到該目錄中去
b、若是目標文件也是普通文件,則會詢問是否要覆蓋它
c、若是目標文件不存在,則執行正常的複製操做
同時cp命令參數的使用以下:
[root@linuxprobe ~]# touch install.log
[root@linuxprobe ~]# cp install.logx.log cp: missing destination file operand after 'install.logx.log' Try 'cp --help' for more information. [root@linuxprobe ~]# //這裏演示的時候出了點問題,不知道爲啥,今天作上面的那個管道符的試驗也失敗了,後面會查找到緣由來
四、mv命令,它是來剪切文件或者將文件從新命名,格式爲 :" mv [選項] 源文件 [目標路徑] [目標文件名] ",這裏要注意,剪切操做不是複製操做,由於他會默認把源文件刪除掉,只保留剪切後的文件,下面我創建了一個hhh文件,而後利用mv命令把更名成了tttt:
五、rm命令,它是來刪除文件或者目錄,格式爲" rm [選項] 文件";" rm -rf +文件或目錄"這個命令能夠強制刪除文件或者目錄,好比如今來刪除我剛剛創建的文件tttt:
[root@linuxprobe ~]# rm -rf tttt
[root@linuxprobe ~]# ls Desktop Downloads Pictures Templates a haha initial-setup-ks.cfg readme.txt tu.txt Documents Music Public Videos anaconda-ks.cfg hh install.log tt
六、dd命令,它是按照指定大小和個數的數據塊來複制文件或者轉換文件,格式爲: " dd [參數]",經常使用格式爲: " dd if=文件名 of=文件名(是一個新的文件名) bs(塊的大小) count(塊的個數) ",它的參數以下:
[root@linuxprobe Desktop]# cd ~
[root@linuxprobe ~]# dd if=/dev/zero of=hhhhh count=1 bs=560
1+0 records in
1+0 records out
560 bytes (560 B) copied, 8.9491e-05 s, 6.3 MB/s
說明:這裏從/dev/zero設備文件中取出了一個大小爲560M的數據塊,而後保存名爲hhhhh的文件
七、file命令,它是來查看文件的類型,由於在linux系統中一切都是文件,就連硬盤都是文件:
[root@linuxprobe ~]# file tt
tt: ASCII text
[root@linuxprobe ~]#
9、打包壓縮與搜索命令:
一、tar命令,它是用於對文件進行打包或者壓縮,具體用法以下:
a、 tar czvf/-cvzf 壓縮包名稱.tar.gz 打包的目錄名稱 (這裏的c表示打包,z表示壓縮格式,v表示顯示壓縮或解壓的過程 ,f 表示目標文件名
b、 tar -xzvf 壓縮包名稱.tar.gz (x 表示解壓)
c、tar命令的具體參數以下:
接下來先是壓縮而後是解壓:
[root@linuxprobe ~]# tar czvf etc.tar.gz /etc
tar: Removing leading `/' from member names
/etc/
/etc/fstab /etc/crypttab /etc/mtab /etc/fonts/ /etc/fonts/conf.d/ /etc/fonts/conf.d/65-0-lohit-bengali.conf /etc/fonts/conf.d/59-liberation-sans.conf /etc/fonts/conf.d/65-0-khmeros-base.conf
[root@linuxprobe ~]# mkdir /root/etc
mkdir: cannot create directory '/root/etc': File exists [root@linuxprobe ~]# tar -xzvf etc.tar.gz -C /root/etc etc/ etc/fstab etc/crypttab etc/mtab etc/fonts/ etc/fonts/conf.d/ etc/fonts/conf.d/65-0-lohit-bengali.conf etc/fonts/conf.d/59-liberation-sans.conf
二、grep 命令,它是來對文本中執行關鍵字搜索,並顯示匹配的結果,格式爲: "grep [選項] [文件] ",它的具體參數使用以下:
下面演示了查找anaconda-ks.cfg文件中的RHEL7:
[root@linuxprobe ~]# grep RHEL7
^C [root@linuxprobe ~]# grep RHEL7 anaconda-ks.cfg #version=RHEL7 [root@linuxprobe ~]#
三、find命令,它是按照指定條件來查找文件,它的具體參數用法以下:
進階實驗:在整個文件系統中找出全部歸屬於linuxprobe用戶的文件並複製到/root/findresults目錄。
該實驗的重點是「-exec {} \;」參數,其中的{}表示find命令搜索出的每個文件,而且命令的結尾必須是「\;」。完成該實驗的具體命令以下:
[root@linuxprobe ~]# find / -user linuxprobe -exec cp -a {} /root/findresults/ \;
10、總結:
經過這章的學習,本身熟悉了一些基本命令的用法,可是我知道這只是冰山一角,還得往下面學習下去,走進linux的世界,繼續加油。