プロジェクト

全般

プロフィール

便利コマンドライン集

ディレクトリ強制コピー

  • ディレクトリを丸ごとコピーし、上書き確認もしない。
    # cp -Rpf dir_source dir_target
    
  • OSによってはiオプションcpコマンドのエイリアスにiオプション
    での上書き確認が強制されていてうまくいかない。その際は
    バックスラッシュでエイリアスを無効にして実行する。
    # ¥cp -Rpf dir_source dir_target
    

時間

  • 時刻を合わせる
    ###### 2014/4/1 12:00 とする場合。
    # date -s "04/01 12:00 2014" 
    
  • PC上の時刻とBIOSの時計を同期する場合
    # hwclock --systohc --localtime
    

標準出力

  • エラーコードを含めてリダイレクトする
    # command >filename 2>&1
    
  • エラーコードを含めてリダイレクトしつつコンソールにも表示する
    # command 2>&1 | tee filename
    
  • 一定時間(-n 秒オプション)ごとに特定コマンドの出力を表示する。
    (cron的なコマンドの実行にも応用できる)
    # watch -n 1 ls
    
  • ディレクトリ以下のサイズを取得する
    (dfコマンドと同様のニュアンスでバイト単位を細かく指定可能)
    # du -csh /home
    

findコマンド(ファイル検索)

  • grepでパイプしても良いけどね
  • 全ディレクトリから指定ファイルを検索する
    # find / -name "filename" -type f
    
  • 全ディレクトリから指定ディレクトリを検索する
    # find / -name "dirname" -type d
    
  • 全ディレクトリから1分以内に更新されたファイルを検索する
    find / -mtime -1 -type f
    

grepコマンド(文字列検索)

  • 空白とコメント行を除くコンフィグファイルの抽出。
    (vオプションで「マッチ結果の除外」をパイプする)
    grep -v '^$' filename | grep -v '#'
    
  • 大文字小文字を区別しない
    grep -i 'pattern' filename
    

sedコマンド(置換)

  • よく使うルール
    • 先頭の場合「^pattern」
    • 末尾の場合「pattern$」
  • マッチする文字列を置換する
    sed -i 's/before/after/g' filename
    
  • 標準出力を利用して該当行のみ表示する。
    cat filename |sed -n '/pattern/p'
    
  • 標準出力を利用してマッチする文字列を置換する
    cat filename |sed -n 's/before/after/p'
    
  • マッチする行を削除する
    # sed -i '/pattern/d' filename
    

 

戻る