1. 程式人生 > >Linux常用命令大全(史無前例的命令大全)

Linux常用命令大全(史無前例的命令大全)

一. linux常用命令

***************************************************

1.覆蓋拷貝命令

 cp -ri

2. a拷貝到b目錄(移動或重新命名)

 #mv a b
mv - move (rename) files
如果b目錄存在則a檔案或目錄會移動到b目錄下,如果b目錄不存在,則a會重新命名為b檔案或目錄

3.修改伺服器編碼

vim /etc/sysconfig/i18n

vim /etc/profile

4.檢視伺服器編碼:

 locale;

5.輸出日誌啟動服務:

 ../startup.sh ; tail -f ../logs/catalina.out

6.清空檔案三種方法

method1:
#cat /dev/null > abc.txt 
method2:
#cat "" > abc.txt
method3:
#> abc.txt

7.tar壓縮、解壓

 壓縮:

 tar zcvf member.qz.0309.tar.gz member.china.root.qz

 解壓到當前目錄:

 tar zxvf jsp_simexam.tar.gz

 解壓.bz2檔案    

 bunzip2 x264-snapshot-20070913-2245.tar.bz2

 tar xvf x264-snapshot-20070913-2245.tar

 或

 tar -xvjf ffmpeg-checkout-snapshot.tar.bz2

 unzip到制定目錄:

 unzip -d /root/ test.zip

壓縮:xz [原檔名].tar
解壓:unxz [原檔名].tar.xz

#tar -xvf Python-2.7.8.tar.xz

8.另一臺伺服器檔案考到當前伺服器:

 scp [email protected]**.**.85:/home/zz/tag_simexam.tar.gz .

 遞迴拷貝:

 scp -r [email protected]**.151.**.109:/home/fff/sh ./

scp chinaaccess.log_1[1-3].tar.gz [email protected]**.0.**:/tmp/

china.access.log_11.tar.gz、china.access.log_12.tar.gz、china.access.log_13.tar.gz

9.檢視磁碟空間佔用情況

 df -l

10.檢視資料夾大小

 du -sh * | sort -n

11.定時任務配置:

 crontab -e   //編輯任務

 crontab -l    //檢視任務

 tail /var/log/cron   //定時任務執行日誌

下面的目錄也可以設定按照daily,week,month的定時任務,配置資訊可以檢視/etc/anacrontab檔案

/etc/cron.daily

/etc/cron.weekly

/etc/cron.monthly

拿cron.daily來說明:
RANDOM_DELAY:最大延遲時間45分鐘,
START_HOURS_RANGE:3點到22點之間執行,測試過,一般是多數都是3點22開始執行,但從註釋翻譯過來的意思是在3點到22點之間。
pdriod in days:1 每天的意思
delay in minutes:延遲多少分鐘,這裡是5分鐘
綜上,cron.daily的定時基本上在3.22開始到3.22延遲(45+5)50分鐘區間執行。

12.打zip包

 zip -r abc.zip abc

13.環境變數編碼設定

 export LC_ALL=UTF-8

 vi /etc/profile

 JAVA_HOME=/usr/java/jdk1.6.0_13

 PATH=${JAVA_HOME}/bin

 CLASSPATH=${JAVA_HOME}\jre\lib\rt.jar

14.虛擬目錄建立

 ln

#ln -s /web/project/op op   //軟連線

取消軟鏈:

#rm op

15.Linux檢視埠號是否被佔用;

 netstat -anp | grep ###

16.history增加執行時間;

(1).編輯/etc/bashrc檔案

(2).末尾加:

 export HISTFILESIZE=1000000000 #設定儲存歷史命令的檔案大小

 export HISTSIZE=1000000 # 儲存歷史命令條數

 export PROMPT_COMMAND="history -a" #實時記錄歷史命令,

 export HISTTIMEFORMAT="%Y-%m-%d_%H:%M:%S " # 記錄每條歷史命令的執行時間

(3).# source /etc/bashrc

    或

echo 'export HISTTIMEFORMAT="%F %T `whoami` "' >> /etc/profile 然後source一下就

HISTTIMEFORMAT='%F %T>: '

(4).記錄history檔案:

~/.bash_history 

(5)儲存執行過的命令

#history -w

17.配置使用者執行root許可權檔案

 visudo

18. 查詢檔案

查詢檔名以make開始的檔案
find -name make*  

查詢tmp目錄下的py檔案同時檔名中含有test關鍵字的檔案
find /tmp/ -name *.py|grep test

查詢tmp目錄下的py檔案同時檔案內容中含有test關鍵字的檔案
find /tmp/ -name *.py|xargs grep test

19.檢視環境變數

 echo $JAVA_HOME

20. 檢視命令在哪

 which pdf2swf

21.nginx啟動

./nginx

 平滑重啟

 nginx -s reload;

 驗證配置:

 nginx -t;

 強制停止 :

 pkill -9 nginx

22.檢視伺服器版本:

 lsb_release -a

 cat /etc/issue

作業系統核心版本
#cat /proc/version
#uname -a

23.檢視機器位數系統位數

getconf LONG_BIT

24.python使用

 mv movefile.sh movefile.py

  1213 ll

  1214 cat movefile.py

  1215 python

  1216 vi movefile.py

  1217 python movefile.py files.txt

  1218 vi movefile.py

  1219 python movefile.py files.txt

  1220 vi movefile.py

  1221 python movefile.py files.txt

  1222 ls /web/project/china_files/ware_file/upfiles/20120905153200041.ppt

  1223 python movefile.py files.txt

25.檢視資料夾下檔案個數

 (1)檢視當前目錄下檔案的個數

  ls -l | grep "^-" | wc -l

 (2)檢視當前目錄下檔案的個數,包括子目錄裡的。

  ls -lR| grep "^-" | wc -l

 (3)檢視某目錄下資料夾(目錄)的個數,包括子目錄裡的。

  ls -lR| grep "^d" | wc -l

26.檢視程序是否有效!

 ps -aux|grep ffmpeg

 1010 ll /proc/28120/fd/

 1011 strace -f -p 28120

 1012 killall ffmpeg

 1013 strace -f -p 28120

 1014 ps -aux|grep ffmpeg

 1015 killall -9 ffmpeg

 1016 ps -aux|grep ffmpeg

 

27.上傳功能大檔案上傳不了

 (1)程式控制

 (2)nginx配置;

 (3)磁碟空間滿;

28.yum安裝及解除安裝

yum install ...                             //安裝

yum remove ...                          //謹慎使用,會刪除掉依賴,影響其他軟體

yum remove XXX --nodepes    //不刪除依賴

yum provides */lsb_release      //找到哪裡可以下載到這個lsb_release命令

yum list installed|grep  zeromq3 //檢查軟體zeromq3是否安裝

#yum install lrzsz

29.yum安裝及解除安裝提示無法分配記憶體處理:

cd /var/lib/rpm/

for i in `ls | grep 'db.'`;do mv $i $i.bak;done

rpm --rebuilddb

yum clean all

yum update

修改源:/etc/yum.repos.d/

30.修改系統時間;

ntpdate asia.pool.ntp.org

date -s "2013-05-28"

前提,可以聯網;

修改時區

#tzselect

#cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

31.dns配置;

檔案:/etc/resolv.conf

32.防火牆配置

關閉防火牆--service iptables stop

開啟埠--/sbin/iptables -A INPUT -p udp --dport 58 -j ACCEPT

chkconfig iptables --list

【centOS7】

systemctl stop|start|status firewalld

【防火牆配置檔案:】

/etc/sysconfig/iptables

33.遞迴修改資料夾下檔案的許可權

chmod -R 775 www.huabeisai.com_51100

34.檢視cpu資訊

cat /proc/cpuinfo

35.ant構建

Ant –buildfile build.xml

36.建立使用者

adduser joe

passwd joe

37.hosts配置

vim /etc/hosts

38.配置域名伺服器

vi /etc/resolv.conf

search localdomain

nameserver 202.***.196.***

nameserver 202.***.0.***

39.當前目錄屬於哪個碟符

df -h .

40.兩臺伺服器同步目錄

rsync -av --delete webroot [email protected]***.151.***.46:/opt/web/.

【限速拷貝】

rsync -avPL --bwlimit=10000 /data/ /databak/

41.linux將安裝的命令終端可執行,加到環境變數中即可。

vim /etc/profile

export PATH=....:/root/bin:/opt/mongodb/bin:/usr/local/swftools/bin

source /etc/profile

42.檢視伺服器ssh連結

 ps -elf|grep sshd

43.埠號佔用檢視:

 ps -ef |grep 程式名

 netstat -nltp |grep 埠號或服務名

44.samba啟動:

 啟動Samba服務

 /etc/rc.d/init.d/smb start

 停止Samba服務

 /etc/rc.d/init.d/smb stop

 重新啟動Smaba服務

 /etc/rc.d/init.d/smb restart

 重新載入Smaba服務

 /etc/rc.d/init.d/smb reload

 編輯啟動載入項

 ntsysv

 chkconfig -level n smb on/off

45.檢視域名指向

 nslookup

46.count檔案中一共有多少個exception

 cat abc.log | grep exception|wc -l

47.檢視伺服器連線狀態

 netstat -nat |awk '{print $6}'|sort|uniq -c|sort -n

 netstat -an|grep 80|grep EST|wc -l

48.啟動埠的簡單服務,測試埠是否開通

 nc -l 31101

 windows telnet ip 31101

49.檢視機器配置

 (1)cat /proc/cpuinfo |grep 'Intel(R) Xeon(R) CPU E5620 @ 2.40GHz'|wc -l

 (2)作業系統檢視:

 uname -a

 lsb_release -a

cat /etc/redhat-release 

cat /etc/issue  #CentOS<=6.5

more /etc/issue

 (3)作業系統位數檢視:

 getconf LONG_BIT

 (4).檢測linux系統是否為虛擬機器/實體機

dmesg | grep -i virtual

(5)檢視CPU資訊:

# 總核數 = 物理CPU個數 X 每顆物理CPU的核數 

# 總邏輯CPU數 = 物理CPU個數 X 每顆物理CPU的核數 X 超執行緒數

# 檢視物理CPU個數

cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

# 檢視每個物理CPU中core的個數(即核數)

cat /proc/cpuinfo| grep "cpu cores"| uniq

# 檢視邏輯CPU的個數

cat /proc/cpuinfo| grep "processor"| wc -l

 檢視CPU資訊(型號)

cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

檢視內 存資訊
# cat /proc/meminfo

50.fms關閉命令

 /etc/init.d/fms stop

 啟動命令:

 /etc/init.d/fms start

 重啟命令:

 /etc/init.d/fms restart

 硬碟掛載、硬碟共享。

51.檢視佔用資源的程序

top

lsof -p (PID)10746 

52.服務加入自啟動中

編輯

vim /etc/rc.local

檔案即可

53.linux下openoffice啟動

soffice -headless -accept="socket,host=127.0.0.1y,port=8100;urp;" -nofirststartwizard --display :0 &

54.掛載硬碟到某個目錄下

mount /dev/vdb /opt/

55.伺服器重啟後,自啟動

將需要自啟動的指令碼放到:

/etc/init.d

目錄下即可。

56.查詢、替換目錄下所有檔案中某個字串

(1)查詢:

grep -lr 'hello world' /opt/tmp

排除某些檔案查詢,提高查詢效率:

grep -lr 'member.china.root' ./ --exclude=*.out --exclude=*.log

(2)替換/opt/tmp目錄下搜有檔案中zhangsan替換為lisi:

sed -i "s/zhangsan/lisi/g" 'grep zhangsan -lr /opt/tmp'

57.Linux環境變數配置

<1>環境變數配置;

(1)/etc/profile 全域性,任何使用者都可以;

(2)~/.bash_profile 只在當前使用者生效;

<2>終端命令別名配置:

(1)/etc/bashrc 全域性,任何使用者都可以;

(2).bashrc 只在當前使用者生效;

58.伺服器禁ping命令

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

59、vi全域性替換 vi替換 vim替換

替換所有“/local”為“”空字串

:%s/\/local//g

"aaa"替換為"local"

:%s/aaa/local/g

【17行到33行行首加#號】

:17,33s/^/#/g

【去掉17行到33行#號】

:17,33s/^/#/g

:%s/^/#/g   所有行首加#

【vi拷貝17行到25行內容防盜26行】

:17,25 co 26

【vi行首加#號】

17,25s/^/#/g

【vi至行尾】

shift+GG

0#行首

$#行尾

【vi中查詢某個字串出現多少次】

:%s/string/&/gn

60、【重定向標準輸出】

shell將標準錯誤輸出重定向為標準輸出

/tmp/test.sh >/tmp/test.log 2>&1

61、【root使用者下執行admin使用者許可權】

crontab -u admin -l

crontab -u admin -e

!tail

!cat

62、【apache啟動、停止、重啟】

基本的操作方法:

本文假設你的apahce安裝目錄為/usr/local/apache2,這些方法適合任何情況

apahce啟動命令:

推薦/usr/local/apache2/bin/apachectl start apaceh啟動

apache停止命令

/usr/local/apache2/bin/apachectl stop   停止

apache重新啟動命令:

/usr/local/apache2/bin/apachectl restart 重啟

要在重啟 Apache 伺服器時不中斷當前的連線,則應執行:

/usr/local/sbin/apachectl graceful

如果apache安裝成為linux的服務的話,可以用以下命令操作:

service httpd start 啟動

service httpd restart 重新啟動

service httpd stop 停止服務

63.終端全屏 top cpu

ALT+Enter全屏

Sorry, terminal is not big enough

依然提示

mpstat -P ALL 2 1000

&

htop

64.【網路問題分析常用命令】

1、tracert

2、nslookup

3、tcpdump

4、strace

5、ping

65、修改ssh登入埠

#vim /etc/ssh/sshd_config

去掉#Port 22註釋 ,重啟sshd服務:

#/etc/init.d/sshd restart

ssh [email protected]**.** -p 222

66、計算器

bc

67、linux shell 檢視程序的可執行程式路徑

ps -el | grep nginx

ls -l /proc/19120/exe | awk '{print $11}'

68、根據nginx執行程序檢視,nginx配置檔案位置

#ps -ef|grep nginx

#ll /proc/24208/exe

69、shell客戶端最大化

ALT+Enter

70、vim|vi 回退撤銷

u   撤銷上一步的操作
Ctrl+r 恢復上一步被撤銷的操作

71、stat檢視檔案狀態

檢視檔案建立及修改情況

72、檢視伺服器ip命令

ip a|ifconfig

73、建立目錄
#mkdir dir1
如果父目錄不存在則自動建立
#mkdir /usr/local/soft/db/mysql -p

74.檢查軟體包是否安裝

#rpm -qa | grep mysql

#yum list installed|grep mysql

#strings /lib64/libc.so.6 |grep GLIB

75.網路配置|聯網配置|上網配置

配置ip->

vim /etc/sysconfig/network-scripts/ifcfg-eth0

配置域名解析->

vim /etc/resolv.conf

nameserver 202.106.0.20
nameserver 114.114.114.114