標籤:
/etc/init.d/network restart
//===========================================
更新指令碼
cd /www/scripts
更新網站
./staging_deploy.sh -d web
更新resource
./staging_deploy.sh -r resource
./staging_deploy.sh -n webplus
//31上手動獲包
cd /www/staging/svn/php
rm -rf
wget http://i.fx-func.com/svn/juxiang/php/webplus.tar.gz --user=connect --password=20110609
//===============
/usr/local/nginx/conf/vhosts.enabled
//sed修改檔案
sed -e 查看
sed -i ‘/newbuddy/s/9072/9010/g‘ /www/wwwroot/website/system/config.php
==============================================
192.168.200.5 svn程式碼程式庫
/home/www/jenkins/jobs/website-package-online/workspace/Application
cd /www/tar/Resource
/www/tar
svn st Resource/
svn ci Resource/ -m "manual"
cd Resource/
svn st pc/
pwd
svn revert -R /www/tar/Resource/pc
svn up
cd ..
svn st Resource/
svn ci -m "manual"
svn info Resource/
cd Resource/
svn info
SVN 基本操作
檢出checkout(co)
svn co ${url}
更新update(up)
svn up
提交commit(ci)
svn ci -m " 修改xxx 問題"
查看目前的目錄最近5 次提交記錄
svn log -l 5
查看當前工作拷貝資訊
svn info
查看當前未提交的檔案status(st)
svn st
這個命令輸出每個添加、修改、刪除過的目錄和檔案,前面的C 表示衝突,要特別注意。linux 下也可以用svn st | grep ^C 來查看衝突項。
查看當前修改內容
svn diff
撤銷當前修改,覆蓋為資產庫最新版本
svn revert path/filename
遞迴撤銷目前的目錄修改,覆蓋為資產庫最新版本。注意新加的檔案不會被刪除,這時也可以刪除工作拷貝,重新checkout
svn revert . --recursive
合并
SVN merge
遞迴向版本增檔案: svn add * --force
find GameSite/system/ -maxdepth 100 -name .svn
=============================
/etc/init.d/php-fpm restart
/etc/init.d/nginx reload | restart
scp /www/run/fdfsclient/picture.php [email protected]:/www/temp
find ./ -mtime 0:返回最近24小時內修改過的檔案
find /home/user -cmin -60 檔案夾下最近一個小時內修改過的檔案
vi編輯器
:50,100s/new//gn 出現的次數
:%s/a/b/g 全部替換 或者 :s/a/b/ 如果不加/g則指替換第一行
或者用 : set nu
:10,20s/a/b/g 替換10--20行的a
ll | grep .php 列出都是php的檔案
ll viso* 列出包含viso關鍵字的檔案夾
ls [P-X]* -d 列出p到x開頭的檔案
:%s/\/images/http:\/\/static.kunlun.com\/web\/kl\/images/g全部替換
http://static.kunlun.com/web/sg/images/input_bg1.jpg
unzip test.zip
sudo -i 許可權
rsync -aqC /data/app/www/cms1.kunlun.com/mf/* /data/app/www/www.mffy.renren.com/
cp -arf /data/app/www/www.mffy.renren.com/login.php /data/app/www/cms1.kunlun.com/mf/
/usr/sbin/nginx -t -c /data/app/conf/nginx.conf
常用命令
touch 產生空檔案 /bin/touch
cd - 回到上次訪問的目錄
cd !$
cp -a 拷貝目錄
cp -f強制拷貝
cp -p 拷貝保留原檔案的日期
cat 不管檔案多長一次都讀取出來
統計出現的行數
cat xxx.txt |grep "xxx" |wc -l
如果統計出現的次數
awk ‘{s+=gsub(/目標字串/,"&")}END{print s}‘ 目標檔案名
awk ‘{s+=gsub(/w/,"&")}END{print s}‘ aa.txt
more 分屏讀取檔案 f或空格顯示下一頁 斷行符號鍵顯示下一行 q退出
less 分屏查看檔案 pageup上一屏 pagedown 下一屏 home回到開頭 end回到結尾
head -n查看檔案的前n行
tail -n查看檔案的最後n行
find ./ -name .metadata |xargs ls -lt //按時間查看檔案
ln -s [源檔案] [目標檔案] 注意:源檔案和目標檔案一定要使用絕對路徑,永久連結不能跨裝置(df -T)
mkdir -p 建子目錄 /a/b/c/d
whereis 顯示系統命令和協助手冊的命令
find [搜尋路徑] [搜尋索引鍵] [檔案或目錄] find /etc/ -name ‘f*‘
locate httpd.conf 整個檔案搜尋【updatedb重新更新索引檔案,便於查到】
grep root passwd在檔案裡尋找匹配的內容 grep -v "#" /etc/passwd 排除帶#的行
壓縮檔
只能壓縮檔,不保留原檔案
gzip GUN zip
gzip -1 file 表示快速壓縮
gzip -9 file nine nice 最佳狀態壓縮
gunzip file.gz 解壓縮
gzip -d file.gz
壓縮 gzip route.php
解壓 gunzip route.gz
壓縮目錄
tar 打包
tar -c 產生一個.tar檔案
tar -v 觀看壓縮過程
tar -f 指定壓縮後的檔案名稱
tar cvf 可以省略- tar cvf testdir.tar testdir
tar xvf 解壓縮
解壓到指定目錄 tar zxf testdir.tar.gz -C web
tar zcvf 最佳壓縮 tar zcvf testdir.tar.gz testdir[目錄名]
tar zxvf 解壓縮
tar -tf 查看打包的內容
通訊命令
write 發送訊息 write yuejide sfdsf
wall 給所有使用者發訊息 wall fdfdf
mesg y接受訊息
mesg n屏蔽訊息
mail 收信
h查看列表
r回信
q退出
mail 收件者 發信
init 0 關機
init 6 重啟
shutdown -h now
reboot
匯出 sz test.txt
匯入 rz
Linux 網路命令
write 給使用者發資訊 ctrl+D 儲存結束
write linzhilin
xiang he ni chifan ctrl+D 儲存退出
ping 測試網路連通性
ping 192.168.0.1
ifconfig 查看和設定網卡資訊
ifconfig eth0 192.168.0.2
mail 查看系統發送的檔案
輸入序號直接查看
h 查看列表
d 序號 刪除郵件
q 退出
last 顯示電腦所有使用者登入的時間資訊
lastlog 命令查看所有使用者登入資訊
last -u uid 查看某個使用者登入資訊
traceroute 顯示資料包到主機間的路徑
netstat 【選項】 顯示網路相關資訊
-t 查看TCP協議的資訊
-u 查看UDP協議的資訊
-l 監聽
-r 路由
-n 顯示IP地址和連接埠號碼
netstat -tlun 查看本機監聽的連接埠
netstat -an 查看本機所有的網路連接 netstat -an | grep -v "10.10.208.84" | grep ESTABLISHED 查看當前和本機串連的使用者
netstat -rn 查看本機路由表
setup 配置網路、
mount 掛載
建立掛載點 mkdir /mnt/cdrom
mount /dev/src0[裝置名稱] /mnt/cdrom
umount /dev/src0 卸載掛載點
strace 跟蹤進程的命令 strace -p 10747
#已易讀的格式顯示指定目錄或檔案的大小,-s選項指定對於目錄不詳細顯示每個子目錄或檔案的大小
du -sh [dirname|filename]
如:
目前的目錄的大小:
du -sh .
目前的目錄下個檔案或目錄的大小:
du -sh *
顯示前10個佔用空間最大的檔案或目錄:
du -s * | sort -nr | head
vi編輯
i a o
ctrl+f 下一頁
ctrl+b 上一頁
ctrl+d 下一屏
ctrl+u 上一屏
G 最後一行
gg 第一行
i 游標所在處插入
I 游標定位到行首插入
a 游標所在的字元後插入
A 游標所在的行末尾插入
o 插入定位到下一行
O 插入定位到上一行
0 定位到某行的開頭
$ 定位到某行的末尾
R 從游標所在處開始替換字元
n 向下尋找
N 向上尋找
:/1067,1060s/logs/PHP/g n1行---n2行全部替換
x向後刪除
X向前刪除
dd刪除一行
ndd刪除n行
dG刪除游標所在行到最後一行的所有資料
d1G刪除游標所在行到第一行的所有資料
d$刪除游標所在行到該行的最後一個字元
d0刪除游標所在行到該行的最前面一個字元
p複製游標所在的向下n列
P複製游標所在的向上N列
u撤銷操作
:r /etc/issue 匯入到游標所在的位置 :r +檔案名稱
:r !date 匯入命令結果到當前檔案
:map 快速鍵 觸發命令
:map ^P(ctrl+v+p) I#<ESC>
:map ^B 0x
:map ^M [email protected]<ESC>
注釋多行
:4,8s/^/#/g
取消注釋
:4,8s/^#//g
:4,8s/^/\/\//g
:ab mymail [email protected] 只要輸入mymail則就顯示郵箱地址
建立儲存快捷vim命令
vi /root/.vimrc root使用者
vi /home/yuejide/.vimrc 普通使用者
set nu
map ^P I#<ESC>
一次性安排計劃任務命令 at
某個時間點執行某個程式(命令),一定要使用命令的全路徑
at 17:40
>/bin/cp /www/test/* /www/xsphp/
ctrl+d退出
at -l或者atq 查看任務執行情況
at -d 或者atrm 任務號
at 17:30 月/日/年
at -f 檔案 時間點
at < one.txt 時間點
at設定檔
/etc/at.allow 檔案中列出的使用者都能使用此命令
/etc/at.deny 檔案中列出的使用者都不能使用此命令
兩個檔案都不存在,只有root使用者才能使用此命令,都存在且都為空白則所有使用者都能使用此命令
周期性安排計劃任務crontab
service crond status //查看狀態
ps aux | grep crond
啟動 /sbin/service crond start
停止 /sbin/service crond stop
* * * * * /www/test/btest.sh
分 時 日 月 周
crontab -l 列表
crontab -e 編輯
crontab -r 刪除
/etc/cron.allow 如果這個檔案存在,檔案中包含的使用者名稱可以使用crontab。
/etc/cron.deny 如果這個檔案存在,檔案中包含的使用者名稱不能使用crontab。
*/5 * * * * /usr/local/php/bin/php /www/faetest/yuejide/tt.php //5分鐘往資料庫添加下記錄
查看進程
ps -el
ps -aux
S 休眠 D不可中斷的休眠 R運行 Z僵死狀態 T停止狀態
殺死進程
killall httpd 殺死所有和httpd相關的進程
kill 進程號
kill -9 殺死僵死進程
日期 date +%Y-%m-%d
Linux使用者
1、超級使用者root 具有作業系統的一切許可權uid為0
2、普通使用者具有作業系統有限的許可權 uid 500 -- 6000
3、偽使用者是為了方便系統管理,滿足相應的系統進程檔案屬主的要求,不能登入 uid 1 -- 499
passwd /etc/passwd 通過這個檔案管理使用者,只定義帳號不定義口令
帳號名稱:root
使用者密碼:x
使用者標識(使用者ID):0
使用者標識(使用者組ID):0
使用者相關資訊:root
使用者家目錄:使用者自己的目錄
使用者環境:/bin/bash
useradd 建立使用者
-u -g -G -d -s -c -e -k -m -M -r
userdel 刪除使用者
tail -5 /etc/passwd 使用者資訊
tail -5 /etc/shadow 密碼
-r 刪除使用者家目錄及所有資訊
更改使用者名稱
usermod -l thisueser myuser
usermode -L thisuser 鎖定使用者
usermode -U thisuser 解鎖使用者
passwd -l
passwd -u
passwd -s 解鎖
Linux使用者組
/etc/group
1、組名
2、組口令
3、GID
4、組內使用者列表(屬於該組的所有使用者名稱表)
useradd -g mygroup myuser1 添加使用者到所屬組
userdel -r myuser1 刪除使用者
groupadd 添加
groupmod 修改
groupdel 刪除
gpasswd -a redhat newgroup 修改使用者所屬組
gpasswd -d redhat newgroup 刪除所屬使用者組
id 查看一個使用者的uid和gid
id[選項] 使用者名稱
id -g yuejide
id -G yuejide
finger 查看使用者的相關資訊,包括的使用者的組目錄啟動shell
finger yuejide
chmod -R 許可權 檔案
chown 改變檔案或者目錄的所有人
chown -R 包括子目錄
chown -R www:www /www/run 同時修改所有者和所屬組
chgrp 改變檔案或者目錄的所屬組
find views/ -maxdepth 100 -type d -name .svn | xargs chown -R www:www
find / -iname *?//不區分大小寫,精準搜尋用?
find / -size +204800 大於100M的檔案
find / -size -204800 小於100M的檔案
find /home -user www//根據所有者來尋找
find /home -group www//所屬組
find /home -cmin -5 5分鐘內修改過屬性的檔案和目錄
-amin//訪問過的
-cmin//改變屬性
-mmin//修改內容
-type d目錄
f檔案
find /etc -name initab -exec ls -l {} \;查到後把檔案屬性列出來
shell編程
查看曆史指令 history列出所有 !99 執行第99條指令 !str 離最近的一條命令
history -c 清楚所有指令
輸入輸出 ls > test.txt 寫入到test.txt檔案中,輸出重新導向 >>追加輸出重新導向
多少行 ll | wc -l
set查看系統裡所有變數 unset刪除變數
env全域變數
export把局部變數變成全域變數
重啟後不讓環境變數失效
vi /etc/profile
運算
expr $aa \* $bb 乘法,中間必須要有空格
$# 命令中位置參數的個數
$* 所有位置參數的內容
$? 上一條命令執行後返回的狀態,當前返回狀態0時表示正常,非0值時表示異常或者出錯
$$當前所在進程的進程號
$!後台啟動並執行最後一個進程號
$0當前執行的進程/程式名
-d是否為目錄檔案directory
-e檔案是否存在exist
-f是否為檔案file
-r是否有讀的許可權read
-w是否有寫的許可權write
-x是否有執行許可權excute
-L是否為符號串連檔案Link
-eq:等於equal
-nq:不等於no equal
-gt:大於greater than
-lt:小於lesser than
-le:小於或等於lesser or equal
-ge:大於或等於greater or equal
字串比較
= 字串內容相同
!= 字串內容不相同
-z 字串內容為空白
&&與
||或
!取反
語句
if ;then
elif ;then
else
fi
for 變數名 in 取值列表
do
命令序列
done
while[ true ]
do
命令序列
done
case $i in
start)
echo "start......"
;;
stop)
echo "stop......."
;;
restart)
echo "restart......"
;;
esac
rpm
rpm -qa|grep yum|xargs rpm -e --nodeps
rpm -e --nodeps卸載
常用Linux命令、包括vi 、svn