目錄
1.操作系統(tǒng)概述(OS)?
2.為什么企業(yè)都選擇Linux?
3.Linux版本分類
4.Linux登入root用戶和新建普通用戶
5.常見快捷鍵
6.常見指令
6-1 顯示工作目錄的絕對(duì)路徑:pwd
6-2 顯示目錄內(nèi)容列表 ls
指令ll:
6-3 更新已存在文件的時(shí)間信息和新建普通文件 touch
變式:創(chuàng)建一個(gè)空目錄 mkdir
6-4 Linux下的hello world 編譯運(yùn)行test.c
6-5 選項(xiàng) -l -a -d
6-6 切換工作目錄至dir cd
6-7 Linux下的文件:
6-8: 改變工作目錄 cd
6-9 確定當(dāng)前登入的用戶 whoami
6-10 刪除命令 rm
6- 10 查詢某條命令的使用 man
6-11 拷貝 cp
常見的操作系統(tǒng):Windows,Mac,Linux,安卓,IOS 操作系統(tǒng)
操作系統(tǒng)的作用:(取決于看的角度)
用戶的角度:為用戶提供良好的運(yùn)行環(huán)境(圖形界面式還是命令行式來(lái)操控硬件)
對(duì)開發(fā)者:管理各種軟硬件資源
windows是多用戶的界面化操作系統(tǒng);
linux是多用戶的命令行式操作系統(tǒng),是支持共享使用的。
為什么已經(jīng)有了圖形界面化的Linux操作系統(tǒng),而我們還要費(fèi)力的學(xué)習(xí)命令行式的Linux操作系統(tǒng)?
企業(yè)使用的是命令行式Linux操作系統(tǒng)(當(dāng)出現(xiàn)一些問(wèn)題時(shí)需要使用到指令)指令的學(xué)習(xí),更接近底層指令略微快一點(diǎn)
另外:要用指令就得先要有鍵盤,要用圖形界面就得要有鼠標(biāo),在發(fā)展上,我們是先有鍵盤再發(fā)明鼠標(biāo)的,所以這就意味著先有的命令行式才有的圖形界面化式。
因?yàn)長(zhǎng)inux開發(fā)出來(lái)后,就對(duì)外公開了Linux內(nèi)核,也就是說(shuō)Linux是開源的,開源就意味著更安全,穩(wěn)定,便宜,綜合以上大家都選擇了Linux作為公司企業(yè)開發(fā)的操作系統(tǒng)。
實(shí)際上,Linux是在1991年由芬蘭大學(xué)生林納斯·托瓦茲開發(fā)出來(lái)的,比windows等操作系統(tǒng)晚了好久
但是由于Linux的優(yōu)秀,現(xiàn)在Linux還是廣為開發(fā)人員認(rèn)可.
內(nèi)核版本(技術(shù)層):3.6,3.8等各種各樣的內(nèi)核版本發(fā)行版本(應(yīng)用層):Ubuntu,kali,紅旗,紅帽,centos
(1)Linux內(nèi)核概念:實(shí)際就是托瓦茲寫的操作系統(tǒng)代碼,是真正意義上的操作系統(tǒng)代碼
(2)各種發(fā)行版本的差異(特點(diǎn)):
Ubuntu:比較適合個(gè)人研究性質(zhì)使用,入門學(xué)習(xí)
kali:比較適合網(wǎng)絡(luò)滲透和攻防使用
紅旗:國(guó)內(nèi)的發(fā)行版本
紅帽:商業(yè)使用的收費(fèi)版本
centos:商業(yè)化的免費(fèi)的操作系統(tǒng)
root用戶的權(quán)限比較高,所以我們?cè)谌粘W(xué)習(xí)一般是新創(chuàng)建普通用戶來(lái)玩Linux。
第一步:讓我們登入root用戶,注意:在購(gòu)買云服務(wù)器時(shí)記得重置root用戶密碼為較為復(fù)雜且自己記得住的密碼,復(fù)雜一點(diǎn)是防止被入侵。
(1)填寫云服務(wù)器提供的公網(wǎng)IP
(2)填寫公網(wǎng)IP下的root用戶名
但是前面的(1)(2)都可以用命令行來(lái)一步代替:
ssh root@43.139.36.50
(3)填寫公網(wǎng)IP下root用戶的密碼
(4)登入成功
第二步:在root用戶下創(chuàng)建一個(gè)普通用戶
//創(chuàng)建名為 name 的普通用戶[root@vm-8-5-centos ~]# adduser name //為 用戶名為 name 的賬號(hào)設(shè)置密碼[root@vm-8-5-centos ~]#passwd name //刪除名為 li 的普通用戶[root@vm-8-5-centos ~]# userdel -r name
ctrl Insert:復(fù)制
shift Insert:粘貼
alt enter:全屏
ctrl d:退出當(dāng)前賬號(hào)
pwd [-LP]
說(shuō)明:
全稱:Print Working Directory(打印工作目錄)
作用:顯示當(dāng)前用戶所在目錄-- 工作目錄 的絕對(duì)路徑
使用:
//顯示用戶當(dāng)前所在的目錄 [song@VM-8-5-centos ~]$ pwd/home/song
ls (選項(xiàng)) (參數(shù))
說(shuō)明:
全稱:list
作用:顯示目錄內(nèi)容列表
不同顏色代表的文件類型:
PS:這里的配色方案和Xshell和Linux有關(guān)系,我們不能強(qiáng)相關(guān),但是可以參考一下
舉例:
PS:
說(shuō)明:
全稱:list -l
作用:顯示指定目錄里面的內(nèi)容和屬性
通過(guò)which 可以查看指令
這也解釋了ll命令的作用,其實(shí)就是ls -l的組合鍵/別名
touch (選項(xiàng)) (參數(shù))
說(shuō)明:
作用:
將已經(jīng)存在的文件的時(shí)間標(biāo)簽更新為當(dāng)前系統(tǒng)時(shí)間新建一個(gè)空的普通文件
那能不能看到文件被修改的歷史時(shí)間信息吶?
stat filename
自我查找資料找出Access,Modify和Change 的區(qū)別.
本質(zhì)就是在Linux目錄上中創(chuàng)建新節(jié)點(diǎn)/路徑
mkdir dirname
有時(shí)候我們想當(dāng)前路徑下創(chuàng)建一串路徑:(帶指定的-p選項(xiàng)創(chuàng)建一條路徑)
//創(chuàng)建一條路徑mkdir -p p1/p2/p3
如果我創(chuàng)建了一個(gè)test.c文件,我想在Linux下編譯運(yùn)行,我該怎么做吶?
首先使用nano命令,打開Linux自帶的文本編輯器:
nano test.c
說(shuō)明:
-l : 顯示文件內(nèi)容列表及其更詳細(xì)的文件屬性
-a:顯示隱藏文件(Linux下以 . 開頭的文件是隱藏文件)
選項(xiàng)是絕大部分都是可以合并的
PS:在每一個(gè)目錄都存在一個(gè)名為 . 和名為 .. 的文件
對(duì)比windows:
-d:顯示指定目錄的信息,而非指定目錄里面內(nèi)容的信息
ls默認(rèn)情況下會(huì)顯示目錄里面的內(nèi)容的信息,ls -d會(huì)顯示目錄的信息
cd [-L|[-P [-e]]] [dir]
linux下一切皆是文件
文件=文件內(nèi)容 文件屬性(屬性也是數(shù)據(jù))
因?yàn)榭瘴募怯袆?chuàng)建時(shí)間等屬性的,所以空文件也是占磁盤空間的
根目錄: /
Linux下通過(guò)cd ..一直回退,直到回退到根目錄/則不能再回退
windows下則是按<-一直回退到盤符結(jié)束.
目錄樹:
大部分的操作系統(tǒng),組織文件的結(jié)構(gòu)都是一顆多叉樹,
非葉子節(jié)點(diǎn)一定是目錄文件
葉子節(jié)點(diǎn)可能是目錄文件也可能是普通文件.
問(wèn)題:為什么采用路徑的方式可以唯一定位一個(gè)文件?
答案:定位一個(gè)文件,無(wú)非就是回答兩個(gè)問(wèn)題:我在哪里?我是誰(shuí)?通過(guò)這個(gè)Linux目錄樹的方式,每一個(gè)子節(jié)點(diǎn)都只有一個(gè)父節(jié)點(diǎn),所以從根目錄到目標(biāo)文件都只有唯一的路徑,這也就是絕對(duì)路徑;
絕對(duì)路徑和相對(duì)路徑:
絕對(duì)路徑:絕對(duì)指定的是絕對(duì)于根目錄,起始位置已指定,比較官方,通常使用于配置文件
相對(duì)路徑:相對(duì)指的是相對(duì)于我當(dāng)前所處的路徑,起始位置沒(méi)有指定,比較方便,日常使用.
舉例 執(zhí)行a.out時(shí)通過(guò)絕對(duì)路徑和相對(duì)路徑的兩種方式:
安裝tree指令:
在root用戶下執(zhí)行這行指令即可安裝tree指令:
[root@VM-8-5-centos ~]# yum install -y tree
tree指令:
tree (選項(xiàng)) (參數(shù)) 1.作用:顯示指定目錄下所有的的文件,包括子目錄下的所有文件
說(shuō)明:
全稱:Change Directory
作用:改變當(dāng)前工作目錄
1.切換工作目錄至dir,dir可以是絕對(duì)路徑也可以是相對(duì)路徑 2.cd ..返回上級(jí)目錄 3.cd ~ 和cd 都代表回到家目錄 4.cd / 代表回到根目錄 5.cd ../..代表回到上級(jí)的上級(jí)目錄 6.cd /home/song/dir 使用的是絕對(duì)路徑,而cd ..使用的是相對(duì)路徑 7.cd -用來(lái)記錄最近從哪里來(lái)的路徑
這里給大家舉例一下cd -
[root@VM-8-5-centos ~]# whoami root
普通用戶和root用戶:
根目錄: /
家目錄;
普通用戶: /home/nameroot用戶: /root
說(shuō)明:
Linux下沒(méi)有類似Windows下的回收站,所以刪掉了就是刪掉了
rm -rf
rm是一個(gè)強(qiáng)大的刪除命令,系統(tǒng)不會(huì)給你任何的提示信息,直接刪除目標(biāo)文件或者目錄,它會(huì)永久性的刪除文件系統(tǒng)中的文件或目錄 .
選項(xiàng):
//通常刪除的是空目錄(不刪空目錄)rmdir dirname //刪除普通文件rm filename //遞歸刪除rm -r dirname //強(qiáng)制刪除rm -f dirname //遞歸并強(qiáng)制刪除rm -rf dir
下面給大家看一下-i選項(xiàng)的魅力:
[song@VM-8-5-centos ~]$ rm -r -i dirrm: descend into directory 'dir’? Yrm: remove regular empty file 'dir/test.c’? Yrm: remove regular empty file 'dir/dir’? Yrm: remove directory 'dir’? Y
當(dāng)我們有某條命令不知道怎么使用的時(shí)候,我們可以通過(guò)指令來(lái)查詢man手冊(cè),但是我們第一步得直到如何安裝man手冊(cè):
//安裝man手冊(cè)yum install -y man-pages
更多man命令的信息請(qǐng)?zhí)D(zhuǎn)這里
cp (選項(xiàng)) src dest
說(shuō)明:
全稱:copy
作用:#1拷貝普通文件夾 #拷貝目錄
//普通文件的拷貝
cp test.c name.c
//目錄的拷貝:遞歸拷貝目錄
cp -r olddir newdir
//src和dest都可以帶上路徑
1.dest不帶上文件名也是可以的,但是該目錄下名和src相同: cp test.c ../
2.dest也可以帶上文件名: cp test.c ../name.c
3.如果有一些文件時(shí)不屬于你的,可-f強(qiáng)制拷貝: cp -rf test.c name.c
聯(lián)系客服