[Udemyの動画講座]:https://www.udemy.com/course/linuxlpic/?utm_source=bene-content-marketing&utm_campaign=normal&utm_content=story&utm_term=career&utm_medium=udemyads
[Linux入門 3-3]:https://qiita.com/hoglet/items/540afd7d7fb8ae368487
[Linux入門 3-5]:https://qiita.com/hoglet/items/d6f97403e3e90283e742
はじめに
Linux初学者である自分向け用の記事です。[Udemyの動画講座]を参考にしました。
僕の勉強法は動画を見る
→実際に動かしてみる
→問題演習
という流れです。
前回まで:[Linux入門 3-3]
3. LinuC 101 Ver .10.0(問題、テスト、演習)
ファイルの配置と検索
用語: find, locate, updated, whereis , which, type, /etc/updatedb.conf
find
ディレクトリ、ファイルを検索するコマンド
-name: 指定した文字列を含むファイルを検索
[root@localhost 4]# ls 1/
file1.txt file2.txt file3.txt file4.txt
[root@localhost 4]# find ./ -name file1.txt
./1/file1.txt
[root@localhost 4]# find / -name file1.txt
/home/test/le01/4/1/file1.txt
-type: ファイルのタイプで検索(f: ファイル、d: ディレクトリ、l: シンボリックリンク)
[root@localhost 4]# find ./ -type f
./1/file1.txt
./1/file2.txt
./1/file3.txt
./1/file4.txt
-exec コマンド
{} ¥; : 検索結果のファイルにコマンド実行
[root@localhost 4]# ls 1/
file1.txt file2.txt file3.txt file4.txt
[root@localhost 4]# find ./ -mtime +1 -type f
./1/file3.txt
./1/file4.txt
[root@localhost 4]# find ./ -mtime +1 -type f -exec rm {} \;
[root@localhost 4]# ls 1/
file1.txt file2.txt
which
指定したコマンドの存在するディレクトリの表示
[root@localhost 4]# which vi
/usr/bin/vi
locate
データベースを元にファイルを検索(updatedb
コマンドでデータベースを更新(/etc/updatedb.confにupdatedbの設定を記載))。find より高速。
mlocate
というライブラリをインストールする必要あり。
[root@localhost ~]# yum install mlocate
次にupdatedb
コマンドを実行する必要がある
[root@localhost ~]# updatedb
これで、locate
コマンドが使用可能になった
[root@localhost ~]# locate "*.txt"
/home/test/le01/01/test.txt
/home/test/le01/03/test_bk.txt
/home/test/le01/03/test_hard.txt
/home/test/le01/03/test_symbolic.txt
/home/test/le01/4/1/file1.txt
/home/test/le01/4/1/file2.txt
/usr/lib/firmware/TDA7706_OM_v2.5.1_boot.txt
...
whereis
指定したコマンドのバイナリ、ソースファイル、マニュアルの存在位置を表示するコマンド
[root@localhost ~]# whereis updatedb
updatedb: /usr/bin/updatedb /etc/updatedb.conf /usr/share/man/man8/updatedb.8.gz
type
コマンドの情報を表示する
[root@localhost 4]# type echo
echo はシェル組み込み関数です
[root@localhost 4]# type ls
ls は `ls --color=auto' のエイリアスです
[root@localhost 4]# type for
for はシェルの予約語です
代表的なファイルシステムに格納されているもの
/dev : ハードディスク、 DVD ROM などのデバイスファイル
/etc : システム、コマンドなどの設定ファイル
/lib : 共有ライブラリやモジュール、 /bin, /sbin にあるコマンドが利用するライブラリ
/opt : 追加パッケージや追加プログラム
/root : root ユーザのホームディレクトリ
/bin : 一般ユーザが実行できるシステムコマンド (ls, cat 等
/sbin : root ユーザの使用するシステムコマンド (reboot 等
/usr : ユーザが共有するコマンド
/usr/bin : 一般ユーザと root ユーザが使用する基本コマンド
/usr/sbin : root ユーザが使用する基本コマンド
/usr/lib : プログラムの共有ライブラリ
/usr/local : 個人で作成したコマンドなど
/usr/src : Linux のカーネルソースなどのソースコード
/media : DVD ROM などのリムーバブルメディアのマウントポイント
/mnt : 一時的にマウントするファイルシステムのマウントポイント
/proc : カーネル内部の情報にアクセスする
/tmp : 一時ファイルが配置され、すべてのユーザ が読み書きできる
/home : 各ユーザーが利用する専用のホームディレクトリ
/boot : 起動に必要なカーネルイメージ
/var : ログファイルなどの頻繁に書き込まれるファイル
/var/cache : 一時的なキャッシュファイル
/var/lock : アプリケーションを制御するためのロックファイル
/var/log : ログファイル
/var/run : システムの状態を示すファイル
/var/spool : 印刷待ちのデータ、予約されたジョブ
マウントポイントとは 新規ファイルシステム、ディレクトリー、またはファイルをアクセス可能にするディレクトリーまたはファイルのことです。
例えば、DVD ROM などの HW が接続された場合に、 OS の SW 上からアクセスするためにファイルとして認識する。これをマウントと言う。
To Be Continued...
[Linux入門 3-5] へ