Linux基礎概念和常用指令
目錄
1.作業系統概述(OS)?
2.為什麼企業都選擇Linux?
3.Linux版本分類
4.Linux登入root使用者和新建普通使用者
5.常見快捷鍵
6.常見指令
6-1 顯示工作目錄的絕對路徑:pwd
6-2 顯示目錄內容列表 ls
指令ll:
6-3 更新已存在檔案的時間資訊和新建普通檔案 touch
變式:建立一個空目錄 mkdir
6-4 Linux下的hello world 編譯執行test.c
6-5 選項 -l -a -d
6-6 切換工作目錄至dir cd
6-7 Linux下的檔案:
6-8: 改變工作目錄 cd
6-9 確定當前登入的使用者 whoami
6-10 刪除命令 rm
6- 10 查詢某條命令的使用 man
6-11 拷貝 cp
1.作業系統概述(OS)?
常見的作業系統:Windows,Mac,Linux,安卓,IOS 作業系統
作業系統的作用:(取決於看的角度)
使用者的角度:為使用者提供良好的執行環境(圖形介面式還是命令列式來操控硬體)
對開發者:管理各種軟硬體資源
windows是多使用者的介面化作業系統;
linux是多使用者的命令列式作業系統,是支援共享使用的。
為什麼已經有了圖形介面化的Linux作業系統,而我們還要費力的學習命令列式的Linux作業系統?
企業使用的是命令列式Linux作業系統(當出現一些問題時需要使用到指令)指令的學習,更接近底層指令略微快一點
另外:要用指令就得先要有鍵盤,要用圖形介面就得要有滑鼠,在發展上,我們是先有鍵盤再發明滑鼠的,所以這就意味著先有的命令列式才有的圖形介面化式。
2.為什麼企業都選擇Linux?
因為Linux開發出來後,就對外公開了Linux核心,也就是說Linux是開源的,開源就意味著更安全,穩定,便宜,綜合以上大家都選擇了Linux作為公司企業開發的作業系統。
實際上,Linux是在1991年由芬蘭大學生林納斯·託瓦茲開發出來的,比windows等作業系統晚了好久
但是由於Linux的優秀,現在Linux還是廣為開發人員認可.
3.Linux版本分類
核心版本(技術層):3.6,3.8等各種各樣的核心版本發行版本(應用層):Ubuntu,kali,紅旗,紅帽,centos
(1)Linux核心概念:實際就是託瓦茲寫的作業系統程式碼,是真正意義上的作業系統程式碼
(2)各種發行版本的差異(特點):
Ubuntu:比較適合個人研究性質使用,入門學習
kali:比較適合網路滲透和攻防使用
紅旗:國內的發行版本
紅帽:商業使用的收費版本
centos:商業化的免費的作業系統
4.Linux登入root使用者和新建普通使用者
root使用者的許可權比較高,所以我們在日常學習一般是新建立普通使用者來玩Linux。
第一步:讓我們登入root使用者,注意:在購買雲伺服器時記得重置root使用者密碼為較為複雜且自己記得住的密碼,複雜一點是防止被入侵。
(1)填寫雲伺服器提供的公網IP
(2)填寫公網IP下的root使用者名稱
但是前面的(1)(2)都可以用命令列來一步代替:
(3)填寫公網IP下root使用者的密碼
//建立名為 name 的普通使用者[root@vm-8-5-centos ~]# adduser name //為 使用者名稱為 name 的賬號設定密碼[root@vm-8-5-centos ~]#passwd name //刪除名為 li 的普通使用者[root@vm-8-5-centos ~]# userdel -r name
5.常見快捷鍵
ctrl+Insert:複製
shift+Insert:貼上
alt+enter:全屏
ctrl+d:退出當前賬號
6.常見指令
6-1 顯示工作目錄的絕對路徑:pwd
pwd [-LP]
說明:
全稱:Print Working Directory(列印工作目錄)
作用:顯示當前使用者所在目錄-- 工作目錄 的絕對路徑
使用:
//顯示使用者當前所在的目錄 [song@VM-8-5-centos ~]$ pwd/home/song
6-2 顯示目錄內容列表 ls
ls (選項) (引數)
說明:
全稱:list
作用:顯示目錄內容列表
不同顏色代表的檔案型別:
PS:這裡的配色方案和Xshell和Linux有關係,我們不能強相關,但是可以參考一下
舉例:
PS:
說明:
全稱:list -l
作用:顯示指定目錄裡面的內容和屬性
通過which 可以檢視指令
這也解釋了ll命令的作用,其實就是ls -l的組合鍵/別名
6-3 更新已存在檔案的時間資訊和新建普通檔案 touch
touch (選項) (引數)
說明:
作用:
將已經存在的檔案的時間標籤更新為當前系統時間新建一個空的普通檔案
stat filename
變式:建立一個空目錄 mkdir
本質就是在Linux目錄上中建立新節點/路徑
mkdir dirname
有時候我們想當前路徑下建立一串路徑:(帶指定的-p選項建立一條路徑)
//建立一條路徑mkdir -p p1/p2/p3
6-4 Linux下的hello world 編譯執行test.c
如果我建立了一個test.c檔案,我想在Linux下編譯執行,我該怎麼做吶?
首先使用nano命令,開啟Linux自帶的文字編輯器:
nano test.c
6-5 選項 -l -a -d
說明:
-l : 顯示檔案內容列表及其更詳細的檔案屬性
-a:顯示隱藏檔案(Linux下以 . 開頭的檔案是隱藏檔案)
選項是絕大部分都是可以合併的
PS:在每一個目錄都存在一個名為 . 和名為 .. 的檔案
對比windows:
-d:顯示指定目錄的資訊,而非指定目錄裡面內容的資訊
ls預設情況下會顯示目錄裡面的內容的資訊,ls -d會顯示目錄的資訊
6-6 切換工作目錄至dir cd
cd [-L|[-P [-e]]] [dir]
6-7 Linux下的檔案:
linux下一切皆是檔案
檔案=檔案內容+檔案屬性(屬性也是資料)
因為空檔案是有建立時間等屬性的,所以空檔案也是佔磁碟空間的
根目錄: /
Linux下通過cd ..一直回退,直到回退到根目錄/則不能再回退
windows下則是按<-一直回退到碟符結束.
目錄樹:
大部分的作業系統,組織檔案的結構都是一顆多叉樹,
非葉子節點一定是目錄檔案
葉子節點可能是目錄檔案也可能是普通檔案.
問題:為什麼採用路徑的方式可以唯一定位一個檔案?
答案:定位一個檔案,無非就是回答兩個問題:我在哪裡?我是誰?通過這個Linux目錄樹的方式,每一個子節點都只有一個父節點,所以從根目錄到目標檔案都只有唯一的路徑,這也就是絕對路徑;
絕對路徑和相對路徑:
絕對路徑:絕對指定的是絕對於根目錄,起始位置已指定,比較官方,通常使用於配置檔案
相對路徑:相對指的是相對於我當前所處的路徑,起始位置沒有指定,比較方便,日常使用.
舉例 執行a.out時通過絕對路徑和相對路徑的兩種方式:
安裝tree指令:
在root使用者下執行這行指令即可安裝tree指令:
[root@VM-8-5-centos ~]# yum install -y tree
tree指令:
tree (選項) (引數) 1.作用:顯示指定目錄下所有的的檔案,包括子目錄下的所有檔案
6-8: 改變工作目錄 cd
說明:
全稱:Change Directory
作用:改變當前工作目錄
1.切換工作目錄至dir,dir可以是絕對路徑也可以是相對路徑 2.cd ..返回上級目錄 3.cd ~ 和cd 都代表回到家目錄 4.cd / 代表回到根目錄 5.cd ../..代表回到上級的上級目錄 6.cd /home/song/dir 使用的是絕對路徑,而cd ..使用的是相對路徑 7.cd -用來記錄最近從哪裡來的路徑
這裡給大家舉例一下cd -
6-9 確定當前登入的使用者 whoami
[root@VM-8-5-centos ~]# whoami root
普通使用者和root使用者:
根目錄: /
家目錄;
普通使用者: /home/nameroot使用者: /root
6-10 刪除命令 rm
說明:
Linux下沒有類似Windows下的回收站,所以刪掉了就是刪掉了
rm -rf
rm是一個強大的刪除命令,系統不會給你任何的提示資訊,直接刪除目標檔案或者目錄,它會永久性的刪除檔案系統中的檔案或目錄 .
選項:
- -r :遞迴刪除,只要用於資料夾,刪除指定目錄下的所有檔案或目錄,包括子目錄裡的所有資源
- -f (force)強制刪除,系統不給提示資訊,使用得謹慎
- -i 系統給提示資訊,詢問下刪除,使用-i可以有效防止誤刪除
//通常刪除的是空目錄(不刪空目錄)rmdir dirname //刪除普通檔案rm filename //遞迴刪除rm -r dirname //強制刪除rm -f dirname //遞歸併強制刪除rm -rf dir
下面給大家看一下-i選項的魅力:
[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
6- 10 查詢某條命令的使用 man
當我們有某條命令不知道怎麼使用的時候,我們可以通過指令來查詢man手冊,但是我們第一步得直到如何安裝man手冊:
//安裝man手冊yum install -y man-pages
更多man命令的資訊請跳轉這裡
6-11 拷貝 cp
cp (選項) src dest
說明:
全稱: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.如果有一些檔案時不屬於你的,可-f強制拷貝: cp -rf test.c name.c