LoginSignup
12
11

More than 1 year has passed since last update.

linuxコマンド備忘録

Last updated at Posted at 2014-06-18

起動中のサービス確認

systemctl list-unitsでsystemdが管理するユニットを表示する。--typeにはserviceのほかにsocket, mount, deviceを指定できる。

systemctl list-units --type=service

ファイルの文字コード変換

iconvコマンドを使うやり方。オプションは、-fが元の文字コード、-tが変換する文字コード、-oが出力するファイル名。
ex.) example.txtをsjisからutf-8にする。

$ iconv -f sjis -t utf-8 example.txt -o example.txt

xargsの引数の場所を指定する

通常はコマンドの最後の引数になるが、-iオプションを使うと、{}に引数を割り当てられる。
ex.)パスにoriginalを含むファイルを../bkにコピー。

$ find . -type d | grep original | xargs -i mkdir -p ../bk/{}
$ find . -type f | grep original | xargs -i cp -p {} ../bk/{}

空白を含むファイルのfind

findの結果に対してxargsで処理をさせるときに、ファイル名に空白を含む場合、エラーが発生する。
(空白を複数ファイルの区切り文字として扱うため)
オプションでfind -print0xargs -0とすると、区切り文字を空白でなく、\0で扱うため、問題を回避できる。

$ find . -type f -print0 | xargs -0 md5sum | sort

コマンド繰り返し

コマンドをsleep秒ごとに繰り返す。
ctl + cで終了。

$ while true; do [コマンド]; sleep 1; done;

cronでsudoを許可

デフォルトは、cronの処理中でのsudoは許可されていない。
Defaults requirettyをコメントにすると、許可される。

$ sudo visudo

#
# Disable "ssh hostname sudo <cmd>", because it will show the password in clear.
#         You have to run "ssh -t hostname sudo <cmd>".
#
#Defaults    requiretty

psからプロセスをkill

ex.) tomcatをkill
pgrep:プロセスidをかえす
--no-run-if-empty:引数がない場合、実行しない

$ pgrep -f tomcat | xargs --no-run-if-empty kill -9

psの結果からgrepを除く

ex.) tomcatプロセスだけを表示

$ ps -ef | grep tomcat | grep -v grep

秘密鍵作成

ex.) rsa方式暗号方式で鍵を作成

$ ssh-keygen -t rsa

公開鍵は認証側サーバのauthorized_keysに追加。
.sshは権限700、authorized_keysは権限600とする。
バッチ処理等でssh接続を使う場合、パスフレーズの入力を求められて動かなくなるので、特別な理由がない限り、設定しないほうがいいと思う。

$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
$ cat id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys

ホストキーの削除

sshログインするとき、接続先サーバのホストキー(公開鍵のフィンガープリント)を保存し、照合するので、接続先サーバのIPアドレスが変わったりすると、不一致になり、sshログインできなくなる。
そんなときは、ホストキーを削除すると、再度ログイン可能になる。

$ ssh-keygen -R [ホスト名]

ディレクトリを再帰的にgrep

ex.) カレントディレクトリ以下のディレクトリのファイル「*.html」から文字列「height」を含むファイルを探す

$ find . -name "*.html" | xargs grep height
12
11
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
11