20165318 預備作業3 Linux安裝及學習
Linux安裝及學習
一、VirtualBox和Ubuntu的安裝
我安裝的是VirtualBox 5.2.6和Ubuntu 16.04 LTS,安裝過程按照老師博客中的步驟依次進行,出現了以下幾個問題。
Q:在創建虛擬機,選擇虛擬機系統版本時,選項中沒有Ubuntu (64-bit)。
A:在上網查詢後發現,需要CPU允許硬件虛擬化,需要進入BIOS,選擇Configuration中的Intel Uirtual Technology,將Disabled改為Enabled 後保存。
Q:分配共享數據空間過程中,由於命令沒有輸出,在設置完成後,發現目錄下文件不能共享。
A:在仔細檢查過我的命令與婁老師的命令後發現,在“sudo mount -t vboxsf rocshare /mnt/shared" 中沒有將rocshare改成我自己的共享文件。發現這個問題後,我將正確的命令又執行了一遍,最終達到了共享的目的。
收獲
這是我第一次獨立在電腦上安裝系統,剛開始感覺會很難,但按照老師的教程一步一步做,有問題時盡量自己嘗試解決,並借鑒同學們在藍墨雲班課中的提問,最終完成虛擬機和系統的安裝。我起初對虛擬機幾乎一無所知,只是根據教程一步步完成,輸入命令時也並不知道有什麽用處,在經過實驗樓的學習後,我對Linux新穎的操作方法很好奇,也學會了一些基本的命令。
二、Linux命令學習
Linux中命令格式為:
command [options] [arguments] //中括號代表是可選的,即有些命令不需要選項也不需要參數
其中選項
(option)是調整命令執行行為的開關,選項不同決定了命令的顯示結果不同,參數
(arugment)是指命令的作用對象。
快捷鍵
Ctrl+Alt+T
:打開終端。
Ctrl+Alt+F1~F7
:切換終端。
Ctrl+Shift+T
:新建標簽頁。
Ctrl+C
:中斷程序。
Ctrl+d
:鍵盤輸入結束或輸出終端。
Ctrl+s
:暫停當前程序,按任意鍵恢復運行。
Ctrl+z
:將當前程序放在後臺運行。
fg
:後臺運行程序恢復前臺。
Ctrl+a
:光標移至輸入行頭,相當於Home
。
Ctrl+e
:光標移至輸入行末,相當於End
。
Ctrl+k
:刪除從光標所在位置到行末。
Alt+Backspace
:向前刪除一個單詞。
Shift+PgUp
:將終端顯示向上滾動。
Shift+PgDn
:將終端顯示向下滾動。
Alt+數字+N
Tab
:補全終端命令,在C語言編程中也常用。上鍵
:切換歷史命令。
通配符
*
:匹配0或多個字符。
?
:匹配任意一個字符。
[list]
:匹配list中的任意單一字符,需用逗號隔開。
[!list]
:匹配除list中任意單一字符以外的字符,!後面的應加括號(),括號內用逗號隔開。
[c1-c2]
:匹配c1-c2中任意單一字符。
{string1,string2,...}
:匹配 string1 或 string2 或...中的其一字符串。
{c1..c2}
:匹配全部字符。
用戶
who
:查看用戶。
相關參數:
-a
:打印能打印的全部。
-d
:打印死掉的進程。
-m
:和am i,mom likes相同。
-q
:打印當前登錄用戶數和用戶名。
-u
:打印當前登錄用戶登錄信息。
-r
:打印運行等級。
sudo
:以特權級別執行命令(root權限)。
sudo adduser 用戶名
:新建用戶。
su
:切換用戶。
exit
:退出用戶或終端,同Ctrl+d
。
groups
:查看用戶組,也可通過查看/etc/group
文件。
usermod
:給用戶添加用戶組,其中可以使用sudo usermod -G sudo 用戶名
將用戶添加到sudo用戶組。
deluser
:刪除用戶。
文件操作
ls
:通過不同的參數可以查看文件的權限、大小、文件名等等屬性。
相關參數:
-A
:顯示除了 .(當前目錄)和 ..(上一級目錄)之外的所有文件,包括隱藏文件(Linux 下以 . 開頭的文件為隱藏文件)。
-Al
:查看某一個目錄的完整屬性。
-dl
:<目錄名>:顯示所有文件大小。
-AsSh
:其中小s為顯示文件大小,大 S 為按文件大小排序,可用man知道如何按其它方式排序。
chown
:改變文件擁有者,sudo chown <新所有者> <文件名>
。
chmod
:更改文件權限
二進制數字表示:chmod 數字 文件名
。
加減賦值操作:g
、o
還有 u
分別表示 group、others 和 user,+
和-
分別表示增加和去掉相應的權限例:chmod go-rw 文件名
。
touch
:創建文件。
cp
:復制文件,cp 文件名 路徑
。
rm
:刪除,參數-f
可以強制刪除參數。
mv
:移動文件:mv 源目錄文件 目的目錄
,重命名文件:mv 舊的文件名 新的文件名
。
rename
:批量重命名。
cat
:正序顯示打印文件內容到標準輸出(終端),加上 -n
參數顯示行號
tac
:倒序打印文件內容到標準輸出(終端)
nl
:添加行號並打印,比cat -n
更專業的行號打印命令
more
,less
:分頁查看。
head
,tail
: 查看文件的頭幾行(默認為 10 行,不足 10 行則顯示全部)和尾幾行。
file
:查看文件類型。
目錄
cd
:進入某個目錄。
pwd
: 獲得絕對路徑。
.
:當前目錄。
..
:上級目錄。
-
:上一次所在目錄。
~
:當前用戶的home。
mkdir
:創建目錄。
cp
:加參數r或R復制指定目錄,cp 文件名 路徑
。
rm
:加參數r或R刪除指定目錄。
文件搜索
whereis
:簡單快速, 直接從數據庫中查詢,只能搜索二進制文件(-b),man 幫助文件(-m)和源代碼文件(-s)。
locate
:快而全,手動執行一次 updatedb 命令,用於更新它的查找對象——“ /var/lib/mlocate/mlocate.db ”數據庫,它可以用來查找指定目錄下的不同文件類型。
which
:小而精,通常使用 which 來確定是否安裝了某個指定的軟件,因為它只從 PATH 環境變量指定的路徑中去搜索命令
find
:精而細,它不但可以通過文件類型、文件名進行查找而且可以根據文件的屬性(如文件的時間戳,文件的權限等)進行搜索。find 的第一個參數是要搜索的地方: 基本命令格式為 find [path] [option] [action]
,例如:sudo find /etc/ -name 文件或目錄
。
- 與時間相關的命令參數:
-atime
:最後訪問時間
-ctime
:最後修改文件內容的時間
-mtime
:最後修改文件屬性的時間 - 與這些參數相關的天數命令(以 -mtime 參數舉例)
-mtime n
:n 為數字,表示為在 n 天之前的“一天之內”修改過的文件
-mtime +n
:列出在 n 天之前(不包含 n 天本身)被修改過的文件
-mtime -n
:列出在 n 天之內(包含 n 天本身)被修改過的文件
-newer file
:file 為一個已存在的文件,列出比 file 還要新的文件名
文件打包與壓縮
du
:查看文件的大小,壓縮文件的壓縮級別。
zip
:壓縮打包文件。
相關參數:
-r
:表示遞歸打包包含子目錄的全部內容。
-q
: 表示為安靜模式。
-o
: 表示輸出文件,需在其後緊跟打包輸出文件名。
-O
: 解壓時可以指定編碼類型unzip -O GBK 中文壓縮文件.zip。
unzip
:解壓縮zip文件。
tar
:打包但不壓縮(不加參數)。
相關參數:
-c
:打包。
-x
:解包。
-f
:接文件名。
-z
:用gzip工具壓縮。
-J
:用xz工具壓縮。
-j
:用bzip2工具壓縮。
變量
declare
:創建變量,用=
對變量進行賦值。
$
:引用變量的值。
set
:打印當前 Shell 所有變量。
env
:打印當前用戶相關的環境變量,還可以讓命令在指定環境中運行,範圍小於set。
export
:打印導出成環境變量的變量,也能通過它將自定義變量導出為環境變量範圍比env更小。
PATH=$PATH:用戶名
:添加自定義路徑(一定要使用絕對路徑)到“ PATH ”環境變量。
>>
: 表示將標準輸出以追加的方式重定向到一個文件中。
>
: 是以覆蓋的方式重定向到一個文件中。
unset
:刪除變量。
source
:使環境變量立即生效。
磁盤
df
: 查看磁盤的容量,用參數-h
增強可讀性。
du
: 查看目錄的容量。
相關參數:
-d
:指定查看目錄的深度。
-a
:同--all 顯示目錄中所有文件的大小。
-s
:同--summarize 僅顯示總計,只列出最後加總的值。
dd
:轉換和復制文件,也可以讀取文件或寫入到這些文件。格式為:選項=值
。選項if
和of
可以改變標準輸入和輸出。
mkfs
:格式化磁盤。
mount
:掛載磁盤。
unmount
:卸載磁盤。
fdisk
:為磁盤分區。
幫助
help
:顯示內建命令簡要的幫助信息。對於外部命令可使用--help
參數。
man
:顯示手冊中的幫助信息。
info
:比man命令更為詳細的GNU信息。
cheat
:即“小抄”,簡潔地提供比man更容易理解的解釋與相應的例子,但是需要安裝。
20165318 預備作業3 Linux安裝及學習