Linux學習筆記(一):Linux簡介和入門

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就能夠了,以下圖:

相關文章
相關標籤/搜索