課程定位
命令行 != 黑客專屬。
這套視頻帶你從Linux小白到命令行大師,涵蓋文件管理+文本處理+系統監控+網絡操作。
零基礎也能30分鐘掌握程序員必備的技能。
課程亮點
1、零基礎友好:從最基礎的ls,cd命令開始,循序漸進
2、實戰導向:每個命令都配合真實場景和項目案例
3、效率提升:掌握管道,重定向等高級技巧,提升工作效率。
適合人群
編程初學者,需要使用Linux服務器的開發者,想要提升工作效率的技術人員,準備從事運維或后端開發的學習者。
課程概述
Linux命令行是程序員的基本功,也是提升工作效率的利器。
本課程從“為什么命令行比圖形界面更強大”切入,系統講解文件系統操作,文本處理,權限管理,進程控制等核心技能。
通過6大模塊的學習,你將掌握文件管理的各種技巧,學會使用grep,awk,sed等文本處理神器,理解Linux權限體系,能夠監控和管理系統進程,掌握網絡診斷和遠程操作,編寫自動化腳本提升效率。
每個知識點都配合實際案例和練習,讓你在30分鐘內從命令行新手成長為能夠獨立解決問題的Linux用戶,為后續的開發和運維工作打下堅實基礎。
講師介紹
本章學習目標
通過本章學習,你將能夠:
- 熟練掌握:Linux基礎命令和高級操作技巧
- 靈活應用:文件系統管理和權限控制命令
- 高效處理:文本處理和數據分析任務
- 輕松管理:進程監控和系統維護操作
- 自信應對:日常開發和運維工作需求
章節導航
1、文件系統的探險之旅:目錄導航和文件管理
2、文本處理魔法師:文本處理技巧
3、權限管理大師:安全控制
4、進程管理偵探:系統監控
5、網絡操作忍者:網絡工具
6、命令行終極挑戰:綜合實戰
Linux基礎導航命令
pwd:顯示當前目錄
ls:列出目錄內容
cd:切換目錄
tree:樹形顯示目錄結構,這個命令需要先安裝才能。通過如下命令進行安裝:
sudo apt install tree
執行命令示例:
clear:清空當前屏幕
Linux目錄導航小游戲
導航到 /var/log,然后回到用戶主目錄。
方案1:
cd /var/log
cd ~
方案2:
cd var/log && cd -
pwd 查看當前位置
迷路時的救命稻草,可以輸出你當前所在的目錄。
ls 命令查看當前目錄文件
ls -la 可以以列表的形式展示所有文件,包括隱藏文件。隱藏文件一般是以.點開頭的文件。
cd 切換目錄的各種用法
去根目錄溜達
cd /
回到上級目錄:
cd ..
回到家目錄:
cd ~
回到家目錄的簡寫:
cd
回到上一次的位置,時光倒流:
cd -
ls 命令的各種用法
查看詳細信息:
ls -l
查看隱藏文件:
ls -a
人性化顯示文件大小:
ls -h
按時間排序:
ls -t
按大小順序:
ls -S
反向排序:
ls -r
同時查看詳細信息,隱藏文件,人性化顯示文件大小:
ls -lah
ls 練習1
找出當前目錄中最大的3個文件,按大小降序排列。
ls -lSh | head -4
ls 練習2
顯示所有以點開頭的隱藏文件,按修改時間排序。
ls -lat | grep "\.\w"
ls 練習3
ls 只顯示目錄不顯示文件
ls -ld */
ls 組合使用示例
顯示詳細信息,包括隱藏文件,人性化大小顯示:
ls -lah
按修改時間排序,最新的在前面:
ls -lth
找占空間最大的內容:按文件大小排序,最大的在前面
ls -lSh
深度探索:遞歸顯示所有子目錄
ls -R
mkdir 創建文件夾
創建一個文件夾:
mkdir tmp
同時創建多級目錄,也就是遞歸的創建目錄:
mkdir -p tmp/a/b/c
touch 創建空文件
在某個目錄下直接創建文件:
cd tmp
touch test.py
想要在某個文件夾中去創建文件:
touch tmp/a/b/c/test.txt
創建一個完整的項目結構
目錄結構如下:
# my_game/
# ├── src/
# │ ├── main.py
# │ └── utils.py
# ├── tests/
# │ └── test_main.py
# ├── docs/
# │ └── README.md
# └── data/
# └── config.json
實現方案:
mkdir -p my_game/{src,tests,docs/data}
touch my_game/src/{main.py,utils.py}
touch my_game/tests/test_main.py
touch my_game/docs/README.md
touch my_game/data/config.json
驗證結果:
tree my_game
mkdir 實用示例
創建單個目錄:
mkdir my_project
創建多個目錄:
mkdir dir1 dir2 dir3
創建多級目錄結構:
mkdir -p projects/{src,docs,tests}/{python,java}
創建空文件:
touch README.md
創建多個文件:
touch file1.txt file2.txt file3.txt
創建帶時間戳的文件,不重復的文件名:
touch "backup_$(date +%Y%m%d_%H%M%S).txt"
cp 復制命令
復制文件:cp
cp file1 file2
復制目錄:cp -r
cp -r dir1 dir2
交互式復制:
cp -i file1 file2
僅復制新文件:
cp -u *.txt backup/
使用cp備份重要文件
比如,我們備份配置文件:
cp ~/.bashrc ~/.bashrc.backup.$(date +%Y%m%d)
使用cp復制所有python文件
先準備一些Python文件:
mkdir demo
touch demo/{a.py,b.py,c.py}
創建備份目錄:
mkdir demo_backup
開始復制所有python文件到備份目錄:
cp demo/*.py demo_backup/
使用cp只復制更新的文件
準備文件:
mkdir demo
touch demo/{a.txt,b.txt,c.txt}
復制文件:
mkdir demo2
cp demo/*.txt demo2/
修改文件:
vim demo/b.txt# 隨便填充一些內容
# 保存退出# 執行復制
cp -u demo/*.txt demo2/
使用cp復制并顯示進度
當我們復制一些大文件的時候,如果想要知道這個復制的進度的話,可以使用 cp -rv 命令。
先準備一個大文件:
with open("tmp.txt", "w") as f:for i in range(100000000):f.write("python teacher .....\n")
開始復制,復制時顯示進度:
cp -rv tmp.txt tmp2.txt
要注意,這個進度不是單個文件的復制進度,而是當復制文件夾時,可以顯示已經復制了哪些文件。
使用cp復制并保持原有屬性
cp -p 這個參數,會讓復制保留文件原有的屬性。比如時間戳,權限等等。
示例:
touch tmp.txt
cp -p tmp.txt tmp2.txt
ls -lah
使用cp復制目錄及其所有內容
先準備目錄和文件:
mkdir tmp
touch tmp/{a,b,c}.txt
復制目錄及其所有文件:
cp -r tmp/ tmp2/
使用cp復制多個文件到目錄
準備多個文件和目錄:
touch {a,b,c}.txt
mkdir tmp
執行cp復制命令:
cp a.txt b.txt c.txt tmp/
查看tmp目錄:
tree tmp
使用cp和通配符復制多個文件
可以用星號代表任意文件名。
比如 *.py 可以代表 a.py, abc.py, aa123.py,不限制格式,只限制后綴。
借助這種通配符的規則,我們可以很輕松的實現批量復制。
先準備幾個文件:
touch {a,b,c}.py
mkdir tmp
使用cp和通配符進行復制:
cp *.py tmp/
tree tmp
使用mv重命名文件
mv是修改文件名,不會保留原本的文件。
touch tmp.txt
mv tmp.txt tmp2.txt
使用mv和for循環批量重命名文件
準備文件:
touch {a,b,c}.py
使用循環和mv批量重命名文件,會把 .py 直接換成 .back :
for file in *.py; domv "$file" "$file%.py.back"
done
查看目錄:
tree
使用mv移動文件到目錄
準備文件:
touch tmp.py
準備目錄:
mkdir tmp
移動文件到目錄:
mv tmp.py tmp/
查看目錄:
tree
使用mv和通配符移動多個文件
在真實的開發中,我們經常需要維護很多日志文件,本案例演示如何對多個日志文件做移動。
先準備一些日志文件:
touc {a,b,c}.log
準備目錄:
mkdir logs
使用通配符進行移動:
mv *.log logs/
查看目錄:
tree logs
使用mv重命名目錄
先準備目錄和文件:
mkdir demo
touch demo/{a,b,c}.py
tree
移動目錄:
mv demo demo2
tree