Twitterに投稿 はてなブックマークに追加 Google Bookmarksに追加

目次 >> Q and A

Q and A

ここでは、主にLinuxを中心としたきわめて初歩的なものも含めたQ and Aを記述する。

目次

  1. tcshでのパスを追加するには?
  2. tcshで環境変数を追加するには?
  3. 行数をカウントするには?
  4. SELinuxを一時的に切るには?
  5. 恒久的にログイン・シェル(ログイン時のデフォルト・シェル)を変更するには
  6. 日本語が表示できない端末で、日本語が文字化けするので、英語でメッセージを表示したい
  7. ディレクトリの総容量を表示するには
  8. ハードディスクの総容量、空き容量などを表示させるには
  9. ディレクトリ、ファイルの所有者、グループを変更するには
  10. メモリの空き容量を表示させるには
  11. tarで圧縮・解凍
  12. 各種サーバの起動、停止、再起動
  13. GRUBで直接コマンドを打って起動するには?
  14. LinuxとWindowsのデュアルブート環境でWindowsで起動したときに時計がずれる
  15. NVIDIAのドライバをLinuxにインストールする
  16. compizが動かない!
  17. 画像を縦方向もしくは横方向に結合するには?

Q and A

tcshでのパスを追加するには?

/newpath/hogehogeを既存のパスに追加するには、

$ set path = (/newpath/hogehoge $path)

tcshで環境変数を追加するには?

環境変数HOGEにfooをセットするには下記のようにする。

$ setenv HOHE foo

また、

$ setenv

とだけ打つと、環境変数の一覧を表示できる。

行数をカウントするには?

パイプでwc -lをつける。

SELinuxを一時的に切るには?

サーバなどを設定するためにSELinuxを切りたい場合がある。例えば、CentOSではデフォルトで有効になっており、サーバ設定中に、SELinuxが原因でうまくいっていないのか、他の原因なのか判らなくなってしまうことがある。具体的にはApacheがDocumentRootが見つからないといって起動しなかったりする。その場合は、rootで

# setenforce 0

と打つ。こうすると、permissiveモードになり、本来弾くものも弾かなくなる。ただしログには記録される。逆に有効にするには、

# setenforce 1

と打つ。こうするとenforcingモードに切り替わる。
どのモードか確認するには

# getenforce

と打てばよい。結果がEnforcingであれば有効、Permissiveであれば無効である。

一時的にではなく常時無効にしたい場合は、/etc/selinux/configもしくは/etc/sysconfig/selinux内の

SELINUX=enforcing

SELINUX=disabled

とする。

恒久的にログイン・シェル(ログイン時のデフォルト・シェル)を変更するには

chsh (change shell)コマンドを使用する。 chshと打つと、後は対話的に変更できる。間違えた場合非常に危険なので、rootのシェルの変更はお勧めしない。利用可能なシェルの一覧は/etc/shellsに書かれている。なお、現在使用中のシェルを表示するにはecho $SHELLと打てばよい。

日本語が表示できない端末で、日本語が文字化けするので、英語でメッセージを表示したい

$ LANG=C

とコマンドを打つ

ディレクトリの総容量を表示するには

duコマンドで表示させることができるが、duと打っただけでは、配下の全ファイルを表示してしまう。

$ du -s *

とオプションをつけると、カレントディレクトリの各ディレクトリの総容量が表示される。K、M、Gなどで表示させたい場合はhオプションをつける。

$ du -hs *

ハードディスクの総容量、空き容量などを表示させるには

$ df

K、M、Gなどで表示させたい場合は

$ df -h

ディレクトリ、ファイルの所有者、グループを変更するには

filemaneのファイルのユーザーをsomeuserにグループをusersに変更するには、

$ chown someuser:users filename

ディレクトリdir以下のすべてのファイルのユーザーをsomeuserにグループをusersに変更するには、

$ chown -R someuser:users dir

メモリの空き容量を表示させるには

topコマンドで、CPU使用率、メモリの使用状況などを表示することができる。

$ top

メモリの空き容量だけであれば、freeコマンドでもよい。

$ free

-k -m -gの各オプションをつけると、それぞれkB、MB、GB単位で表示される。

$ free -m

tarで圧縮・解凍

Unixでは通常、ソースファイルはtarで固められている。また、古いログはtarを使って圧縮されていたりする。

解凍圧縮の両方で使用可能な主なオプションは下記のとおり。

f : ディスク上のファイルにアクセスする(テープデバイスではなく)。テープデバイスを使っていない限り必須。
v : 詳細を表示する
z : gzipで圧縮または解凍する
j : bz2で圧縮または解凍する

解凍

解凍はxオプションをつける

foo.tar.gzファイルを解凍するには、

$ tar zxvf foo.tar.gz

foo.tar.bz2ファイルを解凍するには、

$ tar jxvf foo.tar.bz2

圧縮

圧縮はcオプションをつける

fileをfoo.tar.gzファイルに圧縮するには、

$ tar zxvf foo.tar.gz file

fileをfoo.tar.bz2ファイルに圧縮するには、

$ tar jxvf foo.tar.bz2 file

fileをディレクトリに置き換えれば、ディレクトリが圧縮される。

各種サーバの起動、停止、再起動

ほとんどの場合、

# /etc/init.d/サーバ名 start
# /etc/init.d/サーバ名 stop
# /etc/init.d/サーバ名 restart

で可能。例えば、sshサーバを再起動したい場合は、/etc/init.d/sshd restartとなる。(注:sambaサーバを立ち上げる場合は、smbおよびnmbの両方を立ち上げる必要があるので注意。)

GRUBで直接コマンドを打って起動するには?

もし、Linuxパーティションを削除してしまって

grub > root (hd0,0)
grub > makeactive
grub > chainloader +1
grub > boot

LinuxとWindowsのデュアルブート環境でWindowsで起動したときに時計がずれる

/etc/sysconfig/clockを確認する。

"Asia/Tokyo"
UTC=false
ARC=false

UTC、ARCともfalseになっているかを確認する。"Asia/Tokyo"は所在地に合わせる。

NVIDIAのドライバをLinuxにインストールする

まず、X-Windowを終了する。Ctrl+Alt+F2でX-Windowを終了しても、自動的に復帰してしまう場合は、

$ sudo /etc/init.d/dgm stop

と打ち終了させる。次に、

$ sudo init 3

と打ち、

$ sudo sh NVIDIA-Linux-x86_64-177.80.pkg2.run

そしてインストールする。

compizが動かない!

openSUSE 11.3にGeForce 9800 GTXを組み合わせてNVIDIA製ドライバを入れたものの、Desktop Effectを有効にしようとすると、サポートされていない旨のエラーメッセージが出て、有効にできない。

/etc/X11/xorg.confの中の

Section "Device"
    Identifier     "Device[0]"
    Driver         "nvidia"
    VendorName     "NVidia"
    BoardName      "GeForce 9800 GTX"
EndSection

Section "Screen"
    Identifier     "Screen[0]"
    Device         "Device[0]"
    Monitor        "Monitor[0]"
    DefaultDepth    24
    SubSection     "Display"
        Depth       15
        Modes      "1280x1024"
    EndSubSection
    SubSection     "Display"
        Depth       16
        Modes      "1280x1024"
    EndSubSection
    SubSection     "Display"
        Depth       24
        Modes      "1280x1024"
    EndSubSection
    SubSection     "Display"
        Depth       8
        Modes      "1280x1024"
    EndSubSection
EndSection

Section "Extensions"
    Option         "Composite" "off"
EndSection

下記のように書き替えることによって、有効にすることができるようになった。

Section "Device"
    Identifier     "Device[0]"
    Driver         "nvidia"
    VendorName     "NVidia"
    BoardName      "GeForce 9800 GTX"
    Option         "AllowGLXWithComposite" "true"
EndSection

Section "Screen"
    Identifier     "Screen[0]"
    Device         "Device[0]"
    Monitor        "Monitor[0]"
    DefaultDepth    24
    Option         "AddARGBGLXVisuals" "True"
    SubSection     "Display"
        Depth       15
        Modes      "1280x1024"
    EndSubSection
    SubSection     "Display"
        Depth       16
        Modes      "1280x1024"
    EndSubSection
    SubSection     "Display"
        Depth       24
        Modes      "1280x1024"
    EndSubSection
    SubSection     "Display"
        Depth       8
        Modes      "1280x1024"
    EndSubSection
EndSection

Section "Extensions"
    Option         "Composite" "on"
EndSection

赤くなっている部分が追加、もしくは変更した部分である。

画像を縦方向もしくは横方向に結合するには?

ImageMgickを使う。

縦方向に結合するには、

$ convert -append img1.jpg img2.jpg output.jpg.

横に結合には

$ convert +append img1.jpg img2.jpg output.jpg

画像に数は2枚以上でも可能で、例えば3枚の場合は

$ convert +append img1.jpg img2.jpg img3.jpg output.jpg

となる。ここではJPEG画像を結合したが、ImageMagickが扱える画像ならなんでも可能である。


最終更新日


本文中のFC4はFedora ProjectのFedora Core 4を、FC5はFedora Core 5を、FC6はFedora Core 6をopenSUSEはNovellのSUSE Linux OSSを表します。Fedora7以降は、単にFedora7、Fedora8、Fedora9、Fedora10、Fedora11、Fedora12、Fedora13、Fedora14、Fedora15と表示しています。Ubuntuは、必要に応じて20.04、21.04のようにバージョン番号をつけて区別しています。

ここに登場するドメイン名やIPアドレスなどはフィクションです。実在の人物・団体等とは一切関係がありません。
実際に使用する際は、各自の環境に合わせて書き換えてください。
もし何か間違いなどありましたらこちらからご連絡ください
リンクに許可は不要です。
Copyright (C) 2021 Chikuma Engineering Co., Ltd. All Rights Reserved.