最近开始做linux服务器相关的东西,接触的命令比较多,现在也是一个需要总结的时候了。
1,让进程gate_way在后台运行:
nohup ./gate_way &
2,查看某一进程的ID:
ps -ef | grep gate_way
3,杀死某一进程, 2205就是我们正在运行的gate_way的ID号,现在我们结束该进程:
3, 实时查看我们的日志文件:这里,用head-显示文件头,用tail-显示文件尾
tail -f
4, 添加删除用户:
添加用户: useradd -m username
添加密码: passwd psd
删除用户: userdel -r username
5, 查找文件:
find -name
6, 判断某个可执行文件的binary档案含什么动态库:
7,使shell读入指定文件并依次执行所有语句:source命令
source .bashrc
8,显示当前各种用户限制:ulimit -a
9,查看linux进程的内存占用:top
根据内存占用排序: shift+m
2015-02-03更新以下内容:
1,关闭防火墙(重启失效):/sbin/SuSEfirewall2 stop
查看防火墙状态:chkconfig --list | grep fire
2, 启动smb服务:service smb start
3,查找某个程序是否在运行 ps -ef | grep app
4, 释放cache资源: echo 1 > /proc/sys/vm/drop_caches
5, 创建文件夹:mkdir -p test
6,linux 下c头文件:/usr/include ; c++头文件:/usr/include/c++
7,valgrind内存泄露检查:valgrind --log-file=1 --tool=memcheck .
valgrind --log-file=1 --leak-check=full --tool=memcheck ./app
8,查找文件:find -name xxx.xx
9, 显示当前各种用户限制:ulimit -n
10,oracle关闭与启动:
a,导入环境,使sqlplus能运行起来: source oraenv.sh
b,以oracle账户执行:sqlplus sys/sys as sysdba
c,执行:shutdown abort //临时关闭数据库
关于启动:进入sqlplus后输入:startup。
若手动启动数据库后,发现监听进程没拉起来,手动执行如下命令:lsnrctl start 。查看状态:lsnrctl status。
11,编译并调试某个cpp测试文件:g++ -g -o test_memleak
12,使用top观察内存泄露:top -p PIDnum,如top -p 22145
13,yast
14,查看哪个进程占用了某端口:lsof -i:端口号
15,关机:shutdown -h now
16,修改系统时间:date -s "20150115 09:47:00"
17, 移动:mv src dst
18,复制:cp src dst
19, linux下抓包:tcpdump host 172.16.0.186 and port 7805 -X -s 500 -w 11.pcap
20,查询oracle的session限制:
a,登录233的oracle账户
b,输入 sqlplus / as sysdba
c,在显示的SQL>处输入:show parameter session
d,然后就会有参数显示出来: 比如:sessions: 248
f,查看当前的session连接数:select count(*) from v$session
21,windows下跟踪路由:tracert 192.168.1.23
22,用windows的cmd进行oracle连接:
sqlplus username/passwd@192.168.1.233:1521/ora11g
cmd查询oralce数据,并带条件:
select * from tablename u where u.v_user_id = '201411190957000034737'
23,查找系统内占用空间比较大的文件:
du -sh /* du -sh /home/public/App/*
24, 查看磁盘占用情况:df
2015-03-30更新以下内容:
25,gdb调试,打印某个指针的某一些数据:p/x *data@len len-长度
26,telnet测试外网端口是否开放:telnet 192.168.1.233 8090
27,查看防火墙开放的端口:vi /etc/sysconfig/SuSEfirewall2 查找FW_SERVICES_EXT_TCP
28, 查看某程序8090端口是否在监听:lsof -i:8090
29, 创建用户:useradd -m public; passwd public
30,root下切换工作路径: su -
31,ftp字符界面的退出命令:bye - quit
32,关闭/打开防火墙:service iptables stop/restart
33,查看某程序占用的端口netstat -anp | grep vsp / lsof -i:5060
34, 查看内核/操作系统/cpu信息: uname -a
35, 查看计算机名称:hostname
36,编辑防火墙规则:vi /etc/sysconfig/iptables
37,启动mysql/ftp/防火墙服务:service mysqld/vsftpd/iptables start
38,修改ssh端口号:
A, vi /etc/ssh/sshd_config
B, Port 22->xxx 这里可以先加一个Port xxx。成功后再关闭22端口。另外,需要在防火墙将xxx端口开放,并重启防火墙使生效
C, Service sshd restart
39,从桌面切换到文本模式:init 3 ,从文本模式切换到桌面:startx/init 5
40,nohup ./app >/dev/null 2>&1 &
解释如下:nohup xxx & 表示让xxx在后台执行
2>&1 是将标准出错重定向到标准输出。2是STDERR_FILENO,1是STDOUT_FILENO。
/dev/null - linux的黑洞,任何写入该文件的内容都会永远丢失。
即整体的意思是让程序后台执行,并将标准出错和标准输出都丢掉。
2015-11-24 更新以下内容:
41,Suse编辑防火墙开放端口:
A, vi /etc/sysconfig/SuSEfirewall2
B, FW_SERVICES_EXT_TCP="22 1521 "//端口编辑
C,rcSuSEfirewall2 restart
42,解压 tar –xvf //解压 tar包
tar -xzvf .gz //解压
tar -xjvf .bz2 //解压
tar –xZvf .Z //解压
unrar e //解压rar
unzip //解压zip
43,启动activemq:
cd a
./activemq start
44 启动httpd
/etc start
45, vi打开显示二进制文件:vi -b filename 进入后输入 :%!xxd
46-1 应用程序挂掉的调试方法:gdb gateway -c core : bt查看堆栈情况
调试运行中的程序方法:gdb app PID 或者gdb app-->然后 attach PID挂接该程序,detach取消挂接。
46-2 调试线程死锁:
1,gdb app PID
2, info thread - 显示所有的线程
3,p gMutexSendWatch - 打印线程锁状态,查看__owner = 6800,为占用该线程锁的线程ID(LWP),通过步骤2显示的线程ID,确认为哪个线程占用了该线程锁。
3, thread 25 - 跳到第25个线程
4,bt - 打印该线程下堆栈情况
5, f 1 - 跳转到该线程下的第一层
6,p xxx - 打印该线程下的xxx变量信息
7,通过上面的观察,确定实际发生线程死锁的位置以及状态信息
47,查看glibc版本:ldd --version
/lib
/lib64
strings /lib64 |grep GLIBC_
48,看IO每一秒刷新一次: iostat -x 1/iotop -o/
49,查看Suse系统版本:
cat /etc/issue
cat /proc/version
lsb_release -a
50, 查找依赖项 objdump -T /lib64 | grep GLIBC_2.14
51,列出所有被安装的rpm包:rpm -qa,并查找glibc匹配项:rpm -qa | grep glic
52, 远程拷贝文件: scp public@192.168.0.9:/home/public/Gateway/* ~/Gateway/
指定端口22:scp -P 22 public@192.168.0.9:/home/public/Gateway/* ~/Gateway/
53,linux,config文件中文显示乱码,导入中文语言:export
54,alarmSvr编译时缺少 log4cpp的so文件:从/home/public/lib/liblog4cpp.* 拷贝到 /alarm_server/log4cpp/ 下,然后执行如下动作
ln -s -f liblog4c liblog4c
ln -s -f liblog4c liblog4c
55,查看程序运行时间:ps -A -opid,stime,etime,args | grep app
56,查看端口监听连接状态:netstat -an | grep 7275
57,linux平台vi增加行号显示:vi .vimrc 增加:set nu;取消行号显示:set nonu
58, linux远程连接数据库:sqlplus username/password@192.168.0.178:1521/ora11g
59, 查询某文件的某些协议:grep '0x1202' A | more
60,查看几颗cpu:cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l
61,显示环境变量信息:1-语言:echo $LANG; 2-HOME路径:echo $HOME
显示所有的环境变量:env
62, 显示依赖库:ldd app
63,连续观察某一端口的连接情况,: netstat -anp -c | grep 7805
如果你在工作学习中存在什么技术难题,请关注大数据架构师微信公众号:xinsz08,我们会努力帮你解答,每天1篇必读运维大牛亲笔绝密干货贴,1000万IT人的干货资源库。