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是重命名