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
- let 算數運算表達式
let C=$A+$B
2.$[算數運算表達式]
C=$[$A+$B]
3.$(( 算數運算表達式))
C=$(($A+$B))
4.expr算數運算表達式,表達式中各操作數及運算符之間要有空格,而且要使用命令引用
C=’expr $A + $B’