Django全栈班v1.03 Linux常用命令 20250911 下午

课程定位

命令行 != 黑客专属。

这套视频带你从Linux小白到命令行大师,涵盖文件管理+文本处理+系统监控+网络操作。

零基础也能30分钟掌握程序员必备的技能。

课程亮点

1、零基础友好:从最基础的ls,cd命令开始,循序渐进

2、实战导向:每个命令都配合真实场景和项目案例

3、效率提升:掌握管道,重定向等高级技巧,提升工作效率。

适合人群

编程初学者,需要使用Linux服务器的开发者,想要提升工作效率的技术人员,准备从事运维或后端开发的学习者。

课程概述

Linux命令行是程序员的基本功,也是提升工作效率的利器。

本课程从“为什么命令行比图形界面更强大”切入,系统讲解文件系统操作,文本处理,权限管理,进程控制等核心技能。

通过6大模块的学习,你将掌握文件管理的各种技巧,学会使用grep,awk,sed等文本处理神器,理解Linux权限体系,能够监控和管理系统进程,掌握网络诊断和远程操作,编写自动化脚本提升效率。

每个知识点都配合实际案例和练习,让你在30分钟内从命令行新手成长为能够独立解决问题的Linux用户,为后续的开发和运维工作打下坚实基础。

讲师介绍

image.png

本章学习目标

通过本章学习,你将能够:

  • 熟练掌握:Linux基础命令和高级操作技巧
  • 灵活应用:文件系统管理和权限控制命令
  • 高效处理:文本处理和数据分析任务
  • 轻松管理:进程监控和系统维护操作
  • 自信应对:日常开发和运维工作需求

章节导航

1、文件系统的探险之旅:目录导航和文件管理

2、文本处理魔法师:文本处理技巧

3、权限管理大师:安全控制

4、进程管理侦探:系统监控

5、网络操作忍者:网络工具

6、命令行终极挑战:综合实战

Linux基础导航命令

pwd:显示当前目录

image.png

ls:列出目录内容

image.png

cd:切换目录

image.png

tree:树形显示目录结构,这个命令需要先安装才能。通过如下命令进行安装:

sudo apt install tree

执行命令示例:

image.png

clear:清空当前屏幕

Linux目录导航小游戏

导航到 /var/log,然后回到用户主目录。

方案1:

cd /var/log
cd ~

方案2:

cd var/log && cd -

pwd 查看当前位置

迷路时的救命稻草,可以输出你当前所在的目录。

image.png

ls 命令查看当前目录文件

image.png

ls -la 可以以列表的形式展示所有文件,包括隐藏文件。隐藏文件一般是以.点开头的文件。

image.png

cd 切换目录的各种用法

去根目录溜达

cd /

回到上级目录:

cd ..

回到家目录:

cd ~

回到家目录的简写:

cd

回到上一次的位置,时光倒流:

cd -

image.png

ls 命令的各种用法

查看详细信息:

ls -l

查看隐藏文件:

ls -a

人性化显示文件大小:

ls -h

按时间排序:

ls -t

按大小顺序:

ls -S

反向排序:

ls -r

同时查看详细信息,隐藏文件,人性化显示文件大小:

ls -lah

image.png

ls 练习1

找出当前目录中最大的3个文件,按大小降序排列。

ls -lSh | head -4

image.png

ls 练习2

显示所有以点开头的隐藏文件,按修改时间排序。

ls -lat | grep "\.\w"

image.png

ls 练习3

ls 只显示目录不显示文件

ls -ld */

image.png

ls 组合使用示例

显示详细信息,包括隐藏文件,人性化大小显示:

ls -lah

image.png

按修改时间排序,最新的在前面:

ls -lth

image.png

找占空间最大的内容:按文件大小排序,最大的在前面

ls -lSh

image.png

深度探索:递归显示所有子目录

ls -R

image.png

mkdir 创建文件夹

创建一个文件夹:

mkdir tmp

image.png

同时创建多级目录,也就是递归的创建目录:

mkdir -p tmp/a/b/c

image.png

touch 创建空文件

在某个目录下直接创建文件:

cd tmp
touch test.py

image.png

想要在某个文件夹中去创建文件:

touch tmp/a/b/c/test.txt

image.png

创建一个完整的项目结构

目录结构如下:

# 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

image.png

mkdir 实用示例

创建单个目录:

mkdir my_project

创建多个目录:

mkdir dir1 dir2 dir3

创建多级目录结构:

mkdir -p projects/{src,docs,tests}/{python,java}

image.png

创建空文件:

touch README.md

创建多个文件:

touch file1.txt file2.txt file3.txt

image.png

创建带时间戳的文件,不重复的文件名:

touch "backup_$(date +%Y%m%d_%H%M%S).txt"

image.png

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)

image.png

使用cp复制所有python文件

先准备一些Python文件:

mkdir demo
touch demo/{a.py,b.py,c.py}

创建备份目录:

mkdir demo_backup

开始复制所有python文件到备份目录:

cp demo/*.py demo_backup/

image.png

使用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/

image.png

使用cp复制并显示进度

当我们复制一些大文件的时候,如果想要知道这个复制的进度的话,可以使用 cp -rv 命令。

先准备一个大文件:

with open("tmp.txt", "w") as f:for i in range(100000000):f.write("python teacher .....\n")

image.png

开始复制,复制时显示进度:

cp -rv tmp.txt tmp2.txt

要注意,这个进度不是单个文件的复制进度,而是当复制文件夹时,可以显示已经复制了哪些文件。

使用cp复制并保持原有属性

cp -p 这个参数,会让复制保留文件原有的属性。比如时间戳,权限等等。

示例:

touch tmp.txt
cp -p tmp.txt tmp2.txt
ls -lah 

image.png

使用cp复制目录及其所有内容

先准备目录和文件:

mkdir tmp
touch tmp/{a,b,c}.txt

复制目录及其所有文件:

cp -r tmp/ tmp2/

image.png

使用cp复制多个文件到目录

准备多个文件和目录:

touch {a,b,c}.txt
mkdir tmp

执行cp复制命令:

cp a.txt b.txt c.txt tmp/

查看tmp目录:

tree tmp

image.png

使用cp和通配符复制多个文件

可以用星号代表任意文件名。

比如 *.py 可以代表 a.py, abc.py, aa123.py,不限制格式,只限制后缀。

借助这种通配符的规则,我们可以很轻松的实现批量复制。

先准备几个文件:

touch {a,b,c}.py
mkdir tmp

使用cp和通配符进行复制:

cp *.py tmp/
tree tmp

image.png

使用mv重命名文件

mv是修改文件名,不会保留原本的文件。

touch tmp.txt
mv tmp.txt tmp2.txt

image.png

使用mv和for循环批量重命名文件

准备文件:

touch {a,b,c}.py

使用循环和mv批量重命名文件,会把 .py 直接换成 .back :

for file in *.py; domv "$file" "$file%.py.back"
done

查看目录:

tree

image.png

使用mv移动文件到目录

准备文件:

touch tmp.py

准备目录:

mkdir tmp

移动文件到目录:

mv tmp.py tmp/

查看目录:

tree

image.png

使用mv和通配符移动多个文件

在真实的开发中,我们经常需要维护很多日志文件,本案例演示如何对多个日志文件做移动。

先准备一些日志文件:

touc {a,b,c}.log

准备目录:

mkdir logs

使用通配符进行移动:

mv *.log logs/

查看目录:

tree logs

image.png

使用mv重命名目录

先准备目录和文件:

mkdir demo
touch demo/{a,b,c}.py
tree

移动目录:

mv demo demo2
tree

image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/96244.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/96244.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

离线应用开发:Service Worker 与缓存

引言:离线应用开发在 Electron 中的 Service Worker 与缓存核心作用与必要性 在 Electron 框架的开发实践中,离线应用开发是提升用户体验和应用可用性的关键技术,特别是使用 Service Worker 实现缓存和离线功能,结合 Node.js 处理…

英发睿能闯关上市:业绩波动明显,毅达创投退出,临场“移民”

撰稿|张君来源|贝多商业&贝多财经近日,四川英发睿能科技股份有限公司(下称“英发睿能”)递交招股书,报考在港交所上市。据贝多商业&贝多财经了解,英发睿能还于9月3日披露《整体协调人公告-委任&…

Elixir通过Onvif协议控制IP摄像机,ExOnvif库给视频流叠加字符

Elixir 通过 ExOnvif 库,Onvif 协议可以控制IP摄像机等设备,这篇文章记录:使用ExOnvif库,给视频流叠加文字,使用ExOnvif库的接口模块:ExOnvif.Media、ExOnvif.Media2。 ExOnvif官方文档 此文章内容&#xf…

线程安全相关的注解

主要有下面三个加在类上的线程安全相关的注解。一.Immutable标记一个类为不可变的。这意味着该类的实例在构造完成后,其状态(数据)永远不能被更改。实现不可变性的严格条件(Java内存模型中的定义):所有字段…

基于Springboot + vue3实现的在线智慧考公系统

项目描述本系统包含管理员、教师、用户三个角色。管理员角色:用户管理:管理系统中所有用户的信息,包括添加、删除和修改用户。配置管理:管理系统配置参数,如上传图片的路径等。权限管理:分配和管理不同角色…

赋能高效设计:12套中后台管理信息系统通用原型框架

中后台管理信息系统是企业数字化转型的核心引擎,肩负着提升运营效率、赋能精准决策的重任。面对多样化的业务场景和复杂的逻辑需求,如何快速、高质量地完成系统设计与原型构建,成为产品、设计与开发团队共同面临的挑战。 为此,一套…

LangGraph中ReAct模式的深度解析:推理与行动的完美融合——从理论到实践的智能Agent构建指南

在人工智能的演进历程中,ReAct(Reasoning and Acting)模式无疑是最具革命性的突破之一。它不仅仅是一种技术实现,更是对智能Agent思维模式的深刻重构。而LangGraph,作为这一理念的优秀实践者,将ReAct模式演…

蜂窝物联网模组在换电柜场景的发展前景分析

蜂窝物联网模组在换电柜场景中正迎来爆发式增长机遇,特别是在Cat.1技术路线主导的市场格局下,其应用价值已从基础通信服务拓展至安全监测、智能管理、电池溯源等核心领域,成为换电柜行业标准化、智能化升级的关键技术支撑。随着2025年新国标全…

机器学习之K折交叉验证

为了更好的评估机器学习训练出模型的泛化能力,即避免模型在训练集上表现良好,但在未见过的数据上表现不佳(即过拟合),同时也减少了单一训练/测试集划分带来的随机性影响。一、什么是K折交叉验证?1、将数据集…

详细解读k8s的kind中service与pod的区别

Pod 是运行应用实例的“容器”,而 Service 是访问这些 Pod 的“稳定网络门户”。Pod(容器组)1. 核心概念: Pod 是 Kubernetes 中可以创建和管理的最小、最简单的计算单元。一个 Pod 代表集群上正在运行的一个工作负载实例。2. 职责…

python---PyInstaller(将Python脚本打包为可执行文件)

在Python开发中,我们常需要将脚本分享给不熟悉Python环境的用户。此时,直接提供.py文件需要对方安装Python解释器和依赖库,操作繁琐。PyInstaller作为一款主流的Python打包工具,能将脚本及其依赖打包为单个可执行文件(…

利用归并算法对链表进行排序

/*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* ListNode(int x, ListNode *next) : val(x), next(next) {}* };这里是链…

论文阅读_大模型情绪分析预测股票趋势

英文名称:Stock Price Trend Prediction using Emotion Analysis of Financial Headlines with Distilled LLM Model 中文名称:利用蒸馏大型语言模型对财务新闻标题情绪分析以预测股价趋势 链接: https://dl.acm.org/doi/pdf/10.1145/3652037.3652076作…

websocket和socket区别

websocket和socket区别,这是一个非常经典的问题。简单来说,Socket 是构建网络通信的工具和基础,而 WebSocket 是建立在它之上的一种具体的通信协议。可以把它们的关系想象成:Socket 像是修路和建立交通规则的基础工程。它定义了车…

网络复习1

1.网络协议栈 一般一个主机内的应用(进程)进行通信,直接在操作系统层面进行 进程交互即可。而不同位置两台主机进行通信需要通过网线传输信号,因此 这些通信的数据为网络数据,而网络数据进程传输必须从应用层依次向下…

AFSim2.9.0学习笔记 —— 4.2、ArkSIM文件结构介绍及项目结构整理

🔔 AFSim2.9.0 相关技术、疑难杂症文章合集(掌握后可自封大侠 ⓿_⓿)(记得收藏,持续更新中…) 若还没有下载AFSim2.9.0完整软件或源码,请先进入本人另篇文章了解下载。 文章概要 本文主要对上篇…

hbuilderx配置微信小程序开发环境

hbuilderx配置微信小程序开发环境 借鉴HbuilderX微信开发者工具配置_hbuilder和微信开发者工具-CSDN博客 在微信开发者工具的设置选项的安全设置打开服务端口 在hbuidex的工具的设置选项的运行配置的微信开发者工具路径的方框输入 D:/software/wxchatmini 方可成功&#xf…

AUTOSAR Adaptive Platform 日志与追踪 (Log and Trace) 规范深度解析

<摘要> [R22-11 AUTOSAR Adaptive Platform (AP) 日志规范是AUTOSAR标准体系中针对高性能计算域&#xff08;如自动驾驶、智能座舱&#xff09;的关键组成部分。本文对AUTOSAR AP日志与追踪&#xff08;Log and Trace, LT&#xff09;进行了系统性解析&#xff0c;涵盖了…

[硬件电路-179]:集成运放,虚短的是电压,虚断的是电流

集成运放&#xff08;运算放大器&#xff09;中的“虚短”和“虚断”是分析其线性应用&#xff08;如反相放大器、同相放大器等&#xff09;时的两个核心概念&#xff0c;它们分别描述了运放输入端的电压和电流特性。以下是详细解释&#xff1a;1. 虚短&#xff08;Virtual Sho…

Redis常见问题及其处理策略

TODO&#xff1a;待重新整理 资源稳定性保障&#xff08;以Redis为例&#xff09;&#xff1a;核心指标、常见问题及处理策略 一、资源稳定性核心参考指标 在资源本身的稳定性保障中&#xff0c;常见核心监控指标包括&#xff1a; CPU&#xff1a;计算资源负载&#xff0c;…