【TryHackMe備忘録】Linux fundamentals part1
TryHackMeのLinux Fundamentals Part1を進めてみたので、以下にコマンドメモっておきます。
基本
# テキスト出力
$ echo "Hello World"
# 現在ログインしているユーザー情報出力
$ whoami
# カレントディレクトリ変更・移動
$ cd [ディレクトリ移動先]
# ファイルの中身表示
$ cat [ファイルパス]
# ルートからカレントディレクトリまでのパス出力
$ pwd
カレントディレクトリのファイル一覧出力
$ ls
ls [オプション] [ファイルやディレクトリ]
【以下オプション】
-a
隠しファイルやディレクトリも表示。
-A
隠しファイルやディレクトリも表示。カレントディレクトリと親ディレクトリを除く。
-l
ファイルの詳細を表示。
-h
オプションで表示されるファイルサイズを人が読みやすい形式で表示。
-d
ディレクトリの内容ではなく、ディレクトリ自体の情報を表示。
-1
リストを1件1行で表示。
-F
名前の後ろにファイル識別子(*/=>@|のいずれか)を付けて表示。
-r
リストを逆順に表示。
-t
リストを最終変更時間に表示。
-S
リストをファイルサイズ順に表示。
-X
リストを拡張子のアルファベット順に表示。
-R
再帰的にディレクトリの中身も表示。
-m
リストをカンマ区切りで表示。
-Q
リストをダブルクォートで囲んで表示。
-i
各ファイルの前にファイルのiノード番号(ファイルを管理するのに使われている数値)を表示。
ファイル名が拡張子「.txt」のファイル検索
$ find -name *.txt
# この時
find [検索する場所] [オプション] [検索ファイル名]
【以下オプション】
-name
ファイルの名前が指定一致しているファイルを検索する
-mtime [日数]
指定した日数以前に更新されたファイルを検索する
-type
検索対象のファイルタイプを指定して検索する
-type f
ファイルを検索するとき
-type d
ディレクトリを検索するとき
-path
ファイルのパスが指定一致しているファイルを検索する
-iname
-nameオプションと同様だが、文字の大小を区別しない
-ipath
-pathオプションと同様だが、文字の大小を区別しない
-atime [日数]
指定した日数以前にアクセスされたファイルを検索する
-a
複数条件を組み合わせて検索する
アクセスログファイルの中で「THM」という特定の文字列(パターン)がある行を抽出する
$ grep "THM*" access.log
grep [オプション][検索パターン] [ファイル名]
【以下オプション】
-E
検索に拡張正規表現を使う
-i
大文字と小文字を区別せずに検索する
-P
検索にPerl正規表現を使う
-x
行全体がパターンと一致するものを検索する
-A [行数]
一致した行の後の行も表示する
-b
パターンの前に何文字あるかを併せて表示する
-B [行数]
一致した行の前の行も表示する
-c
一致するものが含まれている回数のみ表示
-C [行数]
一致した行の前後の行も表示する
-h
ファイル名を表示しない(複数ファイル指定時)
-H
ファイル名を併せて表示する
-l
一致するものが含まれているファイルのファイル名のみ表示する
-L
一致するものが含まれていないファイルのファイル名のみ表示する
-m [回数]
パターンと一致するものを含む行が指定した数に達したら処理を終了する
-n
行番号を併せて表示する
-o
一致した箇所だけを表示する
-q
結果を表示しない(主にシェルスクリプトなどで判定用に使う)
-v
パターンに一致しない行を表示する
-r
ディレクトリを指定した場合はサブディレクトリ内のファイルも含めて検索する
-R
サブディレクトリも含めて検索、さらにシンボリックリンクの先
アクセスログのエンティティ数検索
$ wc -l access.log
wc [オプション] [ファイル]
【以下オプション】
-l
行数を表示
-w
単語数を表示
-c
文字数(バイト数)を表示
&
そのコマンドをバッググラウンドジョブとしてくれる
# ジョブ一覧
$ jobs
# 切り替え
$ fg
# 一時停止
$ bg
以下は&&
# コマンド1が成功したらコマンド2を実行
$ [コマンド1] && [コマンド2]
>
上書き、ファイル作成保存
# lsコマンドの出力結果をtest.txtに保存
$ ls > test.txt
>>
追記
# test.txtファイルの末尾に「echo "message add"」コマンド実行結果追記(ファイルの中身に最後に「message add」と記述される)
$ echo "message add" >> test.txt
マニュアルの出し方
以下で、ターミナル上でマニュアルも確認できます。
$ man [語句]
以上
全部英語なので読解力はいりますが、読むのに抵抗は私は持っていなくて、昔システムにいた時少し触ってたのもあり、こんなのやってたなぁって思い出すのにちょうど良かったです。
引き続き2も進めていく予定です。
いいなと思ったら応援しよう!
