linux 之基本命令學習總結

               前言:從今天開始寫這系列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的世界,繼續加油。

相關文章
相關標籤/搜索