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.执行并返回,库函数检查执行情况返回相应的值

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