歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> 學習Linux

Linux操作系統基本應用(完結),linux操作系統

Linux操作系統基本應用(完結),linux操作系統

Linux操作系統基本應用(完結),linux操作系統


  時間:2015-4-10 12:40

Linux第一天  Linux基本命令 

Linux各文件夾的作用
    bin  二進制可執行命令
    dev  設備特殊文件
    etc  系統管理和配置文件
    etc/rc.d  系統啟動的配置文件和腳本
    home  用戶文件夾
    lib  標准程序設計庫  作用類似於Windows中的 .dll
    sbin   系統管理命令
    tmp  公用的臨時文件儲存點
    root  特權階級
    mnt  臨時掛載其他的文件系統
    var  可編數據
    opt  第三方軟件(非應用  支持系統)
    usr  應用軟件
    boot  啟動文件
————————
基本命令
    ls  顯示目錄(d表示文件夾、-表示文件、l 表示軟鏈接、紅色表示壓縮文件、藍色表示文件夾、綠色表示可執行文件)
        -a 顯示所有文件,包括隱藏文件
        -l  顯示詳細信息
        -d 查看目錄屬性 
    chmod 766 文件名  或者  chmod u+rwx 文件名/*給user添加rwx權限*/
        rwx        rwx          rwx             root         root
        所有者   所屬組     其他人        所有者    所屬組
        user       group      others
    r = 4  w = 2  x = 1
——————————————————————————————————————
|    代表字符    |       權限      |        對文件的含義        |                對目錄的含義                |
——————————————————————————————————————
|           r           |    讀權限     |    可以查看文件內容    |         可以列出目錄中的內容         |
——————————————————————————————————————
|          w           |    寫權限     |    可以修改文件內容    |    可以在目錄中創建、刪除文件   |
——————————————————————————————————————
|           x           |  執行權限   |        可以執行文件        |                可以進入目錄                |
——————————————————————————————————————
    rwx 對文件的權限
        r - cat、more、head、tail
        w - echo、vi
        x - 命令、腳本
    rwx 對目錄的權限
        r - ls
        w - touch、mkdir、rm
        x - cd
    chown 用戶名
        改變文件或目錄的所有者
    chgrp 用戶名
        改變文件所屬組
    su - 用戶名   
        切換當前用戶 
    touch 文件名 
        創建空文件
    cp -R 源文件或目錄 目的目錄 
        復制文件
    which 命令名稱
        顯示系統命令所在目錄
    例子:$which ls
    find查找
    find 搜索路徑 搜尋關鍵字
        功能描述:查找文件或目錄 
    find -name 文件名
        * 匹配任意字符 init*
        ? 匹配單個字符 init??
    find -size 文件大小
        數據塊 512字節  block
        大於 +
        小於 -
    find -user 所有者
    find -time
        1、天 ctime、atime、mtime
        2、分鐘 cmin、amin、mmin
    c = change 改變  表示文件的屬性被修改過,文件的所有者 
    a = access  訪問
    m = modify  修改  表示文件的內容被修改過
    - 之內
    + 超過
    例:
        find /etc -mmin -120    /*查找120分鐘內被修改過的文件*/ 
gzip壓縮:
    gzip 文件名
        gzip 只能壓縮文件 不能壓縮目錄 
        gzip  壓縮後不保留源文件
解壓縮:
    gunzip -d  或者  gzip -d
tar壓縮:
    tar  選項  目錄
        -c 產生.tar打包文件
        -v 顯示詳細信息
        -f 制定壓縮後的文件名
        -z 打包同時壓縮
功能描述:
    打包目錄
    壓縮後文件格式.tar.gz
例子:
    $tar  -zcvf  dir1.tar.gz dir1  /*打包後產生的文件名在後*/
        將目錄 dir1壓縮成一個打包並壓縮的文件
解壓縮:
    $tar -xfz 文件名
        -x  是解壓
        當文件名後綴沒有.tar.gz   可以用 file  xxx 來查看文件
bzip2壓縮:
    bzip2 選項 文件
        -k  產生壓縮文件後保留源文件
    功能描述
        壓縮文件
    壓縮後文件格式:
        .bz2
    例子:
        $bzip2 -k file1
解壓縮:
    bunzip2 -k 壓縮文件
        -k  解壓縮後保留原文件
    功能描述:
        解壓縮
    例子:
        $bunzip2 -k file.bz2 
    bc  計算器
    cal  日歷
    date  時間
    exit  退出
    reboot  重啟
    vi/gedit  編輯器
    gcc 123.c -o 32.c  重命名 123.c文件為321.c
    ./123.c  運行123.c程序
    whereis 123.c  尋找123.c文件的位置
    pwd  顯示當前文件位置
    cp  復制
    mv  移動/剪切
    rm  刪除
    rmdir  刪除空目錄/*只能刪除空目錄*/
    cat  查看文件內容
    more  文件名/*分頁顯示文件內容*/
        空格 或 f    顯示下一頁
        Enter         顯示下一行
        Q 或 q       退出
    head  -5  文件名 /*顯示文件前5行內容*/
    tail  -5  文件名  /*顯示文件後5行內容*/ 
    mkdir  創建文件夾
    ctrl + c  終止命令
    雙擊tab  補全命令
    cd + 文件名  下層目錄
    cd(空格)..  退到上層目錄
    cd(空格)/  退到根目錄
————————
VI編輯器

    v:顯示
    y:復制
    a:編輯
    w:保存
    q:退出 
————————  Linux第二天 shell命令編程
    用VI創建一個名為“hello.sh”的shell文件
    vi  hello.sh
    輸入語句
    #!/bin/sh
    echo "hello world!"
    修改權限
    chmod 766 hello.sh
    運行“hello.sh”
    ./hello.sh  ————————
變量賦值
    var1= 1      var2= “aaa”  /*Linux中沒有數據類型,所以直接定義變量*/
輸入輸出
    read  輸入  相當於C語言中的 scanf
        read var    屬於一個數據存儲到var當中
     echo 輸出  相當於C語言中的printf         echo “$var”  輸出變量var的值
    調用變量時要用$引用變量  $var /*當變量為右值使用時必須使用$*/
數學運算命令
    expr $var+1 或 (($var  + 1))   引用命令時用反短斜線 ` `  /*數字1左邊的鍵*/ 或  $() ————————
簡單運算
    #!/bin/sh
    echo "input a number"
    read var1
    var= `expr $var1 + 1`
    echo $var
    /*  
        輸入一個數字  將該數字賦值給var1         調用var1  使var+1  將相加後的結果賦給var
         輸出var     */
————————
條件執行
    命令1;命令2    /*命令1執行完畢,無條件執行命令2*/
    命令1&&命令2   /*當命令1執行成功則執行命令2,命令2執行完畢返回“成功”,否則返回“失敗”*/
    命令1 || 命令2    /*當命令1執行失敗則執行命令2,命令1執行成功則不執行命令2*/
例句
    ls~/abc || mkdir~/abc && touch~/abc/aa
        touch的作用是修改文件 時間戳
    -a    &&    邏輯與  -and
    -o    ||    邏輯或  -or
————————
Linux流程控制結構
    if語句結構[if/then/elif/else/fi]
    if 條件     then     語句     elif 條件     語句     else     語句     fi
    /*         如果對於:條件測試語句不是很清楚,可以參考:linux shell 邏輯運算符、邏輯表達式詳解shell命令
       [chengmo@centos5 ~]$ a=5;if [[ a -gt 4 ]] ;then echo 'ok';fi;                       
       ok
    */ 

    實例:
    (test.sh)#!/bin/shscores=40;
    if [[ $scores -gt 90 ]]; then
        echo "very good!";
    elif [[ $scores -gt 80 ]]; then
        echo "good!";
    elif [[ $scores -gt 60 ]]; then
        echo "pass!";
    else
        echo "no pass!";
    fi; 
    圖片
    條件測試有:[[]],[],test 這幾種,注意:[[]] 與變量之間用空格分開。
————      for … in 語句     for 變量 in seq字符串     do     語句     done
    說明:seq字符串 只要用空格字符分割,每次for…in 讀取時候,就會按順序將讀到值,給前面的變量。

    實例
    (testfor.sh):
    #!/bin/sh
    for i in $(seq 10); do
    echo $i;
    done;
    圖片
    seq 10 產生 1 2 3 。。。。10空格分隔字符串
    [user@bogon ~]$sh xxx.sh  相當於 . / 運行shell文件
————     for((賦值;條件;運算語句))     do     語句     done; 
     實例(testfor2.sh):#!/bin/shfor((i=1;i<=10;i++));do
    echo $i;
    done;     圖片
————     while 條件語句     do     語句     done;
    
    實例1:     #!/bin/sh
    i=10;
    while [[ $i -gt 5 ]];do
    echo $i;
    ((i--));
    done;     運行結果:
    ========================     sh testwhile1.sh
    10
    9
    8
    7
    6     !!實例2:(循環讀取文件內容:)     #!/bin/sh     while read line;do
        echo $line;
    done < /etc/hosts;       運行結果:
    ===================     sh testwhile2.sh
    # Do not remove the following line, or various programs
    # that require network functionality will fail.
    127.0.0.1 centos5 localhost.localdomain localhost
————
    語法結構:     until 條件     do     action     done     意思是:直到滿足條件,就退出,否則執行action。

    實例
    (testuntil.sh):     #!/bin/sh     a=10;     until [[ $a -lt 0 ]];do     echo $a;     ((a--));     done;     結果:     sh testuntil.sh     10
    9
    8
    7
    6
    5
    4
    3
    2
    1
    0
————
    case選擇語句使用(case/esac)
    語法結構     case $arg in  
        pattern | sample) # arg in pattern or sample  
        ;;  
        pattern1) # arg in pattern1  
        ;;  
        *) #default  
        ;;  
    esac      說明:pattern1 是正則表達式,可以用下面字符:                  *       任意字串
                 ?       任意字元
                 [abc]   a, b, 或c三字元其中之一
                 [a-n]   從a到n的任一字元
                 |       多重選擇            實例:     #!/bin/sh      case $1 in
    start | begin)
        echo "start something"  
    ;;
    stop | end)
    echo "stop something"  
    ;;
    *)
    echo "Ignorant"  
    ;;
    esac     運行結果:
    ======================       testcase.sh start
    start something
————
    select語句使用方法(產生菜單選擇)
      語法:select 變量name  in seq變量do    actiondone實例:#!/bin/sh select ch in "begin" "end" "exit"
    do
    case $ch in
    "begin")
    echo "start something" 
    ;;
    "end")
    echo "stop something" 
    ;;
    "exit")
    echo "exit" 
    break;
    ;;
    *)
    echo "Ignorant" 
    ;;
    esac
    done;運行結果:
    圖片
    說明:select是循環選擇,一般與case語句使用。 ———————— 重定向
    標准輸入            命令<文件(覆蓋)  <<(追加)
    標准輸出            命令>文件(覆蓋)  >>(追加)
    標准錯誤輸出     錯誤命令 2>文件(覆蓋)  2>>(追加)
例句
    ls -l > aa.txt  /**/
    vi bb.txt < aa.txt ———————— 正則表達式
      簡單的說,正則表達式就是處理字符串的方法,它是以行為單位來進行字符串的處理行為,正則表達式通過一些特殊符號的輔助,
      可以,讓用戶輕易達到查找、刪除、替換某特定字符串的處理程序。
     正則表達式主要分為兩類:基本正則表達式和擴展正則表達式。
     特殊符號            符號 含義 舉例         ^ 開始標記 "^abc"滿足的例子abc、abcd         ^ 非(在[]內) "[^abc]"滿足的例子:ddd、mpd         $ 結束標記 ”abc$”滿足的例子abc、mmabc         . 任意字符 "a.c"滿足的例子abc、fapcc         \< 匹配單詞開始 "\<abc"滿足的例子abc、abcd         \> 匹配單詞結束 "abc\>"滿足的例子abc、pmrabc         | 或 "AAA|BBB"滿足的例子AAA、BBBpp     ^ 行首錨定符
    & 行尾錨定符
    grep ‘wang’ file    /*篩選文件名為'wang’的文件*/
    grep 'wang[12]' file     /*篩選出“wang1”,“wang2”*/
    grep 'wang[^2]' file     /*篩選出不包括2的所有文件名為“wang”的文件*/
    grep 'wang[1-5]' file     /*篩選出包含“1—5”的所有文件名為"wang"的文件*/
    grep '^a' file     /*篩選出以a開頭的所有文件*/
    grep 'g$' file     /*篩選出以g結尾的所有文件*/
    grep 'a\{2\}' file     /*表示精確匹配2次*/
    grep 'a\{2,5\}' file     /*表示其前面的字符a最少出現2次,最多出現五次*/     grep ’a\{2,\}' file   /*表示匹配其前面的字符a最少出現2次,最多無限*/
    grep 'wa*' file     /*匹配其前面的字符零到多次,例如 waaang,wngg*/
    grep 'w..g' file    /*匹配任意單個字符,一個  .  一個字符,例如love,line*/     grep '[a-z]' file     /*指定范圍內的任意單個字符,例如 actor,build*/
    grep ‘^[a-z]' file     /*篩選除指定字符外的其它任意字符*/
———————— 
管道命令   |
    1)把前面的命令結果作為後面命令的輸入數據
    2)後面的命令必須是管道命令(以文件為輸入,可以處理文件內容)
    篩選 grep 'xx'文件  /*xx是文件名*/
    切行 cut -d'分隔符' -f 字段
    排序 sort -r(反向)
    合並行 uniq 計數 wc -l 行 -w 詞
例句
    ls -l | grep 'wang' | cut -f 3,5 | sort
 ————————
 awk命令
    awk '條件{動作}條件{動作}......'文件名
    awk '{print $1"\t" $3}' aa.txt
    awk '{print $1"\t" NR "\t" NF}' aa.txt     /*NR  行號    NF  字段號*/
    awk 'BEGIN{FS="\t"}$3>10{print $}' aa.txt      /*FS  分隔符*/
    awk 'NR=1{} NR >= 2{}' aa.txt 
例句(刪除存儲大小為0的文件)
    #!/bin/sh
    for filename in 'ls'
    do
    if test -d $filename;then 
    b=0
    else
    a= $(ls -l $filename | awk '{print$5}')
    if test $a -eq 0; then
    rm $filename
    fi
    fi
    done
 ————————
Linux中字符比較的寫法
    -eq    相等
    -ne    不等
    -lt     小於
    -le    小於等於
    -gt    大於
    -ge    大於等於
    -f xxx    文件存在
    -d xxx    目錄存在
    -x xxx    文件可執行
    -n xxx    變量有數據
    -a    &&  邏輯與
    -o    ||  邏輯或
———————— Linux第三天 Linux服務器
軟件安裝
    1、源碼安裝
        下載 wget http://www.xxx.com/xxx.tar.bz2
        解壓 tar -jxvf xxx.tar.bz2
        編譯和安裝 make   make install
    2、yum安裝
        yum info xxx  /*information  顯示安裝文件信息*/
        yum install xxx  /*install  安裝文件*/
        yum remove xxx   /*remove  刪除安裝文件*/
        yum list xxx    /*list  顯示安裝文件列表*/
        yum search xxx    /*search  查找安裝文件*/
 ————————
網絡命令和配置文件
    IP地址 ifconfig    /*查看網卡信息*/
        ifconfig etho 192.168.111.128 netmask 255.255.255.0
    防火牆 /etc/sysconfig/iptables
        -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT 
————————
SSH
    安裝服務端
        yum install openssh-server
    啟動
        /etc/init.d/sshd start (stop or restart)
    連接
        yum install ssh
        ssh xxx.xxx.xxx.xxx    /*輸入IP地址*/
    Windows平台
        下載安裝putty(遠程登錄)
————————
LAMP(Linux+Apache+MySQL+PHP)
    安裝
        yun install httpd mysql mysql-server php php-mysql
    啟動
        /etc/init.d/mysql start
        /etc init.d/httpd start    /*d代表服務端*/
    測試
        在/var/www/html/下創建phpinfo.php文件    /*創建php腳本文件*/
        在phpinfo.php文件中輸入<?php phpinfo();?>
        用浏覽器打開 http://xxx.xxx.xxx.xxx/phpinfo.php
————————
    1、安裝
        yum install xxx
    2、查看IP地址 
        ifconfig
    3、設置防火牆端口
        /etc/sysconfig/iptables
    4、安裝遠程登錄服務端
        yum install openssh-server
    5、啟動/重啟/關閉
        /etc/init.d/xxxd start/restart/stop(d  服務端,相當於server,ssh-server、mysql-server)

http://xxxxxx/Linuxjc/1191265.html TechArticle

Copyright © Linux教程網 All Rights Reserved