解決方法(對個人電腦是適用的):html
(1) 對VirtualBox的圖標點擊右鍵->屬性->兼容性;(2) 把VirtualBox的兼容模式改成Win7之外便可,以下圖:
(3)點擊肯定後在運行就能夠了linux
解決方法:shell
我在百度上查找了好多,感受比較靠譜的是這兩個:"不能爲虛擬電腦打開一個新任務"解決方法和Virtualbox中不能爲虛擬機打開一個新任務的緣由及解決方法,我嘗試了第二個連接的方法可是失敗了致使電腦黑屏。。我找了一個叔叔幫我修復,在修復過程當中感受方法跟第二個中的方法同樣,多是個人操做不當,最後個人電腦好了虛擬機也沒有了上面的問題。bash
解決方法:iphone
我在百度上搜查如何使用VirtualBox軟件加強功能安裝,找到了Ubuntu虛擬機怎麼使用VirtualBox軟件加強功能安裝,在此基礎上我又按照老師的步驟打開終端輸入命令下載成功。函數
第一節工具
第二節oop
按鍵 | 效果 |
---|---|
Ctrl+d | 鍵盤輸入結束或退出終端 |
Ctrl+s | 暫停當前程序,暫停後按下任意鍵恢復運行 |
Ctrl+z | 將當前程序放到後臺運行,恢復到前臺爲命令fg |
Ctrl+a | 將光標移至輸入行頭,至關於Home鍵 |
Ctrl+e | 將光標移至輸入行末,至關於End鍵 |
Ctrl+k | 刪除從光標所在位置到行末 |
Alt+Backspace | 向前刪除一個單詞 |
Shift+PgUp | 將終端顯示向上滾動 |
Shift+PgDn | 將終端顯示向下滾動 |
Ctrl+c | 中斷或結束命令 |
Tab | 進行命令補全,補全目錄,補全命令參數等 |
Ctrl+Alt+F1~F6 | 切換用戶登陸 |
Ctrl+Alt+F7 | 切換回圖形界面 |
Shift+n | 上一關鍵字所在處 |
字符 | 含義 |
---|---|
* | 匹配0或多個字符 |
? | 匹配任意一個字符 |
[list] | 匹配list中的任意單一字符 |
.... | ... |
第三節學習
建立用戶:使用sudo命令建立ui
$ sudo adduser 用戶名
建立好使用下命令切換到新建立用戶
注意:Linux下密碼輸入是不顯示任何內容的
將其它用戶加入 sudo 用戶組
默認狀況下新建立的用戶是不具備 root 權限的,也不在 sudo 用戶組,可讓其加入 sudo 用戶組從而獲取 root 權限
查看文件權限命令及過程:
$ ls -1
變動文件全部者:
若前面已經執行刪除lilei用戶的命令,這裏從新建立一下。
假設目前是 lilei 用戶登陸,新建一個文件,命名爲 「 iphone6 」:
$ touch iPhone6
可見文件全部者是 lilei :
如今,換回到 shiyanlou用戶身份,使用如下命令變動文件全部者爲 shiyanlou :
修改文件權限:
方式一:二進制數字表示:
$ echo "echo "hello shiyanlou"" > iphone6
$ chmod 700 iphone6
方式二:加減賦值操做:
$ chmod go-rw iphone6
其中g、o、u分別表示group、others和user,+、-分別表示增長和去掉相應的權限,r爲可讀,w爲可寫。上面代碼表示去掉權限,其餘戶可讀可寫iPhone6這個文件。
第四節
命令 | 做用 |
---|---|
$ cd . | 當前目錄 |
$ cd .. | 進入上一級目錄 |
$ cd ~ | 進入home目錄 |
$ pwd | 獲取當前路徑 |
$ cd /usr/local/bin | 絕對路徑 |
$ cd ../../usr/local/bin | 相對路徑 |
命令 | 做用 |
---|---|
$ touch 用戶名 | 建立空白文件 |
$ mkdir mydir | 建立空目錄 |
$ mkdir -p father/son/grandson | 建立多級目錄 |
$ cp test father/son/grandson | 複製一個文件到指定目錄 |
$ cp -r father family | 遞歸複製目錄 |
$ rm test | 刪除一個文件 |
$ rm -f test | 強制刪除文件 |
$ rm -r family | 刪除一個目錄 |
$ mkdir Documents + $ mv file1 Documents | 將文件「file1」移動到 「Documents」目錄 |
$ mv file1 myfile | 將文件「 file1 」重命名爲「 myfile 」 |
$ cat passwd | 查看「passwd」文件 |
$ cat -n passwd | 可顯示文件行號 |
$ more passwd | 打開「passwd」文件 |
$ tail /etc/passwd | 查看「passwd」文件 |
$ tail -n 1 /etc/passwd | 只看第幾行 |
$ file /bin/ls | 查看文件類型 |
第五節
變量:即 Shell變量,所謂變量就是計算機中用於記錄一個值(不必定是數值,也能夠是字符或字符串)的符號,而這些符號將用於不一樣的運算處理中。
變量的做用域即變量的有效範圍(好比一個函數中、一個源文件中或者全局範圍),在該範圍內只能有一個同名變量。一旦離開則該變量無效,如同不存在這個變量通常。
命令 | 做用 |
---|---|
$ declare 變量名 | 建立一個變量 |
$ tmp=shiyanlou | 對tmp這個變量進行賦值 |
$ echo $tmp | 讀取變量的值 |
注意:並非任何形式的變量名都是可用的,變量名只能是英文字母、數字或者下劃線,且不能以數字做爲開頭。
命令 | 做用 |
---|---|
$ echo $PATH | 查看 PATH 環境變量的內容 |
$ gedit hello_shell.sh | 建立一個Shell腳本文件 |
$ chmod 755 hello_shell.sh | 爲文件添加可執行權限 |
$ ./hello_shell.sh | 執行腳本 |
添加自定義路徑到「PATH」環境變量:
$ PATH=$PATH:/home/shiyanlou/mybin
修改:
$ path=$PATH
$ echo $path
$ path=${path%/home/shiyanlou/mybin}# 或使用通配符,表示任意多個任意字符
$ path=${path%/mybin}
刪除:
$ unset temp
關於搜索文件
與搜索相關的命令經常使用的有 whereis,which,find 和 locate 。
$whereis who
$ locate /etc/sh
$ locate /usr/share/*.jpg
$ which man
$ sudo find /etc/ -name interfaces
第六節
>文件後綴名 | 說明 |
---|---|
*.zip | zip程序打包壓縮的文件 |
*.rar | rar程序壓縮的文件 |
*.7z | 7zip程序壓縮的文件 |
*.tar | tar程序打包,未壓縮的文件 |
*.gz | gzip程序(GNU zip)壓縮的文件 |
*.xz | xz程序壓縮的文件 |
*.bz2 | bzip2程序壓縮的文件 |
*.tar.gz | tar打包,gzip程序壓縮的文件 |
*.tar.xz | tar打包,xz程序壓縮的文件 |
*.tar.bz2 | tar打包,bzip2程序壓縮的文件 |
*.tar.7z | tar打包,7z程序壓縮的文件 |
建立加密壓縮包
$ zip -r -e -o shiyanlou_encryption.zip /home/shiyanlou
將shiyanlou.zip解壓到當前目錄
$ unzip shiyanlou.zip
使用安靜模式,將文件解壓到指定目錄
$ unzip -q shiyanlou.zip -d ziptest
查看壓縮包的內容
$ unzip -l shiyanlou.zip
安裝 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
建立一個tar包
$ tar -cf shiyanlou.tar ~
打包一個文件(-x 參數)到指定路徑的已存在目錄(-C 參數)
$ du -h shiyanlou.tar
解包
$ tar -zxvf something.tar
第七節
查看磁盤和目錄的容量
$ df
經常使用參數:
$ du -h #同--human-readable以K,M,G爲單位,提升信息的可讀性。
$ du -a #同--all顯示目錄中全部文件的大小。
$ du -s #同--summarize僅顯示總計,只列出最後加總的值。
使用 dd 命令建立虛擬鏡像文件
$ dd if=/dev/zero of=virtual.img bs=1M count=256
$ du -h virtual.img
使用 mkfs命令格式化磁盤(咱們這裏是本身建立的虛擬磁盤鏡像)
$ sudo mkfs.ext4 virtual.img
使用 mount 命令掛載磁盤到目錄樹
$ sudo mount
使用 umount 命令卸載已掛載磁盤
命令格式 sudo umount 已掛載設備名或者掛載點,如:
$ sudo umount /mnt
ps:因爲咱們環境的問題(環境中使用的 Linux 內核在編譯時沒有添加對 Loop device的支持),因此你將沒法掛載成功
使用 fdisk 爲磁盤分區
$ sudo fdisk -l
進入磁盤分區模式
$ sudo fdisk virtual.img
第八節
內建命令
內建命令其實是 shell 程序的一部分,其中包含的是一些比較簡單的 Linux 系統命令,這些命令是寫在bash源碼的builtins裏面的,並由 shell 程序識別並在 shell 程序內部完成運行,一般在 Linux 系統加載運行時 shell 就被加載並駐留在系統內存中。並且解析內部命令 shell 不須要建立子進程,所以其執行速度比外部命令快。好比:history、cd、exit 等等。
外部命令
外部命令是Linux系統中的實用程序部分,由於實用程序的功能一般都比較強大,因此其包含的程序量也會很大,在系統加載時並不隨系統一塊兒被加載到內存中,而是在須要時纔將其調用內存。雖然其不包含在shell中,可是其命令執行過程是由shell程序控制的。外部命令是在Bash以外額外安裝的,一般放在/bin,/usr/bin,/sbin,/usr/sbin等等。好比:ls、vi等。
type 命令來區分命令是內建的仍是外部的
$ type 命令名
xxx is a shell builtin //若是結果是這樣那麼這是內建命令
xxx is /usr/sbin/xxx //若是結果是這樣那麼這是外建命令
help命令:zsh 中內置並無 help 命令,咱們能夠進入 bash 中,在 bash 中內置有該命令
$ bash
help ls //用於內建命令
ls --help //用於外建命令
man命令:無內建與外部命令的區分
man ls
info 命令:bash自帶有的命令
info ls