Linux初學總結

来源:http://www.cnblogs.com/sphh/archive/2017/11/26/7825911.html
-Advertisement-
Play Games

Linux的特點 1.免費的、開源的 2.支持多線程。多用戶的 3.安全性好 4.對記憶體和文件管理優越 5.linux最小隻需要4m->嵌入式開發 缺點: 操作相對困難 命令: shutdown -h now 立即進行關機 shutdown -r now 現在重新啟動電腦 reboot 現在重新啟 ...


Linux的特點

  1.免費的、開源的

  2.支持多線程。多用戶的

  3.安全性好

  4.對記憶體和文件管理優越

  5.linux最小隻需要4m->嵌入式開發

缺點:

  操作相對困難

 命令:

  shutdown -h now 立即進行關機

  shutdown -r now 現在重新啟動電腦

  reboot       現在重新啟動電腦

   logout  註銷

使用vi在linux下開發hello.java

  1    vi    Hello.java

  2   輸入  i [進入插入模式]

  3   public  class Hello{

    public static void main(String[] args){

    System.out.println("Hello");

    }

  }

  4 輸入  esc 【進入命令模式】

  5 輸入  :wq[保存退出]      q![退出不保存]

     輸入 ls【當前目錄】

    ls -l【詳細

  6 編譯  Hello.java

  javac Hello.java

  7 運行

  java Hello

如何在linux下開發c/c++程式

  vi  hello.cpp

  #include<stdio.h>

    int main(){

    printf("hello!");

    return 0;

    }

  gcc Hello.cpp

  ./a.out

 

    添加用戶 useradd xiaoming

     添加密碼  passwd xiaoming

 i/o重定向

    輸出       >  覆蓋輸出,願內容會被覆蓋  >>追加輸出

    輸入       <

    2>:重定向錯誤輸出

    &>重定向所有輸出

shell編程 弱類型編程語言

  強:變數在使用前,必須先聲明,甚至還需要初始化

  弱:變數用時聲明,直接用,甚至不區分類型

  ’強引用 不做變數替換

  “” 弱引用 做變數替換

  變數賦值:VAR_NAME=VALUE

 

變數類型:

       環境變數

       局部變數(局部變數)

       位置變數

        特殊變數

    本地變數:

      NAME=Jerry  (整個bash進程)

      echo $NAME   echo 顯示字元

      引用變數: ${ }   {}有時候可以省略

    局部變數:

      local VARNAME=VALUE  (當前代碼段)

    環境變數:作用域為當前shell進程及其子進程

      export  VARNAME=VALUE “導出”

      命令行中啟動任意腳本在執行時會啟動一個字shell進程

      系統自動執行的腳本(非命令行啟動)就需要自我定義需要各環境變數

    位置變數:

      $1 $2 …

    特殊數據

      $?:上一個命令的執行狀態返回值

     程式執行,可能有兩類返回值

        程式執行結果

        程式狀態返回代碼(0-255)

        0:正確

        1-255:錯誤執行   1,2,127系統預留

/dev/null 軟體設備 bit bucket,數據黑洞

  撤銷變數

unset VARNAME

查看當前shell的變數:

  set

查看當前shell中的環境變數

  printenv env  export

  添加字元串變數

腳本:命令的堆砌,按照實際需要,結合命令流程式控制制機制實現的源程式

shebang:魔數

#! /bin/bash

# 註釋行,不執行

 nano  fisrt.sh 寫腳本

編程語言:機器語言,彙編語言,高級語言

靜態語言:編譯型語言  強類型(變數) 事先轉換成可執行格式

動態語言:解釋性語言 弱類型 邊解釋邊執行  on the fly

    Asp. Php,python Shell

變數:記憶體空間,命名

記憶體:編製的存儲單元

進程:

1+100

變數類型:事先確定數據的存儲格式和長度

    字元

    數值

           整型

           浮點型:11.23 1.123*10^1,

邏輯:1+1>2

邏輯運算:與,或,非,異或

Bash:腳本解釋器

編程能力:

    腳本編程

條件判斷

       如果用戶不存在

              添加用戶,給密碼並顯示添加成功

       否則

           顯示如果沒在,沒有添加

Bash中如何實現條件判斷

條件判斷類型:

    整數測試

    字元測試

    文件測試

條件測試的表達式:

       [ expression ]

       [[ expression ]]  關鍵字

       test expression

 

整數比較(雙目操作):

    -eq:測試兩個整數是否相等 : $A –eq $B

 

變數名稱:只能包含字母數字和下劃線,不能數字開頭

不應該跟系統中已有的環境變數重名

最好做到見名知義

-ne:測試兩個整數是否不等:不等,為真;相等,為假;

    -gt:測試一個數是否大於另一個數;大於為真,否則為假

    -lt: 測試一個數是否小於另一個數

    -ge:大於或等於

    -le:小於或等於

 

命令間的邏輯關係:

       邏輯與:&& 第一個條件為假時,第二個條件不用再判斷,最終結果已有,第一個條件為真時,第二條件必須得判斷

       邏輯或:||

 

條件判斷,控制結構

單分支if語句

if 判斷條件;then

    statement1

    statrment2

fi

雙分支的if語句;

  if 判斷條件;then

        statement1

        statement2

  else

        statement3

        statement4

  fi

shell中如何進行算數運算

  A=3

  B=6

  1. let 算數運算表達式

    let C=$A+$B

  2.$[算數運算表達式]

    C=$[$A+$B]

  3.$(( 算數運算表達式))

    C=$(($A+$B))

  4.expr算數運算表達式,表達式中各操作數及運算符之間要有空格,而且要使用命令引用

    C=’expr $A + $B’

 

 

 

 

  

 

 

  

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 首先安裝expect # yum -y install expect 命令格式 # ./expect IP COMM #expect是獨立的工具,所以不能用sh來執行 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #!/usr/bin/expect ...
  • zabbix入門知識 zabbix中文手冊 https://www.zabbix.com/documentation/3.4/manual/ 1.zabbix介紹 2.zabbix系統架構圖 3.zabbix的組件 4.zabbix支持的通訊協議 5.zabbix的工作模式 6.zabbix的監控過 ...
  • 系統環境:Centos7.4 今天在安裝 Nodejs8.7 的時候,報了一個警告: WARNING: C++ Compiler too old, need g++ 4.9.4 or clang++ 3.4.2 (CXX=g++) 然後,查了一下自己系統上安裝的版本:4.8.5 好吧,不能用 yum ...
  • ls 顯示當前目錄內容 1)ls / (顯示根目錄下所有的目錄和文件) 2)ls l / (以列表的形式顯示根目錄下所有的目錄和文件) 絕對路徑和相對路徑 1)絕對路徑,以/開頭的都是絕對路徑,比如/home/pzm 2)相對路徑,以./ 或者../開頭的,./是指當前目錄,../是指上一層目錄 m ...
  • I.STM32 DWT時間戳功能實現 1.m3、m4實測可用。 2.精度:1/內核頻率(s)。 3.實現流程: a.先使能DWT外設,由內核調試寄存器DEM_CR的位24控制,寫1使能。 b.使能CYCCNT寄存器之前,先清0。 c.使能CYCCNT寄存器,由DWT_CTRL的位0控制,寫1使能。 ...
  • haproxy實現高級負載均衡實戰 環境:隨著公司業務的發展,公司負載均衡服務已經實現四層負載均衡,但業務的複雜程度提升,公司要求把mobile手機站點作為單獨的服務提供,不在和pc站點一起提供服務,此時需要做7層規則負載均衡,運維總監要求,能否用一種服務同既能實現七層負載均衡,又能實現四層負載均衡 ...
  • 1. 添加 nginx 的 yum 源(官網安裝說明) vi /etc/yum.repos.d/nginx.repo 在該文件中添加如下內容: [nginx]name=nginx repobaseurl=http://nginx.org/packages/centos/$releasever/$ba ...
  • 正則表達式可以用來處理大量的文件和字元串,運維工作中過濾日記簡單高效,Linux最常應用正則表達式的命令有grep(egrep)、sed、awk。 正則表達式和文本通配符不同容易混淆。 字元匹配 . 匹配任意單個字元 [] 匹配指定範圍內的任意單個字元 [^] 匹配指定範圍外的任意單個字元 [:al ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...