suse linux服務器的常用命令


suse linux服務器的常用命令

1,讓進程gate_way在后台運行:

nohup ./gate_way &

2,查看某一進程的ID:

ps -ef | grep  gate_way

3,殺死某一進程, 2205就是我們正在運行的gate_way的ID號,現在我們結束該進程:

3, 實時查看我們的日志文件:這里,用head-顯示文件頭,用tail-顯示文件尾

tail -f proxy_server.log

4,  添加刪除用戶:

添加用戶: useradd -m username

添加密碼: passwd psd

刪除用戶: userdel -r username

5, 查找文件:

find -name test.sh

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++/4.3/
7,valgrind內存泄露檢查:valgrind --log-file=1 --tool=memcheck ./a.out
   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 test_memleak.cpp
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 = '20141119095715000000000000034737' 
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 file.tar //解壓 tar包 
        tar -xzvf file.tar.gz //解壓tar.gz 
      tar -xjvf file.tar.bz2 //解壓 tar.bz2 
      tar –xZvf file.tar.Z //解壓tar.Z 
      unrar e file.rar //解壓rar 
     unzip file.zip //解壓zip
43,啟動activemq:
    cd apache-activemq-5.8.0/bin/
./activemq start
44 啟動httpd
/etc/init.d/apache 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,確認為哪個線程占用了該線程鎖。
4, thread 25       - 跳到第25個線程
5,bt          - 打印該線程下堆棧情況
6, f 1            - 跳轉到該線程下的第一層
7,p xxx  - 打印該線程下的xxx變量信息
7,通過上面的觀察,確定實際發生線程死鎖的位置以及狀態信息
47,查看glibc版本:ldd --version
/lib/libc.so.6
/lib64/libc.so.6 
strings /lib64/libc.so.6 |grep GLIBC_
48,看IO每一秒刷新一次: iostat -x 1/iotop -o/
49,查看Suse系統版本:
cat /etc/issue
cat /proc/version
lsb_release -a
50, 查找依賴項 objdump -T /lib64/libgcc_s.so.1 | 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 LANG=zh_CN
54,alarmSvr編譯時缺少 log4cpp的so文件:從/home/public/lib/liblog4cpp.* 拷貝到 /alarm_server/log4cpp/ 下,然后執行如下動作
ln -s -f liblog4cpp.so.5.0.6 liblog4cpp.so.5
ln -s -f liblog4cpp.so.5.0.6 liblog4cpp.so
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' App.log | 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

 

2016-9-28 更新以下內容:

64, cronab-定時執行任務:
1,public用戶下,輸入 crontab -e,打開定時任務編輯器
2,輸入:00 01 * * * /home/public/GpsData/./cpGpsData.sh,此句就是在每天凌晨一點執行cpGpsData.sh腳本文件
3,保存該文件
4,查看定時任務:crontab -l 
65,系統重啟要執行的文件:vi /etc/init.d/rc.local 
66,查看app(PID: 9685)進程的線程ID,以及各線程的cpu利用率: top -Hp 9685 
Cpu: 
us-用戶模式下所花費CPU時間的百分比;sy:內核進程所花費的CPU時間百分比;
    id-顯示CPU處在空閑狀態的時間百分比;wa:顯示IO等待所占用的CPU時間百分比;
67,ulimit -v 修改永久生效方法:將ulimit -v unlimited 加入 /etc/profile文件中
68,修改文件用戶所有者為public:users:chown public:users /etc/profile.d/xxx.sh 
遞歸修改:chown -R public:users *
隱藏文件同樣修改: chown -R public:users .*
69,nmon使用: nmon 123.nmon -s5 -c90000 -f -m /home/public/
說明:  -t 輸出top processes的數據
-s 保存數據的頻率 單位:秒
-c 次數
-f 生成的數據文件名中包含文件創建的時間
-m 生成的數據文件的存放目錄
70,linux 查看系統線程總數: pstree -p | wc -l 
71,rpm包安裝:rpm -ivh xxx.rpm 
列出rpm包的內容:rpm -qpl  *.rpm 
解壓rpm包的內容:rpm2cpio *.rpm | cpio -div
72,zypper使用:
1,查看源: zypper repos
2,導入源:zypper ar http://ftp5.gwdg.de/pub/opensuse/discontinued/distribution/11.3/repo/oss/suse main
3,刷新: zypper refresh
4,查找軟件:zypper search -s kernel-*-debuginfo*
5,安裝: zypper install latencytop
6,刪除源: zypper rr nonoss
73,列出CPU信息,包括L1 L2緩存等:lscpu
74, Oprofile的使用:
1, 執行app程序,運行壓力:operf ./app
2,運行一段時間后,ctrl+c結束該程序
3,opreport -l >> 1.txt ,將函數級測試結果導入1.txt
4,opannotate -s >> 2.txt ,將代碼級測試結果導入2.txt
75, Intel的linux程序性能調優工具啟動vtune:使用XDMCP進入public,輸入amplxe-gui
76,使用iftop觀察網絡IO:http://www.vpser.NET/manage/iftop.html
A,安裝:zypper install  iftop
B,觀察:iftop 或 iftop -B
77,查看最近機器重啟時間:last
78,查看上下文切換:vmstat 1 
in-interrupt ; cs-context switch上下文切換
79,linux tcp優化: 
1, vi /etc/sysctl.conf 
2, 增加 net.ipv4.tcp_syn_retries = 2 (默認為5) 
3,生效:sysctl -p /etc/sysctl.conf 
4,查看: cat /proc/sys/net/ipv4/tcp_syn_retries 
80,mysql程序編譯命令:g++ -g -o test mysqlLinux.cpp -L/usr/lib64/mysql -lmysqlclient -lpthread -lm -lrt -ldl
  -lm : libm.so :包含數學函數
  -lrt:是glibc中對real-time部分的支持庫
  -ldl:顯示調用動態鏈接庫
81,查看后台tcp狀態:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
82,查看swappiness:cat /proc/sys/vm/swappiness  
83,給后台運行的進程發送ctrl+c的SIGINT信號:kill -s 2 PID

2016年11月16日更新以下內容:

84,linux系統時間與網絡同步:ntpdate pool.ntp.org
85,掛載windows共享文件夾Github到mnt目錄: sudo mount -o username=admin,passwd=sdgakj //192.168.0.175/Github mnt/
86, Git操作,有文件變更之后:git add -p filename; git commit; git push;
87, 封停一個IP的訪問: iptables -I INPUT -s 192.168.0.175 -j DROP
解封一個IP的訪問: iptables -D INPUT -s 192.168.0.175 -j DROP
88,linux 使用tcpdrop工具強制斷開某個ip的tcp連接,:
88.1 github下載 tcpdrop 地址:   https://github.com/arut/linux-tcp-drop
88.2 make進行編譯,生成 tcp_drop.ko
88.3 將tcp_drop.ko加載到內核: sudo inmode ./tcp_drop.ko
88.4 查詢對應的tcp連接:netstat -n | grep ESTABLISHED | grep 9202
88,4 斷開對應的連接: echo "192.168.0.228:9202      192.168.0.175:29414" > /proc/net/tcp_drop
88.5 從內核卸載模塊: sudo rmmod tcp_drop 

 

2017年3月27日更新以下內容:

89,vi 刪除第5行到當前行:5,.d
90,查看當前系統允許打開的最大文件個數: cat /proc/sys/fs/file-max
91, vi 自動對齊: gg=G 
92, 查看進程啟動位置: 
方法1   ls -l /proc/進程PID 
方法2  lsof | grep 進程名稱
93, 修改open file 1024的限制:
1. vi /etc/security/limits.conf 
2. 末尾增加如下:
*       soft    nofile  131072
*       hard    nofile  131072
94, 清空歷史記錄: history -c
刪除第二條history命令: history -d 2
95,看匯編指令:objdump a.out -dSsx > file
96,持續觀察某一命令執行結果:watch -n 1 -d  "netstat -anp | grep 8070"
97, 查看哪個IP地址連接最多,將其封了:
netstat -na|grep ESTABLISHED | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -r +0n
98, 持續觀察App的單線程CPU:
top -Hp $(ps -anp | grep app | awk '{print $1}')
99,記錄app每分鍾入庫數:
cat Log/App.log | grep "Insert DB Size" | awk '($18 == "Diff:") {print substr($4, 0, 5)}' | uniq -c | awk '{print $2 FS $1*10000 }' > cc1.txt

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM