初投稿です!宜しくお願いします。
早速やらかしました。。。
Linuxについてを書く前に先にコマンド編やっちゃた。。。笑
ディレクトリ移動
$cd ディレクトリパス
実際使う時
$cd hoge/huga
ちなみに・・・
よく見る
.とか~は何かと言うと
今いるパス→ .
一個上の階層→ ..
ルートパス→ ~
をそれぞれ表しています。
cd ~-
これで直前にいたディレクトに戻れます
ディレクトリの中身を見る
$ls ディレクトリパス
使う時は、今いるディレクトリに対して行うことが多いコマンドです。
実際つかう時はこんな感じになります
$ls -l
また今いるディレクトリの詳細を見たい時は
$ls -ld
ディレクトリを作る
$mkdir 作りたいディレクトリ名
実際つかう時はこんな感じになります
$mkdir hogehoge
ファイルを作る
$touch 作りたいファイル名
実際使う時
$touch hogehoge.text
ファイルの中身を確認したい時
$cat 見たいファイルのパス
引数に-nをつけると行が表示されて便利。
実際つかう時はこんな感じになります
$cat -n hoge/gyga.text
最初の10行だけ表示したい時
$head パス
引数に-n 数字 を渡せて
数字の分だけ4行を表示する
実際に使うとき
$head -n4 huga/hoge.text
・最後の10行を表示したい時
$tail パス
引数に-n 数字 を渡せて
数字の分だけ4行を表示する実際に使うとき
$tail -n4 huga/hoge.text
もうお気づきだと思いますが、headとかtailていらなくね?
って思ったそこのあなた。私も以前までそのような考え方でし。ですが、大きなファイルにcatを使ってしまうと過去の
コマンドの実行結果が見にくくなってしまいます。そういうことを防ぐためにも、head,tailは使えるなと最近は感じています。
特にtailはlogの管理などにとても使えます。
ファイルから特定の文字列を探したい時
$grep 特定の文字列 確認したいファイルのパス
|で組み合わせる時に特に使えるコマンドです。
実際使う時
$grep abc hoge/huga.text
ファイルを移動させたい時
$mv 移動させたいパス 移動先のパス
実際に使う時
$mv tmp/hoge.txt tmp/book/hogee.text
名前を変えたい時とかにも使える
コマンドの詳細を知りたい時
$man コマンド
実はUNIXには、マニュアルが付いている!!
「grepの引数わっかんね」ってなった時とかに使えます。
$man grep
コマンドのスペルを忘れた時
$apropos コマンド名(思い出せる範囲)
grepのスペルが思い出せなくなった時
apropos grrep
↓
検索結果が表示される
便利そうなコマンド拾ってきたけどなにをするものなのかわからない時
$whatis コマンド
rm -rf / これって何するの?って思った時
$whatis rm
↓結果
rm(1), unlink(1) - remove directory entries
あっぶね・・・
超便利コマンドfindについて
基本形
$find path -name file_name
ポイントは、pathよりも下の階層でfilr_nameと一致するものを見つけ出すコマンドと言うことを意識する!
例1.今いるディレクトリから拡張子が.htmlのファイルを見つけたい時
$find . -name *.html
例2)変更された日数から探す(-mtime)
$find . -mtime 日数
mtimeの日数は+7, -7, 7の三つで表すことができるがそれぞれ意味違う
7 →7日前
+7 →7日よりも前 start..7日前
-7 →7日前から今 7日前..now
例3)形式によって探したい時(-type)
$find user/-type f
検索対象の形式を指定することができる
d →ディレウトリ
f →ファイル
l →シンボリックリンク
例3)サイズから探したい時(-size)
$ find user -size + 1000k
↑1000キロバイト以上のファイルを検索する
なお+だと以上-だと以下の意味になる
例4)否定,or,and
.textではないファイルを検索したい時(!)
$find . \! -name "*.text"
.textか.htmlの拡張子のファイルを検索したい時(-o)
$find . -name "*.rb" -o -name "*.html"
.textか.htmlの拡張子のファイルを検索したい時(-and)
$find . -name "*.rb" -and -name "*.html"
※-andなくても良い
コマンドの結果の標準入力先を指定したい時
$ コマンドA | xargs コマンドB
コマンドAの標準出力をに対してコマンドBを実行する。いわばコマンドのためのコマンドのようなイメージ。
例ファイル形式のもので、applicationという名前のものを見つけてくる
$find . -type f | xargs grep -n "application"
単純にファイルを探した時
$locate キーワード
キーワードを含んだファイルを探してくれる
実際使う時
$ locat hoge
findよりも高速に動いてくれる