Windows および Linux スレッドごとに、 Mac OS X Server (またはクライアント)で最も役立つコマンドは何ですか?
say "some text"
有名な 人々をアパートに戻す 、say
は引数を取り、オーディオ出力デバイスを介してそれらを読み上げます。
pbpaste
およびpbcopy
を使用して、ペーストボード(別名クリップボード)を操作します。
例:
# copies the directory listing
ls -l | pbcopy
# get pasteboard lines containing foo and save them in a_file
pbpaste | grep foo > a_file
デフォルトではマクロマンエンコーディングを使用するので、UTF-8を使用する場合(そうする場合)は、次のリンクを確認する必要があります。
fs_usage
ファイルシステムのアクティビティを監視できます。アプリが作成するファイルを確認したい場合に便利です。詳細は http://rentzsch.com/macosx/fs_usageIntro を参照してください。
open .
現在の作業ディレクトリでFinderウィンドウを開きます。
コマンドラインから、私は以下の能力を持つことが好きです:
「ユニバーサル」CD/DVDを作成して書き込みます。
$ mkisofs -allow-multidot -allow-leading-dots -d -hide-rr-moved\ -l -joliet-long -R -T -v\ - V VOLUME_NAME -o output.iso root-cd-dir / $ hdiutil burn -noverifyburn output.iso
CD/DVDからISOイメージを作成します。
$ diskutil unmountDisk /dev/disk2s0 $ dd if =/dev/disk2s0 of = cdname.iso bs = 32m
Lddを探しているときにotoolコマンドを忘れることができる:
$ alias ldd = 'printf "\'\'' otool -L\'\' '-\ n"にコマンドを送信&& otool -L'
コマンドラインからディスクイメージをマウントします。
$ hdid diskimage.dmg(または.iso)
プレビューを使用して、manページにアクセスします。
$ man -t rsync | open -f -a /Applications/Preview.app
'airport' CLIユーティリティが私のお気に入りです。 http://osxdaily.com/2007/01/18/airport-the-little-known-command-line-wireless-utility/ を参照してください。関連付けられているAPの信号レベル、ノイズレベル、BSSIDなどの詳細が表示されます。
drutil tray open
Apple光学式ドライブのイジェクトボタンはケースの外側からアクセスできないため、キーボードが接続されていない場合は(ssh経由で)非常に役立ちます。
ipconfig getpacket en0
プライマリイーサネットインターフェイス(en0)のネットワーク設定を表示します。
Windowsに慣れていて、「ipconfig」が壊れていると思う場合-それはそうではありません;-)いくつかの引数を追加する必要があるだけです
「オープン」は素晴らしいとは言えません。ドキュメントをGUIプログラムで開くことができ、GUIプログラムを-aで選択することもできます。例えば、
open -a vlc movie.avi
vLCを開き、現在のディレクトリにmovie.aviをロードするよう指示します。
open movie.avi
デフォルトのプログラムで開きます。プログラムを開きたいだけなら、それもできます:
open -a system\ preferences
システム環境設定を実行します。 URLも開くことができます。
open vnc://myserver:5900
画面共有を開き、myserverに接続します。
チェックアウト
man open
使用できるすべてのフラグを表示します。
softwareupdate
CLIからMacを更新します。
networksetup
コマンドラインの[システム環境設定]の[ネットワーク設定]ペインで見つけたすべてを構成します。スクリプトを書いたり、リモートで物事を行ったりするmuchより簡単になります。
Sudo changeip -checkhostname
正引きおよび逆引きDNS解決が正常であることを確認し、多くの場合、問題の修正に使用できるコマンドを示します。 「名前が一致しても、何も変更する必要がない」と表示されていれば、問題はありません。サーバーのネットワーク構成を変更する場合に不可欠です。サーバーをオープンディレクトリのマスターに昇格させる前にこれを使用することも重要です。
dscacheutil -flushcache
私は10.5以降で、その1つのヒープを使用してDNSキャッシュをフラッシュすることに気づきました。
ping 224.0.0.1
Ping allサブネット上のデバイス
srm
安全な削除のためのコマンドラインバージョン。
last
システムにログインしたユーザー、システムを使用した時間、システムが再起動された日時を表示します。
次に出力のサンプルを示します。
clinton ttys000 Thu May 28 22:33 still logged in
clinton console Thu May 28 08:05 still logged in
reboot ~ Thu May 28 08:05
shutdown ~ Wed May 27 20:15
clinton console Wed May 27 17:33 - 20:15 (02:42)
...
wtmp begins Thu May 14 09:26
lsof
開いているファイルのリスト
USBドライブをイジェクトし、使用中と表示され、すべてのアプリケーションを終了してから再試行する場合に便利です。
$ Sudo lsof /Volumes/CLINTON
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 55966 clinton cwd DIR 14,12 16384 2 /Volumes/CLINTON
lsof 56042 root cwd DIR 14,12 16384 2 /Volumes/CLINTON
lsof 56043 root cwd DIR 14,12 16384 2 /Volumes/CLINTON
この例では、ドライブにcd
edしたため、bashがボリュームにアクセスしていました。
「mds」エントリが表示されている場合は、スポットライトがドライブにインデックスを作成していることを意味しています。
Appleによって発行されたCommand-Line Administrationガイドは非常に貴重です。
"command line Administration mac" をグーグルすると、良い結果が得られます。
Mac OS Xのコマンドライン管理 10.5 、 10.4 、および 10. 。
他の便利なガイドは http://www.Apple.com/server/macosx/resources/ にあります。
osascript -e 'tell application "AppName" to quit'
シェルからアプリケーションを終了できます。
osascript -e 'tell application "Finder" to sleep'
長いシェルスクリプトの有用な最後の行は、スクリプトが完了するとMacをスリープ状態にします。 iSleepにエイリアスされています。
pbpaste | script.sh |pbcopy
ペーストボードの内容を取り(編集->コピー)、それをscript.shにパイプします。結果はペーストボードに置かれ、編集してドキュメントに貼り付けることができます。
具体的にはMacリソースではありませんが、ターミナルのアイコンを使用しており、非常に便利なコマンドのリストのほとんどが機能します。
mcxquery
これにより、クライアントマシンに適用されているMCX(管理対象クライアント)設定の種類を確認できます。
[対応するGUIは、システムプロファイラーに移動し、[ソフトウェア]セクションで[管理対象クライアント]をクリックします。]
マシンが管理されているかどうかを判断し、期待どおりの設定が得られているかどうかを確認すると便利です。
sw_vers
現在インストールされているMac OS Xのバージョンとビルドを表示します。
df -h
すべてのディスクに現在あるディスク領域の数を確認する。
opendiff file1 file2
file1
とfile2
を実行する FileMerge (Apple開発者ツール)に付属するグラフィカルdiff
を実行します。
dns-sd -B _ssh
dns-sd -B _rfb
dns-sd -B _services._dns-sd._udp
Bonjourでアドバタイズするサーバーを一覧表示します。最後の提案は、リストできるサービスのタイプをリストしています。リストはライブです。十分に見終わったら、Ctrl-Cを押してください。
同じコマンドが最近のLinuxとBonjour SDK for Windowsに含まれています。
system_profiler
コマンドラインでのみ、[このMacについて]-> [詳細]を選択した場合と同じ結果が得られます。
ランニング
system_profiler -usage
または、manページを見ると、その使用方法に関するヒントが得られます。
いくつかの例:
system_profiler -xml > MySystem.spx
# and later,
open MySystem.spx # or just double click on it in the Finder
これにより、システムプロファイルがファイルにダンプされ、後で別のマシンで確認できます。
system_profiler SPUSBDataType
すべてのUSBデバイスについて説明します(ドライバーの追跡に役立つベンダーおよび製品IDを含む)。
system_profiler SPUSBDataType | grep "Product ID" -c
接続されているUSBデバイス(内蔵USBデバイスを含む)の数が表示されます。これは、コンピューターがデバイスを認識しているかどうか(または、Parallelがデバイスを取得したか、デバイスが停止しているかどうか)を確認するのに役立ちます。システムプロファイラGUIアプリでは、メニューから[表示]-> [更新]を選択してリストを更新できます。それはもっと簡単かもしれません。]
system_profiler SPHardwareDataType
基本的なハードウェア情報を取得します(資産の追跡に役立ちます)。
system_profiler SPHardwareDataType | grep Serial
マシンのシリアル番号が表示されます。
Sudo opensnoop
leopard以降では、成功したかどうかに関係なく、開いているファイルを処理するレポートが表示されます。特定のプロセスによってシステム全体で開かれているすべてのファイルを確認するか、プロセスが特定のファイルをさまざまな種類のタイムスタンプで開いているかどうかを確認し、エラーが発生したかどうかを確認するように要求できます。
詳細は次のとおりです。
opensnoopは dtrace スクリプトです。/usr/binには、プロセスが実行しているシステムコール、プロセスが作成しているプロセス、プロセスが実行しているI/Oなどを確認する他の多くのものがあります。リストを取得するにはapropos DTrace
を実行し、詳細についてはmanページをご覧ください。
ネットワークアカウントを持つユーザーのOS 10.5.8でComic Life Magiq 1.1がクラッシュする理由を診断するのに苦労していたときに、opensnoopについて知りました。
私は実行しました(数回、別のアカウントで、ssh経由):
Sudo opensnoop -e -n Comic > output.txt
ネットワークユーザーが最後に開いたファイルは次のようなものでした(フルパスを使用)。
/Network/Servers/.../username/Library/Icons/WebpageIcons.db
safari 5.0がネットワークユーザーに対してクラッシュしていたことを思い出し、ファビコンをキャッシュしないように設定を管理するか、ファイルをリダイレクトすることで回避しました。 Apple明らかにSafari 5.0.1の問題を修正し、昨日Safari 5.0.2にアップグレードしたときに、Comic Life Magiqユーザーのクラッシュを修正しました。
ifconfig en0 ether 00:00:00:00:00:00
次の再起動までMACアドレスを変更(spoofs)
本当にMacのみ:「開いている」を見ました。上記、ただしopenは、渡されたドキュメントまたはアプリを開きます。
私が最もよく使用する一般的なUnix:Sudoは、システム構成ファイルの変更など、viで実際に編集するのに非常に便利です。
何かがハングしたとき(または、別のユーザーがバックグラウンドでデスクトップにまだログインしていて、ログアウトしたいときは、killを誇張することはできません。厄介ですが、myデスクトップです)
ssh/scp-OSXではターミナルを開いてサーバーに接続できるのが気に入っています。それだけでも、Windowsを削除してよかったです。
ifconfig/ping/whois/nmapなど
scutil --dns
DNS解決の順序を表示します。ネットワーク設定を作成またはデバッグするときに役立ちます。
lsof -i
開いているインターネットポートをリストします。出力例:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
SystemUIS 223 clinton 11u IPv4 0x3e21b08 0t0 UDP *:*
ARDAgent 262 clinton 16u IPv4 0x3e21be0 0t0 UDP *:net-assistant
ARDAgent 262 clinton 18u IPv4 0x5f01a68 0t0 TCP *:net-assistant (LISTEN)
AppleVNCS 263 clinton 4u IPv6 0x3e274bc 0t0 TCP *:vnc-server (LISTEN)
Opera 48365 clinton 20u IPv4 0x5f01e64 0t0 TCP WTD-Staff-BlackmoreC:57094->stackoverflow.com:http (ESTABLISHED)
Opera 48365 clinton 23u IPv4 0x5b12a68 0t0 TCP WTD-Staff-BlackmoreC:57095->stackoverflow.com:http (ESTABLISHED)
すべてのユーザーがポートを開く場合はSudo
を使用します。フラグ-n
および-P
は名前解決とポート名を無効にし、代わりに番号を提供します。
Sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -restart -agent
リモートデスクトップサービスを開始します(SSHアクセスしかないが、クライアントMacのGUIを使用して何かを実行したい場合に便利です)。その他のオプションについては、次を参照してください: http://support.Apple.com/kb/HT237
drutil eject
cDを取り出します。
ファイルの行末の種類を知りたい場合は、
file /path/to/your-file
例:
$ file imports/sample-students.txt
imports/sample-students.txt: ASCII text, with CR line terminators
間違いなく、この聴衆には少し歩行者ですが、私は次のものを使用しています。
screencapture -i -c
画面から必要なものをすべて取得することは非常に便利であり、Grabでは取得できないことを実行できます。
ルートユーザーを有効にせずにルートシェル(Apple自体がドキュメントで「マニアックな」ことを実行するために、つまりシステム全体の言語を設定するために必要になる場合があるため)
Sudo bash
これにより、すべてのコマンドにSudoコマンドを付加することなく、ルートとして必要なすべてを実行できるルートシェルが提供されます。
これは危険かもしれませんが、私たちはシステム管理者です。私たちは何をしているのか知っていますよね。 :)
通常のUnixの容疑者とは別に、私は次のことが便利だと思います:-
dsconfigad-Active Directory設定を編集してコンピューターをバインドします
デフォルト-編集設定
plutil- plist をテキストとの間で変換します
softwareupdate-コマンドラインからソフトウェアアップデートを実行する
インストーラー-コマンドラインからパッケージをインストールします
networksetup-コンピューター名などのさまざまな設定と取得
あなたがそれらと通常のUnixのものを習得すれば、コマンドラインからMac管理に必要なすべてを手に入れることができます。
Time MachineをNASにバックアップできるようにする方法。
defaults write com.Apple.systempreferences TMShowUnsupportedNetworkVolumes 1
MACアドレスを見つける
ifconfig en0 | grep ether | sed s/://g | sed s/ether//
NASにコピーするスパースバンドルを作成するコマンド
Sudo hdiutil create -nospotlight -library SPUD -size 160g -fs "Case-sensitive Journaled HFS+" -type SPARSEBUNDLE -volname "<VOLNAME>" ./<HOSTNAME>_<MAC_ADDRESS>.sparsebundle
ReadyNASにバックアップする魅力のように機能します。
これはフリーウェアのサードパーティツールですが、
edit
本当に便利です。これは、最初に TextWrangler を実行するときにオプションでインストールできるコマンドラインツールです。 [他のテキストエディタ(BBEdit、TextMate)はおそらく類似のものを提供します。]
edit path/to/somefile
TextWranglerでファイルを開き、通常は編集する権限がない場合に認証できるようにします。 (sshセッションから実行することもでき、ログインしたグラフィカルユーザーのために開きます)。
さらに良いことに、パイプで接続できます。
lsof -i | edit
たとえば、開いているネットワーク接続が表示され、それらをTextWranglerで開くと、簡単に検索(およびスクロール)できます。
この質問は NIX管理者がなくては成り立たないツールについての質問 とかなり重複しています。 Mac OS Xのコマンドラインツールの多くは、df
、du
、which
などのUNIXルートを持っています。ただし、osascript
、open
、pbcopy
、pbpaste
、say
など、明らかなUNIXの同等機能がない注目すべき例外があります。
killall -9 appname
forceはアプリを終了します。アクティビティモニターにアクセスできない場合に非常に役立ちます。
ipconfigが役立つ場合があります。
インターフェイスの現在のIPアドレスを取得しています:
$ ipconfig getifaddr en1
10.110.2.25
最後に受信したDHCP情報を取得します。
$ ipconfig getpacket en1
op = BOOTREPLY
htype = 1
flags = 0
hlen = 6
Hops = 0
xid = 143857879
secs = 0
ciaddr = 0.0.0.0
yiaddr = 10.110.2.25
siaddr = 0.0.0.0
giaddr = 0.0.0.0
chaddr = 00:aa:bb:cc:dd:ee
sname =
file =
options:
Options count is 7
dhcp_message_type (uint8): ACK 0x5
server_identifier (ip): 1.1.1.1
lease_time (uint32): 0xe10
router (ip_mult): {10.110.0.1}
domain_name_server (ip_mult): {1.1.1.1, 1.1.1.2}
subnet_mask (ip): 255.255.252.0
end (none):
ifconfig | grep cast
iPアドレスを取得するのに最適です。
ifconfig en1 | grep eth
mACアドレスの取得に適しています。 en1を使用すると、(ほとんどの場合)AirportのMACアドレスが取得されます。これは、既知のデバイスのみがワイヤレスネットワークに許可されている場合に便利です。逆に、en0(組み込みのイーサネットポート)を使用する場合は、次のようにオープンディレクトリでマシンを検索できます。
ldapsearch -x -h odm -b "cn=computers,dc=odm,dc=pretendoco,dc=com" "macAddress=00:0d:93:b5:82:88"
(サーバーが「odm」であり、レルムがODM.PRETENDCO.COMであると想定しています)。
Mac OSで欠落しているseqコマンドの代わりに使用できる気の利いたbash構文があることがわかりました。
echo { 18..21 }
sqlite3 foo.db
インタラクティブ SQLite セッションを開始します。 foo.dbが存在しない場合は作成されます。
du -d 1 -h
現在のディレクトリのディスク使用統計を人間が読める形式で表示します。
男[コマンド]
最もよく使用されるコマンドの1つ。他のすべての使い方を説明します。
私が見たことのないOS X固有の事項について言及しました。
mdfind
はコマンドラインのSpotlight検索インデックスを使用するため、[検索]プルダウンを使用せずに全文検索を実行できます。
networksetup -
は、それがサポートするクレイジーな構文をすべて表示します。これは、ネットワーク設定ペインに相当するコマンドラインです。
Sudo launchctl list
-実行中のlaunchctlジョブを表示します。 launchctl stop X.XX.X
は、現在実行中の永続プロセスのインスタンスを単に「停止」(強制終了)します。実際に実行を停止するには、launchctl unload /System/Library/LaunchDaemons/X.XX.X.plist
。
Sudo slapconfig -destroyldapserver
LDAPレプリカを強制的にスタンドアロンに降格します。 Open Directoryマスターの設定が間違っていると、Server Adminを使用してOpen Directoryレプリカを降格しようとすると失敗することがあります(例:レプリカサーバーが降格を拒否する場合があります)。 slapconfigを使用して、これらの状況で強制的に降格させることができます。
which program
プログラムのパスを検索し、フルパスを指定せずにプログラムを実行した場合に呼び出される実行可能ファイルを示します。
通常、パスを入力するための省略形として最も役立ちます。
$ which python
/usr/bin/python
$ ls -l `which python`
lrwxr-xr-x 1 root wheel 72 30 Jan 22:56 /usr/bin/python -> ../../System/Library/Frameworks/Python.framework/Versions/2.5/bin/python
Bonjourのおかげで、Finderで表示できる別のMacのIPアドレスがLAN上にあることを知りたいと思ったことはありませんか?
dscacheutil -q Host -a name OtherMac.local
dscacheutilは驚くほど便利で用途が広いです。 DNSキャッシュをフラッシュするだけではなく(ここで他の場所で説明されているように)、ユーザールックアップとキャッシュ統計およびダンプを実行するだけでなく、もっと多くのことができます。
クライアントはどのDHCPライセンスを保持していますか?
Sudo ls -lt /private/var/db/dhcpclient/leases
ファイアウォールの許可/拒否を一覧表示します。
Sudo ipfw list
エントロピーの高いパスワードを生成します(有望な16文字の文字列をダブルクリックしてコピー/貼り付けします):
head -c90 /dev/random | uuencode -m pwd | hexdump -C
これらは基本的なものですが、健忘症がある場合に便利です。
私は誰?
id
私はどこに立っていますか?
pwd
私は何の建物ですか?
hostname
そのアドレスは何ですか?
ifconfig |grep inet
多分、最も「便利な」コマンドではないかもしれませんが、say
はとても楽しいです。
例えば say I love serverfault
は、「言った」後に入力した内容を読み返させます。
locate "foo"
ファイル名に「foo」が含まれるシステム上のファイルを表示します。 Spotlightを使用するのとほぼ同じ頻度でこれを使用する必要があります。
Sudo reboot
コンピュータを再起動します。