はじめに
一部のプログラマにとって、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 サーバー:
netstat を使用してすべての tcp4 リスニング ポートを表示します:
qcow2 画像ファイル変換 :
ファイルを繰り返し実行し、その出力を表示します (デフォルトは 2 回/秒):
読み取り/書き込みモードで root をマウントします:
ディレクトリをマウントします(リンクが使用できない場合です):
動的更新DNSサーバー:
すべてのディレクトリを再帰的に grep します:
上位 10 個の最大ファイルをリストします:
権限を昇格する必要がある場合にファイルにテキストを追加します:
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 サイトに注目してください。