個人メモです。
随時更新します。
※コマンド処理の対象ファイルは、現在地ディレクトリに存在している前提です。
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 検索文言 ファイル名
→ 結果は該当行で表示される
※追々内容整理
- grepコマンドで覚えておきたい使い方14個(+3個) | 俺的備忘録 〜なんかいろいろ〜
- grepでこういう時はどうする? | Qiita
- 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 のようにタブキーで入力補完する方法 | ほしとねこが好き
参考
- これで一発理解!LinuxとUnixの違いを徹底解説 | TECH::NOTE
- tail コマンド | コマンドの使い方(Linux) | hydroculのメモ
- 【 uniq 】コマンド――重複している行を削除する:Linux基本コマンドTips(64) | @IT
- ディレクトリを削除する!rmdirコマンドの使い方 詳細まとめ【Linuxコマンド集】 | エンジニアの入り口
- [初心者向け]Awkの使い方 | Qiita
- 【 printf 】コマンド――データを整形して表示する:Linux基本コマンドTips(319) | @IT
- Linuxの権限確認と変更(chmod)(超初心者向け) | Qiita
- chmod コマンド | Qiita
- sed コマンド | コマンドの使い方(Linux) | hydroculのメモ
- chmod? chown? よくわからんって人のための、ファイル権限系まとめ | Qiita
- Linuxのユーザーとグループって何だろう? (1/2):“応用力”をつけるためのLinux再入門(10) | @IT
- .tar.gz【拡張子】とは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
- tar【コマンド】とは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
- ls -lコマンドの結果をサブディレクトリ含めてフルパスで列挙したい | Qiita