我們都知道吧,PHP的黃金搭檔到底是誰吧?當然是LAMP了。
學習培訓PHP當然要學一些這一LAMP了,因此第一步我們要學一下Linux有關的基本知識吧,例如日常的實際操作命令(不要說,有這些圖形界面的物品就無需記這種了,有些東西或是用命令方便的)。行吧,那此次入學一下Linux的普遍命令。
1. man 對你了解或不熟悉的命令提供幫助表述eg:man ls 就能夠查看ls有關的使用方法
2. ls 查看目錄或是文件
3. cp 副本文件
4. rm 刪掉文件和目錄
5. mv 挪走目錄或是改文件名
6. cd 更改現階段目錄 pwd 查看現階段所屬目錄詳細途徑
7. cat,more命令將某一文件的具體內容顯現出來。
8.chmod 命令 管理權限改動 使用方法:chmod 一位8進制數 filename。
9. clear,date命令:clear:清屏,非常與DOS下的cls;date:表明現在時間。
10. mount 載入一個硬件配置
11. su 在沒有退出登陸的前提下,轉換到另外一個人的真實身份
12.who am i,where is,which,id
//whoami:確定自身真實身份
//whereis:查看命令所屬目錄及其幫助文件所屬目錄
//which:查看該命令所屬目錄(相近whereis)
//id:打印出出自已的UID及其GID。(UID: 客戶真實身份為數不多標志。GID:用戶群真實身份為數不多標志。每一個客戶只有有一個為數不多的UID和 GID)
13. grep,find
grep: 文本內容檢索;find:文件或是目錄名及其管理權限屬主等配對檢索
eg: grep success * /*搜索現階段目錄下邊全部文件里邊含有success字符的文件
14. kill 能夠擊殺某一正在進行或是早已是dest情況的過程
15. passwd 可以設置動態口令
16. history 客戶使用過的命令
17. !! 實行近點一次的命令
18. mkdir命令
19. tar 緩解壓力命令
20. finger 能讓使用人查看一些別的使用人的材料
下邊是指一些CentOS的實際操作命令集
一:查看cpu
more /proc/cpuinfo | grep "model name"
grep "model name" /proc/cpuinfo
假如感覺必須看的更為舒適
grep "model name" /proc/cpuinfo | cut -f2 -d:
二:查看運行內存
grep MemTotal /proc/meminfo
grep MemTotal /proc/meminfo | cut -f2 -d:
free -m |grep "Mem" | awk '{print $2}'
三:查看cpu是32位或是64位
查看CPU個數(32 or 64)
getconf LONG_BIT
四:查看現階段linux的版本號
more /etc/redhat-release
cat /etc/redhat-release
五:查看內核版本
uname -r
uname -a
六:查看現在時間
date
以上早已詳細介紹怎樣同步時間了,
七:查看電腦硬盤和系統分區
df -h
fdisk -l
還可以查看系統分區
du -sh
能夠看見所有使用的區域
du /etc -sh
能夠看見這一目錄的尺寸
八:查看組裝的軟件包
查看安裝系統的情況下裝的軟件包
cat -n /root/install.log
more /root/install.log | wc -l
查看現在已經裝上這些軟件包
rpm -qa
rpm -qa | wc -l
yum list installed | wc -l
但是很奇怪,我根據rpm,和yum這幾種方法查看的組裝軟件包,總數并不是一樣。沒有找到緣故。
九:查看鍵盤布局
cat /etc/sysconfig/keyboard
cat /etc/sysconfig/keyboard | grep KEYTABLE | cut -f2 -d=
十:查看selinux情況
sestatus
sestatus | cut -f2 -d:
cat /etc/sysconfig/selinux
十一:查看ip,mac詳細地址
在ifcfg-eth0 文件里你能夠看見mac,網關ip等信息內容。
ifconfig
cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep IPADDR
cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep IPADDR | cut -f2 -d=
ifconfig eth0 |grep "inet addr:" |awk '{print $2}'|cut -c 6-
ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'
查看網關ip
cat /etc/sysconfig/network
查看dns
cat /etc/resolv.conf
十二:查看默認設置語言表達
echo $LANG $LANGUAGE
cat /etc/sysconfig/i18n
十三:查看隸屬時區時間和是不是應用UTC時長
cat /etc/sysconfig/clock
十四:查看IP地址
hostname
cat /etc/sysconfig/network
改動IP地址便是改動這一文件,與此同時不錯也把host文件也改動。
#查看開機啟動時長
uptime
09:44:45 up 67 days, 23:32, ...
:-) ,來看剛剛確實是子網的難題,我自己的設備或是67天內啟動的。
#服務器資源使用情況
vmstat 1 -S m
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 233 199 778 0 0 4 25 1 1 3 0 96 0 0
0 0 0 233 199 778 0 0 0 0 1029 856 13 1 86 0 0
這一或是專業分一片文章內容來形容吧
- 2. 批量替換文件
今日使用svn開展系統遷移,結果發現較初的途徑寫錯了,造成無法打開源網絡服務器,查看 .svn/entries 大概掌握了一下里面的內容。再次轉移時長太久了,或是直接把文件更換掉吧
for f in $(find ./ -type f -name 'entries')
do
sed -i "s/202\.68\.134\.18/202\.68\.134\.34/g" $f
done
sed 簡易表明:
sed "s/sourcestring/newstring/g" $f
把 $f 文件里的 sourcestring 換為 newstring,輸入輸出到終端設備。s 表明檢索更換,/g表示全局性。
sed -i $f
表明立即在 $f 中改動。
sed -iback $f
表明修改后的文件另存 $fback
sed 中全部正則都需要應用嚴格轉義符 \ 來限制
sed 的正則表達式較為嚴苛: " \ / ! 都要分別用 \" \/ \\ \! 轉譯。
\n 表明自動換行
- 3. shell 自變量 字符串數組實際操作
mono 跑在linux下時,apache+mod_mono有時必須載入的 Assembly 務必配備在 GAC 中,下邊是一個腳本制作進行此作用
cd bin
for f in $(find ./ -name "*.dll")
do
gacutil -i $f
done
如果要從 GAC 中大批量卸載掉這種 Assembly, 能夠如下所示
for f in $(ls *.dll)
do
gacutil -u ${f%%.dll}
done
在其中就用到了字符串數組自變量的更換, ${f%%.dll}
${f%%.dll} 的含義為 刪掉 $f 自變量 .dll 及以后的全部內容