仕事と将来設計
Linuxの拡張子、なんてものはなかった。
昨日の記事でシェルスクリプトのファイルを拡張子削ってみても普通に使えた!っていう事象がありました。
完全にwindowsしか使ってこなかった身分としては「拡張子を変更するとファイルが開けなくなる可能性があります」っていう警告を出すくらい、ファイルと拡張子の関連性は高いものだと思ってました。ましてや拡張子を削るなんてなにもできないファイルじゃないか、と。
「Linux 拡張子」でググったら資料は出てくる出てくる。これ、割とLinux初心者が無意識にwindowsの常識を持ち込んでしまっていて、まず最初にびっくりするギャップなのかもしれないなー。
例えば、hoge.shというファイルは.shの拡張子がついているけど、'hoge.sh'っていうテキストファイルである可能性もある。ってこと。'hoge.sh'っていうのがファイル本体の名前。
そのファイルがなんなのか、明示化するためにあくまで規約として.shや.txt等をファイル名につけることはあっても、Linux・Unix系では拡張子という概念は存在しない、らしい。
これでwindows脳が困るのは以下のようなケースだけど、やり方はいくらでもあるっぽい。
Linuxはファイルの区別を拡張子で行わないので、そのファイルが一体どのようなファイルなのかはファイル名、拡張子からは判断できません。Linuxのファイルの種類を調べるには、fileコマンドを使用します。
構文としては「file ファイル名」と実行します。
ファイルの種類を調査する
[pakira@Dolphin du_test]$ file du_file
du_file: empty
↑空ファイルを調査します。[pakira@Dolphin pakira]$ file du_test/
du_test/: directory
↑ディレクトリを調査します。[pakira@Dolphin bin]$ file sleep
sleep: ELF 32-bit LSB executable, Intel 80386, version 1, for GNU/Linux 2.2.5, dynamically linked (uses shared libs), stripped
↑コマンドファイルを調査します。
引用元:
ファイルの種類を調べる:Linux最強Tips集
勉強になりました。
terminal起動時に毎回エラーメッセージがでる理由はドットファイルだった
前記事で.bashrcに任意のPATHを通せた!やったー!って書いてたんですけど、そもそも.bashrcにゴミコマンドを埋め込んでしまっていたせいでterminalの起動時に毎回
hoge: no such command 'foo'
って表示されてました。うざい。ここで、~/.bashrcをエディタで開いて、fooでgrepをかける。で、本来実行させたかったコマンド'piyo'に修正して保存。
terminalの起動時に~/.bashrcが読み込まれているってことを知りました。こーゆードットファイルって端末起動時に全部が読まれてるの?.profileとかは読まれてそうな雰囲気あるけど。わからないー。
bashのシェルスクリプトを書く
シェルスクリプト書いてみたけど実行するのにいちいちsh ./hoge.shとかするのがめんどくさいからコマンドっぽくしたかったので調べた。
シェルって言ってもsh,ksh,zshとかいろいろ種類があって、その中の1つがbash、らしい(聞いただけ。後で調べる)
とりあえず~/binをmkdirしておいて、~/.bashrcにそこへのPATHを通します。
参照:Ubuntu PATHを追加する | BTY備忘録
$echo $PATH
で home/yutechi/binが出てきた!PATH通った!
bashのシェルスクリプトを書いてみる。echoで"HelloWorld!"させるだけ。
で、実行するまえに権限の確認
$ls -l helloworld.sh -rw-rw-r-- 1 yutechi ほげほげ~
rw権(読み・書き)はあるけどx権(実行)がない。ので追加
$chmod +x helloworld.sh
で、権限の確認
$ls -l helloworld.sh -rwxrwxr-x 1 yutechi ほげほげ~
x権げっとしました。
PATHも通っているので、これで、どこのディレクトリにいてもhelloworld.shしたらechoされます。なんかスマートな感じする。
けど、.shじゃなくて、helloworldだけで動いてくれないのかしら。と思ったので、ファイル名の拡張子削ってみました。
そんなことが許されるのか!と思ったけどうまくいきました。なんで?(後で調べる)
Ubuntu14.04 設定リスト
Ubuntu14.04入れ直したのでこれからなんかいじったらいろいろメモする
- sl
sudo apt-get install sl
terminalでコマンドlsをタイポしたとき、SLのAAで癒してくれるやつ
- git
sudo apt-get install git
バージョン管理ツールのGit
sudo apt-get install flashplugin-installer
参照:UbuntuTips/Application/HowToInstallAdobeFlashPlayer - Ubuntu Japanese Wiki
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
参照:Ubuntu 12.04にOracle Java 7を簡単にインストールした。 - ブログ::=(メモ|落書き)帳,Ubuntu 12.04 LTSにOracle JDK7をインストールする - Starlight
- pythonとeasy_install
sudo apt-get install python-setuptools
easy_install twill
参照:twill でWebサイトをオートパイロット (+ easy_installのススメ) - 玉虫色に染まれ!
- Twitterクライアントtw
参照Ubuntuのターミナル(端末)で動くTwitterクライアント-tw- - Laboratory of Scarlet
- twを入れたいから入れたruby(+gem)
入れるならついでにRoR環境と思って。。
参照:Ruby on Rails 3.2 を Ubuntu にインストールする手順をかなり丁寧に説明してみました - Rails 雑感 - Ruby on Rails with OIAX
OS入れたら標準で最初から入ってたけど機能限定版らしいので解除
sudp apt-get install vim-nox
必要なのかわかんないけど仮想環境。気になっただけ、まだ入れてない。
参照:VirtualBoxの使い方,Downloads – Oracle VM VirtualBox
- mozc
参照:Ubuntu12.04 での Google日本語入力(mozc) の導入/設定 - わからん
- Backspaceキーでブラウザバックができるようにする
参照:ThinkPad with Ubuntu - backspace で戻る
- はてブ拡張
UbuntuのterminalからVimに入ったら戻れなくなって泣きたい
タイトルの通り。
Ubuntuのterminalからテキストエディタ開きたいなぁと思って
Vim使ってみればいいんじゃね?って思ってterminalで$> Vi したらVimに入れた。
だけど:qで戻れないしEscキーでも戻れないし泣きたくなって今。
Ctrl+C で終了しようとしたらそれっぽいコメントでてきたんだけど
Type : quit < Enter > to exit Vim
Enter押しても認識されなくてもっと泣きたい。期待したのに。。
解決したら記事にする。
戻ったああああ
たったこれだけのことに30分以上費やした無駄。泣ける。
ありがとうございます、Special Thanks to Vimの使い方
Escキーは、モードを変更するだけ。
Escの後に:q! で終了コマンド入力。