下面是我用到過的Linux命令,也可以說是Linux菜鳥必知必會的命令集合,基本上占據了所有你將用到的命令的95%以上,值得一看。
一: Linux下的mysql數據庫常用操作
1.登入登出
mysql -uroot -p123456;
mysql <./HostCache.sql -uroot -p123456;
mysql <E:\sql\HostCache.sql -uroot -p123456;
show databases;
use HostCache;
show tables;
desc HostCache;
exit;
2.數據操作
alter table voucherwinner modify cpuid varchar(36);
alter table installerreport add skypeid varchar(32);
update operator set agentid='00000124' where username='00000124';
select * from HostCache order by TimeStamp;
select * from voucherwinner where skypeid not like '#%';
select ExternalIP, InternalIP from HostCache order by TimeStamp;
delete from HostCache where ISPType = 4;
delete from HostCache;
3.數據導入導出
把數據庫skypeuser中的表voucherwinner中的數據導入到voucherwinner文件中。
該命令會把創建表的操作以及插入數據記錄以腳本的形式存入文件
mysqldump -h172.24.172.47 -uskypeuser -ptomskype47 skypeuser voucherwinner > voucherwinner
帶where條件的數據表導出
mysqldump -h61.135.158.241 -uroot -p --w "time >= '2007-05-03 00:00:00' and time <= '2007-05-03 23:59:59'" skypeuser
installerreport > installerreport20070503
把記錄導入到新庫中
mysql -uroot -p skypeuser <voucherwinner;
mysql -h61.135.158.241 -uroot -p skypeuser <installerreport20070503
4.權限分配
在數據庫服務器端運行下面命令:
mysql> grant all on *.* to username@IP identified by 'password';
比如:
mysql> grant all on *.* to [email protected] identified by '123456';
則可以如此訪問:
mysql -h192.168.15.96 -uroot -p123456;
修改最大連接數
mysql默認的最大連接數是100,該值存放在mysql的ini文件中,比如:my.ini,找到對應值修改就可以了
二: Linux常用普通操作
1.常見文件操作
cd ../home/tcast/NATServer; 進入到一個目錄
cd ${ACE_ROOT}
tail -f 2005-10-28.log 查看正在被其它進程修改的文件
ps -A 顯示當前進程列表
ps -ef | grep natserver 查詢名字包含natserver的進程是否存在
killall -9 p2pserver kill進程
kill -9 6499 結束ID為6499的進程
df 查看磁盤使用比例
2.設置定時任務
一個 cron 作業是一個命令,其運行是由 cron 守護程序在規則的調度間隔執行的。
crontab -e 編輯用戶的 crontab 文件的副本,或者,如果一個有效的 UserName 的 crontab 文件不存在則創建一個空的文件進行編輯。當編
輯完成後,文件被到 crontab 目錄作為用戶的 crontab 文件。
例如:增加一條每天9點16執行一次的任務,則添加如下文字:
16 9 * * * echo "hello" > /root/hello.txt
crontab -l 列出用戶的 crontab 文件。
3.顯示或修改系統時間
date
date -s 'Sat Apr 21 09:55:11 CST 2007'
4.遠程登錄
ssh 61.135.234.140 從一台Linux系統登錄到另一台Linux系統
exit 從那台Linux系統中退出
三: 環境變量相關
locale 查看本地化設置(locale的東東在/usr/lib/locale下)
export LANG=zh_CN 設置本地化的變量
export LANG= 設置這個變量為空
uname -a 查看操作系統,CPU的信息
top 查看進程使用CPU,內存的情況
env 查看環境變量
/etc/profile 環境變量的文件,可以設置
export path添加環境變量路徑
export CPPFLAGS="-I/data/TOMSKYPEIVR/asterisk/include"
export LD_LIBRARY_PATH=/data/TOMSKYPEIVR/cpprad/lib
echo $CPPFLAGS
${ACE_ROOT}
su -root
四: C/C++編譯和調試
1.常用操作
vi makefile 編輯makefile文件
make 編譯當前目錄下的源碼
./kill.sh 運行結束程序的腳本
ctrl + c 結束控制台下正在運行的程序
chmod a+x tcastchanroot 修改文件屬性使其可以運行
./runnewtcast.sh & 後台運行腳本
nohup ./tcastchanroot >runlog 不掛起執行程序, 輸出定向到文件runlog
2.gdb調試相關
gdb ./reportserver 開始調試reportserver程序
b main 在main()處設置斷點
b CReportServer::svc 在CReportServer:svc()處設置斷點
b 100 在當前文件的第100行放置斷點
d 刪除所有斷點
start 開始以調試狀態運行程序
t 顯示當前線程情況
p argc 顯示變量情況
s 進入函數內執行
n 跳到下一行執行
c 跳到下一個斷點執行
quit 退出調試
ulimit -c unlimited 設置運行時產生調試信息
gdb tcastchanroot core.6200 調入調試信息查看
where 模塊結構
五: 文本操作命令
1.常見操作
tail -f 2005-10-31.log :查看日志
cat /proc/cpuinfo 只讀的形式打開文本文件
grep MyKeyword statistics.2006102700.log
grep MyKeyword statistics.2006102800.log | wc
grep MyKeyword statistics.2006102800.log | awk '{print{GetProperty(Content)}}' | sort -u | wc
在日志statistics.2006102800.log的每行中出現過MyKeyword的行中,打印他們的第1列內容不重復的行數
cat testsetuplog2006-10-28 | awk '{print$3}' | sort -u | wc
cat testsetuplog2006-10-30 | awk '{print $6}' | grep 0 | wc
cat testsetuplog2006-11-15 | awk '($5$6==62) {print $4}' | sort -u | wc
在日志testsetuplog2006-11-15的每行中,第5列等於6,第5列等於2的行中,打印他們的第4列內容不重復的行數
cat ExportMac2005.txt > mac.txt 把ExportMac2005.txt的內容拷貝到另外一個文件mac.txt
cat ExportMac2006-01-01.txt >> mac.txt 把ExportMac2006-01-01.txt的內容追加到文件mac.txt
wc mac.txt 對mac.txt中的內容條數進行統計
cat mac.txt | sort -u | wc 對mac.txt中的不重復內容條數進行統計
cat mac.txt | sort -u > macunique.txt 把mac.txt中的不重復內容條數拷貝到macunique.txt
grep 'Radius' * 在當前文件夾下的所有文件中搜索出現Radius的地方
find -name Main.cpp 搜索文件名為Main.cpp的文件所在路徑
2. vi命令
i從命令模式到插入模式
ESC從插入模式到命令模式
命令模式滾屏:ctrl+f
yy復制當前行
p粘貼
dd刪除當前行
/xx 在文檔中查找xx字符串, n查找下一個
:wq
將文本中的installerreport替換成為installerreport20070503
:g/installerreport/s/installerreport/installerreport20070503/g
六:文件系統操作
touch xxx 創建新文件
mkdir xxx 創建新目錄
mv jspwiki-2.2.33-bin.zip ../../usr/tomcat55/webapps/
mv(move)可以將文件移動到另一個地方,或者更改文件名稱(Lniux中並沒有ren或rename命令來更改文件名)。
cp JSPWiki.war ../JSPWiki.war
rm -rf WEB-INF 強制刪除有內容的文件夾
rm xa* 刪除所有xa開頭的文件
split -l 10000 ExportMac.txt 把ExportMac.txt分割成多個文件,每個文件10000行
cp -a ./star_zh_CN ../../../tomwiki/templates/start_zh_CN 拷貝整個目錄
cp -a ./star_zh_CN ../../../tomwiki/templates/start_zh_CN 拷貝,使用絕對路徑
ln
這是linux中一個非常重要命令,請大家一定要熟悉。它的功能是為某一個文件在另外一個位置建立一個同不的鏈接,這個命令最常用的參數是
-s,具體用法是:ln -s 源文件 目標文件。
當我們需要在不同的目錄,用到相同的文件時,我們不需要在每一個需要的目錄下都放一個必須相同的文件,我們只要在某個固定的目錄,放
上該文件,然後在其它的目錄下用ln命令鏈接(link)它就可以,不必重復的占用磁盤空間。例如:ln -s /bin/less /usr/local/bin/less
-s 是代號(symbolic)的意思。
這裡有兩點要注意:第一,ln命令會保持每一處鏈接文件的同步性,也就是說,不論你改動了哪一處,其它的文件都會發生相同的變化;第二
,ln的鏈接又軟鏈接和硬鏈接兩種,軟鏈接就是ln -s ** **,它只會在你選定的位置上生成一個文件的鏡像,不會占用磁盤空間,硬鏈接ln **
**,沒有參數-s, 它會在你選定的位置上生成一個和源文件大小相同的文件,無論是軟鏈接還是硬鏈接,文件都保持同步變化。
如果你用ls察看一個目錄時,發現有的文件後面有一個@的符號,那就是一個用ln命令生成的文件,用ls -l命令去察看,就可以看到顯示的
link的路徑了。
從網絡上獲取並下載一個文件到當前目錄下
wget http://www.blogdove.com/nnt.tar.gz
文件傳輸命令,將當前目錄的.so文件傳到機器211.99.190.120的/data/TOMSKYPEIVR/asterisk/lib/asterisk/modules/下
scp *.so [email protected]:/data/TOMSKYPEIVR/asterisk/lib/asterisk/modules/
七: 壓縮解壓命令
unzip JSPWiki.zip
unzip -d ../JSPWiki JSPWiki.zip 解壓zip包
unrar x udt2.rar 解壓rar包
gunzip backup.tar.gz &
tar xvf backup.tar
tar zxvf KingSoftUnion.tar.gz 解壓後綴為tar.gz的文件。
tar jxvf upx-3.00-i386_linux.tar.bz2 解壓後綴為tar.bz2的文件。
&n
bsp; 打包一個文件夾成壓縮文件
八:PHP命令
php ExportMac.php 執行一個php腳本
九: 後台執行命令
啟動一個程序時讓它立即進入後台運行方式
看過前面一篇bash的介紹應該明白Ctrl+z/bg/fg的用法。有些程序工作起來挺費時間,在它後面加個&符號看看,例如“updatedb &
”,“netscape &”等等。這樣這個shell會釋放出來干別的活。請注意這樣出來的程序父進程仍然是這個shell,若你退出這個shell,這些
程序也會被kill掉。建議退出shell之前用jobs命令查看後台作業。
使用nohup(不掛起)命令
如果想進程在你退出系統後還能執行,可以使用nohup命令如:
% nohup tar -cf /dev/tape /home &
如logout退出後再重新登錄的話,使用“ps”命令可以看到進程還在執行。注意,要想把命令真正放到後台運行,nohup必須與&操作同時
使用。有些軟件自己能處理SIGHUP信號,如wget,對它們則無須用nohup。
你還可以用nohup來實現ppp回撥:先撥號上去,然後以nohup執行一個自制的腳本,如“sleep 60; ppp-start-script”等等。最後
logout退出並掛斷電話等著就是。
十: 軟件包通用安裝方法
1.百度或者Google得到安裝包的下載路徑,比如在google中搜lrzsz,得到
http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz
在linux下
wget http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz
2.解壓軟件包
tar zxvf lrzsz-0.12.20.tar.gz
3. 安裝三部曲
./configure --prefix=/data/TOMSKYPEIVR/bin
make
make install