Linux常用命令

  1. 查看TTC數據:
./ttcd_test -t ../conf/table.conf -k 30658-1 -o get -i 10.6.222.48 -p 9213
  1. 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

  1. 查看服務是否通,配置是否生效
/usr/local/c2cconfig/tools/conf_view_all a1a0 cmd
/usr/local/c2cconfig/tools/conf_view_all 9113 cmd
  1. 看路由信息
traceroute IP

查看IP用戶名:

host -i ip
  1. 對網絡上的數據包進行截獲的包分析工具。
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.

  1. 查看LINUX進程內存佔用情況
    top

  2. 查看so文件的函數使用

objdump -tT libCavium4J.so |grep generateKey
nm -D libCavium4J.so |grep generateKey
    9.
nslookup IP
telnet ip 80
netstat -tnlp 
  1. crontab 是用來讓使用者在固定時間或固定間隔執行程序之用
    crontab -l //查看當前用戶下的cron任務
    crontab -e //編輯當前用戶的定時任務

  2. 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
  1. 統計使用最多的命令
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.

  1. 查看硬件信息:
lshw
lspci -v
udevadm info --query=all --path=/sys/devices/pci0000\:00/0000\:00\:00.0/
ethtool primary
ip addr
ipmitool fru

lscpu
lsof
  1. 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

  1. g++編譯
    -E 生成.i預處理文件
    -S 生成.s彙編文件
    -c 生成.o二進制文件
    -o 生成可執行文件

  2. IO壓力測試
    time dd if=/dev/zero bs=1M count=2048 of=direct_2G

  3. git 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.執行並返回,庫函數檢查執行情況返回相應的值

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章