2011/07/31

less

less
ファイルの内容表示

catコマンドは、telnetなど端末にテキストを表示します。
一方、lessコマンドもファイルの内容をテキスト表示しますが、表示を1ページごとに止めてくれます。ページの移動は、矢印キーなどを使用します。


$ less file1

<移動のコマンド>
space、d、page down  1ページ進める
↓  1行進める
↑  1行戻る
b  1ページ戻る

<特殊なコマンド>
v   環境によっては、編集用のエディタ(vi)が起動する

その他のキーはマニュアルで確認して下さい。
$ man less

2011/07/30

man

man
マニュアルの表示

コマンドの使い方がわからないときは、とりあえずmanコマンドで確認しましょう。
コマンドにはオプションの解説があります。
マニュアルの表示で、カーソルキーが使えます。使い方はlessコマンドと同じです。
最初は読みづらい解説です、使い方の例が少ないのですが、慣れるしかありません。


例1 lsコマンドのマニュアル表示
man ls


例2 lessコマンドのマニュアル表示
man less

2011/07/29

ディレクトリの特殊な表現、その2

ディレクトリの特殊な表現、その2

「~-」(チルダとハイフォン)は、直近のカレントディレクトリを表します。
2つのディレクトリを移動して作業するとき、現在のディレクトリと直近のディレクトリを扱えるので便利です。

例 /usrと/home/user(~)で作業する場合
[user@localhost usr]$ pwd             # 現在/usrにいます
/usr
[user@localhost usr]$ ls
X11R6  etc    include   lib      local  share  tmp
bin    games  kerberos  libexec  sbin   src
[user@localhost usr]$ cd ~            # /home/userに移動しました
[user@localhost ~]$ pwd
/home/user
[user@localhost ~]$ ls
proj  tmp
[user@localhost ~]$ ls ~-             # 移動前のディレクトリを見ています
X11R6  etc    include   lib      local  share  tmp
bin    games  kerberos  libexec  sbin   src
[user@localhost ~]$
[user@localhost ~]$ cd ~-             # 再び前のディレクトリ(/usr)に移動しました
[user@localhost usr]$ pwd
/usr
[user@localhost usr]$ ls
X11R6  etc    include   lib      local  share  tmp
bin    games  kerberos  libexec  sbin   src
[user@localhost usr]$ ls ~-           # /usrに移動する前のディレクトリは/home/userです
proj  tmp
[user@localhost usr]$

なお、lsコマンドなどを使わず、cdコマンドだけで作業するなら「-」(ハイフォン)だけでも直近のディレクトリへの移動は出来ます。
$ cd -

ディレクトリの特殊な表現

ディレクトリには、特殊な表現をするものがいくつかあります。

「.」 (ピリオド、もしくはドット)
「..」 (ピリオド、もしくはドット2個)
「~」 (チルダー、もしくはチルド)

「.」 (ピリオド、もしくはドット)は、現在のディレクトリをあらわします。
例 「.」 (ピリオド、もしくはドット)
$ pwd
/home/user/tmp
$ ls -l .
-rw-rw----  1 user user   25  7月 29 15:30 tmp.txt

「..」 (ピリオド、もしくはドット2個)は、現在のディレクトリの1つ上のディレクトリをあらわします。
$ pwd
/home/user/tmp
$ cd ..
$ pwd
/home/user
ディレクトリ/home/user/tmpから、1つ上のディレクトリ/home/userへ移動

「~」(チルダー)は、ユーザのホームディレクトリ/home/userをあらわします。
例 「~」(チルダー)を使ったディレクトリの指定
$ pwd
/home/user/tmp/dir1
$ cd ~/tmp
$ pwd
/home/user/tmp

なお、cdコマンドは、ディレクトリ指定がない場合、ホームディレクトリになります。
例 ホームディレクトリへの移動
$ pwd
/home/user/tmp
$ cd 
$ pwd
/home/user

ls

ls
ファイル、ディレクトリの表示

例1 ファイル、ディレクトリを表示
$ ls
現在いるディレクトリにあるファイル、ディレクトリを表示
lsコマンドでディレクトリの指定を省略した場合、現在のディレクトリを表示します。

例2 ファイル、ディレクトリを一覧表示
$ ls -la
現在のディレクトリのファイル、ディレクトリの一覧表示

例3 指定ディレクトリのファイル、ディレクトリを一覧表示
$ ls -la /home
「/home」ディレクトリのファイル、ディレクトリを一覧表示

<オプション>
-l 一覧表示
-a .(ドット)で始まるファイルも表示
.(ドット)で始まるファイルは、-aオプションを付けないと表示されません。

<ファイル名>
ファイル・ディレクトリには「*」「?」が使えます。


lsコマンドのその他のオプションについては、manコマンドで詳細を見てください。
$ man ls

2011/07/28

su

su
管理者ユーザへの切り替え

linuxユーザは、管理者ユーザ(root)と一般ユーザに分かれます。
通常作業するのは、一般ユーザですが、一部のコマンドは管理者ユーザでないと使えません。
管理者ユーザに切り替えるのがsuです。
$ su -
パスワード:
# 

管理者ユーザから一般ユーザに戻るときは、exitコマンドです。
# exit
$ 

もちろん一般ユーザ同士で切り替えるときにも使えます。
$ su - user
パスワード:
$ 

pwd

pwd
現在いるディレクトリの位置を表示


例 ディレクトリの位置を表示
$ pwd
/home/user
コマンドを実行したときにいる現在のディレクトリの位置を表示します。

linuxコマンドの実行には、現在どことディレクトリ上で作業しているのか常に意識している必要があります。同じコマンドを実行しても、ディレクトリが異なることで実行結果が変わってしまうことはよくあります。

2011/07/27

chdir

cd chdir
ディレクトリの移動

linuxは通常コマンドラインのインターフェイスで使用することが多い。このとき、コマンドを入力する作業を何処(何処のディレクトリ上)で実施しているのか、常に意識して作業する必要がある。
コマンドを実行する際にディレクトリの位置により動作が異なることがあるので注意が必要。
コマンドはcd でも chdirでも良い。

例1 ホームディレクトリに移動
$ cd
ホームディレクトリに移動(たとえばユーザuserが実行した場合/home/user)

例2 ホームディレクトリに移動
$ cd ~
ホームディレクトリに移動(例1と同じ結果)
linuxでは、「~」(チルダー)はホームディレクトリを表します。

例3 指定ディレクトリに移動
$ cd /home/user
ディレクトリ/home/userに移動
ディレクトリの最初に「/」を付けると絶対パス指定になります。

例4 下位のディレクトリに移動
$ cd  dir1
現在のディレクトリから、相対的に下位のディレクトリdir1に移動

ディレクトリの最初に「/」がないと相対パス指定になります。

2011/07/26

cat

cat
ファイルの内容表示

catは連結「catenate」の略。
本来は、ファイルを結合して出力するコマンドだが、一般的にはファイルのテキスト表示に使われることが多い。

例1 ファイルを結合して出力
$ cat file1 file2 > file3
ファイルfile1とファイルfile2を結合してファイルfile3を作成する。

例2 ファイルのテキスト表示
$ cat file1
ファイルfile1の内容を端末に表示する。

2011/07/25

env

env
環境変数の表示

linuxでは、ユーザがコマンドを実行するときの環境で、あらかじめ初期値を設定しています。その初期値を環境変数と呼んでいます。環境変数はユーザごとに設定することができます。また、後から追加することもできます。
現在設定されている環境変数の内容を表示するコマンドがenvです。
たとえば、ユーザのホームディレクトリのパスを知ることが出来ます。

例1
$ env
HOSTNAME=localhost.localdomain
TERM=xterm
SHELL=/bin/bash
HISTSIZE=1000
(以下省略)

環境変数の設定内容を1つ表示したいときは、echoコマンドのパラメータに「$」を付けて実行します。
例2
$ echo $HOME
/home/user

setコマンドでシェル変数を表示させるときも、環境変数は表示されます。

関連するコマンド
set

linux覚書

はじめまして。

開発作業をするにあたり、linuxのコマンドが必要になりましたが、メモを作成すると、PCごとになってしまうので、linuxのコマンドを1つづつブログに作成して行こうと考えています。

いつまで続くか予定はありませんが、なるべく長く続くようにしたいと考えています。

なお、linuxコマンドを実行するときは、なるべく一般ユーザでログインして動作確認するようにしましょう。
rootユーザでは、コマンドを間違って実行した場合にシステムに大きな影響を与える可能性があり、お勧めできません。