Linux系統安裝與使用基礎
目錄
- Linux系統安裝與使用基礎
- 1.目的與要求
- 2.實驗內容
- 3.小結(回答問題)
- Centos 7 虛擬機的安裝
- gcc 編譯器
- vim編輯器介紹
- 4.控制檔案和目錄的存取權限,
- 修改檔案權限
- 5.Linux下存盤設備的掛載與卸載的方法,
- 掛載卸載方法
寫在最前面:本文是Linux 的基礎操作,大家要明白的一個東西是:路徑,不管是檔案路徑,還是目錄路徑,都要在大腦中有一個架構,在終端輸入指令后,要明白是對哪里進行操作,你目前在哪個目錄下(使用 pwd 可以查看當前目錄),Linux的終端命令操作是他的特色,也挺好用的,還有就是,在輸入命令列的時候,要注意空格,在之后的代碼中, 可能體現的不是很明顯,你需要仔細觀察 ,空格是否存在,在之后的學習中,出現不明白的東西,可以私信我,咱們一起進步呀!當然首先推薦大家去百度搜一下,會比較快的得到答案并解決,接下來,就請開始學習吧!
1.目的與要求
(一) 目的
本實驗的目的是使學生學會Linux的安裝、配置和基礎使用;掌握Linux常用命令的格式和操作以及系統管理、設備管理、用戶管理和檔案存取權限管理的基本方法;熟悉編譯工具GCC的作用,學會在Linux環境下進行作業,
(二) 要求
熟悉并完成Linux(CentOS 7)的安裝和基本配置的操作程序;
- 了解Linux的基本操作命令的格式,掌味訓本操作命令功能和使用;
- 了解Linux的文本編輯器vi的3種作業模式,掌握3種作業模式的轉換并學會利用vi進行文本編輯;
- 掌握Linux下存盤設備的掛載與卸載的方法,并學會如何控制檔案和目錄的存取權限,
- 熟悉編譯工具GCC的作用和基本使用方法,
2.實驗內容
- 安裝并配置Linux(CentOS 7)作業系統,
要求將主機名設定為用戶姓名的全拼,并建立一個用戶名為姓名簡拼的普通用戶, - 熟悉Linux作業系統vi編輯器、編譯工具GCC的使用并掌握檔案、目錄基本操作命令的使用,
1)首先查看用戶組態檔/etc/passwd中普通用戶的記錄,
2)在用戶主目錄下建立一個名字為“班級姓名”(例如“rj1701zhangsan”)的子目錄,使用ls顯示該子目錄的詳細資訊,
3)然后在用戶主目錄下使用vi編輯器編輯一個C語言源程式hello.c,并使用編譯工具GCC編譯該源程式,可執行檔案的檔案名為hello,運行編譯成功的可執行程式hello,并將運行結果重定位到“班級姓名”(例如“rj1701zhangsan”)的子目錄下的一個名為“姓名”(例如:“zhangsan”的檔案中,然后顯示該檔案的內容,
hello.c源程式代碼:
#include <stdio.h>
main()
{char name[20];
printf(“Please input your name:”);
scanf(“%s”,name);
printf(“Welcome %s!\n”,name);
reture 0;} - 控制檔案和目錄的存取權限,
1)將/usr/bin目錄中的cal檔案和/bin目錄中的cat檔案復制到rj1701zhangsan子目錄中,并分別命名為zhangsancal和zhangsancat,使用ls查看rj1701zhangsan子目錄中的各個檔案的詳細資訊,
2)使用長串列命令ls查看/usr/bin目錄中的cal檔案和/bin目錄中的cat檔案,并把它們與rj1701zhangsan子目錄中的檔案進行比較,
3)通過建立硬鏈接在rj1701zhangsan子目錄中以hello.link的檔案名來運行檔案hello,
比較鏈接檔案和被鏈接檔案有什么不同?檔案的硬鏈接數是多少?執行hello.link的執行結果是什么?
4)改變檔案hello.link的權限,使擁有者只具有讀的權限,試著再運行hello.link,它運行了嗎?為什么?
5)洗掉hello.link,這樣做也洗掉了hello檔案嗎?為什么? - 掌握Linux下存盤設備的掛載與卸載的方法,
1)建立掛載點/mnt/usb,
2)使用#fdisk -l命令查看設備的連接情況,主要查看U盤的名稱及檔案系統型別,
3)使用mount命令手工掛載本地磁盤(U盤),
4)用ls -l查看U盤中檔案的詳細資訊,
5)使用umount命令手工卸載本地磁盤(U盤),
3.小結(回答問題)
Centos 7 虛擬機的安裝
虛擬機安裝Linux 系統全家桶(百度網盤鏈接)
提取碼:zr0e
1.創建主機名和用戶名
@ 前面是用戶名 后面是主機名
修改主機名 在超級管理員下:hostnamectl set-hostname 修改的名字
修改用戶名 在超級管理員下,要修改的用戶不得登錄,否則失敗
usermod -u newname oldname
用戶管理 (root 權限下)
創建用戶 : useradd [ 引數值 ] 用戶名
-m:自動建立用戶的登入目錄;
-M:不要自動建立用戶的登入目錄;
洗掉用戶: userdel [ 引數值 ] 用戶名
-f:強制洗掉用戶,即使用戶當前已登錄;
-r:洗掉用戶的同時,洗掉與用戶相關的所有檔案,

pwd 顯示當前目錄的絕對路徑
[lsf@lishuaifu ~]$pwd
2. 熟悉Linux作業系統vi編輯器、編譯工具GCC的使用并掌握檔案、目錄基本操作命令的使用,
2.1 首先查看用戶組態檔/etc/passwd中普通用戶的記錄,
[lsf@lishuaifu ~]$ vim /etc/passwd

2.2 在用戶主目錄下建立一個名字為“班級姓名”(例如“rj1701zhangsan”)的子目錄,使用ls顯示該子目錄的詳細資訊,
創建目錄——mkdir
a) mkdir test 在當前目錄下創建一個名為test的目錄
b) mkdir test1 test2 同時創建兩個目錄
c) mkdir ./test/test3 在指定目錄下創建一個名為test的目錄
創建檔案——touch
a) touch test001.txt 創建一個空檔案
b) touch text002 創建一個空檔案(沒有后綴)
c) touch ./test/test003.txt 在指定目錄下創建檔案
語法: mkdir 目錄
[lsf@lishuaifu ~]$ mkdir rj2026lishuaifu
[lsf@lishuaifu ~]$ ls -l 查看是否創建成功

2.3 在用戶主目錄下使用vi編輯器編輯一個C語言源程式hello.c,并使用編譯工具GCC編譯該源程式,可執行檔案的檔案名為hello,運行編譯成功的可執行程式hello,并將運行結果重定位到“班級姓名”的子目錄下的一個名為“姓名”
[lsf@lishuaifu ~]$ vim hello.c
使用vi 編輯器 創建一個hello.c 檔案

gcc 編譯器
使用vim建立一個“main.c”的檔案
在終端輸入命令:gcc main.c,這時會生成一個名為a.out的可執行檔案,
若是想指定檔案名,則可以通過命令:gcc -o main main.c,把可執行檔案名修改為main,并通過./main來查看運行結果
gcc hello.c ///編譯生成一個a.out 可執行的檔案,
語法 : gcc -o 修改名 原檔案名
gcc -o hello a.out ///修改檔案名
vim編輯器介紹
a) 可以分為三種狀態:命令模式(command mode),插入模式(insert mode),底行模式(last line mode)
i. 命令模式:控制螢屏游標的而移動,字符,字或行的洗掉,移動復制某區,進入插入模式,過著底行模式
ii. 插入模式:進行文字輸入,按【ESC】回到命令模式
iii. 底行模式:將檔案保存或者退出vi
Vi基本操作
a) 輸入 vi +檔案名,進入vi全屏編輯畫面:$ vi myfile 剛進去是命令模式,不可以按動方向鍵移動游標,按【 i 】進入插入模式,才可以進行文字輸入
b) 洗掉文字,在插入模式下,不能洗掉,需要按下【ESC】進入命令模式,才可以進行洗掉操作
c) 退出vi 并保存檔案 在命令列模式下,按下【:】進入底行模式
i. :w filename (將檔案以指定的檔案名保存filename)
ii. :wq 保存并退出
iii. :q! 不保存并退出
命令列模式功能鍵
a) 插入模式
i. 按【 i 】進入后,游標在當前位置
ii. 按【 a 】進入后,游標在當前的下一個位置
iii. 按【 o 】進入后,插入新的一行
b) 插入模式轉命令模式 【ESC】
c) 移動游標 方向鍵即可
i. 按數字「0」:移到文章的開頭,
ii. 按「G」:移動到文章的最后,
iii. 按「$」:移動到游標所在行的"行尾",
iv. 按「^」:移動到游標所在行的"行首"
d) 洗掉文字
i. 【 x 】 洗掉后一個字符 相當于 delete
ii. 【 X 】 洗掉前一個字符,相當于 回傳鍵
iii. 【 dd 】洗掉行
e) 復制
i. 【 yw 】游標所在的地方到字尾 復制到緩沖區
ii. 【 yy 】 游標所在行復制到緩沖區
iii. 【 p 】 將緩沖區的文字,粘貼到游標所在的位置
f) 替換
i. 【 r 】替換游標所在的字符
g) 撤銷
i. 【 u 】恢復上一次操作
運行hello 檔案
./hello /// 運行程式

語法 : 檔案名 > 目標檔案
./hello > /home/lsf/rj2026lishuaifu/lishuaifu // 重定向
將hello運行的結果重定向到指定目錄檔案中,

使用vim 編輯器 查看/home/lsf/rj2026lishuaifu 中的 lishuaifu 檔案,

4.控制檔案和目錄的存取權限,
4.1 將/usr/bin目錄中的cal檔案和/bin目錄中的cat檔案復制到rj1701zhangsan子目錄中,并分別命名為zhangsancal和zhangsancat,使用ls查看rj1701zhangsan子目錄中的各個檔案的詳細資訊,
語法: cp 檔案名 /目錄 指定檔案夾/目錄
[lsf@lishuaifu ~]$ cp /usr/bin/cal /home/lsf/rj2026lishuaifu // 復制檔案cal
[lsf@lishuaifu ~]$ cp /usr/bin/cat /home/lsf/rj2026lishuaifu //復制檔案cat
[lsf@lishuaifu ~]$ cd /home/lsf/rj2026lishuaifu // 進入rj2026lishuaifu 目錄下
[lsf@lishuaifu rj2026lishuaifu]$ ls -l //查看該目錄下的檔案
總用量 96
-rwxr-xr-x. 1 lsf lsf 33528 10月 30 15:35 cal //復制成功
-rwxr-xr-x. 1 lsf lsf 54080 10月 30 15:36 cat //復制成功
-rw-rw-r--. 1 lsf lsf 41 10月 30 15:29 lishuaifu
[lsf@lishuaifu rj2026lishuaifu]$ sudo mv cal lishuaifucal // 修改檔案名
[sudo] lsf 的密碼:
[lsf@lishuaifu rj2026lishuaifu]$ sudo mv cat lishuaifucat //修改檔案名
[lsf@lishuaifu rj2026lishuaifu]$ ls -l //查看該目錄下的檔案
總用量 96
-rwxr-xr-x. 1 lsf lsf 33528 10月 30 15:35 lishuaifucal
-rwxr-xr-x. 1 lsf lsf 54080 10月 30 15:36 lishuaifucat
-rw-rw-r--. 1 lsf lsf 41 10月 30 15:29 lishuaifu
[lsf@lishuaifu rj2026lishuaifu]$

4.2使用長串列命令ls查看/usr/bin目錄中的cal檔案和/bin目錄中的cat檔案,并把它們與rj1701zhangsan子目錄中的檔案進行比較,
語法: comm -1 檔案 檔案
[lsf@lishuaifu ~]$ comm -1 /usr/bin/cal /home/lsf/rj2026lishuaifu/lishuaifucal
[lsf@lishuaifu ~]$ comm -1 /usr/bin/cat /home/lsf/rj2026lishuaifu/lishuaifucat


4.3通過建立硬鏈接在rj1701zhangsan子目錄中以hello.link的檔案名來運行檔案hello,
語法: ln 被鏈接檔案 鏈接檔案 (沒有檔案就自動新建)
//建立硬鏈接 l
[lsf@lishuaifu ~]$ ln /home/lsf/hello /home/lsf/rj2026lishuaifu/hello.link
[lsf@lishuaifu ~]$ cd /home/lsf/rj2026lishuaifu
[lsf@lishuaifu rj2026lishuaifu]$ ./hello.link
Please input your name:lishuaifu
Welcomelishuaifu!
硬鏈接與原檔案是分居于不同或相同目錄下的的dentry而已,它們指向同一個inode,對應于相同的磁盤資料塊(data block),具有相同的訪問權限、屬性,
鏈接檔案與被鏈接檔案 ,只是名字不同而已,公共用同一個inode,共享同一份資料
鏈接數都是 :2
執行結果是:和運行 hello 檔案相同

4.4改變檔案hello.link的權限,使擁有者只具有讀的權限,試著再運行hello.link,它運行了嗎?為什么?
修改檔案權限
chmod XXX filename 只讀 100 只寫 010 可執行 001 二進制數換成十進制
a) chmod 777 xxxx指令,這里有3個7,但是每個7的含義是不同的,7的二進制形式為111,表示可讀可寫可執行,第1個7表示檔案對于檔案所有者來說可讀可寫可執行;第2個7表示檔案對于檔案所有者所在組來說可讀可寫可執行;第3個7表示檔案對于其他身份的用戶來說可讀可寫可執行,也就是說,通過chmod 777,檔案就沒有了讀寫執行權限限制了,
b) 將該目錄下的所有子目錄或檔案權限一并處理, 使用 -R 遞回處理
i. chmod -R 421 oldDir5
c) 修改檔案所有者 chown 用戶名 檔案名/目錄名
i. 將該目錄下的所有子目錄或檔案權限一并處理, 使用 -R 遞回處理
chown -R 用戶名 目錄名
d) 修改檔案所屬組 chgrp 用戶名/組名 檔案名/目錄名
i. 將該目錄下的所有子目錄或檔案權限一并處理, 使用 -R 遞回處理
ii. chgrp -R 用戶名/組名 目錄名
//修改檔案權限 chmod
[lsf@lishuaifu ~]$ cd /home/lsf/rj2026lishuaifu // cd 到rj2026lishuaifu目錄下
[lsf@lishuaifu rj2026lishuaifu]$ chmod 444 hello.link
[lsf@lishuaifu rj2026lishuaifu]$ ls -l

hello.link 沒有運行,因為hello.link檔案沒有可執行的權限,他只有可讀權限,
4.5洗掉hello.link,這樣做也洗掉了hello檔案嗎?為什么?
語法 : rm -f 檔案名
//洗掉鏈接檔案
lsf@lishuaifu rj2026lishuaifu]$ rm -f hello.link
[lsf@lishuaifu ~]$ cd /home/lsf // 回去查看用戶主目錄
[lsf@lishuaifu ~]$ ls -l

沒有洗掉hello檔案,洗掉的只是 hello.link與iNode的映射關系,并不影響hello與 iNode的映射關系,
5.Linux下存盤設備的掛載與卸載的方法,
1)建立掛載點/mnt/usb,
2)使用#fdisk -l命令查看設備的連接情況,主要查看U盤的名稱及檔案系統型別,
3)使用mount命令手工掛載本地磁盤(U盤),
4)用ls -l查看U盤中檔案的詳細資訊,
5)使用umount命令手工卸載本地磁盤(U盤),
掛載卸載方法
a) 掛載
1.創建/mnt/usb檔案夾并進入
2.通過fdisk -l查看掛載的U盤在哪里
3.利用mount 命令掛載設備 mount /dev/sdb3 /mnt/usb
4.cd 進入/mnt/usb檔案夾 查看是否掛載成功
b) 卸載
1.當不適用U盤時,就可以卸載U盤了
#umount /dev/sdb3
若出現問題–>umount: /mnt/usb: device is busy
2.查找占用目錄行程:
使用該陳述句查看行程
fuser -mv /mnt/usb
用戶 行程號 權限 命令
/mnt/usb: root kernel mount /mnt/p2
dengfei 14821 ..c.. bash
3.殺掉行程:
#kill -9 14821
4.卸載:#umount /mnt/usb
掛載開始!
記得切換超級用戶呢 : sudo su 之后會提醒輸入密碼
也可以 用 : su root
[root@lishuaifu ~]# mkdir /mnt/usb //新建掛載點
[root@lishuaifu ~]# fdisk -l 查看掛載的U盤在哪里和盤符名


在這里看到這個U盤的設備名是: /dev/sdb1 檔案系統是 FAT32
語法: mount 設備名 掛載點
[root@lishuaifu ~]# mount /dev/sdb1 /mnt/usb

[root@lishuaifu ~]# cd /mnt 查看 mnt 目錄下有沒有usb 掛載點
[root@lishuaifu ~]# ls -l
[root@lishuaifu ~]# cd /mnt/usb 進入 usb 掛載點,查看是否掛載成功
[root@lishuaifu ~]# ls -l 查看檔案資訊 如果有檔案,就掛載成功了
[root@lishuaifu ~]#umount /mnt/usb // 卸載U盤
如果顯示U盤正忙之類的,參考前面方法中的,殺死行程

好啦,至此所有的Linux 操作就完了!祝大家學習愉快呀,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/344238.html
標籤:其他
上一篇:二叉搜索樹 【資料結構】
