PowerShellの隠し機能やStack Overflowのさまざまな機能の精神に従って、どのLinuxコマンドまたはコマンドの組み合わせが仕事に不可欠だと思いますか?
関連項目:
MySQLの
非表示機能PowerShellの
非表示機能Oracle Databaseの
非表示機能Windows 2008の
非表示機能Solaris / OpenSolarisの
非表示機能SQL Serverの
非表示機能IISの非表示機能(6.0 / 7.0)
PowerShellの隠し機能やStack Overflowのさまざまな機能の精神に従って、どのLinuxコマンドまたはコマンドの組み合わせが仕事に不可欠だと思いますか?
関連項目:
MySQLの
非表示機能PowerShellの
非表示機能Oracle Databaseの
非表示機能Windows 2008の
非表示機能Solaris / OpenSolarisの
非表示機能SQL Serverの
非表示機能IISの非表示機能(6.0 / 7.0)
回答:
screenが呼び出されると、シェル(または指定されたコマンド)を含む単一のウィンドウが作成され、通常どおりプログラムを使用できるように邪魔になりません。その後、いつでも、他のプログラム(シェルを含む)を含む新しい(フルスクリーン)ウィンドウを作成し、現在のウィンドウを強制終了し、アクティブなウィンドウのリストを表示し、出力ログのオン/オフを切り替え、テキストをコピーできますウィンドウ、スクロールバック履歴の表示、ウィンドウ間の切り替えなど。すべてのウィンドウは、互いに完全に独立してプログラムを実行します。プログラムは、ウィンドウが現在表示されていない場合、および画面セッション全体がユーザー端末から切り離されている場合でも実行を続けます。
たぶん私はこれらを毎日使用するわけではありませんが、頻繁に使用します:
「-X」パラメーターを使用して、SSH経由でリモートGUIアプリケーションを実行できることに驚いた。例えば:
# on my machine
$ ssh -X linuxserver
# on remote machine
$ gedit /etc/my.cnf &
ローカルコンピューターにgeditウィンドウが表示され、サーバー上の「my.cnf」ファイルが編集されます。
これは、クライアントマシンにX環境がある場合、つまりWindowsではない場合にのみ機能すると想定しています。しかし、それは私のMacでうまく機能します!
lsofは無視されることがよくあり、非常に便利なツールです。lsofを使用すると、システム上で開いているすべてのファイルのリスト、誰が何を使用しているかなどを表示できます。
例えば:
root@tower:~ # umount /mnt/hardy
umount: /mnt/hardy: device is busy
umount: /mnt/hardy: device is busy
root@tower:~ # lsof | grep /mnt/hardy
bash 5966 root cwd DIR 253,2 1024 2 /mnt/hardy
root@tower:~ #
これで、別のターミナルでシェルにログインしていることがわかり、/ mnt / hardyが現在の作業ディレクトリです。そのため、そのシェルを強制終了するか、他のターミナルに移動してそのディレクトリから出て、マウントを解除することができます。
これは実に些細な例で、時折発生する「ボット」の侵入をクリーンアップするのにも非常に便利です。オプションは広範です。詳細については、man lsofを参照してください。
システムが停止した後、ネットワークスタックを実行したままにすることができます。これが2.6.xシリーズのカーネルで最新かどうかはわかりませんが、古いバージョンでは、ファイアウォール/ルーティングを構成し、シャットダウンせずにシステムを停止し、ネットワークスタックのみを実行したままにすることができます。何もありませんので-これは、あなたが(静的なが)安いを作る「ハッキングすることができない」ことをファイアウォールにできるようになるために何のプログラムやサービス、前後にパケットを渡すカーネルだけのネットワークスタック部分が存在しないとして、ハック。 ..
私は "locate"が好きです-厄介な "find。-name xxxx -print"よりもはるかに簡単なファイル検索方法です。最新のファイルインデックスに合わせてupdatedbコマンドを使用する必要があることに注意してください。詳細については、manページを参照してください。
「ngrep」は、tcpdumpファイルをパントすることなく、リモートサーバー上のネットワークコードをデバッグするのに非常に役立ちます。
ngrep -d any -W byline port 80
たとえば、ライブHTTPリクエストとレスポンスが表示されます。
私が頻繁に有用だと感じたもう1つのことは、straceへの「-e」スイッチです。
strace -p <pid> -e trace=open
指定されたpidのすべてのopen()システムコールを表示します。
strace -p <pid> -e trace=\!rt_sigprocmask
出力からrt_sigprocmask()の呼び出しをすべて除外します(RoRコードのデバッグに役立ちます。これは、pthreadsを使用するようにビルドされている場合、これらの呼び出しの多くを行うようです)。
apropos
説明各マニュアルページには、短い説明があります。aproposは、キーワードのインスタンスの説明を検索します。
gyaresu@debian:~/bin$ apropos ettercap
etter.conf (5) - Ettercap configuration file
ettercap (8) - (unknown subject)
ettercap_curses (8) - (unknown subject)
ettercap_plugins (8) - (unknown subject)
man -k
代わりに常に使用しますが、スペルに障害があります。
ありがたいことに、私は数回しか必要としませんでしたが、Magic SysRqキーは今でも私のお気に入りの隠された機能の1つのままです。
Alt + SysRq + RSEIUB
NAME
units -- conversion program
DESCRIPTION
The units program converts quantities expressed in various scales to their
equivalents in other scales. The units program can only handle multiplicative
scale changes. It cannot convert Celsius to Fahrenheit, for example.
It works interactively by prompting the user for input:
You have: meters
You want: feet
* 3.2808399
/ 0.3048
You have: cm^3
You want: gallons
* 0.00026417205
/ 3785.4118
You have: meters/s
You want: furlongs/fortnight
* 6012.8848
/ 0.00016630952
You have: 1|2 inch
You want: cm
* 1.27
/ 0.78740157
それほど隠されているわけではありませんが、経験のない人にとってはそうかもしれませんが、リストを提供し、bashで次のように展開できるようにしたいのです。
cp arq{,.bak}
入力と同じです
cp arq arq.bak
履歴のショートカットも使用します(これは正しい用語だとは思いませんが...)
!!
最後のコマンドを繰り返す、または
^foo^bar
最後のコマンドでfooをbarに置き換える
私はdebian-goodiesパッケージが好きです:
説明:Debianシステム用の小さなツールボックススタイルのユーティリティ これらのプログラムは、標準のシェルツールと統合するように設計されています。 Debianパッケージングシステムで動作するように拡張します。 。 dgrep-指定されたパッケージ内のすべてのファイルで正規表現を検索する dglob-パターンに一致するパッケージ名のリストを生成する 。 これらも有用であり、正当化しないため、これらも含まれています 独自のパッケージ: 。 debget-APTのデータベースにあるパッケージの.debを取得する dpigs-最も多くのスペースを占めるインストール済みパッケージを表示 debman-抽出せずにバイナリ.debからマニュアルページを簡単に表示 debmany-インストールまたはアンインストールされたパッケージのマンページを選択 checkrestart-古いを使用しているプロセスを見つけて再起動するのに役立ちます アップグレードされたファイルのバージョン(ライブラリなど) popbugs-に基づいてカスタマイズされたリリースクリティカルバグリストを表示する 使用するパッケージ(人気コンテストデータを使用)
さらに、moreutilsもあります。これは、基本的にホイール上の素晴らしいパイプツールです。
説明:追加のUNIXユーティリティ これは誰も考えていなかったUnixツールの成長するコレクションです 30年前に書きます 。 これまでのところ、次のユーティリティが含まれています。 -スポンジ:標準入力を吸収してファイルに書き込む -ifdata:ifconfig出力を解析せずにネットワークインターフェイス情報を取得 -ifne:標準入力が空でない場合にプログラムを実行します -vidir:テキストエディタでディレクトリを編集します -vipe:テキストエディターをパイプに挿入します -ts:タイムスタンプ標準入力 -結合:ブール演算を使用して2つのファイルの行を結合します -おしっこ:パイプへの標準入力 -zrun:コマンドへの引数を自動的に解凍します -mispipe:2つのコマンドをパイプし、最初のコマンドの終了ステータスを返します -isutf8:ファイルまたは標準入力がutf-8かどうかを確認します -lckdo:ロックを保持したままプログラムを実行します ホームページ:http://kitenet.net/~joey/code/moreutils/
仕事で毎日使用する素晴らしい「機能」:SSHがポート443でリッスンする機能。仕事用ファイアウォールをバイパスするトンネルを作成できるため、SSHを介してインターネットに接続されているLinuxサーバーにローカルSOCKSプロキシを実行できます。 。
企業のファイアウォールは完全に無視できます。
ここに私が定期的に使用したいくつかがあります:
sar
-システムアクティビティを表示vmstat
-仮想メモリの統計iostat
-IOの統計pkill
-似てpgrep
いますが、返されたプロセスIDを殺すことができますxargs -I<string>
-文字列をパイプされたデータに置き換えることができますat
-タスクをスケジュールするtkdiff
-グラフィカルdiff
ユーティリティこれらはおそらく「隠された」ものではありませんが、非常に便利です。
df -hk
-人間が読める形式でディスク使用量を表示するls -ltr
-日付順にファイルをリストするwhile :; do...done
-(バッシュ)watch
利用できない場合の交換perl -e
- Perl
コマンドラインでスニペットを実行するfree -kt
-メモリ情報を表示(キロバイト/合計)while true; do ...
より簡単だと思うwhile [ 1 ]; do ...
始まるこの記事いくつかの素晴らしいのLinuxトリック。私のお気に入りはpstreeです。これは、プロセスがツリー形式で表示されるため、どのプロセスがどのプロセスを生成したかを確認できます。
curlは、wgetを使用するほとんどすべてのことで、wgetを完全に無効にします。
zgrepとzlessはgzip圧縮されたログファイルの検索に最適であるため、gunzipを介してパイプしたり、/ var / logに圧縮されていないものを残したりする必要はありません。
ESC + .
前の行の最後のパラメーターを現在のプロンプトに「貼り付け」ます
例えば
ls -l /home/someuser/somedir/somefile
に続く
rm
ESC + .
に変換する
rm /home/someuser/somedir/somefile
概念は、Linuxのすべてがファイルであるということです。
すべての構成はテキストファイルであり、Linuxのすべてはファイルとして扱われます。これは、Linuxでの変更を非常に簡単にする、はるかに単純なアプローチです。Linuxでは、ファイルシステム自体もファイルとして表示できます。
オープンソースです。見た目がわからなければ、「隠された」ものは何もありません。
od
-8進数およびその他の形式のファイルをダンプします。ファイルの先頭にBOMが含まれているかどうかを確認するのに便利ですfile
-指定されたファイルのファイルタイプは何ですか?lshw
、lsusb
、lspci
-リストのハードウェアtracepath
-ここでMTUの問題に対処していますか?netwox
200以上のネットワーク関連ツールが含まれていますip
-ネットワーク構成/情報用sysctl
-ファイルシステム/ネットワーク/カーネル情報ebtables
-ブリッジのiptablesvconfig
-VLAN設定brctl
-ブリッジ構成socat
- netcat
ステロイドについてipgrab
-- tcpdump
詳細なヘッダー情報を出力するユーティリティdig
-現在DNSサーバーはどうなっていますか?今日これを見つけました:
dmidecode:
SMBIOS / DMI標準に従って、システムBIOSに記述されているシステムのハードウェアに関する情報を報告します。通常、この情報には、システムの製造元、モデル名、シリアル番号、BIOSバージョン、資産タグのほか、製造業者に応じてさまざまなレベルの関心と信頼性の詳細が含まれます。多くの場合、これにはCPUソケット、拡張スロット(AGP、PCI、ISAなど)およびメモリモジュールスロットの使用状況、およびI / Oポートのリスト(シリアル、パラレル、USBなど)が含まれます。
colo施設のsomerandomserver27に関する質問への回答が間違いなく簡単になります!