<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] # Linux系統命令介紹 Linux默認安裝后有上千個系統命令之多,包含了常用命令和管理員命令,但最常用的不超過20個命令,以下整理了最常用的系統命令和案例。除以下20個命令外我們還可以通過“man”命令,即幫助手冊來查詢其它的命令使用方法和案例。 ## ls 查看命令 ls(list directory contents) 顯示文件及文件目錄 ls--(list) , ls命令的常用參數: * -a 常用參數和意義 * -l 顯示目錄下所有文件包括隱藏文件 ``` [djangowang@localhost ~]# ls -al total 188 drwxr-x--- 14 root root 4096 Oct 25 21:53 . drwxr-xr-x 25 root root 4096 Nov 10 21:04 .. -rw------- 1 root root 1069 Oct 25 21:41 anaconda-ks.cfg -rw------- 1 root root 31 Oct 25 21:46 .bash_history -rw-r--r-- 1 root root 24 Jan 6 2007 .bash_logout ``` 每一列的含義 | 列 | 含義 | 案例 | | --- | --- |--- | | 第一列 | 文件權限和屬性 | drwxr-x--- | | 第二列 | 硬鏈接(hard link)。對于新建的目錄,其硬鏈接計數為2,分別是.和.. | 數值 | | 第三列 | 文件所屬用戶 | root | | 第四列 | 文件所屬組 | root | | 第五列 | 文件大小(單位字節) | 4096(4k) | | 第六列 | 文件最后修改時間 | Oct 25 21:41 | | 第七列 | 文件名 | anaconda-ks.cfg | *注:文件是存儲在硬盤上的,硬盤的最小存儲單位叫做扇區,每個扇區存儲512字節。操作系統讀取硬盤的時候,不會一個個扇區地讀取,而是一次性連續讀取多個扇區,即一次性讀取一個“塊”。這種由多個扇區組成的塊,是文件存取的最小單位。塊的大小,最常見的是4KB,即連續八個扇區組成一個“塊”。文件數據存儲在塊中,那么還必須找到一個地方存儲文件的元信息,比如文件的創建者、文件的創建日期、文件的大小等等,這種存儲文件元信息的區域就叫做inode。每個inode節點中都有一個鏈接計數器,只有鏈接計數為零時才會刪除,這就是為什么,”解除一對文件鏈接“并不意味著釋放改文件塊的原因。* ## cd 命令 用戶目錄的切換。 cd命令的常用參數: * (-)回到剛剛去的目錄 * 返回宿主目錄 * 去上一級目錄 ``` [djangowang@localhost ~]# cd /etc # 進入/etc目錄 [djangowang@localhost ~]# cd ~ # 返回宿主目錄 ``` ## mkdir命令 mkdir(make directories)創建目錄結構。mkdir命令的常用參數: * -p 遞歸創建目錄 ``` [djangowang@localhost ~]# mkdir test [djangowang@localhost ~]# ls test [djangowang@localhost ~]# mkdir -p .a/b/c/d [djangowang@localhost ~]# tree . `-- a `-- b `-- c `-- d ``` *注:tree命令是一個獨立的系統命令,我們可以通過“yum install tree”來安裝它。* ## pwd 命令 pwd(print name of current/working directory)查看路徑。 ``` [djangowang@localhost ~]# pwd /root ``` ## mv 命令 mv( move or rename files) 移動 & 改名命令 。 mv命令的常用參數: * -i 覆蓋前先詢問用戶 * \-b :若需覆蓋文件,則覆蓋前先行備份。 ``` [djangowang@localhost ~]# mv test test1 [djangowang@localhost ~]# ls test1 ``` 移動目錄,(mv filename target )。 ``` [djangowang@localhost ~]# mv test1 /etc ``` ## find 命令 find(find - search for files in a directory hierarchy)查找命令,find命令的常用參數: * find -name # 查找文件名 * find -type # 查找文件類型 (f 文件、d 目錄、c 字符設備、l鏈接、s socket) * find -exec # 執行系統命令 * find -mtime # 創建文件的時間 ``` [djangwang@localhost ~]# find . -name "*.conf" # 查找當前目錄下,以conf結尾文件 ./pam_smb.conf ./java/java.conf ./nsswitch.conf ./gconf/2/evoldap.conf ./alsa/alsa.conf ./alsa/pcm/side.conf ./alsa/pcm/front.conf ... ``` 查找20天前的日志并刪除。 ``` [djangwang@localhost ~]# find /var/log -type f -mtime +20 | xargs rm -f ``` 將/etc目錄下的*.conf文件,備份到/tmp目錄下一份。 ``` [djangwang@localhost ~]# find /etc/ -type f -name "*.conf" -exec cp {} /tmp/ \; ``` 如果要放在Crontab中定時運行,推薦更嚴禁的書寫方式。 ``` [djangwang@localhost ~]# [ -d /var/logs ] && find /var/log -type f -mtime +20 | xargs rm -f ``` 其中“[ -d /var/logs ] ” 判斷目錄是否存在,如果存在再執行find命令,防止目錄不存在find命令從根目錄開始刪除。 ## cp 命令 cp(copy files and directories) 復制命令,cp命令的常用參數: * -R # 復制目錄 ``` [djangowang@localhost ~]# cp -R ./test ./test1 [djangowang@localhost ~]# ls test1 test ``` ## cat 命令 cat(concatenate files and print on the standard output)顯示文件內容命令,cat命令的常用參數: * -A # 顯示特殊字符 * -n # 顯示行號 ``` [djangowang@localhost ~]# cat -n /etc/passwd 1 root:x:0:0:root:/root:/bin/bash 2 bin:x:1:1:bin:/bin:/sbin/nologin ... ``` ## wc 命令 wc(print newline, word, and byte counts for each file) 統計命令,wc命令的常用參數: * -l # 顯示多少行 * -w # 顯示多少單詞 * -c # 顯示字數 ``` [djangowang@localhost ~]# wc -l /etc/passswd [djangowang@localhost ~]# 35 ``` ## sort命令 sort(sort lines of text files)排序命令,sort命令的常用參數: * -n # 數學形式排序(默認按首字母的ASCII排序) * -r # 倒序排列 ``` [djangowang@localhost ~]# for i in `seq 1 10`;do echo $i >> sort.txt ;done # 寫入測試數據 [djangowang@localhost ~]# sort -r sort.txt ``` sort命令通常與uniq命令連用。 以下是統計Nginx日志每日訪問的獨立IP的次數。 * \-c或--count # 在每列旁邊顯示該行重復出現的次數 ``` [djangowang@localhost ~]# cat access.log | awk '{print $1}' | sort -n | uniq -c 206 49.234.146.32 238 63.143.42.246 575 193.112.218.224 .... ``` ## grep 命令 grep (print lines matching a pattern)在文中查找命令,grep命令的常用參數: * -l "查找內容" # 顯示要查找內容的文件名 * -n "查找內容" # 顯示行號 * -數字 "查找內容" # 顯示查找內容的上下行內容 ``` [djangowang@localhost ~]# grep "root" /etc/passwd root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin ... ``` ## 正則表達式 正則表達式(regular expression)描述了一種字符串匹配的模式(pattern),可以用來檢查一個串是否含有某種子串、將匹配的子串替換或者從某個串中取出符合某個條件的子串等。使用grep命令會經常用到正則匹配,譬如匹配ifconfig命令輸出IP地址。關于grep命令的正則匹配常用參數: * -E # 它會以擴展的正則表達式的模式來解釋模式 * -o # 只顯示正則顯示的內容 ``` [djangowang@localhost ~]# ifconfig | grep -Eo "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" 172.17.0.1 255.255.0.0 0.0.0.0 172.16.16.2 255.255.240.0 172.16.31.255 127.0.0.1 255.0.0.0 ``` 正則表達式。 | 限定符 | 描述 | | --- | --- | | . | 匹配任意的一個字符。 | | ? | 匹配前面的子表達式,最多一次。 | | \* | 匹配前面的子表達式零次或多次。 | | + | 匹配前面的子表達式一次或多次。 | | {N} | 匹配前面的子表達式 N 次。 | | {N,} | 匹配前面的子表達式 N 次到多次。 | | {N,M} | 匹配前面的子表達式 N 到 M 次,至少 N 次至多 M 次。 | | \- | 只要不是在序列開始、結尾或者序列的結束點上,表示序列范圍。 | | ^ | 匹配一行開始的空字符串;也表示字符不在要匹配的列表中。 | | $ | 匹配一行末尾的空字符串。 | | \\b | 匹配一個單詞前后的空字符串。 | | \\B | 匹配一個單詞中間的空字符串。 | | \\< | 匹配單詞前面的空字符串。 | | \\> | 匹配單詞后面的空字符串。 | ## cut 命令 cut (remove sections from each line of files)切割命令,cut命令的常用參數: * -d "分隔符" # 查找文件內容 * -f "列名" # 常與-d參數連用,用些分列顯示列名 * -c "數字" # 顯示截取后的內容 ``` [djangowang@localhost ~]# cut -d : -f1 /etc/passwd root bin daemon ... ``` ## du命令 du ( estimate file space usage) 查看系統文件或目錄大小。du命令的常用參數: * -s # \--summarize ,顯示匯總統計信息 * -h # 以 K,M,G 為單位,提高信息的可讀性 ``` [djangowang@localhost ~]# du -sh * 12K bakup 5.5M exa 1.9M get-pip.py ``` ## rm命令 rm (remove files or directories) 刪除文件或目錄。它還有一個相同的命令就是rmdir(remove empty directories)用于刪除空目錄,但我們一般用rm命令可以完全替代它。命令的常用參數: * -r # 遞歸刪除,可以刪除文件夾下所有文件 * -f # 強制刪除 * -i # 刪除前確認 ``` [djangowang@localhost ~]# rm -rf /data1/tmp/* ``` *注:rm屬于高危操作,需要謹慎。與Windows不同Linux下并沒有回收站,所以刪除任何文件前最好先將它移動到一個空目錄,類似Windows回收,待過一段時間再統一清理這個目錄的內容。關于Linux為什么沒有回收站——這句話摘錄自“Unix編程藝術”,Unix面向更加專業的用戶 ,Unix的開發者喜歡清晰、簡單的操作,用戶告訴做什么就做什么,即便用戶使用的命令等價于“向我開槍”的命令。而這樣做Unix的開發本能辯解的就是:保護用戶避免自我損害,應該是GUI或應用程序級別的事,而非操作系統* ## touch 命令 touch (touch - change file timestamps) 用于創建文本文件或修改文件的時間。 ``` [djangowang@localhost ~]# touch test [djangowang@localhost ~]# ls test ``` ## 查看文件內容命令 more (more - file perusal filter for crt viewing) 適用于查看文件內容比較多的場景。 ``` [djangowang@qlocalhost ~]# more /etc/passwd ``` less (less - opposite of more)用于查看文件不多,需要瀏覽的場景。 ``` [djangowang@qlocalhost ~]# less /etc/passwd ``` tail (tail - output the last part of files)用于查看文件內容行位,且文件會不斷的追加的場景。 * -f # 動態查看文件追加的內容 * -n # 可以查看文件末尾多少行 ``` [djangowang@qlocalhost ~]# tail -f /var/log/messages [djangowang@qlocalhost ~]# tail -n 20 /var/log/messages ``` head(head - output the first part of files) 查看文件頭部的內容。 * -n # 可以查看文件頭部的多少行 ``` [djangowang@qlocalhost ~]# head -n 20 /var/log/messages ``` ## man man ( an interface to the on-line reference manuals) 幫助手冊 ``` [djangowang@localhost ~]# man ls ``` # 命令自動補全 Linux系統命令比較多,部分命令比較長且難記,這里我們只要對他有一個模糊記憶,譬如只記錄他以什么字母開頭,并通過Linux系統快捷鍵(tab)自動補全功能,來逐步篩選你模糊記憶中的命令。 # 本章小結 本章從Linux常用的基礎命令開始講起,根據筆者的工作經歷整理了最常用的命令和參數,并根據從簡單到負責的順序來介紹它。Linux命令有1000多個,每個命令有平均有5個左右參數,所以要記憶的知識點大概有5000多,我們不可能完全記憶它們,這時就需要幫助手冊協助我們來查詢這些命令的使用方法。Linux命令部分命令比較長不太容易記憶,Linux還提供了命令自動補全的快捷鍵來協助我們更好的掌握它們。下一章我們將會介紹常用的編輯器vim,為后續修改系統配置文件時作為鋪墊。 # 習題 1.查找 /etc/passwd 文件中包含root的行,并顯示第一行內容。 2.在根目錄下創建 /data1/webroot/nginx 的目錄結構。 3.如果通過grep命令查找出的關鍵字,并高亮顯示關鍵字。 4. 查看文件的命令都有哪些,它們有什么區別?
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看