ファイルorデイレクトリに対してのみ処理をする
Permissionを変更することを考える.
直感的(?)なのはこう書くこと:
$
$
-maxdepthも適宜つける。
パイプなんてカッコ悪いとかいう変な人は
$ find . -type f -exec chmod 644 {} \;
$ find . -type d -exec chmod 755 {} \;
で行けるんだが,後ろの\;が気持ち悪い.
これがいる理由は以下.
続・音速でGitHub Pagesを設定する(MacOS)
こちらの記事の続きです.
GitHubにデプロイする
- リポジトリの名前は
ユーザ名.github.io
とすること. README.md
などは要らないのでチェック外しておく
リポジトリを作ったら,gitのリンク(git@github.com:ユーザ名/ユーザ名.github.io.git
)
をコピー.
サイトのディレクトリへ移動し,gitの管理下に置く
$ cd jekyll-blog $ git init $ git add . $ git commit -m "Initial Commit"
git remote
にgithub pagesのリポジトリを追加し,push
$ git remote add origin git@github.com:ユーザ名/ユーザ名.github.io.git $ git push -u origin master
完了!!
自分のページ(https://ユーザ名.github.io/
)を見てみよう.
サイトが表示されるはず.
参考
音速でGitHub Pagesを設定する(MacOS)
以下を順番にやればGitHub Pagesの公開ができます.
rubyの環境構築
まずはbrew
でruby
とrbenv
をインストール
$ brew install ruby $ brew install rbenv
rbenvを初期化 & 正しくインストールされたかチェック
$ rbenv init $ curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash Checking for `rbenv' in PATH: /usr/local/bin/rbenv Checking for rbenv shims in PATH: OK Checking `rbenv install' support: /usr/local/bin/rbenv-install (ruby-build 20180618) Counting installed Ruby versions: 2 versions Checking RubyGems settings: OK Auditing installed plugins: OK
バージョンを指定(ここでは2.5.1)してインストール
$ rbenv install 2.5.1 $ rbenv global 2.5.1
Jekyllの設定とサイト作成
gemでjekyll
をインストール
$ gem install bundler jekyll
jekyll-blog
という名前のサイトを作成
$ jekyll new jekyll-blog
サイトのディレクトリへ移動してビルド
$ cd jekyll-blog $ jekyll build
(自分の環境では,minima
に関するエラーが出た.
その場合はgem install minima
で解決.)
これで静的サイトが_site
ディレクトリ以下に生成される.
$ jekyll serve
すると,http://localhost:4000からサイトが見られるようになる.
続編へ
ソース
Dockerfileについて
エラーを無視する
コマンドsomething
が失敗する場合,
RUN something; exit 0
とすると無視できる. (参考: docker - Dockerfile build - possible to ignore error? - Stack Overflow )
ENTRYPOINT
, CMD
, RUN
の違い?
RUN
新しいレイヤーでコマンドを実行し,新しいイメージを作る. ソフトウェアをインストールするのによく用いられる.
CMD
"デフォルト"のコマンドやパラメータを設定する.
コマンドラインからdocker run
する際に上書きできる.
ENTRYPOINT
CMD
と似ているけど,コマンドラインから上書きできない.
Docker上での作業を快適にする設定
ls
をカラフルにする
/root/.bashrc
に以下を追記する
export LS_OPTIONS='--color=auto' alias ls='ls $LS_OPTIONS'
docker内の行数とターミナルの行数が合ってないとき
docker run -it -e COLUMNS=$COLUMNS -e LINES=$LINES -e TERM=$TERM -it /bin/bash
でいける (参考: https://github.com/moby/moby/issues/25450 )
Ctrl-Pを2度押ししたくないとき
以下を~/.docker/config.json
に追記
{ "detachKeys": "ctrl-w,q" }
spacemacsで行番号を表示
基本の設定
.spacemacs
において,dotspacemacs-line-numbers
が書かれている部分を検索し,値をnil
からt
に変える.
dotspacemacs-line-numbers t
行番号とコードとの間にスペースが欲しい場合
.spacemacs
のuser-config
部分に以下を記述する.
(unless (display-graphic-p) (setq linum-format "%3s ")) ;; Alternatively (unless (display-graphic-p) (setq linum-format (concat linum-format " ")))
参考:
gitによる変更履歴の確認関連
特定ファイルの変更履歴を見る
git log -p /path/to/file
特定ディレクトリの変更履歴も同様に行ける
Gitで特定ファイルの変更履歴をみる - Bye Bye Moore
man git-log
してみると,full-diff optionの説明があり,そこにpオプションの動作についての記述が出てくる.
--full-diff Without this flag, git log -p <path>... shows commits that touch the specified paths, and diffs about the same specified paths. With this, the full diff is shown for commits that touch the specified paths; this means that "<path>..." limits only commits, and doesn’t limit diff for those commits.
--full-diffを付けない場合は特定のファイル(ディレクトリでも良いのでパスと呼んでる)にtouchしたコミットとそのファイルに関するdiffを表示し, 付ける場合はファイルにtouchしたコミットと,そのコミットに関するdiffを表示する.
つまり,後者の場合は指定したファイル以外に関するdiffも表示される(指定されたファイルが含まれるcommitにある,他のファイルに関するdiffも表示される)
細かすぎるなこれは・・・ ここまで調べる必要無かったかもだが,深追いするクセでまたやってしまった.