Category Archives: Linux

Linuxで現在ディレクトリにfindを利用してあいまいな条件でファイルを検索する

1.現在のディレクトリの直下にファイルを検索
find . -name startnews24com_test.txt

2.現在のディレクトリの下にあいまいな条件でファイルを検索
find . -name ‘*.txt’

3.現在のディレクトリ内に特定のプロパティファイルを検索
find . -amin -10 # 最後10分ファイルにアクセス
find . -atime -2 # 最後48時間ファイルにアクセス
find . -empty # 空のファイルまたはフォルダ
find . -group cat # groupcatに属するファイル
find . -mmin -5 # 最後の5分に変更されたファイル
find . -mtime -1 # 最後の24時間に変更されたファイル
find . -nouser #  nousetに属するファイル
find . -user startnews24_user # startnews24_userユーザに属するファイル

4.現在のディレクトリ内にある文字列(大文字と小文字が区別)を含む検索
find . -type f | xargs grep ‘your_string’

5.現在のディレクトリ内に特定文字列(大文字と小文字が区別)を含むファイルを検索
find . -type f -name ‘*.sh’ | xargs grep ‘startnews24_find_string’

6.現在のディレクトリに特定文字列(大文字と小文字が区別しない)を含む特定ファイルを検索
find . -type f -name ‘*.sh’ | xargs grep -i ‘startnews24_find_string’

Linux基本コマンドまとめ—–ファイルのアーカイブ(解凍)、ファイルのマウントとプロセス操作

1.ファイルをアーカイブ、解凍
bunzip2 file1.bz2
bzip2 file1
gunzip file1.gz
gzip file1
gzip -9 file1
rar a file1.rar test_file
rar a file1.rar file1 file2 dir1
rar x file1.rar
unrar x file1.rar
tar -cvf archive.tar file1
tar -cvf archive.tar file1 file2 dir1
tar -tf archive.tar
tar -xvf archive.tar
tar -xvf archive.tar -C /tmp
tar -cvfj archive.tar.bz2 dir1
tar -xvfj archive.tar.bz2
tar -cvfz archive.tar.gz dir1
tar -xvfz archive.tar.gz
zip file1.zip file1
zip -r file1.zip file1 file2 dir1
unzip file1.zip

2.ファイルシステムのマウント
mount /dev/hda2 /mnt/hda2
umount /dev/hda2
fuser -km /mnt/hda2
umount -n /mnt/hda2
mount /dev/fd0 /mnt/floppy
mount /dev/cdrom /mnt/cdrom
mount /dev/hdc /mnt/cdrecorder
mount /dev/hdb /mnt/cdrecorder
mount -o loop file.iso /mnt/cdrom
mount -t vfat /dev/hda5 /mnt/hda5
mount /dev/sda1 /mnt/usbdisk
mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share

3.プロセスの操作
ps -e
sudo kill xxxx

Linux基本コマンドまとめ—–権限とAPTの操作

1.権限について操作
su –
ls -lh 権限を表示
ls /tmp | pr -T5 -W$COLUMNS

chmod u+s /bin/file1
chmod u-s /bin/file1

2.APTについての操作
apt-get install package_name
apt-cdrom install package_name
apt-get update
apt-get upgrade
apt-get remove package_name
apt-get check
apt-get clean
apt-cache search searched-package

Linux基本コマンドまとめ—–ファイルとディレクトリの操作

基本コマンド:
cd /home
cd ..
cd ../..
cd
cd ~user1
cd –
pwd
ls
ls -F
ls -l
ls -a

mkdir dir1
mkdir dir1 dir2
mkdir -p /tmp/dir1/dir2
rm -f file1
rmdir dir1
rm -rf dir1
rm -rf dir1 dir2
mv dir1 new_dir
cp file1 file2
cp dir/* .
cp -a /tmp/dir1 .
cp -a dir1 dir2

xdg-open filename

ubuntuでMemcached環境を構築、テストする方法

1.インストール
sudo apt-get install memcached
memcached -d -m 64 -p 11211 -u root

2.Javaの場合、必要なjarファイル
commons-pool-1.6.jar
java_memcached-release_2.6.6.jar
slf4j-api-1.7.6.jar

3.参考ソースコード
package com.startnews24.mms;

import java.util.Date;
import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;

public class MemcacheConnection {

protected static MemCachedClient mcc = new MemCachedClient();

protected static MemcacheConnection memCached = new MemcacheConnection();

static {
// サーバーリスト
String[] servers = { “127.0.0.1:11211” };
Integer[] weights = { 3 };

//socketインスタンス
SockIOPool pool = SockIOPool.getInstance();

// サーバーの設定
pool.setServers( servers );
pool.setWeights( weights );

//接続の初期数、最小値、最大接続数と最大処理時間
pool.setInitConn( 5 );
pool.setMinConn( 5 );
pool.setMaxConn( 250 );
pool.setMaxIdle( 1000 * 60 * 60 * 6 );

pool.setMaintSleep( 30 );

// TCPパラメータ
pool.setNagle( false );
pool.setSocketTO( 3000 );
pool.setSocketConnectTO( 0 );

//接続プールを初期化
pool.initialize();

//mcc.setCompressEnable( true );
//mcc.setCompressThreshold( 64 * 1024 );
}
protected MemcacheConnection()
{

}

/**
* ユニークなインスタンス
* @return
*/
public static MemcacheConnection getInstance()
{
return memCached;
}

/**
* 指定されたキャッシュに値を追加
* @param key
* @param value
* @return
*/
public boolean add(String key, Object value)
{
return mcc.add(key, value);
}

public boolean add(String key, Object value, Date expiry)
{
return mcc.add(key, value, expiry);
}

public boolean replace(String key, Object value)
{
return mcc.replace(key, value);
}

public boolean replace(String key, Object value, Date expiry)
{
return mcc.replace(key, value, expiry);
}

public boolean exists(String key){
return mcc.keyExists(key);
}

/**
* 指定されたキーワードに基いてオブジェクトを取得
* @param key
* @return
*/
public Object get(String key)
{
return mcc.get(key);
}

public static void main(String[] args)
{
MemcacheConnection cache = MemcacheConnection.getInstance();
long startDate=System.currentTimeMillis();
for (int i = 0; i < 100; i++) {
cache.add(“wow”+i, “welcome to arkgame.com”+i);
}
long endDate=System.currentTimeMillis();
long nowDate=(endDate-startDate)/1000;
System.out.println(nowDate);
System.out.print( ” get value : ” + cache.get( “wow97” ));
}
}

ubuntuでrabbitMQをインストールする方法

1.erlangのダウンロード
http://www.erlang.org/download/opt_src_17.3_tar.gz
解凍
./configure –prefix=/home/liyixiang/erlang

2.下記エラーが発生する場合
configure: error: No curses library functions found
configure: error: /bin/sh ‘/home/liyixiang/erlang/configure’ failed for erts
対策
apt-cache search ncurses
apt-get install libncurses5-dev

3.erlangのインストール
コマンド
make make install

4.テスト
cd /home/startnews24/erlang
erlが起動

5.erlang環境変数の設定
vim /etc/profile文件
#set erlang environment
export PATH=$PATH:/usr/erlang/bin
source profile

6.rabbitMQのインストール
ダウンロード
http://www.rabbitmq.com/releases/rabbitmq-server/v3.3.5/rabbitmq-server-generic-unix-3.3.5.tar.gz
/usr/の直下に解凍する

設定方法
vim /etc/profile
#set rabbitmq environment
export PATH=$PATH:/usr/rabbitmq_server-3.3.5/sbin
source profile

下記エラー現象が発生する場合
./rabbitmq-server: line 86: erl: command not found
修正
rabbitmq_server-3.3.5/sbin/rabbitmq-server-3.3.5
export PATH=$PATH:/usr/erlang/bin

起動
./rabbitmq-server.start !!

ubuntu12.04でIPv6を無効にする方法

操作コマンド

sudo vi /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
保存して終了
sudo sysctl -p
実行
ip a | grep inet6

Linuxプログラムのプロセス依存ライブラリを確認する方法

1.lddで依存ライブラリを確認
[root@~]# ldd /usr/local/php/bin/php
linux-vdso.so.1 => (0x00007fff753f5000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00000031f4600000)
librt.so.1 => /lib64/librt.so.1 (0x000000311ee00000)
libmysqlclient.so.18 => /usr/local/mysql/lib/libmysqlclient.so.18 (0x00007f767b422000)
libmcrypt.so.4 => /usr/lib64/libmcrypt.so.4 (0x00007f767b1ef000)
libiconv.so.2 => /usr/local/lib/libiconv.so.2 (0x00007f767af0a000)
libcurl.so.4 => /usr/lib64/libcurl.so.4 (0x0000003519800000)
libm.so.6 => /lib64/libm.so.6 (0x00000031f2200000)
libdl.so.2 => /lib64/libdl.so.2 (0x00000031f1600000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x00000031f3a00000)
libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00000031f8a00000)
libz.so.1 => /usr/local/lib/libz.so.1 (0x00007f767acf2000)
libssl.so.10 => /usr/lib64/libssl.so.10 (0x000000311c600000)
libcrypto.so.10 => /usr/lib64/libcrypto.so.10 (0x00000031f7600000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x000000311ce00000)
libc.so.6 => /lib64/libc.so.6 (0x00000031f0e00000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00000031f3200000)
libfreebl3.so => /lib64/libfreebl3.so (0x00000031f4e00000)
/lib64/ld-linux-x86-64.so.2 (0x00000031f0a00000)
libidn.so.11 => /lib64/libidn.so.11 (0x00000031f7e00000)
libldap-2.4.so.2 => /lib64/libldap-2.4.so.2 (0x000000351c000000)
libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x000000311f200000)
libkrb5.so.3 => /lib64/libkrb5.so.3 (0x000000311e200000)
libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00000031f7200000)
libcom_err.so.2 => /lib64/libcom_err.so.2 (0x000000311e600000)
libssl3.so => /usr/lib64/libssl3.so (0x000000351b800000)
libsmime3.so => /usr/lib64/libsmime3.so (0x000000351bc00000)
libnss3.so => /usr/lib64/libnss3.so (0x000000351a800000)
libnssutil3.so => /usr/lib64/libnssutil3.so (0x000000351a400000)
libplds4.so => /lib64/libplds4.so (0x000000351ac00000)
libplc4.so => /lib64/libplc4.so (0x000000351b400000)
libnspr4.so => /lib64/libnspr4.so (0x000000351b000000)
libssh2.so.1 => /usr/lib64/libssh2.so.1 (0x0000003519c00000)
liblber-2.4.so.2 => /lib64/liblber-2.4.so.2 (0x000000351a000000)
libsasl2.so.2 => /usr/lib64/libsasl2.so.2 (0x00000031f8200000)
libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00000031f7a00000)
libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00000031f6e00000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00000031f2600000)

2.pmapで未知プログラムの依存ライブラリを確認
[root@~]# objdump -p /usr/local/php/bin/php |grep NEEDED
NEEDED libcrypt.so.1
NEEDED librt.so.1
NEEDED libmysqlclient.so.18
NEEDED libmcrypt.so.4
NEEDED libiconv.so.2
NEEDED libcurl.so.4
NEEDED libm.so.6
NEEDED libdl.so.2
NEEDED libnsl.so.1
NEEDED libxml2.so.2
NEEDED libz.so.1
NEEDED libssl.so.10
NEEDED libcrypto.so.10
NEEDED libpthread.so.0
NEEDED libc.so.6
NEEDED libresolv.so.2

3.pmapで実行中プログラムのプロセスを確認
[root@~/software/pldd]# ps -ef|grep php-fpm
root 26534 1 0 2014 ?00:01:34 php-fpm: master process (/usr/local/php-5.3.29/etc/php-fpm.conf)
nobody 26535 26534 0 2014 ?00:00:04 php-fpm: pool www
nobody 26536 26534 0 2014 ?00:00:05 php-fpm: pool www
root 30510 30324 0 00:39 pts/000:00:00 grep php-fpm
[root@~/software/pldd]# pmap 26534 |head
26534: php-fpm: master process (/usr/local/php-5.3.29/etc/php-fpm.conf)
0000000000400000 10452K r-x– /usr/local/php-5.3.29/sbin/php-fpm
0000000001035000 76K rw— /usr/local/php-5.3.29/sbin/php-fpm
0000000001048000104K rw—[ anon ]
0000000002a65000 3448K rw—[ anon ]
000000311c600000388K r-x– /usr/lib64/libssl.so.1.0.1e
000000311c661000 2048K —– /usr/lib64/libssl.so.1.0.1e
000000311c861000 16K r—- /usr/lib64/libssl.so.1.0.1e
000000311c865000 28K rw— /usr/lib64/libssl.so.1.0.1e
000000311ce00000 92K r-x– /lib64/libpthread-2.12.so

Ubuntuでnano操作するコマンドまとめ

操作コマンド

^G ==(F1) Invoke the help menu
^X ==(F2) Close currently loaded file/Exit from nano
^O ==(F3) Write the current file to disk == ^O WriteOut

^J ==(F4) Justify the current paragraph
^R ==(F5) Insert another file into the current one
^W ==(F6) Search for text within the editor
^Y ==(F7) Move to the previous screen
^V == ( F8 ) Move to the next screen

^K ==(F9) Cut the current line and store it in the cutbuffer
^U ==(F10) Uncut from the cutbuffer into the current line
^C ==(F11) Show the position of the cursor

^T ==(F12) Invoke the spell checker, if available
^N Move down one line
M-> Open next loaded file
M-I Auto indent enable/disable
M-Z Suspend enable/disable
M-Y Color syntax highlighting enable/disable

CentOSでshellコマンドをまとめ

1.fileコマンド
root@localhost startnews24 ~]# file -s /dev/sda1
/dev/sda1: Linux rev 1.0 ext3 filesystem data (needs journal recovery)
[root@localhost startnews24v ~]# file -s /dev/sda2
/dev/sda2: LVM2 (Linux Logical Volume Manager) , UUID: hrsI8SGq5CAe8qsISHqQ5AG32ALynAM

2.mountコマンド
[root@localhost startnews24 ~]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

3.dfコマンド
[root@localhost startnews24 ~]# df -lhT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00 ext3 285G 12G 259G 5% /
/dev/sda1 ext3 99M 12M 82M 13% /boot
tmpfs tmpfs 1010M 0 1010M 0% /dev/shm

4.fdiskコマンド
root@localhost startnews24 ~]# fdisk -l
Disk /dev/sda: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 38913 312464250 8e Linux LVM

5.その他
cd /;du -sh *
[root@localhost test]# parted