ホームページ >バックエンド開発 >PHPチュートリアル >Linux シェルでよく使用される 73 個のコマンドのまとめ

Linux シェルでよく使用される 73 個のコマンドのまとめ

高洛峰
高洛峰オリジナル
2017-02-07 17:08:001719ブラウズ

はじめに

一部のプログラマにとって、Linux シェルの使用は毎日の基本的な仕事ですが、いくつかの便利なシェル コマンドやテクニックを忘れてしまうことがよくあります。確かに、コマンドは覚えていますが、それを使って特定のタスクを実行する方法を覚えているとは言えません。注意すべき点の 1 つは、使用方法によっては Linux システムに追加のソフトウェアをインストールする必要があることです。以下では特に言うことはありませんが、詳細な内容を見てみましょう。

リモートポートが bash に対して開いているかどうかを確認します:

echo >/dev/tcp/8.8.8.8/53 && echo "open"

プロセスをバックグラウンドに置きます:

Ctrl + z

プロセスを転送する フロントデスクに移動します:

fg

ランダムな 16 進数を生成します (n は文字数です):

openssl rand -hex n

現在のシェルのファイルでコマンドを実行します:

source /home /user/file.name

最初の5文字を​​切り詰めます:

${変数:0:5}

SSHデバッグモード:

ssh -vvv user@ip_address

SSH with pem key:

ssh user@ip_address -i key.pem

wget を使用して完全な Web サイトのディレクトリ構造を取得し、ローカル ディレクトリに保存します:

wget -r --no-parent --reject "index. html*" http://hostname/ -P /home/user/dirs

複数のディレクトリを一度に作成:

mkdir -p /home/user/{test,test1,test2}

プロセスツリーをリストする子プロセスを含む:

ps axwef

war ファイルの作成:

jar -cvf name.war ファイル

ハードディスクの書き込み速度のテスト:

dd if=/dev/zero of=/tmp/output.img bs=8k count= 256k; rm -rf /tmp/output.img

ハードディスクの読み取り速度をテストします:

hdparm -Tt /dev/sda

テキストの md5 ハッシュを取得します:

echo - n "text" | md5sum

xml 形式を確認します:

xmllint --noout file.xml

tar.gz を新しいディレクトリに抽出します:

tar zxvf package.tar.gz -C new_dir

Use HTTP ヘッダー情報を取得するには、curl を使用します:

curl -I http://www.example.com

ファイルまたはディレクトリのタイムスタンプを変更します (YYMMDDhhmm):

touch -t 0712250000 file

wget コマンドを使用して、 FTP ダウンロードを実行します:

wget -m ftp ://username:password@hostname

ランダムなパスワードを生成します (例では 16 文字):

LANG=c < /dev/urandom tr -dc _A- Z-a-z-0-9 | head -c$ {1:-16};echo;

ファイルをすばやくバックアップします:

cp some_file_name{,.bkp}

Windows 共有ディレクトリにアクセスします:

smbclient -U "DOMAINuser" //dc.domain.com/ share/test/dir

履歴内のコマンドを実行します (ここでは 100 行目):

!100

Unzip:

unzip package_name.zip -d dir_name

複数行のテキストを入力します (CTRL + d 終了):

cat > test.txt

空のファイルを作成するか、既存のファイルをクリアします:

> Ubuntu と時間を同期しますNTP サーバー:

ntpdate ntp.ubuntu.com

netstat を使用してすべての tcp4 リスニング ポートを表示します:

netstat -lnt4 -f2 -d: | -9]*'

qcow2 画像ファイル変換 :

qemu-img Convert -f qcow2 -O raw precision-server-cloudimg-amd64-disk1.img precision-server-cloudimg-amd64-disk1.raw

ファイルを繰り返し実行し、その出力を表示します (デフォルトは 2 回/秒):

watch ps -ef

All user list:

getent passwd

読み取り/書き込みモードで root をマウントします:

mount -o remount ,rw /

ディレクトリをマウントします(リンクが使用できない場合です):

mount --bind /source /destination

動的更新DNSサーバー:

nsupdate

すべてのディレクトリを再帰的に grep します:

grep -r "some_text" /path/to/dir

上位 10 個の最大ファイルをリストします:

lsof / | 1048576) print $7/1048576 "$9 }' | sort -n -u | 残りのメモリ (MB) を表示:

grep キャッシュ '/[0-9]/{ print $4" MB" }'


Vim を開いてファイルの末尾にジャンプします:

vim + some_file_name


指定されたブランチ (マスター) を Git clone します:

git clone git@github.com:name/app .git -b master


Git 他のブランチに切り替える (開発):

git checkout 開発


Git ブランチ削除 (myfeature):

git ブランチ -d myfeature


Git リモート ブランチを削除

git Push Origin :branchName


新しいブランチをリモートサーバーに Git プッシュします :

git Push -uorigin mynewfeature


履歴内の最後の cat コマンドを出力します:

!cat:p


最後の cat コマンドを実行します履歴内:

!cat


/home を調べます /user の下のすべての空のサブディレクトリ:

find /home/user -max Depth 1 -type d -empty


の 50 ~ 60 行目の内容を取得します。 test.txt ファイル:

< test.txt sed -n '50 ,60p'


最後のコマンドを実行します (最後のコマンドが mkdir /root/test の場合、次のコマンドが実行されます: sudo mkdir /root/test ):

sudo !!


一時RAMファイルシステムを作成します – ramdisk (最初に/tmpramディレクトリを作成します):

mount -t tmpfs tmpfs /tmpram -o size=512m


単語全体をGrepします:

grep -w "名前" test.txt


権限を昇格する必要がある場合にファイルにテキストを追加します:

echo "some text" sudo tee -a /path/file

すべての Kill シグナル パラメーターをリストします:

kill -l

in の記録を無効にするbash 履歴の最後のセッション:

kill -9 $$

開いているポートについてネットワークをスキャンします:

nmap -p 8081 172.20.0.0/16

git email を設定します:

git config - -global user.email "me@example.com"

未公開のコミットがある場合にマスターと同期するには:

git pull --rebaseorigin master

ファイル名に「txt」を含むすべてのファイルを/home/に移動しますユーザーディレクトリ:

find -iname "*txt*" -exec mv -v {} /home/user ;

ファイルを並べて表示:

paste test.txt test1.txt

shell プログレスバー in :

pv data.log

netcat を使用して Graphite サーバーにデータを送信します:

echo "hosts.sampleHost 10 `date +%s`" nc 192.168.200.2 3000

タブをスペースに変換します:

展開 test.txt > test1.txt

bash 履歴をスキップ:

<スペース >cmd

前の作業ディレクトリに移動します:

cd -

大量の tar.gz ファイルを分割します (100MB)それぞれ)、マージして戻します:

split –b 100m /path/to/large/archive /path/to/output/files cat files* > アーカイブ

Curl を使用して HTTP ステータス コードを取得します:

curl - sL -w "%{http_code}\n" www.example.com -o /dev/null

MySQL セキュリティ インストールを強化するために root パスワードを設定します:

/usr/bin/mysql_secure_installation

Ctrl + c が無効な場合動作しない:

Ctrl +

ファイル所有者を取得:

stat -c %U file.txt

ブロックデバイスリスト:

lsblk -f

ファイル名を調べる 末尾にスペースがあるファイル:

find . -type f -exec egrep -l " +$" {} ;

ファイル名にタブ インデントがあるファイルを検索します

find . -type f -exec egrep - l $'t' {} ;

横線を印刷するには「=」を使用してください: すべて選択し、コピーしてメモに貼り付けます

printf '%100sn' | tr ' ' =

概要

上記が記事全体ですこの記事は、みんなの勉強や仕事に役立つ便利な情報を提供します。ご質問がある場合は、メッセージを残して連絡してください。

Linux シェルでよく使用される 73 個のコマンドをまとめたその他の関連記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。