当前位置: 首页 > news >正文

Linux 环境适应 Day 1 全面笔记

一、Linux 基础命令体系

 1. 文件与目录操作

命令作用示例
pwd查看当前工作路径pwd
ls -al查看所有文件(包括隐藏文件)ls -al
mkdir创建目录mkdir test
cd进入目录cd test
rm删除文件或目录rm file / rm -rf dir
cp复制文件cp a.txt b.txt
mv移动或重命名mv a.txt old.txt
cat查看文件内容cat a.txt
echo输出文本或写入文件echo "hello" > a.txt

2. 权限管理与执行控制

每个文件有三组权限:

-rwxr-xr-x
含义拥有者
rwx读 / 写 / 执行用户
r-x读 / 执行所属组
r-x读 / 执行其他用户
常用命令:
命令功能
chmod +x file.sh给脚本添加执行权限
chmod 744 file数字方式设置权限:7(111)=rwx, 4(100)=r--
chown user file修改文件所有者
chgrp group file修改文件所属组

3. 打包与查找

命令功能示例
tar -czf name.tar.gz dir打包压缩目录tar -czf backup.tar.gz ./src
tar -xzf name.tar.gz解压缩tar -xzf backup.tar.gz
find path -name "pattern"查找文件find . -name "*.cpp"
find path -mtime +3查找 3 天前的旧文件find . -mtime +3

二、Shell 脚本基础(file_ops.sh 案例)

 1. 脚本开头

#!/bin/bash

表示使用 Bash 解释器运行脚本。

2. 脚本功能实现

WORKDIR="$HOME/linux_practice/workspace_$(date +%Y%m%d)"
mkdir -p "$WORKDIR"
echo "已创建目录:$WORKDIR"echo "Hello Linux $(date)" > "$WORKDIR/a.txt"
echo "当前用户:$USER" > "$WORKDIR/info.txt"
touch "$WORKDIR/test.cpp"
echo "文件生成完毕"tar -czf "$WORKDIR.tar.gz" -C "$(dirname "$WORKDIR")" "$(basename "$WORKDIR")"
echo "已压缩为:$WORKDIR.tar.gz"find "$HOME/linux_practice" -maxdepth 1 -type d -name "workspace_*" -mtime +3 -exec rm -rf {} \;
echo "已清理三天前旧目录"

3. 命令说明

语句解释
WORKDIR=...变量定义:日期命名的文件夹
mkdir -p创建目录(若不存在)
echo "..." > file输出并写入文件
tar -czf创建压缩包
find ... -exec批量查找并执行命令
$HOME $USER系统内置变量
$(date +%Y%m%d)命令替换,获取当前日期

4. 文件执行流程

chmod +x file_ops.sh  # 赋予执行权限
./file_ops.sh          # 运行脚本

执行结果:

已创建目录:/home/elias/linux_practice/workspace_20251030
文件生成完毕
已压缩为:/home/elias/linux_practice/workspace_20251030.tar.gz
已清理三天前旧目录

三、C++ 在 Linux 下的编译运行

 1. 编译器验证

g++ --version

输出:

g++ (Ubuntu 11.4.0-1ubuntu1~22.04.2)

→ 表示编译器安装成功。

 2. 示例程序

hello.cpp

#include <iostream>
#include <vector>
#include <string>
using namespace std;int main() {vector<string> words = {"Hello", "Linux", "C++", "World!"};for (const auto& w : words)cout << w << " ";cout << endl;return 0;
}

 编译运行命令

g++ hello.cpp -o hello
./hello

输出:

Hello Linux C++ World!

3. 编译流程理解

C++ 编译四阶段:

阶段命令说明
预处理g++ -E展开宏与头文件
编译g++ -S转为汇编代码
汇编g++ -c生成目标文件 .o
链接g++链接生成可执行程序

四、环境与系统变量理解

变量含义示例
$HOME当前用户主目录/home/elias
$USER当前用户名elias
$PATH可执行文件搜索路径/usr/bin:/usr/local/bin

查看环境变量:

echo $PATH

修改临时变量:

export PATH=$PATH:/home/elias/mytools

五、思维与总结

今日学习核心

模块掌握内容
Linux 命令文件操作、权限、打包、查找
Shell 脚本脚本结构、变量、执行权限
C++ 编译g++ 编译、运行与执行流程
环境理解环境变量、路径机制
  • Shell 不是独立知识,而是 操作系统接口

  • Linux 下写 C++,命令行是你的 IDE。

http://www.dtcms.com/a/549363.html

相关文章:

  • Git 中的 MERGE_HEAD 和 HEAD 的区别?
  • TDengine 数学函数 TRUNCATE 用户手册
  • 成都外贸网站建设费用wordpress is front
  • 【Rust】异步处理器(Handler)实现:从 Future 本质到 axum 实战
  • SpringBoot + iTextPDF + Acrobat 构建动态PDF表单的完整实践
  • 如何使用Python编辑PDF文档:修改文本、添加图片、更新元数据等
  • 苹果ios系统ipa文件企业签名是什么?优势是什么?什么场合需要应用到?
  • 石家庄商城网站制作微信网站小游戏
  • Postman接口测试教程(完整版)
  • 优秀网页界面设计郑州百度搜索优化
  • 一个可本地运行的实时字幕翻译 Demo(Whisper + GPT + Streamlit),可以边说边出中英文字幕
  • 网站开发建设总结wordpress ftp存储
  • 5.2 MCP服务器
  • 建设银行 钓鱼网站如何优化一个网站
  • Android 13后台任务一键清理功能实现
  • PLC、上位机软件应用开发
  • 免费自己做网站软件建立传媒公司网站
  • STC32G12K128 串口1、2、3、定时器0、看门狗 非中断模式基本使用
  • 嵌入式下解决stat调用出现Value too large for defined data type (errno=75)的问题
  • 15、Docker swarm-2-安装与存储
  • 单片机与边缘计算机的软硬协同差异分析
  • 个股期权如何开仓的要点总结?
  • frontpage做的社交网站网站开发成本都有哪几项
  • 电商网站建设源码wordpress轮播图替换
  • 【Qt】实现单例程序,禁止程序多开的几种方式
  • React 路由权限跳转 Token判断 路由控制 登录状态控制
  • 佛山网站优化多少钱十大外贸电商平台有哪些
  • 【代码审计】emlog pro 2.2.0 文件上传漏洞分析
  • 关键链项目管理CCPM
  • MySQL的ABS函数深度解析