Learning to Code

プログラミング勉強記録

よく使うUnixコマンド

・よく使うコマンドライン

Windows10のノートPCにUbuntu 16.04をデュアルブートして以来、メイン使いはUbuntuのほうになっている。 ほぼGUIで操作可能とはいえ、ターミナルでしか出来ないと思われる操作もあり、コマンドラインに慣れるにはまだ時間がかかりそう。

Ruby on Railsチュートリアルを進める開発環境はCloud9を使っているが、ここでもコマンドラインを使う必要が出てくる。 今まで使って便利だと思ったコマンドをまとめてみる。

  • sudo(コマンド)管理者権限でコマンドを実施
  • pwd現在の選択しているディレクトリを表示
  • cd (移動先のディレクトリ名)ディレクトリの移動
  • touch (作成するファイル名)新規ファイル作成
  • mv (移動元)(移動先)ファイルの移動
  • find (検索するディレクトリのパス)(オプション)(検索条件)ファイルを探す
  • grep (検索したい文字列) -rl (検索するディレクトリのパス)特定の文字列が含まれるファイルを一覧表示
  • nautilus (表示したいディレクトリもしくはファイル)指定したディレクトリもしくはファイルの表示

このサイトは英語だけど全く知識のない初心者向けにはめっちゃいい記事。
「こういうのが知りたかった!」というポイントをおさえている。 www.vikingcodeschool.com

・sudo 使い方

ターミナルからコマンドを実行しようとすると、”not permitted”的なエラーが出ることがある。
nanoで設定ファイルを編集しようとした時などにありがち。
そこでコマンドの前にsudoをつけると実行できるようになる。
sudoって何の略?と思っていたが、”super user do”という意味らしい(真偽は不明)。 便利だが、逆に考えればsudoでコマンドを実行するとどんなことでも実行されてしまうので、
自分のやろうとしていることに自信がない場合は乱用しないほうがいいかもしれない。

・find 使い方

findについては色々なオプションがある(らしい)が、とりあえずよく使っているのは以下。 ./でカレントディレクトリを指定、-name "*.css" で検索するファイルの名前を指定する。 ファイル名が分からない場合はワイルドカード(*)を使い、拡張子を指定する。 拡張子も分からないが名前の一部は分かる、というような時は、-name "*foo*"という形で検索も出来る。

grep 使い方

アプリ作成を進めるうちに、どのメソッドをどのファイルで定義したか分からなくなってしまう。 特に出現回数が少ないものほどそうなりがちで、開発が進むほど手動で検索するのは難しくなる。 そこでgrep
-rlというオプションは-r、-lという別のオプションがくっついたもの。

-r: 指定したディレクトリの中のファイルを検索する(サブディレクトリを含む) -l: 検索する文字列があるファイルの名前だけを表示する

-rだけでも検索できるが、その場合は文字列の含まれるファイル名と、
ファイル内で文字列の含まれる該当箇所も一緒に表示される。 名前と場所だけ分かればいい場合は-rlのほうが見やすいとは思う。

nautilus 使い方

例えばnautilus .と打ち込むと現在のディレクトリがポップアップで表示される。 ただしUbuntu16.04での話なので、環境が変わると違うかもしれません。 ファイル名を指定することも出来るが、ファイル自体は開かれない。
ファイルの保存されているディレクトリが開くという形。



この記事は今後使えるコマンドが増えてきたら更新していきたい。