Linux初學總結,linux初學
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 C=$A+$B
2.$[算數運算運算式]
C=$[$A+$B]
3.$(( 算數運算運算式))
C=$(($A+$B))
4.expr算數運算運算式,運算式中各運算元及運算子之間要有空格,而且要使用命令引用
C=’expr $A + $B’