#author("2019-04-23T17:23:28+09:00","default:dramsukohome","dramsukohome") [[FrontPage]] #shadowheader(1,Linux Common); #shadowheader(2,目次); #contents * Linux_Common [#h2e539f9] ** コマンド メモ [#daaf4bf8] *** ファイルシステム [#ecc15e6a] - 強制 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 *** 映像 [#h2799992] -ffmepg マルチコア対応オプション -threads 8 *** テキスト [#r34e2a69] - Sort sort -t: -k3 -n /etc/group - nl 行番号を付与する nl [ オプション ] [ ファイル名 ] |オプション|内容|h |-h<形式>|指定した形式でヘッダに行番号を付加する| |-b<形式>|指定した形式で本文に行番号を付加する| |-f<形式>|指定した形式でフッタに行番号を付加する| ~ |形式|内容|h |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 [#o6d0a6f0] - top(CPU使用率など) - iotop (ディスクのIO監視) -- yum install iotop - iftop (ネットワーク監視) -- CentOS install --- epel repository の追加 >最新バージョンの確認~ >・[[http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/]] < ・epel-release-6-8.noarch.rpm を探し、wget で引っ張る >例 wget http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm < epel パッケージのインストール rpm -ivh epel-release-6-8.noarch.rpm --- yum install --enablerepo=epel iftop *** ターミナルマルチプレクサー(tmux) [#q477635c] ssh などリモートでログインしている時のセッションを保持する。~ 作業中、ネットワークが切断されたりターミナルがブチ切れした時も~ 続きから作業が行える~ - 参考:[[tmuxチートシート(Qiita サイト):http://qiita.com/nmrmsys/items/03f97f5eabec18a3a18b]] - 参考:[[tmux基本のコマンド(nato's memo サイト):http://room6933.com/tmux/tmux-basic.html]] - 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 &color(green,){(Enter)}; -- ショートカット:C-b c - 前回セッションの復帰 --tmux attach &color(green,){(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 コマンドを使えない [#v1904084] - パスが通っていない - 以下のコマンドを実効化 .bashrc に追記 export PATH=$PATH:/usr/sbin/ *** 1つ前のディレクトリに戻る [#rcf5e8ea] cd - *** iso ファイルをマウントする [#icf1709b] mount -o loop -t iso9660 isoファイル マウントするディレクトリ *** その他 [#j121d922] + ls でサイズ順にソートする ls -S + 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] {}'` + export した環境変数を削除する。 unset http_proxy export http_proxy="" では削除されないので注意 + ファイルの合計容量を取得 du -bhc ~/*.pdf ** 圧縮・解凍 [#d4757f19] *** tar.gz [#uaf9718d] - tar xzfv filename.tar.gz *** tar.bz2、tbz [#e8c62d38] - bzip2 -dc filename | tar xvf - *** .gz [#g2935482] - gunzip ファイル名 ** Network [#z0d41ff0] *** ubuntu、network_設定 [#sd14fb1c] + 設定方法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 -- 複数の場合はスペース区切り 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 設定 [#c5efe19e] -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 が元に戻ってしまう [#i480b6bb] - 以下を編集 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 [#vdd9d2f4] *** Debian 系 [#s79b3911] + Debian -- Linux ディストリビューションの中でもかなり老舗 -- Ubuntu よりシンプルな構造で軽量。 -- パッケージ管理システムは apt + Ubuntu -- デスクトップ用途に向いているDebianベースのディストリビューション。 --- デバイスドライバが豊富で、ハードウェアは大体認識する。 -- 2年に一度、LTS(Long time support)、半年に一度のバージョンアップが行われる。 --- LTS のサポート期間は確か5年。 -- パッケージ管理システムは apt + WattOS -- Debian ベースのディストリビューション。 -- 省電力に特化。TLPなどを用いながら省電力化。 + Kali Linux -- Debian ベースのディストリビューション。 -- サーバーに潜む脆弱性の発見に特化。 -- パッケージ管理システムは apt *** Redhat 系 [#y2deeadb] + CentOS -- 有名な有償 Linux ディストリビューション RedHat のコピーOS -- 無料 -- ほぼ RedHat のフル機能が使用可能 -- パッケージ管理システムは yum + Fedora -- RedHat の実験的機能が実装された無償ディストリビューション。 -- 無料 -- かなり頻繁に更新される模様。 -- パッケージ管理システムは yum *** その他 [#r3fc36b4] + Puppy Linux -- 軽量Linux の代表格 -- 独自のシステムでパッケージ管理も独自。 ** その他 [#g1a484b9] *** タイムスタンプ [#x785427b] - [[参考サイト:http://x68000.q-e-d.net/~68user/unix/pickup?%A5%BF%A5%A4%A5%E0%A5%B9%A5%BF%A5%F3%A5%D7]] - UNIXファイルのタイムスタンプは以下の3つ。 |タイムスタンプ名|説明|参照コマンド|h |atime|最終アクセス時刻 (access time)|ls -lu| |mtime|最終変更時刻 (modify time)|ls -l| |ctime|最終ステータス変更時刻 (change time)|ls -lc| ***ubuntu版chkconfig [#h90729d1] sudo apt-get install sysv-rc-conf sudo sysv-rc-conf networking on ***ユーザー、グループ管理 [#t9a8402f] -[[ユーザー、グループ管理]]~ *** Ubuntu LTS upgrade [#t973e919] sudo do-release-upgrade *** ファイルがあり実行権限があるのに「そのようなファイルやディレクトリはありません」「No such file or directory」と表示される [#x5a80c1d] - 32bitアプリ、64bitアプリが合ってない可能性がある *** ubuntu, /boot 容量削減, kernel削除 [#r3dc2a10] -参考(外部):[[古いカーネルの削除方法メモ:https://qiita.com/ytkumasan/items/d6cc70f151f130d58e9b]] - 現在のカーネルバージョンを確認 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}