LoginSignup
3
3

More than 3 years have passed since last update.

Linuxコマンド覚書

Last updated at Posted at 2019-12-05

個人メモです。
随時更新します。

※コマンド処理の対象ファイルは、現在地ディレクトリに存在している前提です。

Linuxコマンド(アルファベット順)

■ awkコマンド

スペースなどで区切られたテキストを処理する。
Awkはプログラミング言語のひとつで、Linuxコマンドっぽく使えるらしい(???)

■ catコマンド

ファイルの中身を表示(Concatenate)
$ cat ファイル名

# 複数のファイルを連結して出力
$ cat ファイル名1 ファイル名2

■ cdコマンド

ディレクトリの移動(Change Directory)
$ cd ディレクトリ名

$ cd ..:1つ親のディレクトリ(親ディレクトリ名はNG)
$ cd:ホームディレクトリ1

■ chmodコマンド

ディレクトリ・ファイル等の権限変更(Change Mode)
$ chmod 権限設定 ファイル名

# "ls -l"での表示結果例

-rw-rw-r--  1 user group      9  10 15 00:00 sample.txt
drwxr-xr-x  6 user group  42580  11 30 00:00 test

(例)
①d②rwx③r-x④r-x

①ファイル種別
-:ファイル
d:ディレクトリ
|:シンボリックリンク

②所有者権限

③所有グループ権限2

④その他ユーザの権限3
r:読み込み権限(Readable)
W:書き込み権限(Writable)
X:実行権限(eXecutable)
-:権限なし

☆ chownコマンド

ファイルやディレクトリの所有者を変更する(Change Owner)
$ chown 所有者or所有者:グループ ファイルorディレクトリ

☆ chgrpコマンド

ファイルやディレクトリのグループを変更する(Change Group)
$ chgrp グループ ファイルorディレクトリ

■ cpコマンド

コピー(Copy)

ファイル
$ cp コピー元ファイル名 コピー先ファイル名
ディレクトリ
$ cp -r コピー元ディレクトリ名 コピー先ディレクトリ名
-rがないとエラーになる

■ findコマンド

ファイルを検索
$ find ファイル名

■ grepコマンド

ファイル内検索
$ grep 検索文言 ファイル名
→ 結果は該当行で表示される

※追々内容整理
1. grepコマンドで覚えておきたい使い方14個(+3個) | 俺的備忘録 〜なんかいろいろ〜
2. grepでこういう時はどうする? | Qiita
3. grepコマンドの詳細まとめました【Linuxコマンド集】 | エンジニアの入り口

■ lessコマンド

ファイルの中身を上から順に表示
→ 対象ファイルが大きいとき向き
※シェルスクリプトはだめらしい
$ less ファイル名
q:終了

■ lsコマンド

ファイルやディレクトリの中身を一覧表示(List Segments)
※一覧表示できるのは1つ子の階層のみ
ls -lにて詳細情報も表示

☆ llコマンド

ls -lのエイリアス(ショートカット)
alias ll='ls -l --color=auto'がされている必要あり

$ ll -d $(find `pwd`)
drwxr-xr-x 3 root root 4096  5月  1 20:36 2017 /hoge
drwxr-xr-x 3 root root 4096  5月  1 20:38 2017 /hoge/fuga
-rw-r--r-- 1 root root 7604  5月  1 20:35 2017 /hoge/fuga/bar.txt
-rw-r--r-- 1 root root  543  5月  1 20:35 2017 /hoge/fuga/foo.txt
drwxr-xr-x 2 root root 4096  5月  1 20:38 2017 /hoge/fuga/piyo
-rw-r--r-- 1 root root 2634  5月  1 20:35 2017 /hoge/fuga/piyo/baz.txt

イイ感じにとれる

■ mkdirコマンド

ディレクトリの作成(Make Directory)
$ mkdir ディレクトリ名

■ mvコマンド

ファイルやディレクトリの移動(Move)
$ mv 移動元ディレクトリ名(ファイル名) 移動先ディレクトリ名

■ netstatコマンド

ネットワーク一覧を表示
$ netstat -na

■ printfコマンド

入力データを整形して表示する。
$ printf 書式 [数や文字列などの値]

# 16進数で123456を表示後、改行
$ printf "%X\n" 1234656
# 先頭を0で埋めた3桁で10を表示後、改行
$ printf "%03d\n" 10
↓ 結果
12D6E0
010

■ pwdコマンド

現在地(カレントディレクトリ)の確認(Print Working Directory)

☆ その他ディレクトリの表記法

ルートディレクトリ:/
1つ親のディレクトリ:..

■ rmコマンド

削除(Remove)
ファイル:$ rm 削除ファイル名
ディレクトリ:$ rm -r 削除ディレクトリ名
cpコマンド同様-rがないとエラーになる

☆ rmdirコマンド

対象のディレクトリのみを消す
→ ディレクトリ内が空でないと実行できない

■ sedコマンド

テキストファイルの編集(Stream Editer)
$ sed スクリプトコマンド ファイル名

# ファイル名を指定して使う
$ sed -e 's/xxx/XXX/g' ./hoge.txt > ./hoge-new.txt

■ suコマンド

ユーザ切替(Substitute User)
$ su - ユーザ名
※「-」とユーザ名の間のスペース必要
一度rootユーザになる必要がある??

☆ rootユーザ

$ su
でrootユーザに一時的に切替
$ exitで終了

■ sudoコマンド

rootユーザーとして実行したいコマンドの前につけることで、
そのコマンドをroot権限で実行できる

■ tailコマンド

テキスト入力の最後のn行を抜き出す
(デフォルトでは最後の10行)
$ tail ファイル名

# 最後の10行を表示
$ tail -n 10 text.txt

■ tarコマンド

アーカイブファイルを作成したり展開したりする(Tape Archives)
tar オプション tarファイル名 まとめるファイルやディレクトリ

☆ gzipコマンド

ファイル圧縮コマンド

☆ .tar.gz拡張子

tarコマンドでまとめたファイル(tarファイル)をgzipコマンドで圧縮したファイル
UNIX系

# c(作成), v(詳細出力), f(アーカイブ名指定)のオプションを付与
tar cvf fizzbuzz.tar fizz.txt buzz.txt

# 上記オプション+z(gzip圧縮)にて".tar.gz"を一発で作成
tar cvfz fizzbuzz.tar.gz fizz.txt buzz.txt

■ touchコマンド

ファイルの作成
$ touch ファイル名

■ uniqコマンド

重複している行を削除する。
$ uniq [オプション] 入力ファイル [出力ファイル]

# 頭5文字が重複している行を削除し、重複行を取り除いた結果がoutput.txtに出力される
$ uniq -w 5 input.txt output.txt

■ vimコマンド

ファイル編集
$ vim ファイル名
i:挿入(insert)モード=編集可能状態
Esc:ノーマルモード(これにしないと保存できない)
:wq:保存して終了
:q!:保存なしで終了

その他

Linux以外の話あり

■ リダイレクト

ファイルへの出力方法

>:ファイルへの出力(上書き)
>>:ファイルへの追記
2>&1:標準出力と標準エラー出力を同一のファイルに保存する

■ 補完機能

ファイル名の入力途中でtabキーを押すと
残りのファイルキーを補完してくれて便利。

(追記)
Macのターミナルだとできないので、変更の設定を別途行う。
[備忘録]ターミナルでTabキーを押下することで入力補完してくれるように変更する方法 | Qiita
Mac のターミナルで Windows のようにタブキーで入力補完する方法 | ほしとねこが好き

参考

  1. これで一発理解!LinuxとUnixの違いを徹底解説 | TECH::NOTE
  2. tail コマンド | コマンドの使い方(Linux) | hydroculのメモ
  3. 【 uniq 】コマンド――重複している行を削除する:Linux基本コマンドTips(64) | @IT
  4. ディレクトリを削除する!rmdirコマンドの使い方 詳細まとめ【Linuxコマンド集】 | エンジニアの入り口
  5. [初心者向け]Awkの使い方 | Qiita
  6. 【 printf 】コマンド――データを整形して表示する:Linux基本コマンドTips(319) | @IT
  7. Linuxの権限確認と変更(chmod)(超初心者向け) | Qiita
  8. chmod コマンド | Qiita
  9. sed コマンド | コマンドの使い方(Linux) | hydroculのメモ
  10. chmod? chown? よくわからんって人のための、ファイル権限系まとめ | Qiita
  11. Linuxのユーザーとグループって何だろう? (1/2):“応用力”をつけるためのLinux再入門(10) | @IT
  12. .tar.gz【拡張子】とは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
  13. tar【コマンド】とは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
  14. ls -lコマンドの結果をサブディレクトリ含めてフルパスで列挙したい | Qiita

  1. ユーザが作業する際に起点となるディレクトリ 

  2. ユーザはグループに所属している。設定ファイルは"/etc/group" 

  3. 他人、Others 

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3