Linux系統入門,學習筆記,簡易教程

Linux系統入門筆記

寫在前面

本人大一,啥都不懂,純粹以啥都不懂的角度寫的筆記。這篇筆記是我在跟着bilibili up主正月點燈籠 的教學視頻學習時整理的,這裏是他的視頻地址Linux入門教程。這個up講課講的超級好,強烈推薦!!!一定要給他投幣點贊哦(衆所周知bilibili是個學習網站)

喜歡的話點贊收藏哦~

1.簡單命令

代碼 作用
date 打印系統時間
cal 打印今天日曆
cal+年份 打印某年日曆
cal+月份+年份 打印某月日曆
clear 清屏

2. Linux的文件相關

  • 總目錄是叫root,Linux中用 /

  • 文件的類型是三段式的

    u-g-o : user-group-other 作者-小組-其他

    r:read可讀。 w:write可寫。 e:execute可運行

    一些代碼

代碼 作用
pwd 顯示當前目錄
cd / 跳到總目錄
ls 列出所在目錄下文件
ls -l 列出所在目錄下所有文件的詳細信息
cd 【文件夾名字】 進入文件夾
cd … 退回上一級目錄
mkdir 【文件夾名字】 創建文件夾
rmdir 【文件夾名字】 刪除文件夾
cp 【A】 【B】 將【A】複製成爲【B】
cat 【A】 查看文件內容
diff 【A】 【B】 對比兩個文件有沒有區別,一樣就沒反應,有的話會有提示
head 【文件名字】 -n 【數字】 查看這個文件的開頭幾行(tail是看最後幾行)
wc 【文件名】 word count數文件裏面多少行(-l),多少個單詞(-w),大小(-c)
rm 【文件名】 刪除文件(沒有回收站)
mv 【A】 【B】 把A的名字改成B
mv 【文件名】 xxx/(目錄) 移動
less 【文件】 以閱讀器的方式打開,按q退出
chmod 修改權限,比如chmod u-r xxx.txt作者不能讀。chmod u+r xxx.txt作者可以讀了。chmod go -r xxx.txt除了作者都不能讀了。
grep 【正則表達式】【文件名】 在文件中查找(正則表達式)內容,紅色代表重複(更復雜的用法找help)
./ 運行可執行文件

3.Linux腳本

3.1 一些補充

  • 重定向符號> <
  • 腳本:指的是一堆Linux命令或者其他命令。我們把它寫到一個文件裏面,結尾.sh

  • 腳本中的命令可直接在命令行中執行

3.2 腳本的運行

sh xxx.sh可以運行該腳本

3.3 變量(腳本里面)variable

a=10         #設置一個變量10,‘=’兩邊不能打空格
echo $a      #echo用於輸出,類似C語言中的printf,’$‘符號:Linux中要讀取時要加$,但是賦值不加。

echo "Hello world"     #輸出字符串,可以不寫雙引號(寫了更好看)
腳本支持計算
a=1
b=2
c=`expr $a + $b`    #這裏用的符號是數字1左邊那個符號。expr 個指令。乘法用'\*',單獨的乘號是認作正                      則表達式,括號也是類似的用法。ps:運算符兩邊要加空格
echo $c
條件語句
a=1
b=2

if [ $a -gt $b ]   #-gt是大於的意思
then
	echo $a
else
	echo $b
fi

一些符號對應關係

C語言符號 Linux腳本 英文解釋 中文解釋
= -eq equal 等於
!= -ne not equal 不等於
> -gt greater than 大於
< -lt less than 小於
>= -ge greater than 大於等於
<= -le less than 小於等於
循環語句
#for循環
for x in 1 2 3 4 5 6 7 8 9 10
do
	echo $x
done
#或者這樣寫
for x in {1...10}
do
	echo $x
done

#while循環
x=1
while [ $x -le 10 ]
do
	echo $x
	x=`expr $x + 1`
done

3.4 字符串

字符串的定義

a="hello"
b="world"

輸出

echo $a
echo $b

echo "$a $b "    #將ab輸出在同一行,中間那個空格會直接輸出,雙引號可不要

輸入

read

例1:用戶輸入兩個數字,求和

echo "Please enter a: "
read a

echo "Please enter b: "
read b

c=`expr $a + $b`
echo $a + $b = $c

例2:判斷字符串是否一致(驗證密碼)

passward="hello world"

echo "Please enter a: "
read userPassword

if [ $password = $suerPassword] #相同只有一個等號,不相同是'!='
then
	echo "密碼正確!"
else
	echo "密碼錯誤!"
fi

字符串拼接

str1="hello"
str2="world"

str3="$str1 $str2"
echo $str3

判斷一個字符串是否是空的

if [ -n $str ]       #-z判斷這個字符串是不是零(zero) -n判斷是不是不是零
then 
	echo "str1 不是空的"
else
	echo "str1 是空的"
fi

3.5 數組

sh可能不支持數組,若包含數組,要用bash

arr=(7 8 9 10)

echo ${arr[0]}      #這裏下標和C語言是類似的
echo ${arr[1]}

for i in ${arr[@]}  #類比C語言的for循環
do                  #i走的是元素本身
	echo $i
done

例:輸出數組最大值

arr=(7 8 9 10 4 5 6 7)

max=${arr[0]}
for i in ${arr[@]}
do
	if [ $i -gt $max ]
	then 
		max=$i
		fi
done
echo $max

4. 全局變量

4.1 USER

當前用戶名

4.2 HOME

保存了用戶主目錄

cd ~cd $HOME

4.3 PATH 環境變量

我們把寫好的程序放在環境變量之下,就可以到處運行了

PATH=$PATH:/home/workspace,假設這個目錄下面有程序example的話,那麼在哪裏都可以運行example

注意上面那個代碼用的是(不同於win用的

5.文件壓縮

5.1zip

zip CProgram.zip *   #在某個目錄下壓縮,'*'代表全部文件
zip test.zip -r test/*  #層層打包

unzip CProgram.zip   #解壓

5.2tar

tar -zcvf A.gz A/B   #將目錄壓縮爲A.gz

參數含義

  • -z:按照gzip壓縮算法壓縮
  • -c:創建目標
  • -v:顯示壓縮過程
  • -f:文件重命名
tar -zxvf A.gz      #解壓A.gz至目錄

6. 網絡下載

命令wget URL(網址) -O A

ps:-O是大寫的英文字母,A是重命名

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章