20211127のMacに関する記事は3件です。

Mac デフォルトのPythonを3系しようとして反映されない時

はじめに macOSにデフォルトで搭載されているPythonの実行環境を3系へ変更したのに、ターミナルを新たに開いて確認するとまだ2系になっている。。。 なんてことはよくあることかと。。。 そんな時に参考にしていただければ幸いです 環境 ・macOS Big Sur ・ターミナルのシェルはzsh ・Homebrewはインストール済み ・pyenvはインストール済み pyenvの設定としてパスを通す 確認 $ pyenv -v でpyenvが入ってるか確認してみましょう。 もしpyenv: command not foundが出た場合は、記事最後の「参考」をご覧ください パスを通す % echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc % echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc % echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.zshrc echoコマンドを利用せず.zshrcファイルをテキストエディタで開いて編集してもOKかと!(多分) どちらにせよ、.zshrcファイルは?のようになります。 .zshrc export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" if command -v pyenv 1>/dev/null 2>&1; then eval "$(pyenv init -)" fi 変更を反映させる $ source ~/.zprofile ※私の場合.zshrcファイルは/Users/ユーザー名/の所にありました。 Pythonのインストール pyenvを使ってPythonをインストール $ pyenv install --list でインストール可能なバージョンを確認できます。 今回は「3.6.0」のPythonをインストールします! $ pyenv install 3.6.0 現在インストールされているPythonを一覧で確認すると、3.6.0が確認できます。 $ pyenv versions * system (set by /Users/gen/.pyenv/version) 3.6.0 ただ、まだこの状態では3.6.0ではなく、Macに標準でインストールされているバージョン(つまり2系)のPythonを使用してしまいます。 $ pyenv global 3.6.0 ?のコマンドで、今回インストールしたバージョンのPythonを使用するように設定を変更しましょう! $ pyenv versions system * 3.6.0 (set by /Users/gen/.pyenv/version) お、次はちゃんと「3.6.0」に*がついてる!! 「3系」のPythonを使えるようになりましたか?? $ python --version Python 2.7.16 いや、変わってないやんけ!!! .zprofileにも編集が必要だったっぽい? .zprofile export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init --path)" 変更を反映させる $ source ~/.zprofile $ python --version Python 3.6.0 よくわからんが、これでglobalでも反映できた!! 参考
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Dockerfile コマンド一覧

Dokerfileとは Dockerイメージをコード化したもの メリット ファイルを読むだけでインフラ構成が分かる オリジナルにカスタマイズしたイメージを作成できる 設定ファイルなども変更できる RUN DockerfileからDockerイメージにbuildするときに一回だけ実行されるコマンド # nginxをインストールする場合 RUN apt-get install -y nginx CMD Dockerfileから作成したイメージをコンテナ化するときに実行されるコマンド # nginxをフォアグラウンドで稼働させる場合 CMD ["nginx", "-g", "daemon off;"] exec形式の場合、json配列形式のため、コマンドは必ず「"」ダブルクォーテーションで囲うこと COPY ファイルをイメージに追加するコマンド $ COPY <ホストのファイル名> <コンテナのパス名> ENV 環境変数の指定 DBユーザー名や動作環境名などの設定で使用される # 構文 $ ENV Key:Value # アプリの本番環境を変数に設定 $ ENV APP_ENV="production" # 環境変数の確認(ConfigのENV内に記述されている) $ docker inspect <コンテナ名> 参考教材
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Linuxコマンド一覧表

はじめに Linuxで使うコマンドやショートカットキーについてまとめました。 Webエンジニアとして実務に携わっているとLinuxの重要性に気づかされます。 初心者向けに分かりやすくを意識して書いています。 コマンド入力を楽にするショートカットキー ショートカットキーを覚えておくと手入力の手間を省け、作業効率アップにも繋がります。 以下に主に使うショートカットキーの一覧をまとめています。 ショートカットキー 説明 Tabキー コマンドやパスの保管をする Ctrl+A 行の先頭にカーソル移動 Ctrl+E 行の最後にカーソル移動 Ctrl+F 1文字右方向へ移動(矢印キー→と同じ) Ctrl+B 1文字左方向へ移動(矢印キー←と同じ) Ctrl+H カーソルの左を1文字削除する Ctrl+D カーソル部分を1文字削除する Ctrl+W カーソル位置の単語を削除(カーソルの前部分(単語の途中で押すとその前半部分だけ削除される) Ctrl+U カーソルの位置から行頭まで削除 Ctrl+K カーソルの位置から行末まで削除 Ctrl+Y 直前に削除した文字列を貼り付け Ctrl+C 実行中のコマンドを強制終了 Ctrl+L 画面をクリアにする Ctrl+S コマンド入力ができないように画面をロック Ctrl+Q コマンド入力ができるように画面のロックを解除 ↑, ↓, Ctrl+R コマンド履歴の参照 Linuxコマンドについて 基本コマンド Linuxコマンド 説明 オプション ls ファイルやディレクトリの一覧を表示する -a:隠しファイルも含めてすべて表示 -t:最終更新時間によってソートをして表示する -l:ファイルの詳細情報を表示する -r:逆順にソートをして表示する -F:ファイルを種別して表示する pwd 今いるディレクトリをを確認する際に使用する cd カレントディレクトリの移動・変更 mkdir フォルダを作成する -p:必要に応じて親ディレクトリも作成 rmdir 空のディレクトリを削除する -p:指定した階層までのディレクトリを一括で削除する。ただし空の場合のみ touch 空のファイルを作成する -t:[[CC]YY]MMDDhhmm[.ss]形式で指定した日時に変更 mv ファイルの移動、ファイル名の変更を行う -i:ファイルを上書きする前に確認する-f:強制的に処理を実行する rm ファイル・ディレクトリを削除する -r: ディレクトリの中のファイルやディレクトリをまとめて削除する-i:ファイルを削除する前に一度確認する-f:強制的に処理を実行する cp ファイルをコピーする -i:コピーする前に確認する-r:ディレクトリをコピーする-p:ファイルの所有者・属性・更新日時などの情報を保持したまま元ファイルの情報を保存する cat ファイルの中身を表示する -n:行番号を追加して表示する less 長いファイルの中身をスクロール表示する more ファイルをページ単位で表示する tail テキストファイルまたはパイプでのテキスト入力の最後のn行を抜き出す -n:末尾から指定した行を表示する find ファイルを検索する -name:ファイル名を指定して検索-typeタイプ:(d: ディレクトリ、f: ファイル、l: シンボリックリンク) ln リンクを張る(別名をつける) -s:シンボルリンクを作成する(オプションを付けないとハードリンクになる) grep 指定した文字列がテキスト内に存在した場合その行を抽出する -e:文字列を検索パターンとして扱う-i:検索パターンと入力ファイルの双方で英大文字と小文字の区別を行わない-v:検索パターンとマッチしなかった行を選択する chmod ファイルやフォルダのアクセス権限を変更する -R:ディレクトリ内の複数のファイルも変更対象とする chown ファイルやフォルダのオーナーやグループを変更する -R:ディレクトリ内の複数のファイルも変更対象とする sudo スーパーユーザーで権限を実行する -u:指定したユーザーでコマンドを実行する diff ファイルとファイルの内容の違いを表示する history コマンドの履歴を表示する kill ジョブやプロセスを終了させるコマンド ps 実行中のプロセスを表示するコマンド -A:全プロセスを表示する-e:実行しているコマンド名と環境変数を表示する-l:プロセスの状態なども表示する man コマンドのマニュアルを表示する scp リモートマシンとローカルマシン、あるいはリモートマシン同士でファイルをコピーする際に使用するLinuxのコマンド -i:ssh接続に使用する鍵ファイルを指定する-p:コピー元のタイムスタンプやパーミッションを保持する-r:ディレクトリごと再帰的にコピーする lsコマンド # ls [オプション][ファイル] # ls: 現在のフォルダにあるファイルやディレクトリを表示 $ ls test1 test1.txt test2.txt # ls -al: aとlを組み合わせることで隠しファイルとファイルの詳細情報を両方表示する。 $ la -la total 0 drwxr-xr-x 5 user staff 160 11 27 23:30 . drwxr-xr-x+ 94 user staff 3008 11 25 22:43 .. drwxr-x--x 3 user staff 96 11 25 21:55 test1 -rw-r--r-- 1 user staff 0 11 27 23:28 text1.txt -rw-r--r-- 1 user staff 0 11 27 23:28 text2.txt # ls *.txt: 拡張子がtxtのファイルの一覧を表示する $ ls *.txt text1.txt text2.txt # ls ???.txt txtで終わり、5文字で始まるファイルを表示する $ ls ?????.txt pwdコマンド # 現在どの位置にディレクトリがいるかを表示する $ pwd #/Users/ユーザー名/work mkdirコマンド # mkdir ディレクトリ名 # test1ディレクトリの作成を行う $ mkdir test1 # 指定されたディレクトリの上位ディレクトリも作成する # test2/test1/test3ディレクトリの作成を行う $ mkdir -p test2/test1/test3 rmdirコマンド # rmdir ディレクトリ名 # 空であるtest1ディレクトリを削除する $ rmdir test1 # 空であるtest2/test1/test3ディレクトリを一括で削除する $ rmdir -p $ rmdir -p test2/test1/test3 touchコマンド # touch オプション ファイル名 # test1.txtの作成を行う $ touch test1.txt mvコマンド # mv 移動元ファイル(移動元ディレクトリ) 移動先ファイル(移動先ディレクトリ) # ディレクトリを別ディレクトリに移動する # test1の中にtestディレクトリが移動する $ mv test test1 # ファイルを別のディレクトリに移動する # text2.txtがtest1ディレクトリに移動する $ mv text2.txt test1 # ファイル名の変更 # text1.txtがファイル名でtext5.txtが存在しない場合、ファイル名がtext5.txtに変更される $ mv text1.txt text5.txt # ディレクトリ名の変更 # test3が存在しない場合ディレクトリ名がtest1からtest3に変更される $ mv test1 test3 rmコマンド # rm [オプション] ファイル名 #text2.txtを削除する $ rm text2.txt #test3ディレクトリとtest3ディレクトリの中の、ファイルやディレクトリも削除される $ rm -r test3 cpコマンド # cp [オプション] コピー元 コピー先 # cp ファイルをコピーする $ cp text1.txt text3.txt # lsで確認するとtext1.txtをコピーしたtext3.txtが作成される text1.txt text2.txt text3.txt # ディレクトリをコピーする $ mkdir test $ cp -r test test1 test text1.txt text3.txt test1 text2.txt catコマンド # cat [オプション] ファイル名 # text3.txtの中身を表示する $ cat text3.txt # 行番号付与してtext3.txtの中身を表示する $ cat -n text3.txt 1 aaaaa 2 aass 3 ssss 4 ssss moreコマンド # more ファイル名 # 行数が多い場合に、ページャを使って画面に表示する $ more docker-compose.yml # スペース: 次のページに進む # b: 前の一画面に戻る # f: 次の一画面に進む # /単語: 単語を検索する。nキーで検索結果へジャンプする。 # q: ページャコマンドを終了する lessコマンド # less ファイル名 # 行数が多い場合に、ページャを使って画面に表示する $ more docker-compose.yml # スペース: 次のページに進む # b: 前の一画面に戻る # f: 次の一画面に進む # ↑: 前の次に進む # ↓: 次の次に進む # /単語: 単語を検索する。nキーで検索結果へジャンプする。 # q: ページャコマンドを終了する tailコマンド # tail オプション ファイル名 # text3.txtファイルの末尾10行を表示する $ tail text3.txt findコマンド # find パス -name ファイル名 # /Users/ユーザ名/work にあるtext3.txtを探す。 $ find /Users/ユーザ名/work -name text3.txt # ディレクトリを検索する場合 # /Users/ユーザ名/work にあるディレクトリを探す。 $ find /Users/ユーザ名/work -type d # ファイルを検索する場合 # /Users/ユーザ名/work にあるファイルを探す。 $ find /Users/ユーザ名/work -type f chmodコマンド # ファイルのアクセス権を変更する。 $ chmod モード[,モード] ファイルまたはディレクトリ $ chmod 8進数表記のモード ファイルまたはディレクトリ # test1ディレクトリに書き込み権限を追加 $ chmod g+w test1 # test1ディレクトリ内のユーザから読み込み権限を除去して、書き込み権限を追加 $ chmod u-r,o+w test1 chownコマンド # ファイルの所有者を変更する。ルートとグループを変更するには、rootユーザである必要がある。 $ chown ユーザ[.グループ] ファイルまたはディレクトリ # text3.txtの所有者をuser3に変更する $ chown user3 text3.txt # test1ディレクトリ内の所有者をuser4に変更する $ chown -R user4 test1 grepコマンド grepコマンドの正規表現 記号 説明 ^ 行頭を表す。 $ 行末を表す。 . 任意の一字を表す。 * 直前文字の0回以上の繰り返しを表す。 [...] ...の中の任意の1字を表す。 [^...] ...の中の文字が含まれないことを表す。 ¥ 正規表現の記号をエスケープする。 b$ bで終わる行。 a.b aとbの間に1文字入っている。 [ab]ab aもしくはbに続く(aab, bab) [^ab]ab aもしくはbで始まらないでabが続くもの(xab,zab等) # grep [オプション] 検索条件 [指定ファイル] # text3.txtの中にある「aaa」を検索する $ grep aaa text3.txt sudoコマンド # スーパーユーザ(root)権限でコマンドを実行する # sudo cat # text3.txtの中身をrootユーザでみる $ sudo cat text3.txt # text3.txtの中身をuser1でみる $ sudo -u user1 cat text3.txt diffコマンド # diff オプション ファイル名 ファイル名 # text3.txtとtext4.txt ファイルの差分を表示する $ diff text3.txt text4.txt manコマンド # man コマンド名 #lsコマンドのマニュアルを表示する $ man ls scpコマンド # リモートマシンとローカルマシン、あるいはリモートマシン同士でファイルをコピーする際に使用する # scp [オプション] コピー元パス 保存先パス #リモートのファイル(test.txt)をローカルのカレントディレクトリへコピー $ scp user@xxx.xxx.xxx.xxx:~/test.txt ./ #ローカルのカレントディレクトリのファイル(test.txt)をリモートのホームディレクトリ直下へコピー $ scp test.txt user@xxx.xxx.xxx.xxx:~/ 正規表現とパイプについて 今までは、さまざまなコマンドを利用してきましたが、Linuxには「1つの入り口と2つの出入り口があります。 標準入出力の項目 説明 標準入力 プログラムの標準入力でプログラムに入ってくるデータのことを示す。 標準出力 プログラムの標準出力を行う。 標準エラー出力 プログラムのエラーメッセージを出力する。 リダイレクト 標準出力された文字をファイルに書き込むことができる。 #書き込みたいコマンド名 > ファイル名 # lsの出力結果をtest2.txtに書き込む $ ls > test2.txt パイプ コマンドをつなぐ役割を持っている。 # 実行例: /Users/ユーザ名/workの一覧を表示しつつ、lessコマンドを実行する $ ls -l /Users/ユーザ名/work | less viによる操作方法 viとはテキストを編集するためのコマンドやソフトのことで、Linuxでファイルを編集したり、中身を確認したりする際によく使われる。 ファイルを開く場合 # vi ファイル名 # text1.txtファイルを開く $ vi text1.txt ファイルを閉じる場合 # :qコマンドを実行する ファイルの中身を編集して保存する場合 # :wコマンドを実行する ファイルを保存して終了する場合 # :wqコマンドを実行する ファイルを保存せずに終了する場合 # :qコマンドの後に!をつけて実行する :q! ファイルに内容を書き込みたい場合 # インサートモード(i)を押す ファイル編集の際に使用できる便利なコマンド表 コマンド 内容 x 1文字削除 dd 1行削除 yy 1行コピー nyy n行コピー p カーソルの文字の次または次の行にペースト P カーソルの文字の前または前の行にペースト u カット、ペーストを一回取り消し ファイル内検索と置換 コマンド 内容 /検索文字列 文字列の検索 n 下方向へ再検索 N 上方向へ再検索 :対象の行 s/検索文字列/置換文字列/オプション 文字列を置換する ユーザー管理 コマンド 説明 useradd 新規ユーザの作成 usermod ユーザアカウントの変更 userdel ユーザの削除を行う groupadd グループの作成 groupmod グループの登録情報の変更 groupdel グループを削除する passwd ユーザのパスワード登録と変更ユーザのパスワードを登録したり変更したりする su 一時的に他のユーザになるためのコマンド
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む