My Blueberry Life

IT(プログラミング)、アウトドア、音楽 etc.

【Mac】基本的なターミナルコマンドまとめ

f:id:Takumizu:20190423190951j:plain

【はじめに】

CentOS内でPHP, apache, MySQLをインストールし、SSH接続を行いホストOS(Mac)で操作してます。

ターミナルでの操作ではコマンドが必須なので、備忘録兼ねてまとめてみました。

 

【前提条件】

※説明する上で例を用いるので下記のようにしております。

 

/home/test  :ディレクトリ「home」内にディレクトリ「test」を作成する

ディレクトリ「test」内に、ファイル「test1.txt」、「test2.txt」を作成

 

f:id:Takumizu:20190421180432j:plain

 

【コマンドまとめ】

コマンド

動作・操作

解説

sudo

スーパーユーザー(rootユーザー)の権限でコマンド実行できる

sudo [オプション]

-b:バックグラウンドで実行する

-h:ヘルプメッセージを表示する

-l:許可・禁止されているコマンドの表示

-S:標準入力からパスワードを読み込む

-u ユーザー名:コマンドを実行するユーザーを指定する

su

rootユーザーに変更する

su でrootユーザーに変更される(su 後にユーザー名でユーザー変更できる)

ifconfig

IPアドレスを表示する(CentOS

 

ping

ネットワークの接続確認をする

ping アドレス

IPアドレスやネットワークアドレスの疎通確認ができる

ps

Linux上で動作しているプロセスを表示する

ps [オプション]で下記それぞれ実行できる

-A:全プロセス表示

a:端末操作のプロセスを表示する

x:端末操作以外のプロセスを表示する

c:実行中のコマンド名を表示する

u:CPUやメモリの使用率も表示する

l:プロセスの状態なども表示する

f:プロセスを改装で表示する

aux:a,u,xのコマンドを組み合わせたもの

vi

テキストエディタを起動する

 

viコマンド参考:

https://eng-entrance.com/linux-command-vi

vi ファイル名

指定したファイルをエディタとして開く

viエディタには入力モードとコマンドモードがある。

pwd

ディレクトリを表示する

ディレクトリ「test」で入力すると、/home/testと表示される

ls

ディレクトリ内のファイルやディレクトリを一覧表示する

ディレクトリ「test」内で コマンド

test1.txt   test2.txt   が表示される

ls -l

ファイルの詳細も表示する

lはlongなフォーマットを意味する。

左から「ファイルタイプ」「パーミッション」「ハードリンクの数」「オーナー名」「グループ名」「バイトサイズ」「タイムスタンプ」「ファイル名」となっている

ls -1

リストを縦に並べる

ディレクトリ「test」内で コマンド(ls -1)で縦に表示される

test1.txt   

test2.txt 

ls -tl

更新時間順に並べる

更新時間が最新なものから古いものへ並べて表示される

ln

ディレクトリ、ファイルへのリンクを登録する

ln リンク元 登録名

ln test1.txt test1

→test1.txt をtest1という名でリンクを作成する

ln -s

シンボリックリンクを作成する

ln -s リンク元 登録名

ln -f

すでにある登録名が存在する場合、上書き登録できる

ls -f リンク元 登録名

ln -f test2.txt test1

→test1の内容がtest2.txtに上書きされる

less

ファイルの内容を表示する(読み取り専用で開く)

less text1.txt

/後に文字列の入力で検索も可能

終了するときは :q を入力する

less -N

ファイル内容を行番号含めて表示する(読み取り専用で開く)

less -N text1.txt

/後に文字列の入力で検索も可能

終了するときは :q を入力する

cat

ファイルの内容を表示する(ターミナル上に)

cat text1.txt で内容を表示することができる(行数が多い場合、最後の1画面分のみ)

cat -n

ファイル内容を行番号含めて表示する(ターミナル上に)

cat -n text1.txtとすると行番号含めた内容を表示できる

例test1.txt: 1  Hello World!

cat  X  >> Y

ファイルの中身を写す

cat test1.txt >> test2.txt  写す先のファイルが存在する場合は内容が追記される。

test3.txtなど存在しない場合は、test1.txtの内容で作成される。

grep

ファイル内の文字列を検索する

grep テスト test2.txt

→test2.txt内で文字列テストを検索し、検索した文字含めて行を表示する。(複数ある場合は複数行表示される)

表示例:こちらテスト表示しています。

cd

ディレクトリを移動をする

ディレクトリ「home」にいるとき

/homeから/home/testへ移動

cd test

 

/html/testから/htmlへ移動

cd ..

chmod

ファイルのアクセス権限を変更する

参考ページ「パーミッション」:

(https://eng-entrance.com/linux-command-chmod)

chmod アクセス権限 ファイル名

chmod 777 test1.txt

→全ての利用者に全ての権限を与える

所有者、グループ、その他の順にそれぞれ0から7の整数で表わされる。

読み込みができる=4

書き込み、変更ができる=2

実行ができる=1

rm

ファイルを削除する

rm ファイル名

removeの略で、指定のファイルorディレクトリを削除できる

rm *

複数のファイルを削除する

ディレクトリ内のファイル全て削除する

rm -r

ディレクトリも削除対象とする

rm -r

ディレクトリも対象とし全て削除する

rm -i

ファイルやディレクトリを確認して削除する

rm -i test1.txt

→test1.txtの削除していいか確認してから削除する

(削除する:y、削除しない:n)

mv

名称変更(ディレクトリ、ファイル)

ディレクトリの場合

mv /home/test  /home/test2

→home内のディレクトリtestをtest2へ名称を変更する

 

ファイルの場合

mv test1.txt test10.txt

→test1.txtをtest2.txtにファイル名を変更する

mkdir

ディレクトリを作成する

mkdir test100

→test100というディレクトリが作成される

mkdir -p

階層のディレクトリを作成する

home/test時に下記実行

mkdir -p test1/test2
→home/test/test1/test2が作成される

 

【最後に】

まだまだ使いこなせてないので、経験積みながら覚えていければと思います。

間違いがあったり、この他にこんないい機能あるよとかあればコメント頂けるとありがたいです!

VirtualBox上でのCentOS7.0系のネットワーク接続

【はじめに】

プログラミングとは無縁な職業ですが、IT業界に興味持ちLAMP環境含めて学び始めてます。

先日VIrtualBoxにCentOS7.0を導入しました。

(その記事はまた次回…)

CentOS上でネット接続がうまくいったりいかなかったりがあったので、メモとして残します。

  • ネットワークアダプターとは?
  • NAT
  • NATネットワーク
  • ブリッジアダプター
  • 内部ネットワーク
  • ホストオンリーアダプター
  • 汎用アダプター
  • 最後に 

 

ネットワークアダプターとは?】

コンピュータに他のコンピュータへ接続する機能を追加するための拡張カードのことである。つまり、ゲストOSからホストOSにネットワーク接続する為に必要な機能となります。

接続方法は数種類あるので、それぞれ見てみましょう。

VirtualBoxの設定画面は下記のようにいけます。

 

1:設定を開く。

f:id:tkm_122:20190227231508p:plain

VirtualBox 設定画面


 2:ネットワークカテゴリーを選択。

f:id:tkm_122:20190227231701p:plain

ネットワーク設定画面

 画像からもわかるように接続方法は6種類もあります。

それぞれ機能についてまとめました。

 

【NAT】

NAT (Network Address Translation)は内部から外部に対して通信を行います。

VIrtualBoxごとにNAT接続されるので、VIrtualBox間の通信はできません。

 

【NATネットワーク】

 こちらは先ほどのNATに似ていますが、加えてVirtualBox間での通信が可能となります。

(NATと内部ネットワークのできることが合わさったイメージ)

 

【ブリッジアダプター】

ホストマシンのネットワークに接続する方法で、外部ネットワークへの接続やホスト側からのリモート接続も可能です。

外部から隔離する必要がなければこれで良いです。

(他のモードと比べるとセキュリティの脅威にさらされやすいです)

 

【内部ネットワーク】

VIrtualBox間のみで通信が可能な内部的なネットワークをさします。

 

【ホストオンリーアダプター】

外部とは通信ができず、ゲストOSとホストOS間のみ通信ができる閉じたネットワークです。

VIrtualBoxのネットワーク設定で NAT と共によく使用されます。

 

【汎用ドライバー】

UDPトンネルとVDEを使えるようにするモードです。

 

【最後に】

NAT接続がうまくいかず、アダプターを追加し、複数のアダプターで接続設定することで、CentOS内でネットワーク接続が可能となりました。

私の場合はブリッジアダプターを追加して解決しました。

私自身色々試しながら、接続方法もより学んでいければと思います。

こちらの記事は備忘録として書いたので、間違い等あればご指摘いただけると幸いです。