UNIXコマンド等

参考サイト:

シェル変数と環境変数 - サーバエンジニアの知恵袋

シェル変数と環境変数の違い - 燈明日記

→ 比較的簡潔で分かりやすい。

UNIX/Linuxの部屋

Bourne Shell - Wikipedia

C Shell - Wikipedia

入門連載 Linuxの“なぞ”を解き明かす - 【入門連載】 Linuxって何だろう---目次:ITpro


UNIXコマンドを実行するシェルには大きく分けて2種類ある。

Bシェル系 Cシェル系
sh・bash cshtcsh
$ ~ % ~

bashのショートカット( Macでターミナルを使うときはショートカットキーを覚えよう!! - よんちゅBlogターミナルのカーソルをスイスイ動かしたい - QiitaBashのコンソールで単語移動するショートカット - Qiita作業が爆速になるターミナルのショートカットキーまとめ | bacchi.me、 )

シェル関係

ショートカットキー 説明
Ctrl + A 行頭へ
Ctrl + E 行末へ
Ctrl + F 1文字先へ
Ctrl + B 1文字前へ
ESC + F 1単語先へ
ESC + B 1単語前へ
Ctrl + K 行末まで削除
Ctrl + U 行頭まで削除
Ctrl + W 単語の先頭まで削除
Ctrl + D 1文字削除

シェルのプロンプトの設定例: 詳細はman bashでpromptingで検索

export PS1='\u \W $ ' (「ユーザー名 カレントディレクトリ $ 」)

PS1 (プライマリプロンプト)
PS2 (セカンダリプロンプト)

\u (ユーザー名)
\W (カレントディレクトリ)
\h (ホスト名)

任意のメッセージを標準出力に出力する

echo

自分のログインシェルを調べる

echo $SHELL

ログインシェルを変更する

chsh -s <変更したいシェルのパス>

変更できるシェルの記述ファイルを見る

cat /etc/shells

さくらのサーバでの実行結果

# $FreeBSD: release/9.1.0/etc/shells 59717 2000-04-27 21:58:46Z ache $
#
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.

/bin/sh
/bin/csh
/bin/tcsh
/usr/local/bin/zsh
/usr/local/bin/rzsh
/usr/bin/passwd
/usr/local/bin/bash
/usr/local/bin/rbash

ユーザーの変更(Linuxコマンド集 - 【 su 】 ユーザーを切り替える:ITpro�����O�C���A�J�E���g�̕ύX�����S�҂̂��߂�Linux�T�[�o�[�\�z�u��(CentOS �����T�[�o�[�Ή�)�����֗��T�[�o�[.com��

su の後に "-(ハイフン)" をつけた場合と付けない場合の違いは、 su コマンド実行前のユーザーアカウントの操作環境(使用する シェル の種類や 環境変数 、 ホームディレクトリ など)をそのまま "root" に引き継ぐか、それとも "root" に設定されている操作環境を用いるか、という違いがあります。

su

パーミッションを数字で表示(http://koduki.hatenablog.com/entry/2013/03/23/233117

% stat --format='%a %U:%G' /var/*

ディレクトリのパス表示

pwd

cshでシェル変数を環境変数としてエクスポートする

setenv <環境変数名> <value>

sh・bashでシェル変数を環境変数としてエクスポートする

export [変数名]

bash関連の参照ページ:

PATHを通すために環境変数の設定を理解する (Mac OS X) - Qiita

ユーザーの環境変数を設定するbashの設定ファイルと、カスタムプロンプトについて | OXY NOTES

環境変数を確認。

printenv

環境変数をセットしてコマンドを実行(http://x68000.q-e-d.net/~68user/unix/pickup?keyword=env&target=command

env

階層ディレクトリを作成(http://webkaru.net/linux/mkdir-command/

mkdir -p dir/dir

C shell(シーシェル、csh)のエイリアス

alias la        ls -a

lsの-lオプションのmanの記述

  -l     ファイルのモード・リンクの数・所有者名・グループ名・ (バイト単位の) サイズ・タイムスタンプ・名
         前を (1 列形式で) 書き出す。デフォルトでは、表示されるタイムスタンプは最終修正時刻である。オプ
         シ ョン -c と -u のときは、他の 2 つのタイムスタンプを選択する。デバイススペシャルファイルの場
         合、通例として、サイズを表示する場所がデバイスのメジャー番号とマイナー番号に置き換えられる。

vi、vim関係

viのカーソル移動

H:← J:↓ K:↑ L:→
0 (行頭へ移動)
$ (行末へ移動)
1G (先頭行へ移動)
G (最終行へ移動)

viで1ページ前のページへ移動

「Ctrl」+「b」

viで1ページ次のページへ移動

「Ctrl」+「f」

viで複数行削除(http://d.hatena.ne.jp/nattou_curry_2/20090915/1253022774

削除範囲の開始行で「ms」と入力します。
削除範囲の終了行で「me」と入力します。
「:'s,'ed」と入力し、エンターを押します。

vimで1文字削除

xキー

vimで1単語削除

dw(カーソル位置から1単語分)
diw (カーソル位置にある1単語)

vimで1行削除(覚えておきたい Vim コマンド 備忘録 - Qiita

dd

vimで検索

/<文字列>   文字列 を検索する(順方向)
?<文字列>  文字列を検索する(逆方向)
n   順方向へ検索する
N   逆方向へ検索する
%   (,[に対して対応する ),] や } を検索

vimで置換

:%s/"置換前"/"置換後"/g

:%s/"置換前"/"置換後"/gc(確認しながら置換する場合)

vimでUndo、Redo

u
Ctl + r

vimでコピペ

v 文字単位で選択
V 行単位で選択
d カット
y コピー
p カーソルの直後にペースト
P カーソルの直前にペースト

vimで整形

V で選択
= で整形

vimpythonのフォーマッタプラグインいれる。

GitHub - Chiel92/vim-autoformat: Provide easy code formatting in Vim by integrating existing code formatters. https://github.com/Chiel92/vim-autoformat

:Autoformat

ビジュアルモードでオートインデントを無効に(ペースト時 の vim のオートインデントを無効にする方法 - Web系エンジニアのMEMO

:set paste

あるいは

:a!
ペースト
ESC

vimプラグインを表示

:scriptnames

:NeoBundleList

Macのターミナルでvimでテンキーで入力できない場合(Macのvi / vimでテンキーが使えない問題の解消法 | clicktx::Tech::Memo

ターミナルの[環境設定] → [プロファイル] → [詳細] の「VT100アプリケーションのキーパッドモードを許可」をオフにする。

vi、vim操作のまとめサイト

http://qiita.com/merrill/items/9c800030333ab4c9408f

viコマンド(vimコマンド)一覧(検索・置換)

Vimの使い方 よく使うコマンドまとめ | Memo on the Web(良さげ)

vimでカット、ペースト

その他

lessの操作

d    半画面進む。
e, j    1行進める。
u   半画面戻る。
y, k    1行戻る。
q, Q    終了する。

/ 検索
n 次を検索
N 前を検索

.cshrcを再実行(http://x68000.q-e-d.net/~68user/unix/pickup?source

source .cshrc

pythonのバージョン確認

python -V

pythonのインストール箇所確認

which python #現在の環境でのPython

which -a python

Python インタラクティブシェルで補完

>>> import readline, rlcompleter
>>> readline.parse_and_bind('tab:complete')

Linuxコマンド集 - 【 which 】 コマンドを探す:ITpro

whichコマンドは、パスが通っているコマンドを探し出し,フルパスで表示。

パスが通っていないファイルを探すときはfindやlocateを使用する。

Linuxコマンド集 - 【 find 】 ファイルやディレクトリを検索する:ITpro

Linuxコマンド集 - 【 locate 】 ファイルを高速に検索する:ITpro

find  ファイルやディレクトリを検索する

locate   ファイルを高速に検索する

pyenvの現ディレクトリのlacalのバージョンを確認

pyenv local

pyenvでインストールされているバージョン

pyenv versions

pyenvでインストールできるバージョン

pyenv install --list

または

pyenv install -l

virtualenvwrapper

vertualenvの環境作成

mkvirtualenv --python=/path/to/python ${VENV_NAME}

vertualenvの環境削除

rmvirtualenv ${VENV_NAME}

参照ページ: virtualenvのインストール方法 - プログラミングとかLinuxとかの備忘録 http://vild.hatenablog.com/entry/2015/09/22/180554

コマンドリファレンス — virtualenvwrapper 3.5 documentation https://virtualenvwrapper-docs-ja.readthedocs.io/en/latest/command_ref.html

CentOSのバージョンを確認(CentOSのバージョン確認コマンドとアーキテクチャ確認コマンド | mawatari.jp

cat /etc/redhat-release

 > CentOS release 6.8 (Final)

アーキテクチャ等を調べる

uname -a

> Linux xx0-000-00000.vs.sakura.ne.jp 2.6.32-642.1.1.el6.x86_64 #1 SMP Tue May 31 21:57:07 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

ユーザー関係

$ id
uid=500(lucky) gid=500(lucky) 所属グループ=500(lucky),10(wheel)

ユーザーやグループの一覧を表示 (Linuxコマンド【getent】 - ユーザーやグループの一覧を表示 - Linux入門 - Webkaru

getent データベースとキー

wheelグループに所属するユーザの確認(linux でグループに所属するユーザーを調べて一覧をする。 - それマグで!

getent group wheel

ユーザーの一覧(【UNIX】user一覧の確認コマンド - diskogs's diary

$ less /etc/passwd


$ cut -d: -f1 /etc/passwd(ユーザー名のみ抽出)

sudoコマンドを実行できるユーザを設定。

visudo

ユーザー名 ALL=(ALL) ALL (末尾に追加)

optディレクトリって?(OPT - Wikipedia

/opt - Unix系OSにおけるFHS標準のディレクトリの一つ。ディレクトリ内にはユーザーがインストールした静的データ、主にプログラムが格納される。ただしGNUビルドシステムやパッケージ管理システムを利用したインストールの場合、/usr/localもしくは/usrディレクトリにインストールされるので、専らソフトウェア・ベンダーが提供するアプリケーションであることが多い(例えばAdobe ReaderLinux版は/opt/Adobeにインストールされる)。System V Interface Definition (Third Edition)を基にしたSystem V Application Binary Interfaceに同様の定義が見られる[1]。

usrディレクトリとは?

Linuxのディレクトリ構造(一覧)を理解する|Linux入門

3.4. ディレクトリ構造

/usr ‐ 通信用語の基礎知識

[Linux] /usr/local/の使い方まとめ · DQNEO起業日記

ApacheのServerNameディレクティブとは?

サーバ名とポート番号(ServerName, Listen) - Apache基本設定 - Apache入門

ServerNameディレクティブの用途は何? - ApacheのServerNameディレク... - Yahoo!知恵袋

sshの設定

ssh 接続を簡単にする ~/.ssh/config | dogmap.jp

認証関係のログを見る

cat /var/log/secure

【 nohup 】 ログアウトした後もコマンドを実行し続ける

nohup command [arg...]

Web Server Gateway Interface (WSGI; ウィズギー) とは?

Web Server Gateway Interface - Wikipedia

WSGI — WSGI.org

第1回 WSGIの概要:WSGIとPythonでスマートなWebアプリケーション開発を|gihyo.jp … 技術評論社

yum関連

yum list installed
でよいが長いので通常は、
yum list installed | more
か
yum list installed | grep パッケージ名

第6章 Yum

yumコマンドで既にインストールしたソフトを調べる

yumでアンインストールしたい