1.什麼是Linuxjava
Linux是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操做系統,他的特色是可靠性高、可移植性好、良好的開放性、強大的網絡功能、強大的數據庫支持、支持多種文件系統、支持多用戶mysql
2.Linux遠程登陸和上傳下載文件linux
遠程登陸工具:Telnet,ssh,secureCRT,xshell等sql
上傳下載工具:Xftp、FileZilla、Winscpshell
上傳下載命令(須要單獨安裝:yum -y install lrzsz):rz、sz數據庫
sz: 將選定的文件發送(send)到本地機器; sz filenameapache
rz:運行該命令會彈出 一個文件選擇窗口, 從本地選擇文件上傳到服務器(receive),可是不能上傳文件夾,只能上傳一個單一的文件編程
3.文件管理命令bash
cp的使用服務器
複製a機器上的文件到b機器上,在Windows的cmd窗口下輸入scp 文件名 虛擬機用戶名@虛擬機ip:路徑(某個目錄下),前提是Windows上安裝了OpenSSHWindows53p1-2軟件
本機上的複製:cp -rf test /usr/local,複製文件到某個目錄下
ll和ls的使用
ll -a #顯示全部文件包括隱藏的文件信息
ll -l #顯示文件的詳細信息
ll -la #顯示全部文件包括隱藏文件的詳細信息
mkdir -p #建立父目錄 eg:mkdir -p /usr/local/test
cat用法:cat [options] 文件1 [文件2].....,還能夠用more和less查看文件內容,不過這兩個都是分頁顯示文件內容,退出查看用q
cat a.txt b.txt > c.txt #將幾個文件處理成一個文件,並將這種處理結果保存到一個單獨的輸出文件
cat error.log #查看日誌內容,從文件頭部開始查看
tail用法:tail [參數] [文件]
tail -f filename #動態查看日誌,當可能有錯誤的時候使用
tail -nf filename #動態查看末尾n行的日誌
du的用法:
du -sh #查看當前目錄下已使用的空間
du -sh filename #查看當前目錄下的某個文件佔用的空間
du -sh * #當前目錄下的每一個文件所佔用的空間大小
df -lh #查看硬盤總共使用了多少
用戶權限,chmod、chgrp、chown
chmod -R 777 test #第一個7表明本用戶權限,第二個7表明所屬組的用戶權限,第三個7表明其它用戶權限,-R遞歸,把這個目錄下的全部文件以及文件賦予權限
數字方式:4=r,2=w,1=x
chmod g+w filename #給組的用戶賦予寫的權限
chmod o+w filename #給其餘用戶賦予寫的權限
chgrp [選項] [組] [文件] #更改某個文件到用戶組,使用權限只能是超級用戶,參數有-R
chown [選項] 用戶or組 文件名 #改變文件全部者和全部組,使用權限只是超級用戶 eg:chown -R hyn:hyn test
wc -l a.txt #統計指定文件中的行數
4.搜索命令
grep -c 'c' a.txt #查找a.txt文件中是否包含有‘c’這個字符
ps -ef | grep mysql | grep -v 'grep' #把grep自己的進程排除掉,以下圖:
find / -name java #查找Java在哪一個目錄下
5.進程相關的命令
ps -ef | grep lampp #查詢lampp相關的進程
kill -9 1473(pid) #終止ID爲1473的進程,kill後面可用跟多個pid,中間用空格隔開
命令後面加&,eg:sh Apache_log.sh #終端被關閉,帶&的後臺命令也一同關閉
nohup命令,eg:nohup sh apache_log.sh #終端被關閉後,後臺進程還能夠繼續運行
定時任務:crontab
* * * * * sh /usr/tmp/logs/apache_log.sh #表示每分鐘執行一次apache_log.sh這個腳本
* /5 * * * * sh /usr/tmp/logs/apache_log.sh #表示每5分鐘執行一次apache_log.sh這個腳本
59 23 * * * sh /usr/tmp/logs/apache_log.sh # 表示每晚23:59分執行apache_log.sh這個腳本
6.軟件安裝命令
rpm -ivh jdk.rpm #安裝jdk
rpm -qa > all_soft.txt #把已經安裝的軟件都輸出到all_soft.txt文件裏
rpm -qa >> a.txt #把查詢出的安裝包都追加到a.txt文件裏面
7.其餘經常使用命令
chkconfig --list #查看全部系統服務
chkconfig iptables off #開機不啓動該服務
chkconfig iptables on #開機啓動該服務
service iptables start #啓動該服務
service iptables restart #重啓該服務
service httpd stop #開機不啓動該服務
8.創造命令
alias cdn='cd /opt/lampp/bin' #把cd /opt/lampp/bin命令變成cdn,這樣下次再輸入cdn的話就直接進入到bin目錄下;若是想讓該條命令下次啓動是還生效的話,須要在家目錄下的「.bashrc」文件裏面加上這句話,這樣下次啓動就還可使用了
unalias cp #取消別名設置
9.查看端口號
netstat -nlpt | grep 80 #查看80端口號有沒有被佔用
lsof -i :80 #查看80端口號有沒有被佔用,自己linux上是沒有此軟件的,須要單獨安裝,yum -y install lsof
10.awk的簡單使用
ps -ef | grep mysql | grep -v 'grep' | awk '{print $2 > "mysql.pid"}' #將MySQL的進程號寫到mysql.pid文件中
ps -ef | grep mysql | grep -v 'grep' | awk '{print $2}' #查詢MySQL的進程號
awk '{if ($2>60) {} else {print $1}}' score.txt #將成績不及格的學生名冊輸出
11.shell的簡單編程
b.寫一個備份文件,要求天天晚上23:59分執行,且要清空以前的文件內容
定時執行:crontab -e ,而後在文件裏面輸入:59 23 * * * cd /usr/tmp/logs/ && ./apache_log.sh,重啓crond就能夠了
備註:
/sbin/service crond start #啓動服務
/sbin/service crond stop #關閉服務
/sbin/service crond restart #重啓服務
/sbin/service crond reload #從新載入配置
若是想讓開機就啓動crond的話,須要找到 /etc/rc.d/rc.local這個文件,在文件後面加上一行 /sbin/service crond start就能夠了,以下圖: