目錄
一.基礎概念與入門
1.Linux操作系統簡介
2.終端與shell的基本概念
3.命令行界面的優勢
二.基礎指令
1.whoami
?2.useradd/userdel/passwd
?3.pwd
?4.ls
?5.cd? ? ? ? ? ? ? ??
6.touch
7.mkdir
8.tree
9.rmdir/rm
10.man
11.cp
12.mv
13.cat
14.less
15.head/tail
16.date? ? ? ??
17.cal
18.find
19.which
20.whereis
21.alias
22.grep
23.zip/unzip
24.rzsz
25.tar
26.uname -r
三.總結
一.基礎概念與入門
1.Linux操作系統簡介
????????Linux是一種自由和開放源代碼的類UNIX操作系統,該操作系統的內核由林納斯托瓦茲在1991年首次發布,之后,在加上用戶空間的應用程序之后,就成為了Linux操作系統。嚴格來講,Linux只是操作系統內核本身,但通常采用“Linux內核”來表達該意思。而Linux則常用來指基于Linux內核的完整操作系統,它包括GUI組件和許多其他實用工具。
? ? ? ? 這里我們用來學習的Linux環境為Centos版本,并將其部署在云服務器上,用xshell進行遠程訪問。
2.終端與shell的基本概念
? ? ? ? 終端:用戶與系統交互的入口
? ? ? ? Shell(外殼程序):操作系統的“命令翻譯官”
? ? ? ? 這里的bash則是shell的一種,為命令行文件
3.命令行界面的優勢
? ? ? ? 終端中命令行替代了圖形化界面操作,其效率更高,資源占用低,易于控制且具有強大的工具生態在Linux系統中廣泛使用。
? ? ? ? 在windows系統中也可以打開終端,并執行命令行操作
二.基礎指令
1.whoami
? ? ? ? Linux是一款多用戶的操作系統,該命令通常用于自身系統身份驗證,即我們是以哪種身份登錄Linux系統。
whoami
2.useradd/userdel/passwd
? ? ? ? 由于Linux系統是一款多用戶系統,我們可以刪除或添加新用戶,并為其設置密碼。
useradd username # 添加新用戶
passwd username # 為用戶設置密碼
userdel -r username # 刪除普通用戶
3.pwd
pwd # 查看當前工作路徑
? ? ? ? 無論是Linux還是windows,我們登陸成功,都會處在一個默認路徑下。
4.ls
ls dirname # 對于?錄,該命令列出該?錄下的所有??錄與?件。
ls filename # 對于?件,將列出?件名以及其他信息。
? ? ? ? 常用選項:
ls -a dirname #列出?錄下的所有?件,包括以 . 開頭的隱含?件
ls -l filename #列出?件的詳細信息
ls -al name #選項可以合并使用
5.cd? ? ? ? ? ? ? ??
Linux理論知識:路徑的認識
Linux系統中,磁盤上的文件和目錄被組成一棵目錄樹,每個節點都是目錄或文件
其中普通文件一定是目錄樹的葉子節點
目錄可能是葉子(空目錄), 也可能是路上節點
理解路徑存在的意義: 樹狀組織方式,都是為了保證快速定位查找到指定的文件,而定位文件就需要具有唯一性的方案來進行定位文件。其中任何一個節點,都只有一個父節點,所以,從根目錄開始,定位指定文件,路徑具有唯一性
絕對路徑:一般從/開始,不依賴其他目錄的定位文件的方式
相對路徑:相對于當前用戶所處目錄,定位文件的路徑方式
絕對路徑一般不會隨著用戶的路徑變化而喪失唯一性,一般在特定服務的配置文件中經常被使用,相對路徑因為它的便捷性,一般在命令行中使用較多
cd pathname # 改變?作?錄。將當前?作?錄改變到指定的路徑下
? ? ? ? 由于Linux系統中標識文件唯一性是通過路徑標識的,所以我們可以通過兩種路徑路徑來來達到同一目錄:
cd - # 回退到最近一次所處的目錄
cd ~ # 直接回退到家目錄即一開始登錄所處的默認路徑
6.touch
touch filename # 新建?個普通?件
7.mkdir
mkdir dirname # 在當前?錄下創建?個名為 “dirname”的?錄
? ? ? ? 常用選項:
mkdir -p a/b/c/d # 創建一串路徑
8.tree
? ? ? ? 安裝:
yum install -y tree # root用戶
sudo yum install -y tree # 普通用戶
tree name # 遞歸以樹狀結構顯?指定?錄
????????
9.rmdir/rm
rmdir dirname # 與mkdir對應,刪除一個空目錄
rm name # 刪除文件或目錄
? ? ? ? 常用選項:
rm -r name # 遞歸刪除目錄及其所有文件
rm -f name # 直接刪除不詢問
10.man
man [章節] 命令 # 在手冊中查找指定章節的命令
? ? ? ? 常用章節:
? ? ? ? 1?是普通的命令
????????2 是系統調用,如open,write之類的(通過這個,至少可以很方便的查到調用這個函數,需要加什么頭文件)
? ? ? ??3 是庫函數,如printf,fread4是特殊文件,也就是/dev下的各種設備文件
11.cp
Linux理論知識:Linux系統下一切皆“文件”
? ? ? ? 理論具象化實踐:
? ? ? ? 1.輸出重定向? ? ? ??
echo "hello world" # echo命令為向文件寫入內容
? ? ? ? 那么我們也可以讓輸出結果重定向,寫入其他文件中:
? ? ? ? 我們也可以用輸出重定向來清空文件:
? ? ? ? 2.輸入重定向
cp src dst # ?于復制?件或?錄,將src復制dst目錄中
? ? ? ? 常用選項:
cp -r dst src # 遞歸復制目錄到指定路徑中
12.mv
mv src dst # 移動文件或將文件改名
13.cat
cat filename # 查看目標文件的內容
? ? ? ? 常用選項:
cat -b filename # 對非空行輸出行編號
cat -n filename # 對輸出的所有行編號
cat -s filename # 不輸出多行空行
14.less
less filename # 對于大量內容文件適用,可以前后翻看文件內容,不會出現刷屏
? ? ? ? 常用選項:
/字符串 # 向下搜索字符串功能
n # 顯示下一個搜索
15.head/tail
head [參數] filename # head?來顯?檔案的開頭?標準輸出中# 默認head命令打印其相應?件的開頭10?# [參數]為顯示的行數
tail [必要參數] filename # ?于顯?指定?件末尾內容
? ? ? ? 如果要查看temp文件的2001到2010行,我們可以使用head/tail命令,并用管道起到連接資源的作用:
16.date? ? ? ??
date # 顯示常規時間
date +%Y/%m/%d-%H:%M:%S # 指定格式顯示時間
date +%s # 顯示時間戳# 時間戳是以1970年1月1日00:00:00 UTC為起點,計算經過的秒數
17.cal
cal [參數] [年份] # ?于查看?歷等時間信息
18.find
find pathname -options filename # 在指定路徑下查找文件
? ? ? ? 常用選項:
find pathname -name filename # 根據文件名查找文件
? ? ? ? find本質是去目錄樹中進行遞歸查找
19.which
which [命令] # 搜索系統指定的命令
? ? ? ? 但并不建議將我們寫的命令放在系統路徑下,可能會對命令池造成污染
20.whereis
whereis file # ?于找到程序的源、?進制?件或?冊
21.alias
alias hello='ls -a -l' # 設置命令的別名
? ? ? ? 另外,別名屬于內存級數據,重新登陸則會重置
22.grep
grep [選項] [字符串] filename # 在?件中搜索字符串,將找到的?打印出來
? ? ? ? 常用選項:
grep -i "abcd" test.txt # 忽略大小寫
grep -n "abcd" test.txt # 輸出行號
grep -v "abcd" test.txt # 反向對內容進行過濾
23.zip/unzip
zip 壓縮?件.zip ?錄或?件 # 將?錄或?件壓縮成zip格式
? ? ? ? 常用選項:
zip -r cmd2.zip commonorder2 # 遞歸處理,將指定?錄下的所有?件和??錄?并處理
unzip 目錄或文件 # 解壓.zip文件
? ? ? ? 常用選項:
unzip .zip -d pathname # 將.zip文件解壓至指定路徑
24.rzsz
? ? ? ? 安裝:
sudo yum install -y lrzsz
? ? ? ? rzsz命令可實現Linux與windows互傳文件:
rz # 實現Linux接收windows系統的文件
sz 目錄或文件 # 實現Linux向windows傳輸文件
25.tar
? ? ? ? 常用選項:
tar -czf target.tgz target # 將目錄或文件壓縮為.tgz
tar -xzf target.tgz # 將.tgz解壓
tar -xzf target.tgz -C pathname # 將.tgz解壓到指定路徑
26.uname -r
uname -r # uname可顯?linux主機所?的操作系統的版本、硬件的名稱等基本信息
三.總結
? ? ? ? 本期我們初步認識并學習了26個基礎指令,對Linux系統有了一個初步的體系認識,下一篇將學習Linux的權限是如何體現并作用的,同時也將深入學習關于權限的更多指令與內容。