なに
株式会社Ancarでは、週に1度Linux勉強会を催しています。これまでプログラム書くことに興味あって、それメインでやってきたこともあり、Linuxの基礎的な知識が抜け落ちており..勉強しています。そういうこともあって、勉強会の内容は初心者向けです。
今回は「ファイル操作」をテーマに勉強会を行ったので、ファイル操作について、特に自分にとって勉強になった箇所を取り上げたいと思います。
ファイル操作
特殊なディレクトリ記号
パス指定を容易にするために、特殊なディレクトリ記号が用意されています。
普段から、 /
や .
、 ..
などは頻繁に利用しています。
特に勉強になったのは ~-
や ~ユーザー名
のオプションです。これは日頃全く活用できていませんでした。
ディレクトリの移動
# 絶対指定で移動する
$ cd /home/onukichi/qiita/test1/
$ pwd
/home/onukichi/qiita/test1
# ホームディレクトリに移動する。 [cd ~] でも同じ
$ cd
$ pwd
/home/onukichi
# 直前のディレクトリに移動する。 これめちゃくちゃ便利だ、なんで使ってなかったんだ。
# [cd ~-] でも同じ
# cd - のときは移動先ディレクトリの表示がある
$ cd -
/home/onukichi/qiita/test1
$ pwd
/home/onukichi/qiita/test1
# 指定ユーザー(onukichi)のホームディレクトリに移動する
$ cd ~onukichi
$ pwd
/home/onukichi
ファイル内容を表示する
普段、何気なくファイルの内容を表示する目的で cat
を使用していましたが、オプションつけることで色々できるんですね..。
$ cat test1
I'm Onukichi.
$ cat test2
I'm Kid.
#ファイルの連結もできる。ええ、そんなことできるのか..使ったことなかった
# test1とtest2をファイル連結してtest3を作る
$ cat test1 test2 > test3
# test3の内容を表示する
$ cat test3
I'm Onukichi.
I'm Kid.
# 「-nオプション」で行番号付きで表示する
$ cat -n test3
1 I'm Onukichi.
2 I'm Kid.
ファイルの移動と名前変更をする
mv
コマンドも頻繁に利用していましたが、移動とともにファイル名変更できたり、複数ファイルを移動できるのが便利だなと思いました。
$ ls
test1 test2 test3
# 1個のファイルを qiita ディレクトリに移動、まあこれは基本
$ mv test1 ../../qiita/
# うん、ちゃんと移動されてる
$ ls /home/onukichi/qiita/
test1
# 移動とともに名前を変更できる。これは知らなかった..
$ mv test2 ../../qiita/test2-1
# 移動して名前変更されてるかを確認。
$ ls /home/onukichi/qiita/
test1 test2-1
# 複数のファイルを移動、これもめっちゃ便利だ..!
$ mv test1 test2-1 ../../qiita/text
まとめ
取り上げたコマンド自体は日頃から頻繁に利用しているものでしたが、オプションを指定したりすることで、もっと便利にファイル操作ができることを学びました。
これ以外のコマンドも全くオプション使えていないので、意識的に活用していきたいと思います。