1. 程式人生 > >大資料 基礎部分 Linux 第三天

大資料 基礎部分 Linux 第三天

Linux03

晨測

1. 寫出下列每項具體含義:
   -rw-r--r--  1 root root  0 8月 18  13:47 shanxiao

2. 更改檔案許可權
    屬主:jinggege ,可讀可執行
    屬組:jinggege ,可寫
    其他:可執行
    chmod u-w ,u+x ....
    chmod u=rx...
    chmod 521 shanxiao

3. 掛載命令
    (光碟的掛載)
    (U盤的掛載)

4. 連結的分類和區別

5. 壓縮和解壓的語法格式

回顧

1.  echo  ''  ""  `date`   
2.  grep 
3.  ln -s 
4.  許可權:chmod  ,  chown 屬主:屬組  檔案   chgrp
5.  幫助
6.  查詢
7.  管道
8.  壓縮
    tar -cvf 壓縮目標檔案.tar.xxx  原始檔
        -z:使用gz格式
        -j:使用bz2格式

    tar -xvf 壓縮目標檔案.tar.xxx  -C 壓縮位置
        -z:使用gz格式
        -j:使用bz2格式  

9.  掛載
    mount -t iso    9660  裝置名稱   掛載位置
          -t  vfat

    umount 掛載點/裝置名稱

10.  關閉重啟

11.  網路

12. 系統相關
    <1> ps 檢視系統執行程序 
        ps -aux
    <2> top 實時監控系統的狀態
        top 
    <3> kill 殺死程序
        kill pid程序號     

    <4> df 檢視儲存裝置的使用情況
        du 檢視指定目錄的大小

    <5>date 顯示系統日期
       date 時間  (月日時分年.秒)

    <6>alias 設定命令的別名
       alias del="rm -rf"
       del 檔案的名稱
       unalias del

今日概要

一、Vim編輯器
二、使用者和組管理
三、軟體的安裝(jdk,mysql)
四、Shell程式設計

一、Vim編輯器的使用

1. vim編輯器的執行模式
    編輯模式:等待使用者編輯命令的輸入
    插入模式:編輯文字內容
    命令模式:執行命令

2. 使用  :vim 檔名
3. 檢視當前vim編輯器介紹:vim 回車
4. 操作
    4.1 建立文字檔案:vi hello.java 回車(直接進入編輯模式,無法直接插入新的資料)
    4.2 在編輯模式下,按i鍵,進入的插入模式,修改資料
    4.3 在插入模式下,按esc鍵,返回到編輯模式(使用編輯命令,修改文字內容)
    4.4 在編輯模式下,按 ':' ,進入命令模式,執行一些退出或者儲存修改的命令

5. 在命令模式下:
    :q  直接退出vim
    :wq 儲存修改後退出vim
    :q! 強制退出vim
    :w 新的檔名稱  ,類似於另存為 
    :set number/set nu  ,顯示行號
    :set nonumber ,取消顯示行號
    :n  ,移動到第幾行


查詢和替換:
    查詢:/需要查詢的內容
    例如:/java
         n:下一條
         N:上一條  

    替換:起始行號,終止行號s/舊的資料/新的資料/g
         起始行號和終止行號可以使用%,表示全文替換  

    例如:2,10s/安裝/install/g   
         %s/安裝/install/g    


    註釋:起始行號,終止行號s/^/#/g 
    取消註釋:起始行號,終止行號s/^#//g   
    例如:2,10s/^/#/g  
         2,10s/^#//g

6. 在編輯模式下:
    gg:移動到檔案開頭
    GG:移動到檔案末尾
    x:刪除單個字元
    nx:刪除多個字元  , 5n

    dd:刪除當前行
    ndd:刪除多行  , 3dd

    yy:複製當前行
    nyy:複製多行

    p/P:貼上
    np/P:貼上多行

    u:撤銷
    ctrl+r:反撤銷

    shift +zz :快速的退出vim 

二、Linux中的使用者和組管理

Linux多使用者的作業系統   ,嚴格的許可權管理。
通過賬戶名稱區分每個使用者的檔案,程序,任務等等

<1>賬戶管理

普通使用者賬戶:進行普通操作
超級使用者賬戶:對普通使用者和整個系統進行管理   

私有組:當建立一個使用者時,沒有指定屬於哪個組,Linux會建立一個和使用者名稱同名的私有組
標準組:建立一個使用者時,指定一個標準組

<2>賬戶系統檔案

2.1 /etc/passwd 配置檔案 (賬戶資訊)
    root:x:0:0:root:/root:/bin/bash
    使用者名稱,口令,使用者標識,組標識,描述資訊,家目錄,shell的型別

    jinggege:x:500:500::/home/jinggege:/bin/bash

2.2 /etc/shadow  (密碼資訊)
    root:$6$Sy6K/Us80q1Bt.Ox$k5hZlF5RfCVoaMP7zolZEigCfdq5lBTRPfv6UGVvV7K/6dJT4LHOduah8nMNf0bcKtR8zNRkpB4gBN/d9yUqt1:17637:0:99999:7:::

    使用者名稱,使用某種加密演算法加密的密碼       


2.3 /etc/group (組資訊)
    組名,組口令,組id,組成員


2.4 使用命令操作使用者和組
    建立使用者:useradd 使用者名稱
        -g 組名
        -d 設定使用者家目錄

    例如:useradd laowang
         passwd laowang
         touch laowangfile

    刪除使用者:userdel -r 使用者名稱:
        userdel laowang 

        useradd -g gebi laowang

    建立組:groupadd 組名
        groupadd gebi
        useradd -g gebi laowang
        passwd laowang

        groupdel 組名

    將使用者新增到組中:   gpasswd -a 使用者名稱  組名
        gpasswd -a laowang gebi

三、軟體安裝

1.JDK的安裝

1.  安裝包拷貝到系統中(U盤,光碟,WinSCP)
2.  掛載,拷貝
3.  解壓jdk
4.  配置環境變數
    編輯/etc/profile檔案
    新增配置:
        export JAVA_HOME=/usr/local/jdk
        export PATH=$PATH:$JAVA_HOME/bin

5.  重新整理配置
        source /etc/profile 

2.安裝的方式

2.1 軟體包的分類

<1>原始碼包
    通常以.gz格式的形式存在。先解壓然後編譯,使用C語言編寫,可以檢視原始碼。

    特點:開源,自由定製,效率更高,解除安裝方便。
         自行編譯,步驟較複雜。
         報錯不容易解決        

<2>rpm二進位制包(red package manager)
    通常以.rpm格式的形式存在。

    特點:安裝速度快,操作簡單。
         定製性差,依賴性強(a--->b---->cde)  

<3>指令碼程式 
    把複雜的軟體包安裝過程寫成指令碼程式,一鍵安裝

2.2 rpm安裝方式(增強版:yum安裝)

http://版本  釋出次數  適合linux系統 .rpm

語法格式:rpm -ivh 軟體包名稱(絕對路徑)
         -i:安裝
         -h:安裝進度
         -v:顯示安裝的資訊
         -nodeps:不檢測依賴的安裝
         -e:解除安裝軟體

www.rpmfind.net檢視依賴

2.3 MySQL資料庫

1. 將mysql資料庫的安裝包拷貝到linux中
    winscp
2. 解壓和拆包
    tar -xvf MySQL_install.xxx.rpm
3. 需要檢視是否已經安裝了mysql
    rpm -qa | grep mysql
    跳轉到解除安裝操作

    rpm -e --nodeps  軟體名稱

4. 安裝mysql
    rpm -ivh MySQL-server.xxxx.rpm
    rpm -ivh MySQL-client.xxxx.rpm

5. 啟動MySQL
    service mysql start

6. 將MySQL新增到系統服務中,並開機自啟
    chkconfig --add mysql
    chkconfig mysql on

7. 登陸mysql
    cat /root/.mysql_secret
    mysql -uroot -p密碼   

8. 修改密碼
    set password=password('新的密碼');

9. 開啟MySQL的root使用者的遠端訪問許可權
    grant all privileges on *.* to 'root'@'%' identified by '管理員的密碼';

10. 使用第三方工具訪問mysql

11. 解除安裝
    關閉服務:
        service mysql stop
        ps -aux | grep mysql
        kill -9 pid

    刪除元件
        rpm -e MySQL-serverxxxxx
        rpm -e MySQL-clientxxxxx        

    刪除殘留檔案
        find / -name mysql
        rm -rf 殘留的檔案

四、Shell程式設計

<1>編寫一個shell指令碼

Linux:核心+shell+檔案系統+應用程式        

shell語言是一門強大的程式語言,易編寫,易除錯,靈活性強。
是解釋執行的指令碼語言。

1.1 常看當前shell版本:echo $SHELL

1.2 編寫shell指令碼
    echo -e "jing\ngege"        
    echo -e "jing\n \e[1;30m修飾的資料\e[0m"  

1.3 步驟
    <1>建立一個指令碼檔案
        vi hello.sh

    <2>#我的第一個指令碼檔案
       #!/bin/bash
       echo -e "\e[1;30mhello world!\e[0m"      

    <3>執行指令碼
        方式一:通過bash 執行指令碼 (使用bash解釋命令)
            bash hello.sh

        方式二:直接執行指令碼檔案(建議)
            chmod 755 hello.sh  (賦予指令碼檔案可執行許可權)
            ./hello.sh  


    <4>將指令碼檔案移動到path下
        /bin
        /usr/local/bin
        /usr/local/sbin     

<2>Bash變數

2.1 分類
    使用者自定義變數:
        使用者自己定義的變數,可以隨便的更改

    環境變數:
        有一部分環境變數被系統賦予特定的含義並被系統使用

    預定義變數:
        完全不能由使用者定義的變數

2.2 自定義變數
    格式:變數名稱=值
        age=128
        name="jinggege"

    呼叫方式:使用$符號
        echo  $age
        echo $name

        age=$age+$age

    檢視變數:
        set 回車
        set |grep 某一個變數

    刪除變數:
        unset 變數名稱   (變名稱不需要新增$符號)


2.3 環境變數
    全域性的變數,在shell中,和shell的所有子shell中都生效。

    格式:export 變數名=變數值

         變數名=變數值
         export 變數名

    例如:
        export myhome="/root"


    呼叫方式:使用$符號
        echo  $age
        echo $name

        age=$age+$age

    檢視變數:
        set 回車
        set |grep 某一個變數

    刪除變數:
        unset 變數名稱   (變名稱不需要新增$符號)

2.4 常用的環境變數
    SHELL: 當前使用的shell版本
    PATH:存放的系統環境變數
    HOSTNAME:主機名
    USER:當前登陸的使用者名稱稱

    <1>PATH環境變數
         echo $PATH
         PATH= $PATH:新的路徑  (更改環境變數時,一定要將原資料保留,使用:拼接)


    <2>PSI環境變數:修改命令提示符
        命令提示符:
            \u:使用者名稱
            \$:使用者身份
            \h:主機名
            \W:所在路徑的最後一級
            \w:全路徑
            \A:時間

        PS1='[\[email protected]\A \w]\$'


    <3>位置引數變數
        $n : 表示形參 ,n由1-9 ,超過九個實參,${10}
        $* : 命令列中的所有引數,$*將所有引數看成一個整體(需要將此變數新增到引號中)
        [email protected] : 命令列中的所有引數,[email protected]不將所有引數看成一個整體
        $# : 命令列中的引數個數

2.5 預定義變數
    $? :使用者上一次執行命令返回的狀態,非0命令執行失敗
    $$ :當前程序的程序號pid
    $! :後臺執行的最後一個程序程序號pid       


2.5 接收使用者鍵盤輸入的變數
語法格式:read - 引數
            -p 提示使用者輸入資訊 ,在等待使用者輸入        
            -t 秒數 ,read命令會等待使用者輸入,等待指定的時間
            -s : 隱藏輸入的資料,適用於輸入密碼


#!/bin/bash
read -p "input your data:" data
echo $data

read -p "input your data:" -t 5 data
echo $data

read -p "input your pwd:" -s pwd
echo $pwd

<3>分支和迴圈結構

分支結構語法格式:
    if[ 條件];then
        分支語句        
    elif [條件];then
        分支語句    
    else
        分支語句    

    fi  


    -eq :等於
    -gt :大於
    -ge :大於等於
    -lt :小於
    -le :小於等於


    #!/bin/bash
    #測試分支語句
    if [ $1 -lt 60   ] ;then
        echo "恭喜重修通過"   
    else
        echo "恭喜畢業"

    fi  


迴圈結構語法格式:
    for 變數名稱  in {1,2,3,4,5}
    do
        迴圈體
    done

    for (( num=1;num<=10;num++ ))   
    do
        迴圈體
    done

    #!/bin/bash
    #迴圈測試
    sum=0
    for(( i = 1; i<=100 ; i++ ))
    do
        sum=$[sum+i]
    done

    echo "sum=$sum"

練習

判斷使用者成績等級
輸出九九乘法表 

相關推薦

資料 基礎部分 Linux

Linux03晨測1. 寫出下列每項具體含義: -rw-r--r-- 1 root root 0 8月 18 13:47 shanxiao 2. 更改檔案許可權 屬主:jingge

linux

com 運行級別 zip2 bsp 工作 進行 插入模式 grub 部分 一 正文處理命令及tar命令 使用cat命令進行文件的縱向合並 兩種文件的縱向合並方法 : tar命令:將多個文件(也可能包括目錄,因為目錄本身也是文件)放在一起存放到一個磁帶或磁盤歸檔文件中。並

學習Linux

今天主要還是學習基本命令 1、ifconfig        //檢視網絡卡資訊和網路狀態 2、uname      //檢視系統版本,核心資訊 引數: -a      //完整檢視系統資訊 3、

Linux 重定負、管道符、環境變數

1 輸入輸出重定向簡而言之,輸入重定向是指把檔案匯入到命令中,而輸出重定向則是指把原本要輸出到螢幕的資料資訊寫入到指定檔案中。在日常的學習和工作中,相較於輸入重定向,使用輸出重定向的頻率更高,所以又將輸出重定向分為了標準輸出重定向和錯誤輸出重定向兩種不同的技術,以及清空寫入與追加寫入兩種模式。1.1

Linux 重定負、管道符、環境變量

模式 com 導入 RoCE 分享圖片 mark type term 文件 1?輸入輸出重定向簡而言之,輸入重定向是指把文件導入到命令中,而輸出重定向則是指把原本要輸出到屏幕的數據信息寫入到指定文件中。在日常的學習和工作中,相較於輸入重定向,使用輸出重定向的頻率更高,所以又

《黑馬視訊13期》基礎班課程-

(1)C語言知識點不說了,在Windows上gcc編譯。執行應用程式,不用加.\了。 (2)linux每個命令都是用c語言編譯的,但是用的時候不用加.\。 (3)system函式用:在程式中執行外部的程式,在不同系統中函式返回值不同。C語言所有的庫函式呼叫,只能保證語言是

學習linux

由於第二天的內容也放在了第一天裡,所以就直接釋出第三天得了。   一,進階命令 1、df指令 作用:檢視磁碟的空間(disk free) 語法:#df -h        -h表示以可讀性較高的形式展示

資料基礎知識集合(

一、Hadoop 1、MapReduce——Hadoop的核心 MapReduce是一個可以對大量資料進行分散式處理的軟體框架,MapReduce的重要創新是當處理一個大資料集查詢時會將其任務分解並在執行的多個節點中處理。 當資料量很大時就無法在一臺伺服器上解決問題,此時分

java基礎部分總結部分

(12)各種資料型別之間的轉換(重點) ①基本資料型別由低階到高階(byte,short,char)-->int-->long-->float-->double 大小指的是值範圍的大小 ② 1)低階到高階 2)高階到低階可以轉換強制轉換但會找出精度丟

資料學習 Linux完結篇

今天,是學習Linux的第三天了,也是最後一天。 重要的內容不少,所以不能掉以輕心哦。 好了,廢話不多說,進入正題。 1. 系統服務的基本操作 1.chkconfig 列出當前系統的常駐服務 2.service 服務名 start/stop/status/restart

linux基礎知識-

linux基礎知識一、環境變量PATH$PATH:決定了shell將到哪些目錄中尋找命令或程序,PATH的值是一系列目錄,當您使用某個命令時,Linux在這些目錄中尋找具體的命令程序。[[email protected]/* */ ~]# echo $PATH/application/mysql/

linux--基礎

           檔案描述符     通道名稱    預設連結   &

python學習:python基礎基礎資料型別和變數)

註釋 以  # 開頭的語句是註釋,如,註釋不會被編譯執行; 格式 當語句以冒號:結尾時,縮排的語句視為程式碼塊。按照約定俗成的管理,應該始終堅持使用4個空格的縮排(在文字編輯器中,需要設定把Tab自動轉換為4個空格,確保不混用Tab和空格)。 如,而其中這張圖中紅框框裡的是程式碼塊

資料視覺化——D3.js初探:餅形圖

在找了許多參考資料後,我發現大部分關於D3.js的講解不滿足我的需求,有些講的太過冗長,舉了很多不需要的點,比如用D3來做排序過濾這種分析階段就應該做完的事;有些又太簡單,很多省略的細節讓人看的似是而非。這篇我在網上找了一個餅狀圖的小例子來幫助自己理解D3一般圖形繪製過程,在程式碼中涉及到某個知識點

Linux基礎Linux的軟連結與硬連結、安裝nginx以及基本配置、LNMP和LAMP的搭建

ln    建立硬連結 ln oldboy.txt oldgirl.txt    建立硬連結,原檔案oldboy.txt寫在前面,兩檔案inode相同,存在同一個block中, 內容同步刪除,但其中一個刪除 另一個並不會消失,因為block, l

13.資料學習之旅——HBase

LSM-TREE 概述 眾所周知傳統磁碟I/O是比較耗效能的,優化系統性能往往需要和磁碟I/O打交道,而磁碟I/O產 生的時延主要由下面3個因素決定: 1)尋道時間(將磁碟臂移動到適當的柱面上所需要的時間,尋道時移動到相鄰柱面移動所需 時間1ms,而隨機移動所需時間位5~1

白魚備考雲筆記第二沖刺階段

spa 存在 註冊 font 數據庫 困難 登錄 頁面 ont 昨天幹了什麽:根據對軟件的總結進行修改 今天準備幹什麽:增加註冊登錄主頁面 遇到困難沒有:註冊界面註冊的信息保存在數據庫,供下一次使用大白魚備考雲筆記第二沖刺階段第三天

Linux系列】【基礎版】章 Shell基礎知識

linux shell 3. Shell基礎知識 3.1 Shell的由來 3.1.1 Bourne Agin Shell 3.1.2 其他的shell, 有 zsh, ksh等 3.2 查看有沒有shell 3.2.1 yum list

:ptyhon基礎知識

python一、認識Python1.Python發展歷史起源Python的作者,Guido von Rossum,荷蘭人。1982年,Guido從阿姆斯特丹大學獲得了數學和計算機碩士學位。然而,盡管他算得上是一位數學家,但他更加享受計算機帶來的樂趣。用他的話說,盡管擁有數學和計算機雙料資質,他總趨向於做計算機

課程內容《基礎交換

交換機 思科 路由器 雲計算 達內教育 IP地址 作用:在一定範圍內,唯一的表示一個網絡設備; 表示: 二進制 --- 10101010101010010101 , 共32個; 點分十進制 - X.X.X.X ;