UNIX ( Linux FreeBSD )のシェルコマンドに関する各種メモ書き

crontabを使わずにシェルコマンドを定期的に連続実行する

● crontabを使わずにシェルコマンドを定期的に連続実行する

例 : 定期的 10分(600秒) にあるサイトにアクセスします

#/bin/bash

function exec_curl(){
    TARGET_URL=$1
    curl ${TARGET_URL}
}

# テスト用
while true;
do
    exec_curl http://xxx.yyy.zzz/
    echo
    echo
	date
    sleep 600
done
No.1129
04/17 10:00

edit

zsh 便利な設定

・Mac でも Linux でも一発でクリップボードにコピーする zsh の alias

http://mollifier.hatenablog.com/entry/20100317/p1

・bashからzshに変更した時に設定したこと。

https://gist.github.com/shuuheyhey/5845703

No.1126
04/14 10:27

edit

unixマシンの情報を見るコマンド

# cat /proc/cpuinfo                  # CPU model
# cat /proc/meminfo                  # Hardware memory
# grep MemTotal /proc/meminfo        # Display the physical memory
# watch -n1 'cat /proc/interrupts'   # Watch changeable interrupts continuously
# free -m                            # Used and free memory (-m for MB)
# cat /proc/devices                  # Configured devices
# lspci -tv                          # Show PCI devices
# lsusb -tv                          # Show USB devices
# lshal                              # Show a list of all devices with their properties
# dmidecode                          # Show DMI/SMBIOS: hw info from the BIOS

引用 : http://cb.vu/unixtoolbox.xhtml

No.1100
03/08 12:36

edit

unixのユーザーが現在所属しているグループを確認する。また所属グループを変更する

● 現在の所属グループを確認する

id -a

uid=1002(ftpuser) gid=1002(ftpuser) groups=1002(ftpuser),1000(www)

所属グループ【ftpuser】【www】であることがわかります

● 一時的に現在の所属グループ(プライマリグループ)を変更する

newgrp グループ名

● ユーザーのデフォルトのプライマリグループを設定する

root ユーザでないと実行できません
例 ) ユーザ「ftpuser」のプライマリグループを「www」に設定する。(セカンダリグループは削除されます)

usermod -g www ftpuser

● ユーザーのセカンダリグループを設定する

(指定しないセカンダリグループは削除されます。所属したいグループ全てをカンマで区切って指定します)

usermod -G mygroup1 , mygroup2  ftpuser
No.1099
03/07 22:51

edit

tarコマンドでファイルやディレクトリを圧縮 / 解凍 する

● tarコマンドによる圧縮( tar.gzファイルを作成する )

tar -zcvf xxxxx.tar.gz directory_name

● tarコマンドによる解凍( tar.gzファイルを解凍する )

tar -zxvf xxxxx.tar.gz

上記コマンドで解凍すると、カレントディレクトリ(現在いるディレクトリ)下に解凍されます。
特定のディレクトリ下に回答するには -C オプションを使用します。

tar -zxvf xxxxx.tar.gz  -C /var/test
No.1096
03/06 09:51

edit

unixコマンドで x日前のファイルを削除する

● x日前のファイルを調べる

testディレクトリ以下の 3日前より古いファイルを検索するコマンドは

find ./test/* -mtime +3 

とします。

● x日前のファイルを削除する

testディレクトリ以下の 3日前より古いファイルを削除するコマンドは

find ./test/* -mtime +3 -exec rm -f {} \; 

とします。

No.1073
12/31 13:45

edit

ファイル

unixであるディレクトリ以下のすべてのファイルを再帰的に権限変更(chmod)する

unixであるディレクトリ以下のすべてのファイルを再帰的に権限変更(chmod)するには以下のようにパイプを使って流し込みます

カレントディレクトリ以下のすべてのファイルの権限を(0666)にする

find ./ -type f -print0 | xargs -0 chmod 0666

カレントディレクトリ以下のすべてのディレクトリの権限を(0777)にする

find ./ -type d -print0 | xargs -0 chmod 0777

カレントディレクトリ以下のすべての( .log )ファイルの権限を(0666)にする

find . -name "*.log" -type f -print0  | xargs -0 chmod 0666

カレントディレクトリ以下のすべての .sqlite3 ファイルの権限を(0666)にする

find . -name "*.sqlite3" -type f -print0  | xargs -0 chmod 0666

find に `-print0xargsに-0` をつけることによってスペースを含むファイルも処理できるようにしています

・カレントディレクトリ以下のすべての templates_c ディレクトリの権限を(0777)にする

find ./ -name templates_c -type d -print | xargs chmod 0777

・カレントディレクトリ以下のすべての cache ディレクトリの権限を(0777)にする

find ./ -name cache -type d -print | xargs chmod 0777
No.1064
12/31 13:44

edit

ファイル

Linux , FreeBSD のマシンのOS種別とバージョンを調べる

UNIX系OS(Linux, FreeBSD)のOSバージョンを確認するコマンドは以下のものがあります。

● unameコマンド

uname -a

結果例

>Linux desktop 2.6.32-28-generic #55-Ubuntu SMP Mon Jan 10 23:42:43 UTC 2011 x86_64 GNU/Linux

● /etc/redhat-release を見る

cat /etc/redhat-release

結果例

>CentOS Linux release 7.2.1511 (Core)

● /proc/version

cat /proc/version

結果例

>Linux version 2.6.18-400.1.1.el5PAE (mockbuild@builder17.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-55)) #1 SMP Thu Dec 18 01:38:34 EST 2014

No.938
03/22 10:37

edit

テキストファイルから重複行を削除するコマンド【uniq】

テキストファイルから重複行を削除するには

エクセル等で作業する方が多いみたいですが、unixコマンド一発です。

uniq ファイル名 

重複行が削除されたテキストが画面上に表示されます。

結果をファイルに保存したい場合は

uniq ファイル名  > 保存するファイル名

でOK。

No.739
07/29 13:55

edit

ファイル

ログイン状況を表示する who last lastlogin

ログイン状況を確認するコマンド群

現在ログインしている全てのユーザーを見る

who

ログイン履歴、ホスト名を表示

last -a

最終ログイン時刻、ホスト名を表示

lastlog


No.639
11/19 14:12

edit

ユーザー

一時的にroot(または別ユーザー)権限でコマンドを実行する sudo の設定

sudo は一時的に別のユーザーになってコマンドを実行するコマンドです。

このsudoを設定するコマンドがvisudoです。

【hoge】 ユーザーが コマンド【/usr/bin/testcommand】をパスワードなしで実行できるようにするには

sudo の設定

(root) ユーザーになって

visudo

を実行します。(エディタ vi が起動します。)

一番下に

hoge ALL=(ALL) NOPASSWD: /usr/bin/testcommand

と記述します。これだけで設定完了です。

なお全てのコマンドを sudo で実行できるようにするには

hoge ALL=(ALL) NOPASSWD: ALL

と記述します。

コマンドの実行

実行は(hoge)ユーザーになって

sudo /usr/bin/testcommand

とするとrootユーザーが上記コマンドを実行したことになります。

apacheユーザーなど 非シェルログインユーザーがsudoを実行できるようにするには

visudo を実行して

# Defaults    requiretty

と「Defaults requiretty」の先頭にシャープをつけてコメントアウトします。

するとシェルにログインできないユーザーでもsudoを実行することが出来ます。

( PHPから sudo をする場合にはこの設定を行った後下記リンクのように設定します )

参考:http://hogehack.blog80.fc2.com/blog-entry-36.html

No.631
11/19 14:14

edit

ユーザー

diff(ファイル比較コマンド)の結果を色付けして見やすくする 【colordiff】

colordiffというdiff(ファイル比較コマンド)の結果に色を付けるコマンドがあり、なかなか便利なので導入してみます。

インストールは yumコマンド一発

yum install colordiff

■ 使い方1( diffコマンドの代わりとして使用する )

colordiff ファイル1 ファイル2


■ 使い方2 ( パイプとして使用する )

cat diff_result.txt | colordiff

■ 色の設定の仕方

色の設定ファイルは /etc/colordiffrc というファイルなのでこれをホームディレクトリの .colordiffrc というファイルにコピーして使用する

cp /etc/colordiffrc ~/.colordiffrc

中身はこんな感じ

banner=no
plain=black
newtext=darkblue
oldtext=darkred
diffstuff=darkgreen
cvsstuff=darkwhite

No.529
04/19 12:07

edit

ファイル

あいまい検索コマンド【agrep】を使用する。

曖昧検索を行うコマンド「agrep」 というのがあるが、標準ではインストールされていない事がある。

のでまず「yum」コマンドを使ってインストール(Fedora Coreの場合)

yum install agrep

インストールが完了したら

whereis agrep

で確認。

■ agrepの使い方(普通の検索)

agrep wordtest /usr/share/dict/words

単語「wordtest」が /usr/share/dict/words にあるかどうか検索する。(普通の検索)

■ agrepの使い方(あいまい検索)

agrep -1 wordtest /usr/share/dict/words

単語「wordtest」に1文字分の間違いを許容した範囲で検索する。(あいまい検索)

■ agrepの使い方(あいまい検索 Best-match)

agrep -i -y -B wordtest /usr/share/dict/words

オプション -B をつけると一番近いと思われる単語を検索する

No.449
04/19 12:13

edit

ファイル

複数のファイルのファイル名(拡張子)を一括で変更する。

UNIXでのファイル名変更コマンドは

mv file1.cgi file1.txt

(file1.cgi を file1.txt という名前に変更する)

ですが、これを一括でしようと思って

mv *.cgi *.txt

としてもエラーとなります。

そこで for文 を使って

for fname in *.cgi; do
mv $fname ${fname%.cgi}.txt;
done

とします

参考:http://www.atmarkit.co.jp/flinux/rensai/linuxtips/248chngext.html

No.418
04/19 12:10

edit

ファイル

SSHを通して外部サーバーから安全にCVS使う

・1. 環境変数 CVS_RSHを設定する。

bashの場合

export CVS_RSH=ssh

tcshの場合

setenv CVS_RSH ssh

・2. CVSコマンドを実行する

cvs -d hogehoge@myhost.com:/home/hogehoge/CVSROOT checkout projectname

ユーザー名:hogehoge

ホスト名:myhost.com

CVSディレクトリ:/home/hogehoge/CVSROOT

プロジェクト名:projectname

No.381
04/11 10:40

edit

シェル

バージョン管理コマンドCVSを使う

たまに質問されるので簡単なメモ。

■ まずCVSを使うにあたっての初期化を行う。

・1. CVSリポジトリ用のディレクトリを作成し、そのディレクトリを指定して初期化する。

  • d オプションで指定するパスはフルパスで書くこと。(例:~/CVSROOT)
mkdir ~/CVSROOT
cvs -d ~/CVSROOT init

・2. CVSの対象外ファイルを指定する。

例えばMacOSXの.DS_Storeファイルなど管理しなくていいファイルの一覧を cvsignore というファイルに列挙しておくとCVSはそれらを対象外とする。

cd ~/CVSROOT/CVSROOT/
vi cvsignore
(viエディタで対象外ファイルを書き込み、保存する)

・3. 環境変数CVSROOTを設定する。

bashの場合

export CVSROOT=~/CVSROOT
export CVS_RSH=ssh

tcshの場合

setenv CVSROOT ~/CVSROOT
setenv CVS_RSH ssh

・4. 次にCVSにプロジェクトを登録する。

登録したいファイルやディレクトリが置いてあるディレクトリに移動して、

cd /path_to_your_projectdir/
cvs import -m "message" myproject hogehoge start

を実行する。

【"message"】メッセージ(なんでもよい。好きなメッセージを書いておく)

【myproject】プロジェクト名(プロジェクトごとに好きな名前をつける)

【hogehoge】ベンダータグ(省略不可、自分のユーザー名を付けるのが慣例)

【start】リリースタグ(省略不可、start とするのが慣例)

■ CVSを使ってファイルの更新、追加を行う。

・CVSチェックアウトを行う。チェックアウトとはローカル環境にファイルを取得することをいう。

常にチェックアウトしてから作業開始というルールでいけば問題は少ない。

作業用のディレクトリにcdしてからチェックアウトを行う。

cd /path_to_your_workdir/
cvs checkout myproject

・ファイルを更新する場合は特にCVSコマンドは必要ない。

(コミット時に変更があったファイルは自動的に更新される)

・ファイルやディレクトリを新規追加する

cvs -d ~/CVSROOT newfile.html

■ 更新、追加作業が完了したら最後にコミットする

・CVSコミットを行う

cvs commit -m "Message"

"Message":メッセージを書く。行ったコマンドを書いておくと良い。 add testfile.txt 等

No.380
04/19 12:12

edit


ユーザーを追加する

■1.「testuser」というユーザーを追加するには次のコマンドを使用する

(シェル(ssh telnet)でのログインをさせない場合)

useradd -s /sbin/nologin testuser

(シェル(ssh telnet)でのログインをさせる場合)

useradd testuser

■2. 次に作成した「testuser」ユーザーのパスワードを設定する

passwd testuser

No.353
04/19 12:15

edit

ユーザー

あるディレクトリ以下の合計ファイル数を再帰的に知るunixコマンド

あるディレクトリ以下の合計ファイル数を知るには

合計ファイル数:

ls -laR | grep -c '^-'

合計ディレクトリ数:

ls -laR | egrep -c '^d.+[^.]$'

でいけます。

なおあるディレクトリ以下に作成するファイル数は 5000以内 にとどめておいたほうがでしょう。

関連:

ファイル・ディレクトリ容量やディスクの空き容量を取得する

http://logic.moo.jp/memo.php/archive/97/

No.336
05/08 15:48

edit

ファイル

形態素解析ソフト「mecab」を使ってみる

mecabのダウンロード

http://mecab.sourceforge.jp/ から

「mecab-0.93.tar」(mecab本体)

「mecab-ipadic-2.7.0-20060707.tar」(辞書ファイル)

をダウンロードする。

mecabのインストール

tar xvf mecab-0.93.tar
cd mecab-0.93
./configure
make
make install

辞書のインストール(./configure --with-charset=utf8 で文字コードをutf8にしている)

tar xvf mecab-ipadic-2.7.0-20060707.tar
cd mecab-ipadic-2.7.0-20060707.tar
./configure --with-charset=utf8
make
make install

使い方

mecab

でmecabを起動する。

後は解析したい日本語を入力するだけ。

日本語の形態素解析を行ってみます。
日本語     名詞,一般,*,*,*,*,日本語,ニホンゴ,ニホンゴ
の       助詞,連体化,*,*,*,*,の,ノ,ノ
形態素     名詞,一般,*,*,*,*,形態素,ケイタイソ,ケイタイソ
解析      名詞,サ変接続,*,*,*,*,解析,カイセキ,カイセキ
を       助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
行っ      動詞,自立,*,*,五段・ワ行促音便,連用タ接続,行う,オコナッ,オコナッ
て       助詞,接続助詞,*,*,*,*,て,テ,テ
み       動詞,非自立,*,*,一段,連用形,みる,ミ,ミ
ます      助動詞,*,*,*,特殊・マス,基本形,ます,マス,マス
。       記号,句点,*,*,*,*,。,。,。

コマンドラインからmecabを使うには do_mecab というシェルスクリプトを作成する。

/usr/local/bin/do_mecabというファイルを下記の内容で作成する

#! /bin/sh
echo $*|/usr/local/bin/mecab

作成後実行権限を与える

chmod 755 do_mecab

これで

do_mecab 日本語の形態素解析を行ってみます。

で実行できる。

MeCab使い方:http://mecab.sourceforge.jp/#usage-tools

No.322
04/11 10:41

edit

popコマンドを使ったメール受信方法

まずコマンドラインからtelnetでサーバ(servername.com)のポート110番と通信する。

telnet servername.com 110

ここからpopコマンドを使ってメールを受信する

USER hoge
  1. OK Password required.と表示されるので続けてパスワードを入力する
PASS password
  1. OK logged in.と表示されればログイン成功。

メールサーバ上に保存されているメールの総数とサイズを知るには

STAT
  1. OK 512 99312506

と返されてきた場合【512通】【99312506バイト(99M)】メールサーバに保存されている。

各メールごとのサイズを知るには

LIST

1 702

2 702

3 1207

……(以下続く)なお番号は古い順

メールを受信するには(番号15のメールを受信する)

RETR 15
No.311
04/19 12:16

edit

メール

crontab の書き方

● unixマシンで定期的自動実行( cron )を行う

crontab -e

でcronの設定ファイルを編集する。 (上記コマンドでviが立ち上がるのでviの操作に慣れておく必要がある)

設定ファイルに記述する内容は

45 04 * * * /var/test/cron.autoexec.sh

という風に記述する。
上記記述では毎日4時45分に【/var/test/cron.autoexec.sh】というファイルを実行する。
当然【/var/test/cron.autoexec.sh】には実行権限が必要。
左側の数字は
」「 」「 」 「」 「曜日」を表してて、表記方法は下記の例を参照
例;

30  * * * *				毎自 30分に実行
43 23 * * *				毎日 23:43に実行
12 05 * * *				毎日 05:12に実行
0  17 * * *				毎日 17:00に実行
0  17 * * 1             毎週月曜の 17:00に実行
0,10 17 * * 0,2,3         毎週日,火,水曜の 17:00と 17:10に実行
0-10 17 1 * *             毎月 1日の 17:00から17:10まで 1分毎に実行
0 0 1,15 * 1              毎月 1日と 15日と 月曜日の 0:00に実行
42 4 1 * *              毎月 1日の 4:42分に実行
0 21 * * 1-6            月曜日から土曜まで 21:00に実行
0,10,20,30,40,50 * * * * 10分おきに実行
*/10 * * * *        10分おきに実行
* 1 * * *         1:00から 1:59まで 1分おきに実行
0 1 * * *         1:00に実行
0 */1 * * *        毎時 0分に 1時間おきに実行
0 * * * *         毎時 0分に 1時間おきに実行
2 8-20/3 * * *      8:02,11:02,14:02,17:02,20:02に実行
30 5 1,15 * *       1日と 15日の 5:30に実行

● crontab設定の確認

crontab -l

なお実行結果は `/var/log/cron` に記録されていきますので以下のコマンドで確認します

cat /var/log/cron
No.306
03/21 18:32

edit

kakasi に辞書を追加する。

1. 最新版の kakasi をダウンロード( http://kakasi.namazu.org/ )し

辞書の元ファイル(kakasidict)をアップロードしておく.

(アップロードファイル)kakasidict
(アップロード先)/usr/local/share/kakasi/

2. 「kakasi_dictionary_artist.txt(例)」というファイルに追記していく

例:(最初にひらがな、次に半角スペース、次に漢字)

文字コード【EUC】改行コード【LF】

よみ 漢字

3. ディレクトリ移動と辞書ファイルのバックアップ

cd /usr/local/share/kakasi/ (ディレクトリ移動)
cp kanwadict  kanwadict.backup(辞書ファイルのバックアップ)

4. 辞書追加コマンド(mkkanwa)を実行

「mkkanwa 辞書ファイル 元ファイル 追加ファイル」

/usr/local/bin/mkkanwa  kanwadict  kakasidict  kakasi_dictionary_artist.txt

No.295
04/21 10:27

edit


viでよく使うキーコマンド(キーボードショートカット)

■ モードの移動

([esc]を押すとコマンドモードへ)

([a]または[i]を押すとファイル編集モードへ)

[esc] <-> [a]または[i]

■ ファイル関係(コマンドモードから実行する)

[:q!]  :ファイルを保存せずに終了
[:wq] :ファイルを保存して終了

■ カーソル移動(コマンドモードから実行する)

[1G] :ファイルの先頭に移動
[G]   :ファイルの末尾に移動
[ctrl+f] :1ページ下へ移動
[ctrl+b] :1ページ上へ移動
[/] :下に向かって文字列検索
[?] :上に向かって文字列検索
No.290
08/08 14:23

edit


文字コードを変換するコマンド【iconv】

■1. まず 変換可能な文字コードを調べる

iconv -l

(ここで表示された文字コードのみ変換対象となるので事前に確認する)

■2. 次にコマンドを実行する

(EUC-JPで書かれたファイルin.txt)を(SHIFT_JISのout.txt)に変換する

iconv -f EUC-JP -t SHIFT_JIS < in.txt > out.txt

オプション

  • f:fromcode 変換元の文字コードを指定する
  • t:tocode  変換先の文字コードを指定する

No.282
03/30 15:38

edit


kakasi を使ってみる

kakasiをインストール(管理者権限のユーザで行う)

http://kakasi.namazu.org/stable/kakasi-2.3.4.tar.gz をダウンロード
tar zxvf kakasi-2.3.4.tar.gz
cd kakasi-2.3.4
./configure
make
make install

kakasiを使ってみる

kakasi -w とすると入力受付モードでkakasiが起動する。
何か適当な文章を入力してみる
(例)
長い長い文章入力のテスト隣の客はよく柿食う客だ
長い 長い 文章 入力 の テスト 隣 の 客 はよく 柿 食う 客 だ

kakasiをコマンドライン一行で使ってみる

echo 隣の客はよく柿食う客だ | kakasi -Ja
tonariのkyakuはよくkakikuukyakuだ
(-Ja 漢字(J)をローマ字(a)に変換)

変換のオプションは

a: ascii

j: jisroman

g: graphic

k: kana (j,k defined in jisx0201)

E: kigou

K: katakana

H: hiragana

J: kanji(E,K,H,J defined in jisx0208)

例 -KH とするとカタカナをひらがなに変換する

echo カタカナニュウリョクノテストッス | kakasi -KH
(出力結果)かたかなにゅうりょくのてすとっす

-w オプションを付けるとわかち書きモードになる

echo 細野晴臣 | kakasi -w | kakasi -Ja
(出力結果)hosono haruomi
No.278
08/08 14:26

edit


alias を使ってコマンドの別名を設定する

例えば一般的に

【ll】というコマンドは【ls -l】のエイリアスであることが多い。

この設定をするのが

alias

とすると現在設定されているエイリアスの一覧を表示する。

エイリアスを設定するには

alias ll='ls -la --color=tty'

とする(bashの場合)

これで【ll】が【ls -la --color=tty】に変更される。

No.277
04/19 12:18

edit

ファイル

バックアップコマンド rsync

外部サーバにバックアップをとるコマンド rsync

あらかじめ外部サーバに ssh でパスワード無しで接続できるよう設定しておく必要がある。

(SSHをパスワード無しで接続する↓)

http://logic.moo.jp/memo.php/archive/250

rsync コマンド例

rsync -avzL --delete -e ssh  /home/mydata  user@hostname.com:/var/www/backup

バックアップ元サーバの【/home/mydata】以下を全て

バックアップ先サーバ(user@hostname.com)の【/var/www/backup】以下に

バックアップを作成する。

  • a    :全てのデータをコピーする
  • v    :転送状態を表示する
  • z    :圧縮して転送します
  • L    :(シンボリックリンクを解決して)リンク先のファイルを転送する
    • delete :バックアップ元で削除されたファイルはバックアップ先でも削除する
  • e ssh  :sshを使って転送する

(参考)

http://www.infoscience.co.jp/technical/rsync/rsync.html

No.252
11/30 17:39

edit

ファイル

No.208
04/21 10:27

edit


システムの連続起動時間を表示する uptime

システムの連続起動時間を表示するには下記のコマンドを実行する

uptime
# 現在時刻 稼働時間	ログインユーザー数 ロードアベレージ
12:20:24 up 16:59,  2 users,  load average: 0.00, 0.02, 0.00
No.204
04/19 12:26

edit


UNIXマシンの再起動コマンド

今すぐUNIXマシンを再起動するには

shutdown -r now

No.203
04/19 12:31

edit


自動起動サービスのチェックと停止 chkconfig

自動起動サービス一覧の表示

chkconfig -list

自動起動から削除

chkconfig サービス名 off

自動起動に追加

chkconfig サービス名 on

No.201
05/10 19:31

edit

プロセス

No.199
04/14 15:46

edit


プロセス管理コマンドでマシンの使用メモリを知る free ps pstree top

free

で手っ取り早く見れる。

詳しく見る場合は

ps aux 

で全てのプロセスを表示する

【SIZE】仮想分も含めた使用サイズ(Kバイト)

【RSS】実メモリ上の使用サイズ(Kバイト)

らしい。いわゆるメモリの使用量を見るには【RSS】か。

なおプロセスID【PID】は99999 まで行くと戻る(使用可能な最小値に?)という事らしい。

top

は 2秒毎にプロセス状態を調べる。

メモリ総使用量が上に表示されるのでここをチェックする。

ほっておくとずっと起動し続けているので【q】を押して終了する。

参考:

http://www.math.kobe-u.ac.jp/~kodama/tips-free-memory.html

http://www.itmedia.co.jp/help/tips/linux/l0158.html


No.138
08/08 14:27

edit

メモリ

ユーザー管理コマンド

gpasswd:(グループにパスワードを設定する)

groupadd:新規グループの作成

groupdel:グループの削除

groupmod:グループ情報の変更

passwd:ユーザーパスワードの変更

useradd:ユーザーアカウントの新規作成

userdel:ユーザーアカウントの削除

usermod:ユーザーアカウント情報の変更


ユーザの所属するグループを見るには

id  (ユーザ名)
No.106
04/19 12:35

edit

ユーザー

ファイル・ディレクトリ容量やディスクの空き容量を取得する【du】【df】

■ ファイルやディレクトリ容量を表示させるには

du -h ディレクトリ名
du -h -s ディレクトリ名(指定したディレクトリのみ表示)
du -h -a  ディレクトリ名(一覧表示)

容量の大きいディレクトリを発見するにはルートディレクトリから grep で

# ギガバイト以上のディレクトリを表示
du -h | grep [0-9]G
# 100Mバイト以上のディレクトリを表示
du -h | grep [0-9][0-9][0-9]M

とするのもいいかもしれません

■ ちなみにディスク全体のの残り容量を表示するコマンドは

df -hT

です。

■ ディスク容量の残りが少なくなってきたときにチェックするとよいディレクトリ

/home
/usr
/var/lib/mysql
/var/lib/pgsql
/var/spool/mail
/root/Maildir

等です。

No.97
08/18 09:27

edit

ファイル

unixのシェル( sh bash )の便利な設定(1文字ショートカット)

● lsコマンドを短縮する

unixシェルで一番よく使うコマンドといえば

ls -la

だと思います。(人によりけりですが。) これを短縮して

l [Enter]

で実行できると便利なので以下のように設定します。

ホームディレクトリ内の .bash_profile または .bashrc に記述

# alias
alias ll='ls -la'
alias  l='ls -laF'
alias  c='cd'
alias  h='history'
alias  g='grep'
alias hg='history | grep '

# Mac  
alias C='| pbcopy'
# Linux
alias C='| xsel --input --clipboard'

● プロンプトに現在のパス名、ユーザー名を常に表示させる

またシェルのプロンプトに 「現在のディレクトリパス名」「ユーザー名」を表示させると便利なので以下のように設定します。

ホームディレクトリ内の .bash_profile または .bashrc に記述

# prompt
PS1='[$USER@\H $PWD]$ '

● Unixのシェルにパスを追加

PATH="$PATH":/usr/local/hogehoge  ←追加

とするとパス「/usr/local/hogehoge」を追加できます。

● bashのヒストリ記憶サイズを変更する

export HISTSIZE        =50000
export HISTFILESIZE=50000

● 同じ履歴を何個も残さない

export HISTCONTROL=ignoredups

● コマンドの前にスペースを入れると履歴に残さない

export HISTCONTROL=ignorespace

● また起動時のシェルを bash に変更するには

whereis bash

で bash のパスを調べて、( 例: /usr/local/bin/bash )

chsh -s /usr/local/bin/bash

とします。

No.95
04/18 22:42

edit

シェル

ImageMagick コマンドの使い方

convert (1つのファイルに対して操作したいとき)

mogrify(複数のファイルに対して操作したいとき)

# in.jpg を jpeg 画質80 の out.jpg に変換する
convert -quality 80 in.png out.jpg

No.91
08/12 10:12

edit


MACアドレスを取得する

ifconfig で確認する
arp -a

No.87
01/23 14:50

edit


smtp, popプロトコルによるメール送信、受信

●SMTPサーバへ接続してメールを送信する

SMTP(メール送信サーバ)への接続はtelnetを使用して下記のように入力する。

telnet your.host.name.jp 25

接続されたら次のように入力する

HELO hoge@test.test.com
MAIL FROM:hoge@test.test.com
RCPT TO:mail@test.test.com
DATA
mail honbun
.

終了するには次のコマンドを入力する

QUIT

SMTP Authentication を使ったメール送信

まず SMTP Authentication用文字列を生成する

ユーザー名:testuser

パスワード:password

の時シェルから以下のように入力

perl -MMIME::Base64 -e 'print encode_base64("testuser?0testuser?0password");'

生成された文字列

dGVzdHVzZXIAdGVzdHVzZXIAcGFzc3dvcmQ=

をコピーしておく。

telnet your.host.name.jp 587

でsmtpへ接続して

EHLO localhost
AUTH PLAIN dGVzdHVzZXIAdGVzdHVzZXIAcGFzc3dvcmQ=
235 2.0.0 OK Authenticated

と返れば成功。以下のコマンドは同じ

MAIL FROM:hoge@test.test.com
RCPT TO:mail@test.test.com
DATA
mail honbun
.

●POP3サーバへ接続してメールを受信する

POP3 サーバへの接続(メールの受信)

USER ユーザー名
PASS パスワード
LIST (※メール一覧を表示)
RETR xxx ( xxx番目のメールを表示 )
QUIT

POP Before SMTP の確認

POP Before SMTP の許可IPアドレスを見るには

SMTPサーバにシェルログインして root ユーザーから

makemap -u hash /etc/mail/popauth.db

とする

No.54
04/11 15:04

edit

メール

Fedoraパッケージ管理コマンド「yum」

■パッケージをインストール

yum install パッケージ名

■パッケージの更新の確認

yum check-update

■パッケージの更新

yum update [ パッケージ名 ]

■パッケージの削除

yum remove [ パッケージ名 ]

■パッケージの検索

yum search [キーワード]

■パッケージの情報を表示

yum list [ オプション または パッケージ名 ](概要)
yum info [ オプション または パッケージ名 ](詳細表示)
オプション
available	インストール可能なパッケージの情報を一覧表示する。
installed	システムにインストールされているパッケージの情報を一覧表示する。
recent	最近追加されたパッケージの情報を一覧表示する。
updates	更新可能なパッケージの情報を一覧表示する。
No.52
04/19 12:21

edit

HTTPクライアントコマンド wget

■ wgetコマンド

wget -r -nc -l 5 -A htm,html,shtml,php,cgi  -nd -nH http://www.yahoo.co.jp/

[ オプション ]

  • r 再帰回収
  • nc 既にダウンロードしたファイルをスキップ
  • l 10 最大10階層まで下に潜る
  • A html,cgi 取得したいファイルの拡張子をカンマで区切って記述する
  • nd ディレクトリを作らない、すべてをカレントディレクトリにダウンロードする
  • nH ドメイン名のところのディレクトリを作らない
No.49
04/19 12:22

edit

findによる再帰検索

※カレントディレクトリ以下の .htmlファイルを再帰的に【test】で検索するには

 find . | grep .html$ | xargs grep -l 'test'

と記述します。

No.43
03/15 16:04

edit

ファイル

No.33
11/19 14:12

edit