読者です 読者をやめる 読者になる 読者になる

Just as a Learner

  さまざまなことを学習していくサイトです

Atomを使用するにあたって

これまでまともにエディタを使ったことのない(せいぜい文章入力程度)ど素人のメモなのでご容赦のほど。

参考図書はわかりやすかったが、160ページ以降は読んでいない(理解不能のため)。

キーバインドの設定にあたって

  • metaキーがoptionキーなのだが打ちにくいので、macのシステム環境設定で、CAPSキーとの配置を変更

覚えておくべきキーバインド(カーソル移動については既に記銘済)

  • cmd-shift-p:コマンドパレット
  • ctrl-opt(元CAPS)-cmd-l:リロード(メモリ解放のため)
  • cmd-a:全体を選択
  • cmd-/:コメントアウト
  • shift-cmd-d:行を複製する
  • cmd-f:検索する
  • cmd-g:次検索
  • shift-cmd-g:左方向へ検索移動
  • cmd-k up:上下に分割して上にフォーカス(upがdownなら下にフォーカス)
  • cmd-k cmd-n:次のペインにフォーカス(nがpなら前のペイン)
  • ctrl-cmd-m:かっこ内を選択
  • ctrl-m:対応する括弧へと移動

導入したパッケージ

  • emacs-plus:現在無効設定。Emacsについても修行中
  • vim-mode-plus:現在無効設定。Vimについても修行中(Vim-tutor修了)
  • atom-beauty
  • atom-html-preview
  • emmet
  • highlight-selected
  • japanese-menu
  • language-markdown
  • markdown-writer
  • script
  • show-ideographic-space
  • file-icons
  • pigments
  • minimap
  • color-picker

感想

いろいろ便利なエディタだが、Vimに比べると動作が遅い(当たり前か…)。 Windowsにインストールしてある秀丸も使いこなしたい(なんと購入したのは25年前以上!!!どれだけ怠惰なんだあ?!)

参考図書 1. 『Atom実践入門』大竹智也著

UNIX/Linux [System,Editor]

システム

  • terminal プロンプトが表示され、ユーザーがコマンドをタイプ
    • shell コマンドの実行をカーネルにわたす
      • kernel コマンドを実行
        • shell terminalにプロンプトを表示
          • terminal

shell コマンドラインタプリタ

  • File System

    • / root
    • /sbin システム管理コマンド
    • /usr/sbin システム管理コマンド
    • /bin 基本コマンド
    • /usr/bin 基本コマンド
    • /dev プログラムから各種デバイスを扱うためのデバイスファイル
    • /etc ここのシステムに固有の様々な設定ファイル
    • /usr/lib ライブラリファイル
    • /usr/local ユーザが独自にインストールしたソフトウェア
    • /usr/share プログラムが使用する、システムに依存しないデータファイルやドキュメント、オンラインマニュアル
    • /tmp 一時ファイル
    • /var キャッシュデータ、ログファイルなど、日常的に変更されるファイル
    • macOS独自の主なディレクトリ
    • /Users ユーザーのホームディレクトリ
    • /System/Library macOS独自の機能拡張などのライブラリファイル
    • /Library macOS独自の機能拡張などのライブラリファイル
    • /Applications macOS用GUIアプリケーション
  • ルートパーティション

  • 外部ディスクのパーティション
    • /Volumes/ボリューム名

vim

コマンドモード

:q vimを終了
:w 保存
:wq 保存して終了
:q バッファ内容を破棄して終了
:q! バッファ内容を破棄して強制終了
:r 指定したファイルをカーソル位置に読み込む
:e! 編集内容を破棄してファイルを再度読み込む
ESC コマンドモード

h 左へ1文字移動(回数指定可)
j 下へ1行移動(回数指定可)
k 上へ1行移動(回数指定可)
l 右へ1文字移動(回数指定可)
w カーソルを次の単語の先頭に移動(回数指定可)
W カーソルを次の単語の先頭に移動(句読点を無視する)
e 現在カーソルがある単語の末尾に移動
E 現在カーソルがある単語の末尾に移動(句読点を無視する)
b 現在カーソルがある単語の先頭に移動
B 現在カーソルがある単語の先頭に移動(句読点を無視する)
^ 行頭へ移動
$ 行末へ移動
G 文書末へ移動(行番号指定可)
gg 文書頭へ移動

x カーソル位置の1文字削除(回数指定可)
X カーソル位置の前の文字を削除
dd カーソル位置の1行削除(回数指定可)
d[カーソル移動コマンド] カーソル移動コマンド組み合わせて使う削除コマンド
D カーソル位置から行末まで削除
:.,$d 現在行から行末までを削除
:5,7d 5行目から7行目までを削除
:g/正規表現/d 正規表現パターンに一致する行を削除

yy 1行コピー
nyy n行コピー
y[カーソル移動コマンド] 現在位置からカーソルの移動先までの範囲をバッファに格納
p カーソルの文字の次または次の行にペースト
P カーソルの文字の前または前の行にペースト
u カット、ペーストを1回取り消し
f文字 現在行のカーソルより後ろにある指定した文字に移動
F文字 現在行のカーソルより前にある指定した文字に移動

r 1文字置き換える
S 現在カーソルのある行全体を置き換える

/ 文字列の検索
? ファイルの先頭に向かって文字列を検索
n 下方向への再検索
N 上方向への再検索

:ns/text1/text2 n行目の最初のtext1をtext2に置換して終了
:ns/text1/text2/g n行目のすべてのtext1をtext2に置換して終了
:%s/text1/text2/g ファイル全体の検索語句を置換する
:%s/text1/text2/gc 置換のたびに確認を求める
:.,$s/text1/text2/g 現在行からファイルの最後までを対象に置換
:1,.s/text1/text2/g 最初の行から現在行までを対象に置換
:g/正規表現/s/text1/text2/g 正規表現に一致する行のtext1をtext2に置換

インサートモード

i カーソル位置に文字を入力
a カーソルの右側に文字を入力
I 現在行の先頭に文字を入力
A 現在行の末尾に文字を入力
o 現在行の下に行を挿入して文字を入力
O 現在行の上に行を挿入して文字を入力

ビジュアルモード

v 文字単位の選択が可能なビジュアルモード
V 行単位の選択が可能なビジュアルモード
Ctrl+v 矩形の範囲が選択可能なビジュアルブロックモード
d 選択範囲を削除する
e 選択範囲を削除し、インサートモードに移行する
p バッファの内容をカーソル位置に挿入する
y 選択範囲をバッファに格納する
u 選択範囲をすべて小文字にする
U 選択範囲をすべて大文字にする
J 選択範囲を1行にまとめる


参考文献

  1. 『これから学ぶmacOSターミナル』大津真著
  2. 『入門者のLinux』奈佐原顕郎著
  3. 『Linux標準教科書(Ver.2.0.0)』LPI-JAPAN著
  4. 『UNIXの教科書 基礎編』Hewlett Packard Enterprise著
  5. 『UNIXの教科書 応用編』同上

UNIX/Linux command

表現

  • 引数
    • コマンドに渡すなんらかの値のこと
  • オプション
  • 引数の中で、コマンドの動作を変更する指令のようなもの
  • ハイフンに続いてアルファベット人文字で一つのオプションを指定する形式

gzip –version

gzip -V

  • パス

    • 絶対パス:ルートディレクトリからたどってパスを表現する
    • 相対パス:カレントディレクトリを起点に、ディレクトリをたどる
  • ワイルドカード

    • *:シェルの場合、0文字以上の任意の文字列とマッチする
    • ?:任意の1文字とマッチする
    • [ ]:かっこ内で指定した文字の並びの中の任意の1文字とマッチする
  • ブレース展開

基本コマンド

uname

OSの情報を表示する

uname -m

uname -mn

cal

date

exit あるいは Ctrl+D

echo (Linux)

文字列を画面に表示する

echo $SHELL

ls (Linux)

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

ls -F ファイルとディレクトリを区別して表示する

ls -a 隠しファイルを表示する

ls -l 詳細情報を表示する

ls -lh ファイルのサイズを単位付きで表示する

ls -dlh ディレクトリ自体の詳細情報を表示する

オプション 説明
-a 前述
-A …以外のすべてのファイルを表示する
-d 前述
-F 前述
-G ファイルやディレクトリを色分けして表示する
-h 前述
-l 前述
-r 逆順に表示する
-S サイズ順にソートして表示する
-t 最終更新順にソートして表示する
-s サイズを表示する
-k -sオプションと同時に指定するとサイズをkバイトで表示する

コマンドラインで複数行を入力

  • 引数を改行で区切って入力する場合は、改行したい位置で**をタイプする

cd (Linux)

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

pwd (Linus)

カレントディレクトリの絶対パスを表示する

cat (Linux)

ファイルの中身を表示する

  • -nオプションで行番号表示

history

過去に実行したコマンドの一覧を表示する

Ctrl+P(↑) , Ctrl+N(↓)

過去に実行したコマンドを呼び出す

Ctrl+R

過去に実行したコマンドを検索する(インクリメンタルサーチ)

tab

入力補完機能

[^]

かっこ内の任意の1文字とマッチしない否定

{,,,}

ブレース展開;シェルがそれらの文字列をそのまま展開する


ファイル操作コマンド

cp (Linux)

ファイルをコピーする

  • -rオプション ディレクトリを丸ごとコピーする
  • -iオプションで上書き確認

mv (Linux)

ファイルを移動する。ファイル名を変更する。

  • -i上書き確認

ln (Linux)

リンクを作成する

  • -sオプションを指定するとシンボリックリンク
  • リンク元のパス指定は、リンク先のファイルから相対的に指定

mkdir (Linux)

ディレクトリを作成する

  • -pオプションで途中のディレクトリを作成

rmdir (Linux)

ディレクトリを削除する

rm (Linux)

ファイルを削除する

  • -i削除確認
  • -rオプションでディレクトリ以下すべて削除
  • -fオプションで確認なしに削除

xattr

拡張属性を操作する

dot_clean .

カレントディレクトリ以下の._ファイル名を削除

open (Mac)

GUIアプリでファイルを開く

less (Linux)

テキストファイルをページ単位で表示する

キー 説明
return 1行進む
space 次のページを表示する
B 一つ前のページを表示する
Y 1行戻る
D 半ページ進む
W 半ページ戻る
R 画面を再描画
Ctrl+G 現在の表示位置を表示する
G 先頭行に移動
行番号G 指定した行に移動する
shift+G 最後の行に移動
H ヘルプを表示する
/ 文字列を検索する
q 終了

ファイルの先頭部分を表示する

  • -nオプションで表示させる行数指定

tail

ファイルの最後の部分を表示する

  • -nオプションで表示させる行数指定

man (Linux)

マニュアルを表示する

キー 説明
return 1行進む
space 次のページを表示する
B 一つ前のページを表示する
Y 1行戻る
D 半ページ進む
W 半ページ戻る
R 画面を再描画
Ctrl+G 現在の表示位置を表示する
G 先頭行に移動
行番号G 指定した行に移動する
shift+G 最後の行に移動
H ヘルプを表示する
/ 文字列を検索する

apropos

コマンドを検索する


リダイレクションとパイプ

標準入出力

リダイレクトやパイプで切り替えられるような入出力

  • 標準入力 stdin 初期状態:キーボード
  • 標準出力 stdout 初期状態;ターミナル画面
  • 標準エラー出力 stderr 初期状態:ターミナル画面

リダイレクション

標準入力、標準出力、標準エラー出力をファイルに切り替える

出力リダイレクト

コマンド > ファイルのパス

すでに存在するファイルにリダイレクトすると内容が上書きされる

追加のリダイレクション

コマンド >> ファイルのパス

入力リダイレクト

コマンド < ファイルのパス

標準出力と標準入力を同じファイルにリダイレクトしない
  • そのファイルが空になる

エラー出力

例)ls text 2> text2 :エラー出力をリダイレクト

例)ls text > text2 2>&1 :標準出力とエラー出力をリダイレクト
2> :標準出力の切り替え
>& :標準出力と標準エラー出力の切り替え

パイプで複数のコマンドを組み合わせる

コマンドの標準出力を別のコマンドの標準入力につないで、複数のコマンドを組み合わせることができる。

tee

データを標準出力とファイルに書き出す

フィルタコマンド

パイプで組み合わせて使うことを前提にしたシンプルなコマンド。s フィルタコマンドは標準入力からデータを読み込み、標準出力に結果を出力する。

コマンド 主な機能
wc 文字数、単語数、行数を数える
head ファイルの先頭部分を表示する
tail ファイルの最後の部分を表示する
sort ファイルの行をソートする
uniq 隣接する重複行を削除する
tr 文字を置換する、削除する。標準入力からしか入力を受け付けない。=処理したいファイルのパスを引数に取ることはできない。
grep 指定した文字列を含む行を取り出す
sort
  • sort オプション ファイルのパス
    • オプション:-k 最初のフィールド番号,最後のフィールド番号
    • オプション:-t 区切り文字を指定
    • オプション:-n 数値の順に並べる
    • オプション:-r 数値の逆順に並べる
uniq

uniq -c:隣接する重複回数を表示する

tr
  • tr -d:指定した文字を削除する
grep

grep オプション 検索条件(正規表現) 指定ファイル -c:マッチした行数を表示する
-i:英文字と小文字の区別をしない
-n:行番号を表示する
-v:マッチしなかった行を表示する
-x:行全体とマッチする行のみを表示する

正規表現

記号 説明
^ 行の始まり
$ 行の終わり
. 任意の一文字
* 直前の文字の0回以上の繰り返し
[ ] 文字の並び内のいずれかの文字
[^] 文字の並び以外の文字
\b 単語の区切り
< 単語の始まり
> 単語の終わり
\w すべての英数文字
\W 英数文字以外
  • *:直前の文字(あるいは直前の正規表現)の0回以上の繰り返し
  • .*:0文字以上の任意の文字列。*がシェルによって展開されないように引数を必ずダブルクォーテーションで囲む

ファイルの検索コマンド

find

ファイルを検索する

find パス -name ファイル名

-exec コマンド {} \;

検索結果を別のコマンドに渡す-execオプション

xargs [オプション] コマンド

指定したコマンドの引数を標準入力から受け取る


参考文献

  1. 『これから学ぶmacOSターミナル』大津真著
  2. 『入門者のLinux』奈佐原顕郎著
  3. 『Linux標準教科書(Ver.2.0.0)』LPI-JAPAN著
  4. 『UNIXの教科書 基礎編』Hewlett Packard Enterprise著
  5. 『UNIXの教科書 応用編』同上

Ubuntu 16.04 LTS インストールと初期設定(一般の人用つまり自分用メモ)

インストールや初期設定については、公式ページや他のブログなどで詳細が説明されているが、自分なりの方法があるので、いつ再インストールし直してもいいように、プライベートHTMLとして残しておく。

 

LTS版のisoファイルを入手する。
入手先:

GettingUbuntu - Community Help Wiki


ダウンロードしたisoファイルのMD5SUMを確認してからブータブルメディア作成(DVDよりもUSBのほうがインストールにかかる時間を短縮できる)。

First open a terminal and go to the correct directory to check a downloaded iso file:

$ cd Downloads

Linux is case sensitive so "Downloads" is NOT "downloads".

Then run the following command from within the download directory.

$ md5sum ubuntu-11.10-dvd-i386.iso

 

 

HowToMD5SUM - Community Help Wiki

ハッシュタグを以下のURLで確認。

UbuntuHashes - Community Help Wiki

 

ブータブルメディアからのインストール終了後、再起動。

 

Remove guest session

To remove guest login :

  1. sudo sh -c 'printf "[SeatDefaults]\nallow-guest=false\n" > /etc/lightdm/lightdm.conf.d/50-no-guest.conf'

  2. This will create a new file in /etc/lightdm/lightdm.conf.d

  3. To get back guest login again remove 50-no-guest.conf

 

askubuntu.com


システム設定からソフトウェアとアップデートを選択してダウンロード元などを設定する。


ソフトウェアの更新を起動させ実行。
ソフトウェアの更新は以下のコマンドでも可能。

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get dist-upgrade

 

 

再インストールや他のOSからの乗り換えの場合、これまで使ってきたアカウントのパスワードを早期に移植すると楽なので、初期段階で、KeepassX(Keepass2)をインストールする。KeepassX(Keepass2)は、Windows/MacOs/Android/iOs/Linuxすべてで無料利用できて、デスクトップのみの利用ならば、他のアプリのようにアカウント登録やクラウド保存しなくても使えるのでセキュリティ上かなり安全といえる。

$ sudo apt-get install keepassx
$ sudo apt-get update
$ sudo apt-get upgrade
$ keepassx

 

gufwをインストールする。
clamTkをインストールする。

$ sudo apt-get install [package]
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get dist-upgrade

なるべく早い段階でgufwとclamtkを起動してセキュリティを高める。
Synaptic Package Manager
Gdeb

[ディレクトリ名を日本語から英語に変更する]

$ env LANGUAGE=C LC_MESSAGES=C xdg-user-dirs-gtk-update

「Don't ask me this again」をチェック→「Update Names」をクリック
https://forums.ubuntulinux.jp/viewtopic.php?id=12701

 

 

これはなるべく早い段階で行ったほうがよい。その次に、CtrlキーとCAPSキーの入れ替えをtweak-tool(GNOME)で行う。これとUnity Tweak Toolで早期にカスタマイズしておくとのちのちの作業がはかどる。これはUbuntu ソフトウェアセンターで入手できる。(たぶん、apt-getでもできると思う。)

ただ、プリインストールされているUbuntu Software Centerは使い勝手が悪いので、変なやり方ではあるが、次の方法がのちのち便利だ。
プリインストールされているUbuntu Software Centerを用いて、古いバージョンのUbuntu ソフトウェアセンターをインストールしたほうがよい。こちらに切り替えて使う。後者の場合、他のプリインストールされているアプリの削除や、新しくインストール*1したいアプリのアドオン入手などを行うのが非常に簡単にできるからだ。

不要なパッケージを削除する手順

$ sudo apt-get remove [package]
$ sudo apt-get autoremove
$ sudo apt-get purge [package]
$ sudo apt-get clean
$ sudo apt-get autoclean

http://qiita.com/white_aspara25/items/723ae4ebf0bfefe2115c

 

 

Ubuntu-CleanerBleachBitも入手・実行する。
BleachBitはroot権限で実行すること。

$ sudo add-apt-repository ppa:gerardpuig/ppa
$ sudo apt-get update && sudo apt-get install ubuntu-cleaner

BleachBitはUbuntu Software Centerで入手するほうが簡単。

*1:なお、時間節約のためには、なるべく端末からapt-getなどで入手するほうがよい。

LYXの日本語版ヘルプが本日発行されましたよ!

 あれはそう、もう30年近く前になるでしょうか、同級生に「”てふ”ってさぁ◎▲※☆……(わたしには理解不能)」という話を聞かされたことがありました。同じ国に住んで同じ日本語を話していても言葉が通じないことってたくさんありますね(遠い目)。その頃のわたしはといえば「ATOK」を「あとっく」だとばかり思い込んでいましたからね。その同級生はわたしを哀れな小動物を見るような目つきで「”えいとっく”って読むんだよ」と教えてくれました。はー、いい人だったなあ。

 

 さて、そんなわたしですが、一念発起して「LaTex」に挑戦!

 と、意気込んでみたものの、ウェブ上ではむずかしい説明ばかり(親切丁寧だけどあと英語版とかー)で、困っていました。日本語の説明もあるんですが、「猿にはわからない」とかいうの多くて(あはは)……そんなおり、今日LyX | LyX – 文書プロセッサを開いてみたら、ヘルプページに2017年1月30日発行の日本語版ヘルプを発見しました。

 

 LYXプロジェクトチーム様に大感謝です!!!