Mac共通コマンド

7704 ワード

コマンドラインのアートthe-art-of-command-line Shell操作整理Gitはよく使われないが実用的なコマンド
mac/linux実行中のshellスクリプトの場所を取得
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
  • DIR="$(cd"$(dirname"${BASH_SOURCE[0]}")"&&pwd)"詳細
  • 現在のパスの親パスを取得するparentPath=$(dirname "/Users/xyz/abc/234")shell:フォルダが存在するかどうかを判断し、存在しない場合は作成
    if [ ! -d testgrid  ];then
      mkdir testgrid
    else
      echo dir exist
    fi
    

    Linuxポートの表示&システムバージョンコマンドLinuxシステムバージョンの表示
    方式一:cat /proc/version方式二:uname -a方式三:lsb_release -alinux shell文字列操作詳細(長さ、読み取り、置換、切り取り、接続、比較、削除、位置)Linux Shell切り取り文字列shellフォルダまたはファイルにMac nginxディレクトリがあるかどうかを判断する
    #    
    /usr/local/etc/nginx
    #      1.15.7    nginx   
    /usr/local/Cellar/nginx/1.15.7/html/
    #  ngxin
    #  nginx       
    ngxin -t
    #      
    nginx -s reload
    

    gitがローカル、リモートのブランチ、tag情報を同期する方法
    gitローカルtagとリモートtagを同期する方法
    git tag -l | xargs git tag -d #        
    git fetch origin --prune #         
    

    プログラムの検索と削除:
    ps -ef|grep nginx
    kill -int xxxx
    

    このコマンドをカスタム操作Macの下にあるSourceTreeカスタム操作エクスポートファイルに挿入します.
    ファイルの検索:
    # /usr/          .png     
    find /usr/ -name "*.png"
    

    ファイルのインストールパスの検索
    #  vapor     
    which vapor 
    

    svn/git
    更新:svn upgrade 追加ファイル:svn add /* --no-ignore --forceクリア:svn cleanup 戻り:svn revert --recursiveMac gitフォルダを削除し、svnフォルダcdをそのフォルダに削除
    
    #                      
    svn upgrade ./
    svn add ./* --no-ignore --force
    
    #svn commit  ,add        。
    #     
    svn cleanup ./
    #   
    svn revert ./ --recursive
    
    #          .svn   
    find . -name ".svn" | xargs rm -Rf
    
    #          .git   
     find . -name ".git" | xargs rm -Rf
    
    
    

    macシステムコマンドラインcurl詳細
    shell分割文字列が配列に変わる
    str="192.168.31.65"
    array=(${str//\./ })
    for i in "${!array[@]}"; do
        echo "$i=>${array[i]}"
    done
    

    フォルダが存在するかどうかを判断
    #   /User/admin/code/test         ,         
    if [ ! -d /Users/admin/code/test  ];then
      mkdir -p /Users/admin/code/test
    else
      echo dir exist
    fi
    
    zip/unzip圧縮および解凍コマンド
    zip -q -r -e -m -o [yourName].zip someThing
    
    #-q            
    #-r              zip  //      ,      something        ,          
    #-e             ,           
    #       ,            ,  
    zip -r -P Password01! modudu.zip SomeDir,
    #    Password01!   modudu.zip 。
    #-m           
    #-o                          
    zip -q -r -o [yourName].zip someThing
    
    #             
    zip -q -r -e -m -o '\user\someone\someDir\someFile.zip' '\users\someDir'
    #    
    #     text.zip         。
    unzip text.zip
    #     text.zip     /tmp    ,           ,  unzip          。
    unzip -n text.zip -d /tmp 
    #        ,    。
    unzip -v text.zip
    

    本文は主にlinuxシステムのコマンド操作について述べる.コマンドはmacと互換性を保つようにします.両者の使用はもともと差が少ないからだ.cdディレクトリにアクセス
    #cd     change directory    ,       。
    #  ,           ,         :
    cd ~
    #   ,         ,       :
    cd ~/Downloads/
    #        ,         ?      ,      tab   #          ,    
    cd ..
    #  linux     .       ,..      。          ,   ../..。
    
    ls現在のディレクトリの下にあるファイルを表示
    #ls     list    
    ls
    #                 。
    #  ,                ,             ,      -l   。
    #  ,          ,            。
    ls -l
    #             ,    
    ls -a
    #  ,         ,          ?    ,  :
    ls -la
    #linux/mac     windows           ,  ,    。
    #  linux    ,                     .            。
    #  windows              。
    #  ,   linux   ,                 ,       ,       。
    #        ,   .     。
    
    mvは移動し、ファイル名の変更はlinuxシステムでは、この概念名の変更はありません.モバイルファイルという概念しかありません.aファイルの名前をbファイルに変更する操作は、aファイルをbに移動することと理解される.
    #mv     move    ,        a        b。
    mv a b
    #  ,         ,       。        ,      :        love.txt   ,        
    mv ~/Downloads/love.txt ~/Documents/
    
    cpレプリケーションファイルとフォルダレプリケーションファイルも一般的な操作です.最も簡単なのは、aファイルをbファイルにコピーし、次のコマンドを実行することです.
    #cp     copy    
    cp a b
    #  ,  mv     ,          。
    cp ~/Downloads/love.txt ~/Documents/
    #                   ,       -a。
    cp -a a b
    #          ,     ,            -r
    cp -r a b
    #  ,     ,            ,     -ra
    cp -ra a b
    #  ,                ,          ,    -v   
    cp -rav a b
    
    #    ,      a                 b    ,             。
    
    rmファイルやフォルダを削除してください.rmコマンドによる削除操作は、システムの回収ステーションには入らないので注意してください.直接削除するのではなく、ソフトウェアでファイルを取り戻したい場合は、難しいです.だから、rmコマンドを入力するときは必ず頭をはっきりさせましょう.
    #rm     remove    ,          ,    :
    rm a
    #      。       ,   linux      ,      yes   ,    。   mac      ,       。
      ,           ,          ,         -f,  ,       ,         yes  。
    rm -f a
    #          ,            。            ,         -r ,  ,        ,  ,    :
    rm -rf a
    #  ,         。
    
    touch新規ファイル任意のファイルを新規作成できます.コマンドがtouchなのになぜこのコマンドなのかはよくわかりませんが、タッチと新築の関係は連絡が取れません.しかし、この単語はとても簡単な単語で、私たちは簡単に覚えることができます.
    #      
    touch a
    #      ,          a b c d       。
    touch a b c d
    #          。              。
    touch a.txt b.jpg c.doc d.pdf
    #       
    vim a
    
    mkdir新規フォルダ新規フォルダのコマンドはmkdirでわかるはずですが、このコマンドは英語make directoryの略です.
    #       
    mkdir a
    #       
    mkdir a b c d
    #         ,         -p  。
    mkdir -p res/style/scss
    
    lessテキストファイルを表示ファイルの内容を簡単に表示する必要がある場合はlessコマンドを使用します.この単語は少ない意味です.同様に、多くの英語moreもファイルを表示するために使用できます.しかし、一般的にlessコマンドを使用します.次のようになります.
    #       ,     ctrl + f     ,      ctrl+b     。
    less index.html
    
    pwd自分がどのディレクトリの下にいるか見てみましょう.もしあなたのディレクトリのレベルが多いなら、あなたはどこにいるか忘れて、どうしますか.あるいは、現在のディレクトリパスをコピーする必要があります.どうすればいいですか?大丈夫です.pwdコマンドを使用して、現在のディレクトリパスを迅速に出力できます.
    #           ,          ,    ~/xxx        。
    pwd
    

    manあるコマンドの詳細を表示コマンドを見て、何をしているのか分からない場合は、manコマンドでこのコマンドの詳細を見ることができます.
    #     cp      
    man cp
    

    ただし、このコマンドの出力内容は英語です.もしあなたが英語がだめなら、中国語のウェブサイトに行って見てもいいです.Webサイトは次のとおりです.http://man.linuxde.net/
    注意しなければならないのは、中国語の内容が必ずしも正確ではないか、最新のものではないことです.
    以上の日常的なコマンドをマスターすれば、基本的にはコマンドを楽しく使用することができます.もっと多くの内容が必要で、基本的に検索エンジンを使って解決することができて、あなたは正しい問題を提出するだけで、基本的にすべて解答を得ることができます.
    Mac OS/Linuxコマンドネットワークポートの使用状況の照会
    Netstatコマンド
    netstat -an | grep 3306
    3306 grepが必要なポート番号に置き換える
    lsofコマンド
    lsof-i:ポートkill-9プロセスIDはlist open fileコマンドで現在開いているファイルを表示できます.linuxでは、ネットワーク接続やハードウェアデバイスなど、すべてのものがファイル形式で存在します.
    lsof -i:80
    -iパラメータはネットワークリンクを表し、:80はポート番号を示し、このコマンドはPIDを同時にリストし、killを便利にする.
    すべてのプロセスでリスニングされたポートの表示
    sudo lsof-i-P|grep-i「listen」回転
    MACの下でjenkinsを起動して停止する方法
    sudo launchctl load/Library/LaunchDaemons/org.jenkins-ci.plist sudo launchctl unload/Library/LaunchDaemons/org.jenkins-ci.plist
    redis:config set requirepass auth config get requirepassローカルログイン:redis-cliリモートログイン:redis-cli -h xxxx.xx.xxx.xx -p xxxx -a
  • Redisパスワード設定および表示パスワード
  • noneのミラーを削除
    noneのミラーを削除します.まずミラー内のコンテナを削除します.ミラー内のコンテナを削除するには、まずコンテナを停止する必要があります.docker images docker rmi $(docker images | grep "none" | awk '{print $3}') none付きミラーを直接削除し、直接エラーを報告します.コンテナを停止するように指示します.docker stop $(docker ps -a | grep "Exited" | awk '{print $1 }')//停止容器docker rm $(docker ps -a | grep "Exited" | awk '{print $1 }')//容器の削除docker rmi $(docker images | grep "none" | awk '{print $3}')//ミラーの削除