linux 部分命令簡單使用介紹-ssh、scp、less、tail、find、grep(持續添加)


ssh

        加密的網絡協議,提供客戶-服務模式。

                登錄
                        ssh username@ip
                        ssh ip #不提供用戶名是默認使用當前用戶的用戶名
                        -C選項:數據在傳輸過程中被壓縮
                        -p+端口號:指定端口號(默認端口號22)
                        -v選項:調試模式
                        -F+文件路徑:使用指定的配置文件

        參考:https://linux.cn/article-2933-1.html

scp

        和cp一樣用來實現文件的復制功能,但是主要是用在不同的linux系統之間。有security的文件復制,基於ssh登錄
                cp [OPTIONS] file_source file_target
                        -r選項:源有目錄,遞歸復制
                        -f選項:force,覆蓋同名目錄
                scp [OPTIONS] file_source file_target
                        -v選項:顯示狀態
                        -C選項:使用壓縮
                        -P選項:選擇端口
        例子:
                從本地到遠端 scp /file/from.txt username@ip:/file/to.txt
                從遠端到本地 scp username@ip/file/from.txt /file/to.txt

less
        和more一樣用來查看文件內容,但是功能更加強大一些。支持前后翻頁和前后查找。而且less在查看之前不會加載整個文件,最大文件處理更快。
                less [OPTIONS] file
                -b <緩沖區大小>:設置緩沖區
                -e :結束自動離開
                -f :強迫打開特殊文件,設備,目錄和二進制文件
                -i :忽略搜索時的大小寫
                -N :顯示每行的行號
                打開后可以使用的命令
                        / <word> :向前搜索
                        n :下一個
                        N :上一個
                        ? <word> :向后搜索
                        j :向下一行
                        k :向上一行
                        G :到最后一行
                        g :到第一行
                        u :向上一頁
                        d :向下一頁
                        v :進入編輯模式

tail
        顯示指定文件的末尾內容。
                tail [OPTIONS] file
                -f 循環讀取
                -q 不顯示處理信息
                -n :顯示行數
                --pid=PID 與-f合用,表示在進程ID為PID的進程結束后一起結束
                -s :與-f合用,表示每次反復的間隔休眠秒數

find
        在指定目錄下根據指定規則查找文件
                find [dir dir ...] [OPTIONS] [-exec command {} \;]
                -name <文件名> :要查找的文件名,可以使用glob規則
                glob :'*' 統配任意字符
                          '?' 統配任意一個字符
                         '[abc]' 統配括號中的任意一個字符
                         '[a-c1-9]' 統配括號內字符范圍中的任意一個字符
                -atime n|-n|+n :最后訪問時間等於n|小於n|大於n
                -mtime n|-n|+n :最后修改內容時間
                -ctime n|-n|+n :最后修改屬性時間(也就是i節點信息修改時間)
                -type :根據文件類型查找
                       f :普通文件
                      d :目錄
                       l :鏈接
                      b :塊設備文件
                      c :字符設備
                      p :管道
                      s :socket文件
                -size 2M|+2M|-2M :根據大小找文件(大小為2M|大於2M|小於2M)

                [exec command {} \;] :在查找結果上執行操作,command是要執行的操作,{}占位,可以理解為find的結果放在這里,\;是結束標志,\前有空格
                也可以使用xargs或``實現
                        find [] [] [exec command {} \;]
                        find [] [] | xargs command
                        command `find [] []`

grep
        grep (global search regular expression(RE) and print out the line,全面搜索正則表達式並把行打印出來)是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行打印出來。
        grep [OPTIONS] str_to_search filename
                -a :將二進制文件以text文件的方式查找
                -c :輸出匹配行的行數
                -i :忽略大小寫
                -n :在輸出時輸出行號
                -v :反向選擇,輸出沒有匹配的行
                str_to_search可以使用正則表達式(上面提到的glob是一種簡化的正則)
                        [^abc] :反向選擇,不能是a,b,c
                        [abc] :abc中的一個
                        [a-z1-9] :a-z和1-9中的一個
                        ^ :行首
                        $ :行尾
                        . :任意一個字符
                        * :任意多個字符,包括零個
                        {} :限定重復次數,'{','}'兩個符號在shell中有特別的含義,所以要用'\'使其失去特殊含義
                        o\{2\} :o重復兩次
                        o\{2,5\} :o重復兩次到五次
                        o\{2,\} :o重復兩次以上

        參考:http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856896.html

curl
        使用URL語法在命令行下完成文件傳輸。
        curl [OPTIONS] url
                -o [file_name]:將文件保存到file_name中
                -O :按URL中文件名保存文件
                -L :強制重定向
                -C :斷點續傳
                -u username:password :提供用戶名密碼
                -v :查看所有工作過程輸出
                --data-urlencode ""|@filename :使用post方式
        例子:
        獲取FTP服務器文件
                curl -O ftp://ftp_server/xxx.php
        上傳文件到FTP服務器
                curl -T myfile.txt ftp://ftp.server.com
        參考:http://www.cnblogs.com/gbyukg/p/3326825.html

strace
        跟蹤進程執行時的系統調用和所接受的信號。
                -c :統計每一個系統調用的執行時間,次數和出錯次數
                -f :跟蹤由fork調用產生的子進程
                -ff :如果提供了-o filename,則所有進程對的跟蹤結果輸出到相應的filename.pid中,pid是各進程的進程號
                -F :跟蹤vfork調用
                -p [pid] :跟蹤進程pid
                -e :通過這個參數可以定制跟蹤
                                reace=open,close :只跟蹤指定系統調用
                               trace=file :只跟蹤文件有關的系統調用
                               trace=process :只跟蹤進程控制相關系統調用
                               trace=network :只跟蹤網絡有關系統調用
                               trace=signal :只跟蹤系統信號相關系統調用
                               ...還有一些現查吧

 

ulimit
        linux系統內建功能,用於對有它生成的shell進程及其子進程的資源使用設置限制,包括所創建內核文件大小、進程數據塊大小、shell進程創建文件的大小、內存鎖大小、常駐內存集大小、打開文件描述符的數量、分配堆棧的最大大小、CPU時間、單個用戶所能使用的最大虛擬內存。
        **(作用范圍)ulimit限制的是當前shell進程及其子進程;因此可以通過shell配置文件作用於相應的shell
        ulimit [OPTIONS] [limit]
                -a :顯示當前所有的limit信息
                -c :設置最大core文件大小,單位blocks(512B)
                -d :進程最大數據段大小,單位blocks
                -f :進程可以創建文件的最大值,單位blocks
                -l :最大可加鎖內存大小,單位KB
                -m :最大內存大小
                -n :最大可以打開的文件描述符
                -p :管道緩沖區大小,單位KB
                -s :線程棧大小,單位KB
                -t :最大的CPU占用時間,單位秒
                -u :用戶最大可用進程數
                -v :進程最大可用虛擬內存,單位KB
        例:
        對core文件大小不做限制
                ulimit -c unlimited 
        參考:http://blog.csdn.net/wanghai__/article/details/6332540

 

core dump
        作用:一種診斷和調試程序錯誤的方式。當程序運行異常終止或崩潰時,操作系統將程序當時的內存狀態、寄存器信息(程序指針,棧指針)、內存管理信息和操作系統狀態等信息保存到一個文件,這就叫Core Dump。通過ulimit -c可以查看當前終端允許保存的core文件的最大的大小,如果為零,則不會輸出core文件。可以通過ulimit -c unlimited改為不設大小設置或直接改為某一值。
        使用:可以通過gdb查看core文件
                1. 使用gcc -g 參數編譯程序,生成調試信息
                2. 運行程序,崩潰時會默認在執行文件目錄下生成core文件
                3. 使用gdb ./exefielname corefilename 查看core文件
        參考:http://www.cnblogs.com/hazir/p/linxu_core_dump.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM