- 查看TTC數據:
./ttcd_test -t ../conf/table.conf -k 30658-1 -o get -i 10.6.222.48 -p 9213
- gdb coredump
在/usr/local/c2csvc/svc下面運行:
gdb /usr/local/c2csvc/bin/cont_server /data/coredump/backup/core_cont_server
t ../../common/ContentTTC.cpp:720
要能夠生成core dump文件,首先要使用ulimit解除一些文件系統使用的限制:
ulimit -S -c unlimited > /dev/null 2>&1
然後直接發送
kill -SIGABRT pid
就可以產生core dump文件。
core dump文件存在的位置由/proc/sys/kernel/core_pattern內容決定。
layout src
s
- 查看服務是否通,配置是否生效
/usr/local/c2cconfig/tools/conf_view_all a1a0 cmd
/usr/local/c2cconfig/tools/conf_view_all 9113 cmd
- 看路由信息
traceroute IP
查看IP用戶名:
host -i ip
- 對網絡上的數據包進行截獲的包分析工具。
sudo /usr/sbin/tcpdump host 192.168.200.219
sudo /usr/sbin/tcpdump -i eth1 port 80 -n
tcpdump -i eth1
sudo /usr/sbin/tcpdump host 192.168.200.219 -w ./t2.cap
tcpdump -i eth0 -s 0 host 172.16.31.63
tcpdump [tcp] -t -s 0 -w ./blob.cap
6 strace常用來跟蹤進程執行時的系統調用和所接收的信號
strace可以跟蹤到一個進程產生的系統調用,包括參數,返回值,執行消耗的時間。
strace cat /dev/null -p pid
跟蹤指定的進程pid.
查看LINUX進程內存佔用情況
top查看so文件的函數使用
objdump -tT libCavium4J.so |grep generateKey
nm -D libCavium4J.so |grep generateKey
-
9.
nslookup IP
telnet ip 80
netstat -tnlp
crontab 是用來讓使用者在固定時間或固定間隔執行程序之用
crontab -l //查看當前用戶下的cron任務
crontab -e //編輯當前用戶的定時任務g++
g++ -DSOAP_DEBUG -g -I/data/home/caozhiqiang/workspace/jd/jdtouch_stl/gsoap -I/home/caozhiqiang/include -E -c /data/home/caozhiqiang/workspace/jd/jdtouch_stl/gsoap/stdsoap2.cpp > t.cpp
- 統計使用最多的命令
MY:history | awk '{print $2}' | sort | uniq -c | sort -nr | head -n 10
history | awk '{CMD[$2]++;count++;} END { for (a in CMD )print CMD[ a ]" " CMD[ a ]/count*100 "% " a }' | grep -v "./" | column -c3 -s " " -t |sort -nr | nl | head -n10
14.增加新用戶
1)vim /etc/sudoers sudo ALL=(ALL:ALL) ALL
2)cat /etc/group 查看sudo的group id
3)useradd -g groupid/groupname -m username -p password -s /bin/bash: useradd -g sudo -m caoz1 -p 768210as -s /bin/bash
4)passwd username
15.
pstree -alp
16.schroot
schroot -l
schroot -c squeeze64
dpkg -l | grep libc
16.linux安裝Java
apt-get install openjdk-7-jdk
17.linux命令行快捷鍵
1.ctrl+l 清空
2.ctrl+h 刪除左邊一個字符
3.ctrl+d 刪除右邊一個字符
4.Ctrl+u 刪除左邊所有字符(剪切)
5.Ctrl+k 刪除右邊所有字符(剪切)
6.alt+d 刪除右邊一個單詞(剪切)
7.alt+bs 刪除左邊一個單詞(剪切)
8.Ctrl+w 刪除左邊一個單詞(剪切)
9.Ctrl+y 粘貼
10.Ctrl+b 向左移動一個字符
11.Ctrl+f 向右移動一個字符
12.alt+b 向左移動一個單詞
13.alt+f 向左移動一個單詞
18.關閉終端時使程序保持執行
nohup 命令 &
19.服務器上傳下載文件命令(secureCRT)
rz, sz.
- 查看硬件信息:
lshw
lspci -v
udevadm info --query=all --path=/sys/devices/pci0000\:00/0000\:00\:00.0/
ethtool primary
ip addr
ipmitool fru
lscpu
lsof
- find命令
find . -name *rb | xargs grep "request"
根據文件類型查找文件
find . -type
f // 普通文件
d //目錄文件
l //鏈接文件
b //塊設備文件
c //字符設備文件
p //管道文件
s //socket文件
根據文件權限查找文件
find . -perm
#find /tmp -perm 755 //查找在/tmp目錄下權限是755的文件
#find /tmp -perm +222 //表示只要有一類用戶(屬主,屬組,其他)的匹配寫權限就行
#find /tmp -perm -222 //表示必須所有類別用戶都滿足有寫權限
22 修改hostname
/etc/hostname //——- ubuntu64
/etc/hosts // ——–127.0.0.1 ubuntu64
echo ubuntu64 > /proc/sys/kernel/hostname
g++編譯
-E 生成.i預處理文件
-S 生成.s彙編文件
-c 生成.o二進制文件
-o 生成可執行文件IO壓力測試
time dd if=/dev/zero bs=1M count=2048 of=direct_2Ggit add ssh public key
ssh-keygen -t rsa -C "[email protected]"
cat id_rsa.pub
25.shell腳本寫多行到文件
cat << EOF >> ~/.bashrc
function kubectl(){
id=\`docker ps -q -f=ancestor=10.213.42.254:10500/root/hyperkube:v1.4.5 -n=1\`
docker exec $id /kubectl \$@
}
EOF
26.免密碼登錄
ssh-keygen -t rsa
scp .ssh/id_rsa.pub root@10.15.137.231:~/.ssh/id_pub1
cat id_pub1 >> authorized_keys
27.centos修改時區
timedatectl set-timezone Asia/Shanghai
timedatectl list-timezones
設置日期:"timedatectl set-time YYYY-MM-DD"
設置時間:"timedatectl set-time HH:MM:SS"
28.字符串比較大小
if [[ $hyperkube_version < "v1.6" ]] ; then
cp /root/kube_package/kubectl_14 /usr/bin/kubectl
else
cp /root/kube_package/kubectl_16 /usr/bin/kubectl
fi
29.sed替換
sed -i "s/server: 10.15.140.240:11080/server:\ $master_ip:$master_port/g" /root/kubeconfig
or
ed -i 's,server: 10.15.140.240:11080,'"server:\ $master_ip:$master_port"',g' /root/kubeconfig
or
LINE=`sed -n -r '/^ server:\ ' /root/kubeconfig | head -n 1`
sed -i "${LINE}d" /root/kubeconfig
sed -i "${LINE} i server:\ $master_ip:$master_port" /root/kubeconfig
30.shell腳本for循環
遍歷(For循環法):
for var in ${arr[@]};
do
echo $var
done
遍歷(帶數組下標):
for i in "${!arr[@]}";
do
printf "%s\t%s\n" "$i" "${arr[$i]}"
done
遍歷(While循環法):
i=0
while [ $i -lt ${#array[@]} ]
do
echo ${ array[$i] }
let i++
done
刪除數組元素
unset arr[$i]
分割字符串(用,)
arr=(${ret_schedule//,/ })
31.系統調用流程
1.調用庫函數,將系統調用號,參數壓入寄存器中
2.執行trap指令引發軟中斷進入內核態(執行int $0x80指令)執行系統調用處理程序.
3.內核態系統調用處理程序取出系統調用號, 從系統調用表中查找到對應的系統調用函數
4.執行並返回,庫函數檢查執行情況返回相應的值