20165327 預備作業3 Linux安裝及學習
20165327 預備作業3 Linux安裝及學習
一、學習基於VirtualBox虛擬機安裝Ubuntu圖文教程,在自己筆記本上安裝Linux操作系統,註意盡量選用最新版本的VirtualBox和Ubuntu
虛擬機的安裝還比較順利可能是筆記本自身原因因此只裝了32位系統
只是在安裝 ubuntu時候出現了一點問題,所以實驗都是在實驗樓的環境裏完成的
如下圖 回學校後解決
二、通過實踐學習別出心裁的Linux命令學習法,掌握Linux命令的學習方法
首先解開我心裏面的疑惑,Linux是什麽?是一種操作系統!
另外Linux學習應用的一個特點是通過命令行進行使用。
操作系統操作系統為你完成所有“硬件相關、應用無關”的工作,以給你方便、效率、安全。操作系統的功能我總結為兩點:管家婆和服務生:
管家婆:通過進程、虛擬內存和文件三個重要抽象管理計算機的CPU、內存、I/O設備。
服務生:為用戶提供shell,為程序員提供系統調用。
三、實踐學習Linux 基礎入門(新版)課程,掌握常用的Linux命令,重點是3/4/5/6/7/8節。
(一)Linux系統的簡介
(二)基本概念及操作
(三)用戶及文件權限管理
1、查看用戶
輸入命令:
$ who am i
或者
$ who mom likes
- who命令其他常用參數:
-a打印能打印的全部
-d打印死掉的進程
-m同am i,mom likes
-q打印當前登錄用戶數及用戶名
-u打印當前登錄用戶登錄信息
-r打印運行等級
2、創建用戶
su< user> (註:中間沒有空格,暫時沒有解決的基本語法問題,下同)可以切換到用戶 user
sudo < cmd> 可以以特權級別運行 cmd 命令,需要當前用戶屬於 sudo 組
su - < user>命令也是切換用戶,同時環境變量也會跟著改變成目標用戶的環境變量
$ ls /home這個命令不但可以添加用戶到系統,同時也會默認為新用戶創建 home 目錄
使用如下命令切換登錄用戶:
$ su -l lilei
$ sudo adduser lilei
3、在 Linux裏面如何知道自己屬於哪些用戶組呢?
方法一:使用 groups 命令
$ groups shiyanlou
方法二:查看/etc/group文件
$ cat /etc/group | sort
使用命令過濾掉一些你不想看到的結果:
$ cat /etc/group | grep -E "shiyanlou"
4、用 shiyanlou 用戶執行 sudo 命令將 lilei 添加到 sudo 用戶組,讓它也可以使用 sudo 命令獲得 root 權限:
$ su shiyanlou
$ groups lilei
$ sudo usermod -G sudo lilei
$ groups lilei
5、刪除用戶
$ sudo deluser lilei --remove-home
變更文件所有者
$ touch iphone6
可見文件所有者是 lilei
現在,換回到 shiyanlou 用戶身份,使用以下命令變更文件所有者為 shiyanlou :
$ cd /home/lilei
$ ls iphone6
$ sudo chown shiyanlou iphone6
$ ll iphone6
6、修改文件權限
方式一:二進制數字表示
為了演示,先在文件裏加點內容:
$ echo "echo \"hello shiyanlou\"" > iphone6
然後修改權限:
$ chmod 700 iphone6
現在,其他用戶已經不能讀這個iphone6文件了
(四) Linux 目錄結構
1、FHS 標準
$ sudo apt-get update
$ sudo apt-get install tree
$ tree /
2、目錄路徑
使用 cd 命令可以切換目錄,在 Linux 裏面使用. 表示當前目錄,.. 表示上一級目錄(以 . 開頭的文件都是隱藏文件,所以這兩個目錄必然也是隱藏的,可以使用 ls -a 命令查看隱藏文件),- 表示上一次所在目錄,~ 通常表示當前用戶的 home 目錄。使用 pwd 命令可以獲取當前所在路徑(絕對路徑)。
進入上一級目錄:
$ cd ..
進入 home 目錄:
$ cd ~
使用 pwd 獲取當前路徑:
$ pwd
3、新建空白文件
$ touch test
新建目錄
創建名為“ mydir ”的空目錄:
$ mkdir mydir
使用-p 參數同時創建父目錄(如果不存在該父目錄):
$ mkdir -p father/son/grandson
4、復制文件
$ cp test father/son/grandson
復制目錄
$ cp -r father family
5、刪除文件
$ rm test
強制刪除文件:
$ rm -f test
刪除目錄
$ rm -r family
6、移動文件
將文件“ file1 ”移動到 Documents 目錄:
$ mkdir Documents
$ mv file1 Documents
7、重命名文件
將文件“ file1 ”重命名為“ myfile ”:
$ mv file1 myfile
8、批量重命名
使用通配符批量創建 5 個文件:
$ touch file{1..5}.txt
批量將這 5 個後綴為 .txt 的文本文件重命名為以 .c 為後綴的文件:
$ rename ‘s/\.txt/\.c/‘ *.txt
批量將這 5 個文件,文件名改為大寫:
$ rename ‘y/a-z/A-Z/‘ *.c
9、查看文件
使用 cat,tac 和 nl 命令查看文件(其中 cat 為正序顯示,tac 為倒序顯示)
比如查看passwd 文件:
$ cat passwd
可以加上 -n 參數顯示行號:
$ cat -n passwd
使用 head 和 tail 命令查看文件
$ tail /etc/passwd
只看一行:
$ tail -n 1 /etc/passwd
查看文件類型:
$ file /bin/ls
(五) 環境變量與文件查找
1、創建一個變量
$ declare tmp
使用 "=" 號賦值運算符,將變量 tmp 賦值為 shiyanlou:
$ tmp=shiyanlou
讀取變量的值,使用 echo 命令和 $ 符號:
$ echo $tmp
2、環境變量
創建一個 Shell 腳本文件:
$ gedit hello_shell.sh
在腳本中添加如下內容,保存並退出:
#!/bin/bash
for ((i=0; i<10; i++));do
echo "hello shell"
done
exit 0
為文件添加可執行權限:
$ chmod 755 hello_shell.sh
執行腳本:
$ ./hello_shell.sh
創建一個 C 語言“ hello world ”程序:
$ gedit hello_world.c
#include <stdio.h>
int main(void)
{
printf("hello world!\n");
return 0;
}
保存後使用 gcc 生成可執行文件:
$ gcc -o hello_world hello_world.c
在 shiyanlou 家目錄創建一個 mybin 目錄,並將上述 hello_shell.sh 和 hello_world文件移動到其中:
$ mkdir mybin
$ mv hello_shell.sh hello_world mybin/
現在可以在 mybin 目錄中分別運行剛剛創建的兩個程序:
$ cd mybin
$ ./hello_shell.sh
$ ./hello_world
3、變量刪除
$ unset temp
4、搜索文件
whereis 簡單快速:
$whereis who
locate 快而全:
$ locate /etc/sh
查找/usr/share/下所有 jpg 文件:
$ locate /usr/share/\*.jpg
which 小而精:
$ which man
find 精而細:
$ sudo find /etc/ -name interfaces
(六)文件打包與壓縮
1、zip 壓縮打包程序
使用 zip 打包文件夾:
$ zip -r -q -o shiyanlou.zip /home/shiyanlou
$ du -h shiyanlou.zip
$ file shiyanlou.zip
設置壓縮級別為 9 和 1(9 最大,1 最小),重新打包:
$ zip -r -9 -q -o shiyanlou_9.zip /home/shiyanlou -x ~/*.zip
$ zip -r -1 -q -o shiyanlou_1.zip /home/shiyanlou -x ~/*.zip
再用 du 命令分別查看默認壓縮級別、最低、最高壓縮級別及未壓縮的文件的大小:
$ du -h -d 0 *.zip ~ | sort
創建加密 zip 包
使用 -e 參數可以創建加密壓縮包:
$ zip -r -e -o shiyanlou_encryption.zip /home/shiyanlou
2、使用 unzip 命令解壓縮 zip 文件
將 shiyanlou.zip 解壓到當前目錄:
$ unzip shiyanlou.zip
使用安靜模式,將文件解壓到指定目錄:
$ unzip -q shiyanlou.zip -d ziptest
3、rar 打包壓縮命令
安裝 rar 和 unrar 工具:
$ sudo apt-get update
$ sudo apt-get install rar unrar
從指定文件或目錄創建壓縮包或添加文件到壓縮包:
$ rm *.rar
$ rar a shiyanlou.rar .
從指定壓縮包文件中刪除某個文件:
$ rar d shiyanlou.rar .zshrc
查看不解壓文件:
$ rar l shiyanlou.rar
使用 unrar 解壓 rar 文件全路徑解壓:
$ unrar x shiyanlou.rar
去掉路徑解壓:
$ mkdir tmp $ unrar e shiyanlou.rar tmp/
4、tar 打包工具
創建一個 tar 包:
$ tar -cf shiyanlou.tar ~
解包一個文件(-x 參數)到指定路徑的已存在目錄(-C 參數):
$ mkdir tardir
$ tar -xf shiyanlou.tar -C tardir
只查看不解包文件 -t參數:
$ tar -tf shiyanlou.tar
保留文件屬性和跟隨鏈接:
$ tar -cphf etc.tar /etc
創建不同的壓縮格式的文件:
在創建 tar 文件的基礎上添加 -z參數,使用 gzip 來壓縮文件:
$ tar -czf shiyanlou.tar.gz ~
解壓 *.tar.gz 文件:
$ tar -xzf shiyanlou.tar.gz
- 總結zip 命令和tar命令
** zip
打包 :zip something.zip something (目錄請加 -r 參數)
解包:unzip something.zip
指定路徑:-d 參數
tar**
打包:tar -zcvf something.tar something
解包:tar -zxvf something.tar
指定路徑:-C 參數
(七) 文件系統操作與磁盤管理
1、基本操作
df命令查看磁盤的容量
du命令查看目錄的容量
加上-h參數,以更易讀的方式展示
$ du –h
-d參數指定查看目錄的深度
2、簡單的磁盤管理
使用dd命令創建虛擬鏡像文件
轉換成大寫再寫入文件
$ dd if=/dev/stdin of=test bs=10 count=1 conv=ucase
使用mkfs命令格式化磁盤
使用mount命令掛在磁盤到目錄樹
使用umount命令卸載已掛載磁盤
使用fdisk為磁盤分區
使用losetup命令建立鏡像與回環設備的關聯
(八)Linux下的幫助命令
1、內建命令與外部命令
使用type命令來區分命令是內建的還是外部的
$ type exit
或者
$ type service
2、幫助命令的使用
help命令
Help命令用於顯示 shell 內建命令的簡要幫助信息。如果是外部命令的話基本上都有一個參數—help
$ ls -- help
man命令
得到的內容比用 help 更多更詳細,而且 man 沒有內建與外部命令的區分。
info命令
要是覺得man顯示的信息都還不夠,滿足不了需求,那試試info命令(最詳細)
部分課後小作業效果圖
20165327 預備作業3 Linux安裝及學習