端末に現在の機械情報を表示するには?

端末に現在の機械情報を表示するには?

私が実際に使用しているコンピュータを確認できるコマンドラインはありますか?

私は端末を広く使用していますが、PS1セッションとコンピュータが似ていて、現在どのデバイスを使用しているのかを混乱させます。マシンとは、現在のユーザーではないローカルコンピュータまたはサーバーを意味します(PS1ではこれを表示するため)。コマンドラインがありますか?

(ps:PS1の変更方法ではなくコマンドラインを要求しました。時々小さな画面で作業し、比較的短い行を管理したいからです。)

ありがとう

答え1

IMHO、ヒントはあなたの現在地を教えてくれる最高のツールです。これは、コンピュータ、現在のユーザー名、ディレクトリなどに関する情報を思い出させるために使用できます。プロンプトはコマンドラインに常に表示されるため、無視するのは難しいです。他のものを使う注文する現在、コンピュータ名(例hostname:)を見つけることも明らかに効果がありますが、そうすることを忘れていました。


ホスト名を含む文字列でデフォルトのプロンプトを設定します。

PS1="$(id -un)@$(hostname) \$ "

これにより、現在のコンピュータで自分のユーザーのプロンプトが次のように設定されます。

[email protected] $ 

ホスト名のドメイン部分を削除するhostname -s代わりに使用することをお勧めします。hostname

一部のシェル(例:)bashには、同じ目的で使用できる短縮表記があります。bash(より短いバージョンのホスト名を取得するには、\H次のように変更してください):\h

PS1='\u@\H \$ '

export PS1これは現在のシェルプロセスでのみ使用されるため、必要ありません。

この変数はシェル初期化ファイルで変更できます。bash修正するには、~/.bashrc関連するシェルマニュアルをお読みくださいPS1


非常に小さな画面では、独自の動的プロンプトを作成する必要があります。

case "$(hostname)" in
    bigserver*)  promptstr='bs'  ;;
    srv-*)       promptstr='srv' ;;
    accounting*) promptstr='a'   ;;
    web-dev-*)   promptstr='wd'  ;;
    *)           promptstr=$(hostname -s) ;;
esac

PS1="$promptstr \$ "

または、ホスト名の最初の3文字を使用してください。

HOSTNAME=$(hostname)
PS1="${HOSTNAME:0:3} \$ "

(明らかに、これはそのような変数置換を実行する方法を知るシェルが必要ですが、bashそうです)

...または()をローカルではなくリモートで使用するなど、ローカルではないことを知らせる別のインジケータかもしれません*。または、できるだけ多くのヒントのうちの他のヒント。$PS1='*$ '

答え2

マシンを区別するために必要な情報に応じて、いくつかの方法があります。


dmidecode -t1製造元やモデルなど、使用しているコンピュータに関する情報を表示します。

> dmidecode -t1 | grep Version
    Version: ThinkPad T520

uname -a-nネットワークノードのホスト名()やカーネルバージョン()などのシステム情報を印刷します-r


lsb_release -a次の展開関連情報を表示します。

> lsb_release -d
Description:    Ubuntu 16.04.3 LTS

答え3

uname -a OR hostnameip a..etcコマンドを試してください。

答え4

端末に書き込む

CPU名

関連情報