CentOsでコマンドを調べるプロになる
はじめに
どうやらくーばねてすをやっつけるにはLinuxさんと仲良くしないといけないらしく、Linuxさんの操作を調べたのだが、たくさんのコマンドを使わなくてはいけないのが分かった。全てのコマンドを記憶しておくことは無理なので、コマンド検索のプロを目指すことにした。くーばねてす倒す。
概要
コマンドの使い方を調べる
--helpオプションでコマンドのヘルプを検索
manコマンドでより詳しい説明を表示する。
コマンドのパスを探す
whichコマンドでコマンドのフルパスを表示する
日本語表記の仕方と英語表記の仕方
をまとめた
コマンドの使い方を調べる
■--helpオプションでコマンドのヘルプを検索
ほとんどのLinuxコマンドは-helpコマンドが使える。このオプションでコマンドのヘルプメッセージを表示することができる。
$ 調べたいコマンド --help
↓catコマンドを調べてみた例
$ cat --help
使用法: cat [オプション]... [ファイル]...
ファイル、または標準入力を連結し、標準出力に出力します。
-A, --show-all -vETと同じ
-b, --number-nonblank 空行を除いて行番号を付け加える。-n より優先される
-e -vEと同じ
-E, --show-ends 行の最後に $ を付け加える
-n, --number 全ての行に行番号を付け加える
-s, --squeeze-blank 連続した空行の出力を抑止する
-t -vTと同じ
-T, --show-tabs TAB文字を`^I'で表示
-u (無視)
-v, --show-nonprinting 非表示文字と`^'や`^'を付けて表示 (LFDとTABは除く)
--help この使い方を表示して終了する
--version バージョン情報を表示して終了する
ファイルの指定がなかったり, - であった場合, 標準入力から読み込みます.
例:
cat f - g 最初に f の中身を出力し、次に標準入力を出力します。
そして g の中身を出力します。
cat 標準入力を標準出力に複製します。
GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
cat の翻訳に関するバグは <http://translationproject.org/team/ja.html> に連絡してください。
完全な文書を参照する場合は info coreutils 'cat invocation' を実行してください。
始めて使うコマンドやうろ覚えコマンドは--helpコマンドで概要を確認するとよい。
使用方法
コマンドの概要
オプション一覧と意味
参考資料の紹介
がのっている
■manコマンドでより詳しい説明を表示する。
manコマンドを使うと更に細かいマニュアルが見れる。
$ man 調べたいコマンド
↓catコマンドを調べてみた例
CAT(1) User Commands CAT(1)
NAME
cat - concatenate files and print on the standard output
SYNOPSIS
cat [OPTION]... [FILE]...
DESCRIPTION
Concatenate FILE(s), or standard input, to standard output.
-A, --show-all
equivalent to -vET
-b, --number-nonblank
number nonempty output lines, overrides -n
略
AUTHOR
Written by Torbjorn Granlund and Richard M. Stallman.
COPYRIGHT
Copyright c 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
SEE ALSO
tac(1)
The full documentation for cat is maintained as a Texinfo manual. If the info and cat programs are properly installed at your site, the command
info coreutils 'cat invocation'
should give you access to the complete manual.
GNU coreutils 8.22
manコマンドを使うと自動的にlessコマンドを使ってマニュアル表示される。
lessコマンドと同じでスペースキーでスクロール、qで終了。
--helpより詳細な説明が表示される。本当は日本語表記で表したくて色々設定したりインストール
したけどうまくいかなかったのでman日本語表記計画はまた今度('_')
manの閲覧できる大体の内容は以下
・コマンド名と簡単な説明
・オプションと引数の指定
・コマンドの詳細説明
・オプション一覧と使用方法
・使い方例
・動作を変更するための変数について
・関連するファイルについて
・関連のあるコマンドについて
・不具合について
※manそんなに知りたくない!って覚えた。
■キーワードからコマンドを探す
コマンドがわからないけどあれやりたいって時が結構あるんじゃないでしょうか。
そんなときはやりたいキーワードからマニュアルを探すことができる。
$ man -k やりたいキーワード
↓マニュアルをキーワード検索
man -k copy
bcopy (3) - copy byte sequence
copy_file_range (2) - Copy a range of data from one file to another
copysign (3) - copy sign of a number
copysignf (3) - copy sign of a number
copysignl (3) - copy sign of a number
getutmp (3) - copy utmp structure to utmpx, and vice versa
getutmpx (3) - copy utmp structure to utmpx, and vice versa
memccpy (3) - copy memory area
memcpy (3) - copy memory area
man -k で気になったマニュアルをmanコマンドで確認するといい。
マニュアルの後ろの(1)などの数字はマニュアルの分割番号。
番号の意味
1 コマンド
2 システムコール(カーネルによって提供される機能)
3 ライブラリ関数(プログラムライブラリ内の関数)
4 デバイスファイル
5 ファイルの書式
6 ゲーム
7 その他
8 システム管理コマンド
コマンドのパスを探す
■whichコマンドでコマンドのフルパスを表示する
コマンドのパスを調べたい時はwhichコマンドを使う。
$ which オプション コマンド
↓catのフルパスを検索
$ which cat
/usr/bin/cat
whichコマンドはパスの中から見つかった最初のコマンドだけを表示するので、複数のコマンドが配置されているときは、-aオプションを付けることで全ての実行ファイルを検索できる。
$ which -a lsmod
/usr/sbin/lsmod
/sbin/lsmod
どういう時に使うのか
・シェルスクリプト開発時のパスが想定通り通っているか確認したい
・複数バージョンの同一コマンドが別ディレクトリに入っている場合、どれが使われるか確認したい
らしい!
日本語表記の仕方と英語表記の仕方
日本語表記でヘルプメッセージを表記させたい場合、
LANG=ja_JP.UTF-8
を追加する。
$ LANG=ja_JP.UTF-8 cat --help
↓また、英語で表示させたい場合
$ LANG=C cat --help
言語設定はほかのコマンドでも切り替えて指定できる。
頻繁にLANGの操作をする場合、環境変数を設定する。
まとめ
とりあえず--helpだけは忘れない!!!
man -kも使えそうだなって思った。
Discussion