作為一個.NET跨平台開發時代的開發人員,有些常用的Linux命令必須掌握。即時平時開發過程中不使用Linux(Unix)或者mac系統,也需要熟練掌握Linux命令。因為很多服務器上都是Linux系統。所以,要和服務器機器交互,就要通過shell命令。
本文並不會對所有命令進行詳細講解,只給出常見用法和解釋。具體用法可以使用--help
查看幫助。
find / -name filename.txt
根據名稱查找/目錄下的filename.txt文件。
find . -name "*.xml"
遞歸查找所有的xml文件
find . -name "*.xml" |xargs grep "hello world"
遞歸查找所有文件內容中包含hello world的xml文件
grep -H 'spring' *.xml
查找所以有的包含spring的xml文件
find ./ -size 0 | xargs rm -f &
刪除文件大小為零的文件
ls -l | grep '.jar'
查找當前目錄中的所有jar文件
grep 'test' d*
顯示所有以d開頭的文件中包含test的行。
grep 'test' aa bb cc
顯示在aa,bb,cc文件中匹配test的行。
grep '[a-z]\{5\}' aa
顯示所有包含每個字符串至少有5個連續小寫字符的字符串的行。
ps –ef|grep mono
查看所有有關mono的進程
kill -9 19979
終止線程號位19979的進程
ls -al
pwd
cp source dest
復制文件
cp -r sourceFolder targetFolder
遞歸復制整個文件夾
scp sourecFile romoteUserName@remoteIp:remoteAddr
遠程拷貝
mkdir newfolder
rmdir deleteEmptyFolder
刪除空目錄 rm -rf deleteFile
遞歸刪除目錄中所有內容
mv /temp/movefile /targetFolder
mv oldNameFile newNameFile
su -username
chmod 777 file.cs
//file.cs的權限-rwxrwxrwx,r表示讀、w表示寫、x表示可執行
tar -czf test.tar.gz /test1 /test2
tar -tzf test.tar.gz
tar -xvzf test.tar.gz
head -n 10 example.txt
tail -n 10 example.txt
tail -f exmaple.log
//這個命令會自動顯示新增內容,屏幕只顯示10行內容的(可設置)。
sudo rm a.txt
使用管理員身份刪除文件
netstat -tln | grep 8080
查看端口8080的使用情況
lsof -i :8080
ps aux|grep jexus
查看jexus進程
ps aux
查看所有進程
tree a
ps:Mac下使用tree命令
wget http://file.tgz
mac下安裝wget命令
curl http://file.tgz
ping www.linuxidc.com
ssh userName@ip
echo $ZOOKEEPER_HOME
打印zookeeper home環境變量的值
mono,mcs,gmcs ,makecert 等等
svn git