クイックファイルバックアップコマンド
Bash bashrc bash_profile command Terminal
バックアップを取りたい場合には、
$ cp 対象のファイル名 対象のファイル名~
などなど使ってバックアップを行う思いますが、 cpコマンドには、Backup指定ができ、
$ cp -b 対象のファイル名
または
$ cp -backup 対象のファイル名
によって、file.txtをfile.txt~のように素早くバックアップを取れるようです。
しかしなぜか自分の環境では動かず、 ~/.bash_profileに以下を追記しました。
bak (){ local v1=$1 cp -r $v1 $v1~ }
これで、素早くバックアップを取れるようになりました。
$ bak file.txt $ ls file.txt file.txt~
Gmailをキーボードのみで操作する
gmail shortcut tool Vim ショートカット
最低限キーボードのみでGmailを操作するためのショートカット一覧。慣れればマウス操作がほぼ必要なくなる。自分なりの覚え方も記載。
ショートカットの有効化
歯車のアイコン→設定→全般→キーボードショートカット から有効にできる。
共通の操作
スレッドリストに移動(go)
基本的なものは以下で移動をするのが便利。ラベルの移動は下記の検索を使うと移動できる。
g + i 受信ボックス(inbox) g + s スター付き(started) g + t 送信済み(transmitted) g + d 下書き(drafts) g + a すべてのメール(all)
UIにフォーカス
検索で label: ~ のように入力すると、他のラベルに移動ができるので便利。
/ 検索ボックスにフォーカス(viの検索)
個別のメール操作
スレッドリスト内で複数選択をすればそれらに適応される。
x チェックをつける(x[check] mark)
Shift + i 既読にする Shift + u 未読にする(unread)
e アーカイブする(archiv e) s スターをつける(star)
# 削除する
スレッドリスト内の操作
未読のみチェックが特に便利。
j 下のスレッドを選択(viの下移動) k 上のスレッドを選択(viの上移動)
* + a 全てチェック(all check) * + n 全てアンチェック(none check) * + u 未読のみチェック(unread)
スレッド内の操作
p スレッド内の前のメールを選択(previous) n スレッド内の次のメールを選択(next) j 前のスレッドに移動(viの下移動) k 次のスレッド移動(viの上移動)
r 返信(reply) a 全員に返信(all reply) f 転送(forward)
u スレッドリストに戻る(undo)
メール作成
Shift + Esc メインウィンドウにフォーカス Esc 最新の作成ウィンドウに戻る
詳細
その他詳細のショートカットは以下を参照。 https://support.google.com/mail/answer/6594?co=GENIE.Platform%3DDesktop&hl=ja
コマンドラインでGoogle翻訳をする
Bash Terminal alias bashrc google
自分だけかもしれませんが、翻訳したいときは、
テスト 翻訳 →test
test 翻訳 →テスト
のようにGoogleで検索するパターンが多いです。 これをいつものコマンド操作でできたらと思い以下を行いました。
Google翻訳のコマンドの導入
$ brew install translate-shell $ trans {en=ja} "The server maintenance will end as scheduled." ¥The server maintenance will end as scheduled. サーバーのメンテナンスはスケジュールどおりに終了します。 (Sābā no mentenansu wa sukejūru-dōri ni shūryō shimasu.) Translations of The server maintenance will end as scheduled. [ English -> 日本語 ] ...
aliasの登録
コマンドを省略したいため、~/bash_profileに以下のaliasを追記します。
alias t-ej="trans {en=ja}" alias t-je="trans {ja=en}"
翻訳テスト
$ t-ej "The server maintenance will end as scheduled." The server maintenance will end as scheduled. サーバーのメンテナンスはスケジュールどおりに終了します。 (Sābā no mentenansu wa sukejūru-dōri ni shūryō shimasu.) Translations of The server maintenance will end as scheduled. [ English -> 日本語 ] $ t-je "そのサーバーのメンテナンスはスケジュールどおりに終了します。" サーバーのメンテナンスはスケジュールどおりに終了します。 (Sābā no mentenansu wa sukejūru-dōri ni shūryō shimasu.) Server maintenance will be completed on schedule. Translations of サーバーのメンテナンスはスケジュールどおりに終了します。 [ 日本語 -> English ]
Angular2 npm start(Browser Sync)のポートの変更
Angular2 AngularJS BrowserSync port npm
Angular2のBrowser Syncのデフォルトのポート(3000)が、他のAngularプロジェクトと被ってしまうためポートを変更。
設定ファイルの作成
ルートにbs-config.jsonを作成する。 ポート7000をプレビュー用に、ポート7001を管理画面用に設定。
{ "port": 7000, "files": ["./dist/**/*.{html,htm,css,js}"], "server": { "baseDir": "./" }, "ui": { "port": 7001 } }
Git ブランチ操作をディレクトリ操作のように使いたいときのエイリアス
Git alias Bash .bashrc .bash_profile
普段のGitを使ったプロジェクトではブランチを修正単位で切り分けているため、1日に数十個のブランチを作成します。ブランチの操作が多く打鍵が面倒なので、ディレクトリ操作のコマンドようなエイリアスを割り当てています。
ブランチ一覧(gls)
$alias gls='git branch' $gls * master staging
ブランチ移動(gcd)
$alias gcd='git checkout' $gcd staging Switched to branch 'staging'
ブランチ作成(gmk)
$alias gmk='git branch' $gmk staging
ブランチ削除(grm)
$alias grm='git branch -d' $grm staging Deleted branch staging (was 6c1f064).
ブランチリネーム(gmv)
$alias gmv='git branch -m' $gmv staging staging2
ブランチマージ(gmg)
$alias gmg='git merge' $gmg staging Already up-to-date.
.bashrc / .bash_profile
.bash_profileには以下のように記述しています。
alias gls='git branch' alias gcd='git checkout' alias gmk='git branch' alias grm='git branch -d' alias gmv='git branch -m' alias gmg='git merge'
もっと便利な方法があればご意見お願いいたします。
PHP 拡張モジュール(extension)の追加
PHP extension PHP7
拡張モジュールpcntlを導入 php 7.1.0の環境で実行
extensionの確認
$ php -i | grep pcntl
PHPソースの取得
$ php -v PHP 7.1.0 (cli) (built: Dec 7 2016 15:44:36) ( NTS ) $ wget http://php.net/distributions/php-7.1.0.tar.xz
extensionのビルド
$ tar xf php-7.1.0.tar.xz $ cd php-7.1.0 $ cd ext/pcntl/ $ phpize $ ./configure $ make
extensionのインストール
$ sudo make install
extensionの有効化
$ sudo vi /etc/php.ini extension=pcntl.so をextension付近に追記
導入確認
$ php -i | grep pcntl pcntl
遅いComposerのリポジトリを変更して早くする
Composer PHP repository laravel Bash
Laravelのプロジェクト作成でComposerが劇遅なので、 海外に向いているリポジトリを、日本の個人の方が運用をおこなっているリポジトリに向ける。
リポジトリの追加
少し古い記事だと、非SSLのリポジトリのため、インストール時にエラーが出るので、SSL対応したURLを利用。
$ composer config -g repos.packagist composer https://packagist.jp $ composer update
リポジトリの削除
$ composer config -g --unset repos.packagist
詳細
詳細は以下を参照 https://packagist.jp/