FrontPage

Linux Common

目次

Linux_Common

コマンド メモ

ファイルシステム

  • 強制 umount
    sudo umount -l ディレクトリ
  • 全てmount [#ua2f8bc5]
    sudo mount -a
  • ext4 フォーマット [#d6df1d57]
    mkfs.ext4
  • HDD、パーティションラベル [#zbb73ab2]
    e2label|
    • 単体でラベル確認。引数でラベル設定)
  • ファイルシステムの修復
    e2fsck -c /dev/sda1
    • e2fsck: Cannot continue, aborting.
      e2fsck -nf /dev/sda1

映像

  • ffmepg マルチコア対応オプション
    -threads 8

テキスト

  • Sort
    sort -t: -k3 -n  /etc/group
  • nl 行番号を付与する
    nl [ オプション ] [ ファイル名 ]
    オプション内容
    -h<形式>指定した形式でヘッダに行番号を付加する
    -b<形式>指定した形式で本文に行番号を付加する
    -f<形式>指定した形式でフッタに行番号を付加する

    形式内容
    a全ての行
    t空白以外の行
    n行番号を付加しない
    • 論理テキストの表記方法
      \:\:\:ヘッダの開始を意味する行
      \:\:本文の開始を意味する行
      \:フッタの開始を意味する
    • nl -ha -bt -fn sample.txt
  • grep
    • 含まれる文字列を指定したファイル検索
      • 方法1
        find ./ -name "*.*" |  xargs grep -n "hoge"
      • 方法2
        find ./ -name "*.*" |  xargs -I{} grep -n "hoge" {}
    • 文字列が含まれない行を検索
      grep searchChar  | grep -v noExistsChar
  • tail -f
    • less で同じ機能を実現する
      less +F
    • tail モードとの切り替え
      Shift + f (大文字F)
    • less モードへ
      ctrl + c

システム監視、top

ターミナルマルチプレクサー(tmux)

ssh などリモートでログインしている時のセッションを保持する。
作業中、ネットワークが切断されたりターミナルがブチ切れした時も
続きから作業が行える

  • 参考:tmuxチートシート(Qiita サイト)
  • 参考:tmux基本のコマンド(nato's memo サイト)
  • install
    • ubuntu
      sudo apt-get install tmux
    • centos
      sudo yum install epel-release
      sudo yum install tmux
  • .bashrc の記述内容
    # 初回シェル時のみ tmux実行
    if [ $SHLVL = 1 ]; then
       tmux
    fi
  • tmux を実行し tmux モードへ
    • tmux (Enter)
    • ショートカット:C-b c
  • 前回セッションの復帰
    • tmux attach (Enter)
    • tmux a
      ショートカット:無し
  • その他コマンド
    • 新規セッション開始
      • ショートカット:C-b c
    • セッション名変更
      • ショートカット:C-b ,
    • ウィンドウ一覧表示/移動¶
      • ショートカット:C-b w
    • 前/次のウィンドウ移動
      • ショートカット:C-b p
      • ショートカット:C-b n
    • 最後に操作したウィンドウへ移動
      • C-b l
    • 指定したウィンドウへ移動
      • C-b ウィンドウ番号
    • ウィンドウを強制終了¶
      • C-b &
    • ペイン分割
      • C-b "
      • C-b %
    • ペイン分割解除
      • C-b !
    • ペイン強制終了
      • C-b x
    • ペイン間移動
      • C-b o
    • ペインを入れ替え
      • C-b {
    • セッションの確認
      • tmux list-sessions
      • tmux ls
    • デタッチ¶
      • C-b d
    • アタッチ
      • tmux attach
      • tmux a
      • tmux attach -t 0
    • セッションの名前変更
      • tmux rename-session -t 0 hoge
      • tmux rename -t 0 hoge
    • ウィンドウ配置の変更
      • C-b Space
    • コピーモードの使い方¶
      • コピーモードに入る。
        C-b [
    • 名前をつけて新規セッション開始
      tmux new -s <セッション名>
    • セッションの一覧表示
      tmux ls
    • 接続クライアントの一覧表示
      tmux lsc
    • セッションを再開 ※-t <対象セッション名>でセッション名の指定も可能
      tmux a
      tmux a -t testSession
    • セッションを終了 ※-t <対象セッション名>でセッション名の指定も可能
      tmux kill-session
      tmux kill-session -t testSession
    • tmux全体を終了
      tmux kill-server
    • その他コマンドを実行
      tmux [command [flags]]

sudo で adduser や sbin コマンドを使えない

  • パスが通っていない
  • 以下のコマンドを実効化 .bashrc に追記
    export PATH=$PATH:/usr/sbin/

1つ前のディレクトリに戻る

cd -

iso ファイルをマウントする

mount -o loop -t iso9660 isoファイル マウントするディレクトリ

その他

  1. ls でサイズ順にソートする
    ls -S
  2. pingコマンドの出力結果にタイムスタンプを付与する
    ping 8.8.8.8 | xargs -L 1 -I '{}' date '+[%Y/%m/%d %H:%M:%S] {}'
    • nohup する場合は ` でくくる
      nohup `ping 8.8.8.8 | xargs -L 1 -I '{}' date '+[%Y/%m/%d %H:%M:%S] {}'`
  3. export した環境変数を削除する。
    unset http_proxy
    export http_proxy="" では削除されないので注意
  4. ファイルの合計容量を取得
    du -bhc ~/*.pdf

圧縮・解凍

tar.gz

  • tar xzfv filename.tar.gz

tar.bz2、tbz

  • bzip2 -dc filename | tar xvf -

.gz

  • gunzip ファイル名

Network

ubuntu、network_設定

  1. 設定方法1
    • dns-nameservers を利用可にする。
      • sudo apt-get install resolvconf
    • Network 情報の記述
      • sudo vi /etc/network/interfaces
      • 下記を追加
        auto lo
        iface lo inet loopback
        
        auto eth0
        iface eth0 inet static
        address 192.168.1.43
        network 192.168.1.0
        netmask 255.255.255.0
        broadcast 192.168.1.255
        gateway 192.168.1.1
        dns-nameservers 192.168.1.37 192.168.1.35 192.168.1.1
        
        auto eth1
        iface eth1 inet dhcp
    • リゾルバ(resolv.con)の設定
      • sudo vi /etc/resolv.conf
        nameserver 192.168.1.37
        nameserver 192.168.1.35
        search tar3.net
    • network-manager の無効化
      #インストール
      sudo aptitude -y install sysv-rc-conf
      
      #切り替え
      sudo sysv-rc-conf network-manager off
      sudo sysv-rc-conf networking on
    • network-manager のアンインストール
      sudo apt-get remove network-manager
    • network の再起動
      sudo /etc/init.d/networking restart
    • network の再起動2
      sudo ifdown eth0
      sudo ifup eth0
      sudo ifdown eth1
      sudo ifup eth1
  2. 設定方法2
    • 複数の場合はスペース区切り
      sudo vi /etc/resolvconf/resolv.conf.d/base
      nameserver 192.168.11.1 192.168.11.2
    • 設定の反映
      sudo resolvconf -u
    • 確認
      cat /etc/resolv.conf

CentOS,RedHat? Network 設定

  • sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0
    BOOTPROTO=static
    ONBOOT=yes
    NM_CONTROLLED=no
    
    IPADDR=192.168.1.29
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1
  • リゾルバ設定
    • sudo vi /etc/resolv.conf
      nameserver 192.168.12.12
      nameserver 192.168.11.11
      search tar3.net
  • network の再起動
    sudo /etc/init.d/networking restart
  • network の再起動2
    sudo ifdown eth0
    sudo ifup eth0

/etc/resolv.conf が元に戻ってしまう

  • 以下を編集
    sudo vi /etc/resolvconf/resolv.conf.d/base 
  • 追加
    nameserver 192.168.1.1
    nameserver 192.168.1.2
    search tar3.net
    ※自分の環境ではこれをやっても resolv.conf が
    勝手に書き換わってしまうので、結局上記の
    network-manager をやめて /etc/network/interfaces からの
    /etc/init.d/networking へ。
    さらに、/etc/init.d/networking restart で設定が反映されず
    sudo ifdown eth0 && sudo ifup eth0
    で設定を反映させました。。。

Linux ディストリビューション distribution

Debian 系

  1. Debian
    • Linux ディストリビューションの中でもかなり老舗
    • Ubuntu よりシンプルな構造で軽量。
    • パッケージ管理システムは apt
  2. Ubuntu
    • デスクトップ用途に向いているDebianベースのディストリビューション。
      • デバイスドライバが豊富で、ハードウェアは大体認識する。
    • 2年に一度、LTS(Long time support)、半年に一度のバージョンアップが行われる。
      • LTS のサポート期間は確か5年。
    • パッケージ管理システムは apt
  3. WattOS
    • Debian ベースのディストリビューション。
    • 省電力に特化。TLPなどを用いながら省電力化。
  4. Kali Linux
    • Debian ベースのディストリビューション。
    • サーバーに潜む脆弱性の発見に特化。
    • パッケージ管理システムは apt

Redhat 系

  1. CentOS
    • 有名な有償 Linux ディストリビューション RedHat? のコピーOS
    • 無料
    • ほぼ RedHat? のフル機能が使用可能
    • パッケージ管理システムは yum
  2. Fedora
    • RedHat? の実験的機能が実装された無償ディストリビューション。
    • 無料
    • かなり頻繁に更新される模様。
    • パッケージ管理システムは yum

その他

  1. Puppy Linux
    • 軽量Linux の代表格
    • 独自のシステムでパッケージ管理も独自。

その他

タイムスタンプ

  • 参考サイト
  • UNIXファイルのタイムスタンプは以下の3つ。
    タイムスタンプ名説明参照コマンド
    atime最終アクセス時刻 (access time)ls -lu
    mtime最終変更時刻 (modify time)ls -l
    ctime最終ステータス変更時刻 (change time)ls -lc

ubuntu版chkconfig

sudo apt-get install sysv-rc-conf
sudo sysv-rc-conf networking on

ユーザー、グループ管理

Ubuntu LTS upgrade

sudo do-release-upgrade

ファイルがあり実行権限があるのに「そのようなファイルやディレクトリはありません」「No such file or directory」と表示される

  • 32bitアプリ、64bitアプリが合ってない可能性がある

ubuntu, /boot 容量削減, kernel削除

  • 参考(外部):古いカーネルの削除方法メモ
  • 現在のカーネルバージョンを確認
    uname -r
  • インストールされているカーネルを確認
    dpkg --get-selections | grep linux-
  • 削除(複数選択可能)
    sudo apt-get autoremove --purge linux-headers-3.13.0-{65,67,71}
  • きちんと消えなければimageを削除
    sudo apt-get autoremove --purge linux-image-3.13.0-{65,67,71}

プロセス名でgrepした結果をkillする


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-06-15 (土) 09:08:41 (38d)