RSS

月別アーカイブ: 10月 2016

sudo でパスワードを省略するには

sudo visudo を実行して sudoers に NOPASSWD 句を追加する。下にサンプルを示す。

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) NOPASSWD: ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

特定ユーザに対してsudoパスワードを省略する場合

次のように”user”に対してパスワード入力を免除できる。

user ALL=NOPASSWD: ALL

 
コメントする

投稿者: : 2016/10/25 投稿先 Linux

 

Ubuntu: apt でインストールできるパッケージ

次のコマンドを実行すると、apt でインストールできるパッケージの候補を表示できる。$1 はパッケージ名の一部である。

apt-cache search $1

(例) apt-cache search mysql

インストールされたパッケージの一覧は

dpkg -l

で表示できる。使われていないパッケージは

apt autoremove

で削除できる。

 

 

 

 
コメントする

投稿者: : 2016/10/24 投稿先 Linux

 

Perl: インストールされている Perl モジュール一覧を表示する。

つぎのスクリプトを実行すると、そのマシンにインストールされている Perl モジュール一覧を表示する。

find `perl -e ‘print “@INC”‘` -name ‘*.pm’ -print

 

 

 
コメントする

投稿者: : 2016/10/21 投稿先 Perl

 

Windows から画像をまとめて Linux へ転送したとき、紛れ込んだ Thumbs.db を削除するには

Windows では画像ファイルの置いてあるフォルダに隠しファイル thumbs.db というサムネイルのキャッシュを保存するファイルが作られる。

このフォルダごと Linux へ FTP 転送などを行うと、この隠しファイルが紛れ込んでしまう。次の ruby スクリプトは Linux に転送された Windows の画像フォルダを再帰的に検索して Windows の隠しファイルを削除する。

#  ディレクトリに含まれるすべての Desktop.ini, Thumbs.db を削除

def deleteKs(path)
  if FileTest.directory?(path) then  # ディレクトリかどうかを判別
    Dir.foreach(path) do |file|
      next if file == '.' or file == '..'  # 上位ディレクトリと自身を対象から外す
      deleteKs(path.sub(/\/+$/,"") + "/" + file)
    end
  else
    name = File.basename(path)
    if name == 'Desktop.ini' or name == 'Thumbs.db' then
      puts "deleting .. " + path
      File.delete(path)
    end
  end
end

# main
if ARGV.size > 0 then
  if FileTest.exists?(ARGV[0]) then
    deleteKs(ARGV[0])
    puts 'Done.'
  else
    puts ARGV[0] + ' does not exists.'
  end
else
  puts 'Usage: deleteKasu dir'
end
 
コメントする

投稿者: : 2016/10/20 投稿先 Linux, Ruby

 

CPU の温度を確認するには (Linux)

夏場など冷房のない部屋にサーバを置いておくと、内部の温度が上がり熱暴走したり故障の原因になる。CPU の温度に問題ないかを表示するには次のコマンドを実行する。

cat /sys/class/thermal/thermal_zone0/temp

(CentOS 6 で確認)

 
コメントする

投稿者: : 2016/10/20 投稿先 Linux

 

環境変数 PATH の内容を見やすく表示する

次の Perl スクリプトは、環境変数 PATH の内容を見やすく表示する。

#!/usr/bin/perl

$_ = $ENV{"PATH"};
@paths = split /:/;

foreach (@paths) {
  print "$_\n";
}

実行例

/usr/local/bin
/bin
/usr/bin
/usr/local/sbin
/usr/sbin
/sbin
 
コメントする

投稿者: : 2016/10/20 投稿先 Linux, Perl

 

iconv を使って Shift JIS ファイルを UTF-8 に変換するには

Windows では文字コードとして Shift JIS が使われているが、Linux では UTF-8 が標準なので日本語の文字列は文字化けしてしまう。これは iconv コマンドを使って文字コードを変換することにより避けることができる。

(例) iconv -f sjis -t utf8 < file_sjis.txt

こうすると、Shift JIS のファイルの内容を文字化けせずに表示できる。UTF-8 に変換後、上書き保存するには次のようなシェルスクリプトを実行すればよい。

mv $1 ~$1
iconv -f sjis -t utf8 < ~$1 > $1
rm ~$1
 
コメントする

投稿者: : 2016/10/20 投稿先 Linux

 

sed を使ってテキストファイルにヘッダーとフッターを付ける。

テキストファイルの先頭に1行挿入するには 1i コマンドを使用する。一方、テキストファイルの最後に1行追加するには $a コマンドを使用する。

(例) cat text1.txt | sed -e 1iHEADER -e \$aFOOTER

このコマンドを実行すると先頭行が HEADER 、最終行が FOOTER になる。結果をファイルに保存するにはリダイレクトを使用する。

 

 

 
コメントする

投稿者: : 2016/10/20 投稿先 Linux

 

sed を使って行末コードを変更する

Windows ではテキストファイルの行末は CRLF である。一方、Linux では LF のみである。Windows のテキストファイルを Linux 用にするには sed で

sed “s/\r//” text1.txt

のようにすると、不要な CR を除去できる。

逆に Linux のテキストファイルを Windows 用にするには

sed “s/$/\r/” text2.txt

のようにすると行末つまり LF の前に \r が挿入される。

結果を別のファイルに保存するにはリダイレクトを使用する。結果をそのファイルに上書き保存するには -i スイッチを使用する。

sed -i “s/\r//” text1.txt

 
コメントする

投稿者: : 2016/10/19 投稿先 Linux

 

grep コマンドの使用例

ファイル内容から目的のワードを含む行を得るには

(例) cat httpd.conf | grep index.html

Apache2 のコンフィギュレーションファイルの中の “index.html” を含む行を表示する。

あるフォルダに含まれるファイルを再帰的に検索して目的のワードを含む行を表示するには

(例) grep -r -w index /etc/httpd

Apache2 の設定情報フォルダの中のファイルを検索して “index” を含む行を表示する。

あるフォルダに含まれるファイルを再帰的に検索して正規表現で指定されたワードを含む行を表示するには

(例) grep -r -E “.+\.php$” /etc/httpd

Apache2 の設定情報フォルダの中のファイルを検索して “.php” をで終わる行を表示する。

 
コメントする

投稿者: : 2016/10/19 投稿先 Linux