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)

→ 表示编译器安装成功。

  1. 示例程序

hello.cpp

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。

相关推荐
杜子不疼.4 分钟前
【C++】哈希表基础:开放定址法 & 什么是哈希冲突?
c++·哈希算法·散列表
04aaaze14 分钟前
C++(C转C++)
c语言·c++·算法
不会c嘎嘎32 分钟前
C++ -- list
开发语言·c++
寅双木36 分钟前
自己配一台电脑——显卡
笔记·显卡·显卡电路板·显卡散热·显卡组成·显卡接口·pcle接口
LCG元40 分钟前
Linux 信号(Signals)机制详解:如何优雅地关闭你的进程?
linux
梨轻巧1 小时前
艾伦·索金 编剧课 写作课
笔记
梁正雄1 小时前
linux服务-Nginx+Tomcat+Redis之Session 共享
linux·nginx·tomcat
red watchma1 小时前
OTA的HTTP笔记
笔记·网络协议·http
dyxal1 小时前
linux系统上 WPS Office新增字体
linux·运维·wps
码河漫步2 小时前
vmware安装ubuntu22.04
linux·运维