• <code id="zjelh"></code>

          <source id="zjelh"><form id="zjelh"></form></source><acronym id="zjelh"><form id="zjelh"><blockquote id="zjelh"></blockquote></form></acronym>

          1. <acronym id="zjelh"><form id="zjelh"></form></acronym>

            <input id="zjelh"><rt id="zjelh"></rt></input>
            <var id="zjelh"><rt id="zjelh"></rt></var>
            <source id="zjelh"><form id="zjelh"><del id="zjelh"></del></form></source>

            當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > Shell命令

            Shell命令 時間:2019-07-29      來源:成都中心,嚴老師

            一、認識Shell

            在Linux系統中,Shell充當著用戶與Linux內核的橋梁,俗稱殼保護著Linux內核,同時也負責完成用戶與內核之間的交互。

            當用戶需要與內核交互時,將命令傳遞至Shell,再由Shell將命令解析成內核所能理解的指令,然后操作系統做出響應對硬件進行控制,最后再將結果通過Shell返回給用戶。

            經過多年的發展,由不同的機構、針對不同的目的,開發出許多不同類型的Shell程序。目前流行的Shell主要有幾種 :

            Bourne Shell

            Bourne Again Shell

            C Shell

            K Shell

            Shell for Root

            Bourne Again Shell簡稱Bash,由于易用和免費,Bash 在日常工作中被廣泛使用。同時Bash 也是大多數Linux 系統默認的 Shell。

            二、Shell命令

            (1)文件目錄類

            1.pwd 

            功能:顯示當前絕對路徑

            2.ls

            功能:顯示文件和目錄的信息

            ls   以默認方式顯示當前目錄下的內容

            ls -a  顯示所有文件包括隱藏文件

            ls -l  顯示詳細信息

            3.cd

            功能:切換目錄

            cd dir 切換到dir目錄

            cd /  切換到根目錄

            cd ..  切換到到上一級目錄

            cd ~  切換到用戶目錄,比如是root用戶,則切換到/root下

            4.mkdir

            功能:創建目錄

            mkdir aa     創建目錄aa

            mkdir a/b/c -p 創建多級目錄

            5.rm 

            功能:刪除文件或目錄

            rm 1.txt  刪除1.txt文件

            rm aa -r 刪除文件夾aa

            6.cp

            功能:拷貝文件或目錄

            cp 1.txt ./dest/   拷貝1.txt到dest目錄下

            cp 1.txt 3.txt    拷貝1.txt到同級目錄的3.txt

            cp aa  ./dest/ -r 拷貝文件夾aa到dest目錄下

            7.mv 

            功能:移動命令

            mv 1.txt ./dest/   拷貝1.txt到dest目錄下

            mv 1.txt 3.txt    將1.txt改名為3.txt

            mv aa  ./dest/ -r 移動文件夾aa到dest目錄下

            8.cat 

            功能:顯示文件的內容

            cat 1.cpp

            9.head、tail 

            功能:head顯示文件前10行(默認)

            功能:tail顯示文件后10行(默認)       

            10.touch

            功能:創建文件或修改文件時間戳

            11.du 

            功能:顯示指定的目錄或文件所占用的磁盤空間

            du -sh  /home 以K,M,G為單位顯示home的總大小

            12.ln   

            功能:建立軟連接和硬連接

            ln -s dir linkdir  給dir創建軟連接linkdir

            13.find 

            功能:查找

            find  /home -type f -name “1.c”  在home目錄查找1.c文件 

            find  ./ -type f -name “*.txt”     在當前目錄查找所有txt文件

            14.file  

            功能:顯示文件類型

            file 1.txt

            file a.out 

            15.which

            功能:在PATH路徑查找文件

            which ls 查找ls的路徑

             

            (2)系統管理類

            1.shutdown 、reboot

            功能:關閉或重啟計算機

            shutdown -h now 

            shutdown -r +10  10分鐘后重啟

            shutdown -c 取消重啟或關機

            reboot 重啟

            2.su 

            功能:切換用戶

            su farsight  切換到farsight用戶

            su - 切換到root用戶,同時使用該用戶環境

            3.adduser

            功能:添加用戶

            adduser farsight 

            4.passwd

            功能:設置或更改用戶密碼

            passwd user 修改user的密碼

            5.chown 

            功能:更改文件或目錄的所有者

            chown farsight /dir 將dir設為farsight用戶所有

            6.chmod 

            功能:修改文件權限

            chmod 777 1.sh

            chmod +x 1.sh 

            7.sudo

            功能:用來以其他身份來執行命令,預設的身份為root

            8.man 

            功能:幫助命令

            man 1 ls     查看ls命令手冊

            man 2 socket 查看socket函數手冊

            9.clear 

            功能:清屏

            10.echo 

            功能:字符串輸出

            echo “hello” 輸出字符串hello

            echo $PATH 輸出PATH變量

             

            (3)歸檔壓縮類

            1.gzip gunzip  

            功能:解壓文件

            gzip  1.txt      壓縮1.txt

            gunzip -f file.gz  解壓文件

            2.tar  

            功能:解壓文件

            tar -vxf file.tar     解壓縮包

            tar -xzvf file.tar.gz  解壓tar.gz

            tar -cvf file.tar dir   將dir打包壓縮

             

            (4)進程管理類

            1.ps

            功能:顯示進程信息

            ps -ef 顯示當前系統詳細進程

            ps -aux 顯示所有包含其他使用者的行程

            2.pstree 

            功能:將所有行程以樹狀圖顯示

            3.top 

            功能:實時顯示process的動態

            4.kill 

            功能:給進程發信號

            kill -signum  pid  給pid發信號  

            kill pid           結束pid進程

             

            (5)軟件管理類

            1.apt

            功能:對軟件進行管理

            apt-get install nginx 安裝nginx

            apt-get update 更新源 

            apt-get upgrade 升級軟件 

            apt-get remove cmatrix 刪除軟件

            apt-get check 確認依賴的軟件倉庫正確 

            apt-get clean 清理緩存 

            2.dpkg

            功能:對軟件進行管理

            dpkg -i package.deb  安裝deb 包 

            dpkg -r package_name 刪除軟件

            dpkg -l 顯示系統中所有已經安裝的 deb 包 

            dpkg -L cmatrix 顯示軟件cmatrix所提供的文件列表

            dpkg --contents package.deb 顯示尚未安裝的一個包所提供的文件列表 

            dpkg -S /bin/ping 確認ping命令由哪個deb包提供 

             

            (6)文本處理類

            1.wc 

            功能:統計文本文件

            wc -l 1.txt    統計1.txt的行數

            wc -w 1.txt   統計1.txt的字數

            wc -c 1.txt    統計1.txt的字節數

            2.grep

            功能:過濾來自一個文件或標準輸入匹配模式內容

            ps -ef | grep "nginx" 顯示關于nginx的進程信息

            grep "jack" *.txt     在所有的txt文件中查詢關鍵字jack

            grep -r "id" *     遞歸搜索所有文件中的關鍵字id

            grep -n root /etc/passwd  將/etc/passwd,有出現 root 的行取出來顯示行號

            dmesg | grep -n --color=auto 'eth' 

            dmesg 列出核心信息找出內含 eth 那行,并著色

            grep -f a.txt b.txt 輸出 b 文件中在 a 文件相同的行

            echo "A a b c" |xargs -n1 |grep -i a   匹配開頭不分大小寫的單詞

            grep -E -v "^$|^#" file.txt  去除文件空行或開頭#號的行

            grep -r '192.168.1.1' /etc --include *.conf 匹配指定ip的conf文件

            3.sed 

            功能:流編輯器,過濾和替換文本

            sed -n '3,9p' file.log  輸出第三行到第九行

            sed -n '/aaa/,/bbb/p' file.log 輸出從aaa開始到bbb結束的行

            sed -i 's/string1/string2/g' file.txt 將文件中的 "string1" 替換成 "string2"

            sed '/^$/d' file.txt 從文件中刪除所有空白行 

            sed '/ *#/d; /^$/d' test.c 從文件中刪除所有注釋和空白行

            sed -e '1d' file.txt 從文件中排除第一行 

            sed -e 's/ *$//' file.txt 刪除每一行最后的空白字符

            sed -e 's/00*/0/g' file.txt 用單個零替換多個零 

            4.awk  

            功能:awk 是一個處理文本的編程語言工具,能用簡短的程序處理標準輸入或文件、數據排序、計算以及生成報表等等

             

            tail -n3 /etc/services |awk '{print $2}'  輸出第二字段

            awk -F ':' '{print $1}' /etc/passwd     指定冒號為分隔符打印第一字段

            tail /etc/services |awk '/tcp/{print $0}'  匹配包含 tcp 的行

            tail /etc/services |awk '/^[a-z0-9]{8} /{print $0}' 匹配第一個字段是 8 個字符的行

            tail /etc/services |awk 'BEGIN{print"Service\t\tPort\t\t\tDescription\n==="}{print

            $0}'                             打印頁眉

            tail /etc/services |awk '/blp5/ && /tcp/{print $0}' 記錄blp5和tcp的行

            echo "www.baidu.com/user/test.html" |awk 'BEGIN{RS="/"}{print $0}' 以/進行分割

            tail -n2 /etc/services |awk 'BEGIN{RS="/";ORS="#"}{print $0}' 替換字符

             

            (7)網絡類

            1.ping

            功能:用來確認網絡連接是暢通的,測網速

            ping www.baidu.com 

             

            2.ifconfig、ifup、ifdown

            功能:查看用戶網絡配置

            ifconfig eth0 顯示一個以太網卡的配置

            ifconfig eth0 192.168.1.1 netmask 255.255.255.0 設置地址

            ifup eth0    啟用eth0

            ifdown eth0  禁用eth0

             

            3.ssh 

            功能:遠程登錄到其他主機

            ssh -l root 192.168.1.1 //使用root登錄192.168.1.1

            4.scp 

            功能:用于Linux之間復制文件和目錄

            scp file root@192.168.1.1:/root 拷貝file文件到ip為192.168.1.1的主機/root目錄下

            scp root@192.168.1.1:/root/1.c ./ 拷貝ip為192.168.1.1主機root目錄下的1.c文件到本地主機當前目錄

            5.telnet  

            功能:TELNET協議的遠程登錄

            telnet 192.168.1.1 登錄指定ip

            telnet 192.168.1.1 6666 登錄指定ip和端口

            telnet www.baidu.com 登錄指定網站

            6.route  

            功能:查看路由信息

            route  顯示路由信息。

            route add –host 192.168.1.66 dev eth0  添加路由

            route add –net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1  給子網192.168.1.0添加路由和網關

            route add default gw 192.168.3.1  添加默認網關地址192.168.3.1

            route del –host 192.168.1.66 dev eth0   刪除路由

            route change 192.168.1.0 mask 255.255.255.0 192.168.3.123  將子網 192.168.1.0 的下一躍點地址設置為 192.168.3.123

            7.netstat  

            功能:顯示各種網絡相關信息

            netstat    顯示本機網絡連接情況。

            netstat –a 顯示所有的有效連接信息

            netstat -l  列出處于監聽的socket

            netstat –ac每隔1秒刷新1次顯示,直到用戶中斷顯示。

            netstat -i  顯示網絡接口列表

            netstat –r  顯示路由表。

            netstat -an | grep ':22' 找出運行在指定端口的進程

            netstat -apn | grep ssh 找出程序的運行端口

            netstat –st 顯示TCP端口信息。

            netstat –su 顯示UDP端口信息。

            netstat –s  顯示各個協議的統計信息。

            8.iptables 

            功能:防火墻設置

            iptables -L -n 查看本機iptables

            iptables -F      清除預設表filter中的所有規則鏈的規則

            iptables -X      清除預設表filter中使用者自定鏈中的規則

            service iptables restart 重啟防火墻

            iptables -A INPUT -p tcp --dport 80 -j ACCEPT 開啟80端口

            iptables -A INPUT -s 192.168.3.126 -p tcp --dport 22 -j ACCEPT 限制指定ip登錄ssh

            iptables -t filter -A INPUT -s 192.168.1.66 -i eth0 -j DROP 禁止指定ip從eth0訪問本機

            iptables -I FORWARD -s 192.168.1.66 -j DROP 禁止指定ip上網

            iptables -A FORWARD -f -m limit --limit 200/s --limit-burst 200 -j ACCEPT

            處理ip碎片數量

            上一篇:STM32 USART串口

            下一篇:ADC

            熱點文章推薦
            華清學員就業榜單
            高薪學員經驗分享
            熱點新聞推薦
            前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2018 北京華清遠見科技發展有限公司 版權所有 ,京ICP備16055225號,京公海網安備11010802025203號

            回到頂部

            有位老師想和您聊一聊

            yy4480影院