linux cmd

メモ書きです

横幅揃えて表示 echo "---------------"みたいなやつ

 

 

cols=$(tput cols)

printf '%*s' "$cols" | tr ' ' '-'`

 

ランキング

sort | uniq -c | sort -nr

通信しているかどうか

netstat -lanput

リモートファイルをローカルに持ってくるやつ 多段scp

scp -P2002 -S ssh -o "ProxyCommand ssh astel@humidai.astail.net -p2002 -W %h:%p 2> /dev/null" astel@mariadb-01.astai.net:~/hogehoge.sql ~/Desktop/

ローカルのファイルをリモートに持って行く 多段scp

scp -S ssh -o "ProxyCommand ssh humidai02 -W %h:%p 2> /dev/null" ~/Desktop/test.log root@172.17.111.6:~/

もはやスクリプトだけどここにメモ
作成日が違うテストデータを作るスクリプト

1
2
3
4
5
6
7
#!/bin/sh
 
for i in {50..00};
do
  one_day_ago=`date -d "$i day ago" "+%Y/%m/%d"`
  touch -d "$one_day_ago" test_data_${i}.file
done

ランダムな文字列

cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 16 | head -n 8 | sort | uniq

先頭の#を外して表示

grep -vE '^\s*(#|$)'

サーバ越し比較 SERVER1からSERVER2に対してdiff

ssh SERVER2 cat hoge.log | diff hoge.log -

paste

paste -d ',' 1.log 2.log

sudo でリダイレクト

sudo sh -c "echo '[ERROR] (INFO) astel test' >> /var/log/hogehoge/application.log"

ディレクトリの中のファイルをlessで読む

ls ./provisioning/roles/*/tasks/main.yml| awk '{print "echo " $1 "; cat -n " $1}' | sh | less

インストール済みのrpmを確認する

[astel@astail ~]$ sudo rpm -qa | grep java
tzdata-java-2014e-1.el6.noarch
java-1.7.0-openjdk-devel-1.7.0.65-2.5.1.2.el6_5.x86_64
zabbix-java-gateway-2.2.3-1.el6.x86_64
java-1.7.0-openjdk-1.7.0.65-2.5.1.2.el6_5.x86_64

インストール済みのyumを確認する

[astel@astail ~]$ sudo yum list installed | grep nginx
nginx.x86_64         1.6.0-2.el6.ngx    @nginx                                 
nginx-release-rhel.noarch
                     6-0.el6.ngx        @/nginx-release-rhel-6-0.el6.ngx.noarch

何がメモリを使っているか調査

ps -xl --sort -vsize

別ユーザでコマンド実行

su -l 実行したいユーザ -c '実行するコマンド'

playの場所を調べる

ls -l `which play`

手動でcron的な

while true
do
clear
処理
sleep 60
done

sed 特定の行の下に文字を挿入

sed -i "/^# EnableRemoteCommands=0$/a EnableRemoteCommands=1" /etc/zabbix/zabbix_agentd.conf

5秒ごとにlsした結果見る。差分を見たい場合は-dをつけます。

watch -n 5 ls

ファイルの中まで検索

find ./ -type f -print | xargs grep 'hoge'
find ./ -name "*.*" -exec grep -l "検索対象文字列" {} \;

top
通常CPU使用でソートされるが、実行中に「shift」+「m」でメモリ使用でソートする。
「shift」+「o」でソートするフィールドを選択することができる。
「shift」+「r」でソート順(昇順、降順)を切り替える。
USER mysqlのtop情報を見る

top -u mysql

topした後に [1] を入力するとcpu全部の%が見れる

データ容量を調べる

du -s -h /* | sort -nr

ソートはしているけれど932Mと67Gとかだと932Mのほうが上にくるけど
個人的にバイトは見にくいので-hをつけている /* で見るところを指定

find で削除(1日前とか
subversionの.svnファイル・ディレクトリを全て削除する。

find . -name .svn -exec rm -rf {} \;

– find の -mtime +n のまとめ
find の -mtime +n の検索対象となるファイルは以下の通り。
mtime +0 今から24時間以上前のファイル
mtime +1 今から48時間以上前のファイル
mtime +2 今から72時間以上前のファイル

vm.swappiness=0 に設定する
確認

cat /proc/sys/vm/swappiness

以下で最終行に追記する

sudo sed -i '$s/$/\n\n# vm.swappiness\nvm.swappiness=0/' /etc/sysctl.conf

反映

sudo sysctl -p

vm.swappiness=0の効果なんですが、実メモリを使いきるまでスワップしなくなります。
(デフォルトはvm.swappiness=60)

swapをなくす

swapoff -a && swapon -a

vimで最初の複数行をコメントアウトしたりする(コマンドではないか。。
挿入する時
選択を開始する行の一番上にカーソルを置き、
Ctrl+v
j (下方向)で選択
I(iの大文字)Shift+iで挿入モードへ
# 入力(1文字だけ入力されます)
Esc
これで行頭に#が入力される。

削除する時
Ctrl+v
j (下方向)で選択
d 削除
これで行頭の1文字が削除される。

なんか書いてたメモ
-z test -z string string の文字列長が 0 ならば真となる。
# AND 条件
if test 条件式1 -a 条件式2; then

コマンドじゃないけどメモ
stable 安定版

スタンドアローンstand aloneスタンドアロン
 スタンドアローン/スタンドアロン (英:stand-alone) とは、他の機器に依存せず単独で動作する環境を意味する。直訳だと『孤立』を意味する。

HadoopApache Hadoop
Apache Software Foundation(ASF)が開発・公開している、大規模データを効率的に分散処理・管理するためのソフトウェア基盤(ミドルウェア)。

Hive、Pig、Impala、HBase、Hama
Hadoopのサブプロジェクト