1. 程式人生 > >20165327 預備作業3 Linux安裝及學習

20165327 預備作業3 Linux安裝及學習

-h linux操作系統 登錄用戶 外部命令 可執行文件 com 虛擬機的安裝 ima 內存

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安裝及學習