LoginSignup
6

More than 5 years have passed since last update.

ubuntu14.04コマンド使用メモ (sed,lsof,service)

Last updated at Posted at 2016-04-23

環境 Ubuntu14.04

sedコマンド

半角スペース" "をカンマ","へ置換する
下記コマンド使用しました。
一番上のコマンド以外は読み込んだファイルのxxxをXXXに置き換えるもの。

各行それぞれ
パイプ使用
-eオプション使用
複数ファイルを書き換える場合

$ cat ./train.csv | sed -e 's/,/ /g' > ./train_new.csv
$ sed -e 's/xxx/XXX/g' ./train.csv > ./train-new.csv
$ sed -i -e 's/xxx/XXX/g' ./train.csv ./train2.csv ./train3.csv

ちなみに日付とかにくっついてるスラッシュを,に置換する場合バックスラッシュをその前におきます。

$ cat ./train.csv | sed "s/\//,/g" >./train-new.csv

参考ページの作業でCSVファイルを作る必要があり
CSVファイルへ出力された数値データ間の半角スペースをsedで,へ書き換えました。

lsofコマンド

lsof -i をルート権限で使用すると
そのポートをオープンしているプロセスが表示される。

$ lsof -i:22
COMMAND  PID USER   FD   TYPE DEVICE SIZE NODE NAME
sshd    2436 root    3u  IPv6   4674       TCP *:ssh (LISTEN)
sshd    3198 root    4u  IPv6   6078       TCP 192.168.0.7:ssh->192.168.0.30:1930 (ESTABLISHED)
sshd    3200 nori    4u  IPv6   6078       TCP 192.168.0.7:ssh->192.168.0.30:1930 (ESTABLISHED)

複数のポートを調べる場合

$ lsof -i:21,22
COMMAND  PID USER   FD   TYPE DEVICE SIZE NODE NAME
sshd    2436 root    3u  IPv6   4674       TCP *:ssh (LISTEN)
sshd    3198 root    4u  IPv6   6078       TCP 192.168.0.7:ssh->192.168.0.30:1930 (ESTABLISHED)
sshd    3200 nori    4u  IPv6   6078       TCP 192.168.0.7:ssh->192.168.0.30:1930 (ESTABLISHED)
vsftpd  3295 root    3u  IPv4   6793       TCP *:ftp (LISTEN)

プロセス名を指定する場合-c "process name" オプション
sshをポートを調べる場合

$ lsof -c ssh
COMMAND  PID USER   FD   TYPE    DEVICE    SIZE    NODE NAME
sshd    2436 root  cwd    DIR       3,2    4096       2 /
sshd    2436 root  rtd    DIR       3,2    4096       2 /
sshd    2436 root  txt    REG       3,2  274692 1343255 /usr/sbin/sshd

lsofはDIGITSがウェブサービスに使っているポートを調べた時のコマンド

*lsofはUSBポートやディスクドライブがビジーになっている場合
そのデバイスを専有しているプロセスをkillする時にも役立ちます

MacOSXでUSBポート占有プロセスを調べる場合

$  lsof | grep "/dev/cu"

Linuxで外付けメディアの占有プロセスPID確認

sudo lsof /media/data
lsof: WARNING: can't stat() fuse.gvfs-fuse-daemon file system /home/takuya/.gvfs
      Output information may be incomplete.
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF    NODE NAME
rsync   29631 root  cwd    DIR   8,36     4096       2 /media/data
rsync   29633 root  cwd    DIR   8,36     4096       2 /media/data

上記の場合
kill 29631
kill 29633
などでメディアドライブは開放されるでしょう。

serviceコマンド 

例えばhttpdサービス(デーモン)の状態を知りたいときには以下のようなコマンドを実行します
/etc/init.d以下のスクリプトを直接実行で同じ処理

service httpd status
/etc/init.d/httpd status

haltやkillallといった特別なスクリプトを除いて,/etc/init.d以下にあるサービス・スクリプトの一覧に基づき全てのサービスのステータスを列挙する。

service --status-all

参考ページ
ITpro
kivantiumさんのページ ご注文は機械学習ですか?
sedコマンド
lsofコマンド

*自宅内のネットワークセキュリティに関る部分は公開してません

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
6