LoginSignup
0
1

More than 1 year has passed since last update.

Myターミナルコマンド一覧(Mac環境)

Last updated at Posted at 2022-04-06

phpを書き始めるとコマンドラインを使うことが増えてきたので、自分用アンチョコとしてまとめることにしました。まるっきり初心者です。
使いそうと思ったものは都度更新していくつもりです。

cd 移動コマンド

移動コマンド、cd(カレントディレクトリ)のみ入力すればホームディレクトリに移動、もしくはcd ~/
基本、相対パスの書き方と同じようです。

#file/testフォルダへ移動
$ cd file/test/ 

一つ上の階層のファイルに移動する

$ cd .. 

ls 表示コマンド

カレントディレクトリにあるファイルやディレクトリを表示する。移動した後は確認の為よく使います。

$ ls

オプション
-a:隠しファイルも含めファイルやディレクトリを全て表示する

$ ls -a

-l:ファイルやディレクトリの詳細も同時に表示する、パーミッションや更新日時も確認できます
rwx表示です

$ ls -l

-la:隠しファイルを含む全てのファイルやディレクトリの詳細を表示する
$ ls -la

pwd 現在のパスを表示コマンド

現在いる場所のパスを表示する、パスの指定をしたい時便利

$ pwd

cp コピーコマンド

cp:ファイルをコピー
$ cp 「コピー元ファイル」 「コピー先ファイル」

#test.txtを相対パスでfile/というディレクトリの中にtest2.txtとしてコピーする
$ cp test.txt file/test2.txt

複数ファイルコピー
$ cp 「コピー元その1」 「コピー元その2」 「コピー先のディレクトリ名」
-r オプション:ディレクトリごとコピー

#fileというディレクトリとその中身をfile2にそっくりコピーする
$ cp −r file file2/

mv ファイル移動・名前変更コマンド

$ mv 「移動したいファイル」 「移動先のディレクトリ」

$ mv test.txt file/

ファイル名を変えるのもmvコマンド、ただし全角、スペースが入っていると変換できないので注意
test.txtというファイルをtest2.txtに名前変更する

$ mv test.txt test2.txt

mkdir ディレクトリを生成する

#fileというディレクトリを作る
$ mkdir file

unzip zip解凍

大容量の圧縮データはコマンドラインで解凍した方が早いらしいので、意外と用途があるかもしれません。

$ unzip test.zip

zip zip圧縮

$ zip -r 「圧縮時のファイル名」 「圧縮したいフォルダ名」

$ zip -r testdir.zip testdir/

rm ファイルを削除

$ rm text.txt

複数のファイルを削除

$ rm text2.txt text3.txt

rmdir ディレクトリを削除

$ rmdir folder

ただし、ディレクトリ内にリードオンリーのファイルなどがあると以下のようなメッセージが表示される。

「rmdir: `file' を削除できません: ディレクトリは空ではありません」

-fオプションを付けると強制的に削除できる

$ rm -rf file

サーバに不明なファイルが置かれた時、FTPで削除できなくてコマンドラインで削除できたので助かりました

XサーバにてSSH接続

「SSH」は「Secure Shell」の略称で、この技術を使うとサーバーとの通信が暗号化できます。
サーバ側で秘密鍵を発行してパスフレーズを設定。

鍵はDLしてローカルに保存。
Users/username/.ssh/鍵のファイル名

.sshは隠しフォルダなので「コマンド+shift+.」で表示させる。
その際chmodコマンドで権限も変更しておく

chmod パーミッションを変更

アクセス権限の使用頻度多いです。
フォルダは700 秘密鍵は600

$ chmod 700 Users/username/.ssh$ chmod 600 Users/username/.ssh/秘密鍵

-R:オプションとして対象がフォルダの時は、-Rを入力するとフォルダ内のフォルダ、ファイル全てのパーミッションを変更することが可能です。これは重宝します。

$ chmod -R 777 Sample

ssh サーバ接続

以下、Xサーバでの接続です。ポート番号が10022がミソ

$ ssh -l サーバーID -i 秘密鍵パスとファイル名 ホスト名(svXXXX.xsrv.jp) -p 10022

この後パスフレーズを要求されるので鍵用パスワードを入力します。

configファイルで接続を簡略

.sshにconfigファイルを作成しておくと接続が楽になります。

Host short #任意の名前
HostName サーバーID.xsrv.jp
Port 10022
User サーバーID
IdentityFile ~/.ssh/秘密鍵のファイル名
ServerAliveInterval 60 #sshの自動切断を防ぐために記述

以下のようにHostで付けた名前で入力すると接続できます

$ ssh short

※サーバに接続して終了するには必ずexitもしくはlogoutのコマンドで終わらせる

SCPコマンド(ファイルアップロード・ダウンロード)

scp ファイルアップロード

$ scp -i 鍵のファイルパス -P ポート番号 アップ元ファイルパス ユーザー名@ホスト名(もしくはIP):アップ先ファイルパス

$ scp -i /Users/username/.ssh/key -P 10022 /Users/username/Desktop/sample.png username@サーバー.xsrv.jp:/home/****/****/sample.png

ポート番号指定オプションについて
SSHコマンドでは小文字で「-p」となり、
SCPコマンドでは大文字で「-P」となります。間違えるとエラー。

ローカルから接続する
sshでサーバに接続した後、そのままscpでアップしようとすると秘密鍵が無いと出てアップロードできない。
nofile.png
よくよく考えてみると秘密鍵があるのはローカル環境。

ということはローカルに戻ってアクセスすれば出来るのでは?

exitしてscpコマンド打ち込んで、アップロード成功しました。
でもこのままじゃサーバ内のファイルを確認できない。いちいちサーバにアクセスする?それとも何かコマンドが?

何のことない、ウィンドウをローカルとサーバの2つを開き、それぞれ作業すれば済むことでした。恥ずかしい話、アップロードが出来なくて2日程悩みました。

SCP ダウンロード

ダウンロードはファイルを入れ替えるだけ

$ scp -i 鍵のファイルパス -P ポート番号 ユーザー名@ホスト名(もしくはIP):DLしたいファイル DLを置きたいファイルパス

$ scp -i /Users/username/.ssh/key -P 10022 username@サーバー.xsrv.jp:/home/****/****/sample.png /Users/username/Desktop/sample.png

フォルダごとの場合

-rオプションを使用
DLも同じ

$ scp -i /Users/username/.ssh/key -P 10022 -r /Users/username/Desktop/sample/ username@サーバー.xsrv.jp:/home/****/****/sample/

※ アップロードしたいフォルダの末尾にはアップ元にもアップ先にも末尾スラッシュを指定する。

下記のサイトを参考にさせて貰いました。
https://original-game.com/mac-terminal-command/
https://techtech-note.com/1559/

0
1
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
0
1