Linux 最低限のコマンド知識

プログラミング

Linux (Ubuntu) でterminalを使う時に最低限必要になりそうな知識とコマンド

基本機能関連 =============================
コマンド実行の強制終了
Ctrl + C

コマンドのバックグラウンド処理化
コマンド + &

例えばGUIのツールを呼び出したとき、&を付けないと、GUIのウインドウを落とすまでターミナルに入力ができなくなる。

&を入れると、バックグラウンド処理となり、続いて入力ができる。

結果のファイル出力/入力(リダイレクト)
コマンド > kekka.txt    出力結果をファイルに書き込み。(上書き)
コマンド >> kekka.txt  出力結果をファイルに書き込み。(追加書込み)
コマンド < data_set.txt ファイルの内容をコマンドに渡す。

出力結果を次のコマンドに渡す(パイプ)
コマンドとコマンドの間に「 | 」を付ける。
コマンド1 | コマンド2

コマンドの順次実行(連続実行)
コマンドの後に「;」を付ける。
コマンド1; コマンド2; コマンド3 (コマンドが1→2→3の順に実行)

ファイル・ディレクトリ関連 =====================
ディレクトリの指定
.   (現在のディレクトリ (カレントディレクトリ))
..  (1つ上のディレクトリ)
~  (ホームディレクトリ)

ファイル一覧表示
ls  (標準)
ls -1 (1列表示)
ls -a (隠しファイル(.ファイル)表示)
ls -l  (詳細情報表示)

現在のディレクトリのパスを表示
pwd

現在の作業ディレクトリの移動
cd 移動先ディレクトリパス
cd (パスを書かないと自分のホームディレクトリに移動)
cd .. (1つ上のディレクトリに移動)

ファイル(フォルダ)の移動
mv 移動対象ファイル名  移動場所のパス
mv 移動対象フォルダ名  移動場所のパス
例:mv testdir1/test1.txt  testdir2/  (testdir1にあるtest1.txtをtestdir2の中に移動)

ファイル名(フォルダ名)の変更  ※ファイルの移動と同じコマンド
mv ファイル名元  ファイル名変更後
mv フォルダ名元  フォルダ名変更後
例:mv testdir1/test1.txt  testdir1/test1_2.txt  (testdir1にあるtest1.txtをtest1_2.txtにリネーム)

ファイル(フォルダ)のコピー
cp コピー元ファイル名  コピー先フォルダ名
cp コピー元ファイル名1  コピー元ファイル名2  コピー先フォルダ名 (複数ファイル時)
例:cp -r  testdir1/test1.txt  testdir2 (testdir1フォルダの中のtest1.txtをtestdir2フォルダの中にコピー)
cp -r コピー元フォルダ名  コピー先フォルダ名 (フォルダコピーは -r オプション必要)
例:cp -r  testdir1  testdir2 (testdir1フォルダの中身を全てtestdir2フォルダにコピー)

フォルダ作成
mkdir フォルダ名
例:mkdir testdir2  (現在の場所にtestdir2フォルダを作成)

ファイル(フォルダ)の削除
rm ファイル名
例:rm testdir2/test1.txt  (testdir2の中にあるtest1.txtを削除)
rm -r フォルダ名 (フォルダ削除は -r オプション必要)
例:rm -r testdir2  (testdir2の中にあるファイル全てとtestdir2フォルダを削除)

ファイル(フォルダ)の権限操作
chmod nnn ファイル名 (nnnは0~7の数字)
数字は3bitの値で[2:R読, 1:W書, 0:X実行]、順番は左から所有者/グループ/その他
例:chmod 666 test.txt  (test.txtを誰でも読み書きできるようにする)
例:chmod 777 test.bat  (test.batを誰でも読み書き、実行できるようにする)
例:chmod 644 test.txt  (test.txtを自分は読み書き、それ以外は読み込みのみ許可)

ファイル (テキスト) の表示・編集 ==================
ファイルの種類を調べる
file ファイル名

ファイルの中身を表示
less ファイル名 (gzipファイルも読み込み可 方向キー上下で移動可 q で表示終了)
cat ファイル名

ファイルやディレクトリを検索
find -name ファイル名      *:ワイルドカード
例:find -name \*abc* (現在のディレクトリでabcを含むファイル・フォルダを表示)
※ワイルドカードを使うときに、頭に¥を付ける必要がある(?)みたい。

文字検索 (検索ワードがヒットした行を表示する)
grep 検索ワード ファイル名
例:grep “abc” test1.txt (test1.txtから 文字列abcを含む行を表示)
例:python test.py | grep “abc” (python実行結果から文字列abcを含む行を表示)
例:grep “abc” *  (現在のディレクトリにある全てのファイルから文字列abcを探す)
grep -v 検索ワード ( -v オプションで文字が当てはまる行を表示しない)

ソート (行の先頭文字を見て、A→B→Cのような順にする)
sort ファイル名
sort -r ファイル名 (逆ソート Z→Y→Xのような順)

ファイル/フォルダ差分比較
diff File1 File2
diff Folder1 Folder2

ファイル/フォルダリンク (ショートカット)
ln -s Orig_File Link_Name

ファイル容量確認
du -h -a

ターミナル上でのテキスト編集 (本当に最低限、数文字書き換えられればいいの範囲での紹介)
vi を使用する ※基本的に標準でインストールされているエディタで、全てコマンドで操作する必要がある。
テキストファイル読み込み
vi ファイル名
vi終了方法 ※ 「:」←忘れない
Esc → :q (ファイル変更がない場合このコマンドで終わる) ※変更があるときはエラー出る
Esc → :q! (ファイル変更後、変更内容を破棄して終了)
Esc → :wq (ファイル変更後、変更内容を保存して終了)
編集方法
カーソルを合わせてから Esc → i を入力し、 文字を打ち込む。 文字削除はDELキー使用できる。
※基本的に Esc押すとコマンドが入力や矢印キーでの移動が可能になる。

その他==================================
ファイルの圧縮・解凍
tar -czvf 圧縮ファイル名.tar.gz  対象フォルダ名  (フォルダ圧縮)
tar -xzvf 圧縮ファイル名.tar.gz  (フォルダ解凍)
※ .tar.gz は .tgz の場合もあり

自分のIPアドレスなど確認
ifconfig

指定したアドレスのマシンから反応があるか確認
ping 対象マシンのアドレス

現在のユーザ確認 (ユーザアカウント切替時などに確認用に使う)
who

コマンドの実行ファイルを探す
which 実行名
例:which python (現在実行されるpythonの場所を表示)

現在実行中の処理(プロセス)を表示
top (qで終了)   ※別途インストール必要だが htopが好き
ps  (最低限の表示)

コマンドの実行結果を引数にして別のコマンドを実行
xargs
例:コマンド1 | xargs コマンド2 (コマンド1の実行結果をコマンド2へ渡す)
例:ls | xargs コマンド (lsで表示したファイル一覧に対して、コマンド処理をおこなう)

特定の処理を強制終了させる
kill プロセスID (PID)
例:geditを強制的に終了させる。
psコマンドで現在実行中の処理を表示させ、対象のPIDを kill する。

タイトルとURLをコピーしました