ラベル コマンド の投稿を表示しています。 すべての投稿を表示
ラベル コマンド の投稿を表示しています。 すべての投稿を表示

2014年12月22日月曜日

Linuxでディスク容量の確認・ディレクトリサイズの確認

いつもやっていることながら、忘れてしまうので備忘録です。

ディスク容量の確認

dfコマンドを使います。


[root@localhost ~]# df
Filesystem   1K-blocks   Used Available Use% Mounted on
/dev/vda3    410530084 96247604 293428672  25% /
tmpfs       1961240     4  1961236  1% /dev/shm
/dev/vda1     247919  130526   104593  56% /boot

ディレクトリサイズの確認

duコマンドを使います。

[root@localhost/]# du --max-depth=1 -h ./
4.0K   /logs
4.0K   /media
8.0K   /selinux
3.4G   /var

4.5G   /usr
4.0K   /mnt
176K   /dev
30M   /etc
0    /sys
21M   /root
581M   /lib
7.6M   /bin
24M   /lib64
8.0K   /.pki
4.0K   /srv
14M   /sbin
443M   /opt
6.8M   /tmp
83G   /home
あとはサイズが大きいところへ移動して再度検索していくと、順次追っていけると思います。

2014年4月2日水曜日

Windowsでプロセスを終了させる(TaskKill)

TaskKillコマンドを使うと、Windowsで、コマンドラインからプロセスを終了させることができます。
LinuxのKillと同じですね。

使い方例

プロセスIDを指定して終了させる

TaskKill /PID プロセスID

イメージ名 (Exe名など)を指定して終了させる

taskkill /FI "imagename eq AcroRd32*"


プロセス情報を表示するTaskListコマンドと組み合わせて、
繰り返しで監視して該当アプリが起動していたら終了させるバッチを
作ってみました。


:LOOP
for /f "usebackq tokens=1,2 delims=," %%a in (`tasklist /FI "imagename eq AcroRd32*" /FO CSV /NH`) do (taskkill /PID %%~b)
REM 一定時間待機のダミーPING
ping 127.0.0.1 -n 10
goto LOOP

バッチファイルとして保存すると実行されます。

2014年3月13日木曜日

TeraTermでの複数ホスト接続をバッチ一発で実行

Linux機の運用を行っていると、複数端末に対してまとめて作業を
実施したいケースが出てきます。

仕組みを予め作り込んでおくことにより、使う時にはバッチ一発起動で
複数のホスト接続ができるようになります。

今回は接続までですが、改良する事によりそれ以降の処理も可能です。

構成イメージ

 


概略

  1. URLリストを作る
  2. バッチでURLリストを読み込み、TTPMacroを繰り返しで呼び出し
  3. TTPMacroで、URLを受け取り、ユーザとパスワード等を使って組み立てて、接続

実行するバッチの記載例

#TTPMacro.exeが存在するパスを指定
SET MACROEXEPATH=c:\Program Files (x86)\teraterm

#TTPMacro.exeを指定(固定
SET MACROEXE=ttpmacro.exe

#マクロが存在するパスを指定します。(フルパス必須)
SET MACROPATH=%~dp0\loginall.ttl

#ディレクトリを移動
cd /d %MACROEXEPATH% 

#urllist.txtを読み込んで、引数としてTTPMacro.exeを起動
for /F %%i in ( %~dp0\urllist.txt ) do start %MACROEXE% %MACROPATH% %%i

#元の位置に戻る
cd %dp~0

pause

実行するマクロの記載例

;パラメータ受け取り
HOSTADDR = param2
;ユーザー名とパスワードの定義(パラメータで受け取っても良いかも)
USERNAME = 'remoteuser'
PASSWORD = 'remotepassword'
;接続文字列の組み立て
COMMAND = HOSTADDR
strconcat COMMAND ':22 /ssh /2 /auth=password /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /passwd='
strconcat COMMAND PASSWORD
;接続
connect COMMAND
;応答を待機
wait 'remoteuser@'
;マクロ終了
end

2014年3月7日金曜日

Windowsでコマンドを利用してネットワークドライブの割り当て

自分用備忘録。
画面からやるとエラーとなってしまうのでコマンドを使う事にしました。


構文

net use [ドライブ] [共有フォルダ名] [パスワード] [ユーザー名]

Example

net use z: \\172.31.5.26\Repository password /user:domain\username
net use z: \\172.31.5.26\Repository password /user:username

net use z: \\172.31.5.26\Repository
ユーザー名とパスワードを聞かれるので、入力

'172.31.5.26' のユーザー名を入力してください:
172.31.5.26 のパスワードを入力してください:

サンプル上のネットワーク共有名は適宜書き換えてください。


追伸

Windows8.1でいくらやってもきちんとつながらないな・・・と思っていたら、使っているコマンドプロンプトが管理者でした。
管理者だと参照領域が違うようです。

2014年3月5日水曜日

管理者モードでのコマンドプロンプトの挙動に対する注意点

コマンドプロンプトを使っていると、
「この操作を実行するのに十分な特権がありません」

と出る事があります。
これは、WindowsVista以降で組み込まれたWindowsのユーザー・アカウント制御(UAC)による挙動で、
「Windowsにとって」特別な操作の場合、利用者への注意喚起を行う仕組みです。


本題ですが、これではまりました。
通常モードで実行できるコマンドを、管理者のコマンドプロンプトで
実行すると、通常の動作と異なる。

言い換えると、管理者特権が必要なアプリケーションにしか反映されません。


以下、net useコマンドで表示される結果

通常の権限で実行

ステータス  ローカル名 リモート名         ネットワーク名
------------------------------------------------------------------------------
利用不可   M:     \\192.168.1.201\music   Microsoft Windows Network
K      P:     \\srv\Project       Microsoft Windows Network
K      Q:     \\srv\common$       Microsoft Windows Network
K      Z:     \\srv\Repository
                        Microsoft Windows Network
------------------------------------------------------------------------------

管理者権限で実行

ステータス  ローカル名 リモート名         ネットワーク名
------------------------------------------------------------------------------
K      Z:     \\srv\Repository
------------------------------------------------------------------------------

出てくる行数が違います。

管理者モードで net use ドライブ パス とやって、ネットワークドライブを作成しても、
エクスプローラ上には出てきませんでした。
当然、通常のモードのコマンドでも出てきません。

設定をかけてもうまくいかず、コマンドの構文なのか環境なのかと疑ってかかり、
たどり着いたのがこれという結果・・・

まとめ

日常的に管理者のコマンドプロンプトを使っていたのですが、
これからは必要な時にのみ使うようにします。

2014年2月25日火曜日

findとlocate (linux)

ふと気になったのでまとめ。(というか、あまり知らずに使っていました)

locate 【ファイル名(ファイル名の一部)】

ファイルリストをインデックス化し、インデックスを検索します。
インデックスファイル(slocate.db)が更新されていないと、古い検索結果がヒットします。


find / -name 【ファイル名】

ディスクを検索します。全件検索のためlocateよりは時間がかかります。


locateで使用しているインデックスファイルを更新するためには以下のコマンド

updatedb


インデックスは、ディストリビューションによってはcron.dailyで自動更新するように
設定されているようで、CentOS 6.4の場合、[makewhatis.cron]というものが
動いて、自動更新されるようです。


2013年11月14日木曜日

日本郵政の郵便番号データをまとめて使う方法

システム開発屋であれば、運用方法等踏まえた上で
最適な提案をするのが筋ですが、とりあえず簡単にやるときに
使えそうな手順を

1.日本郵政のサイトより、郵便番号データをダウンロード

http://www.post.japanpost.jp/zipcode/dl/kogaki.html

2.ダウンロードしたデータを展開して、同じフォルダに格納。

3.コマンドプロンプトを立ち上げて、上記フォルダへ移動後、以下コマンドを実行

 del list.csv
 dir /b *.csv > list.txt
 del result.csv
 ECHO "全国地方公共団体コード","旧郵便番号","郵便番号","都道府県名カナ","市区町村名カナ","町域名カナ","都道府県名","市区町村名","町域名","一町域複数郵便番号区分","小字毎番地起番区分","丁目有町域区分","郵便番号複数町域区分","更新表示","変更理由" > result.csv
 for /F %i in (list.txt) do copy result.csv + %i result.csv

 これで、result.csvというデータに、全国のデータが入りました。

 あとは、取り込んで使うなど、好きに加工