linux基本知识

简介: 可用于快速查阅与复习概念(常见linux命令、与shell的基本概念、以及我对sudo的理解)

 目录

常见linux命令

1、文件与目录管理、文件查看

Tree目录展示

2、权限与用户管理

3、进程与系统监控

Shell

一、Shell 的本质:“翻译官”+“自动化工具”

二、Shell 的核心功能(四大能力)

1. 命令解释与执行

2. 脚本自动化

3. 输入输出重定向

4. 管道(Pipeline)

三、常见的 Shell 类型(不同 “方言”)

四、Shell 的实用价值(为什么要学它?)

五、shell脚本需--借助AI生成(end)

sudo

必须使用sudo的典型场景

sudo 与 su 的区别(拓展)


常见linux命令

1、文件与目录管理、文件查看

vi / vim 操作文件

- esc非插入

- :wq 保存并退出

- :q!强制退出

- :w 为新文件名明

cat 文件名   : 查看文件

clear 清除

pwd 显示当前路径

ls 列出文件目录

  • 基础:ls(显示当前目录可见文件)
  • 详细:ls -l(显示权限、所有者、大小、修改时间)
  • 隐藏文件:ls -a (显示以 . 开头的隐藏文件)

cd:切换目录

  • 返回上级:cd ..
  • 进入主目录:cd ~(或 cd
  • 返回上次目录:cd -
  • 进入 cd 名字
  • mkdir:创建目录
  • 单级目录:mkdir test_dir
  • 多级目录:mkdir -p dir1/dir2(递归创建,父目录不存在时自动创建)
  • touch:创建空文件
  • 示例:touch new_file.txt(创建空文本文件)
  • rm:删除文件 / 目录
  • 删除文件:rm file.txt
  • 强制删除:rm -f file.txt(无需确认直接删除)
  • 删除目录:rm -r dir_name(递归删除目录及内容)
  • 强制删除目录:rm -rf dir_name(谨慎使用!)

echo 通常用来回显文字

但是这里:echo "1234"

echo "123" > test.txt 覆盖文本,若无该文件,则增加

echo "123" >> test.txt 追加

Tree目录展示

一般需要下载

Ubuntu / Debian 系

sudo apt update  # 先更新软件源
sudo apt install tree
image.gif

CentOS / RHEL 系(含 AlmaLinux、Rocky Linux)

sudo yum install tree  # 旧版 CentOS/RHEL
# 或(新版 CentOS/RHEL 8+)
sudo dnf install tree
image.gif

2、权限与用户管理

权限修改(chmod

-- 一看我就经常用数字法

Linux 权限分所有者(u)、组(g)、其他(o),对应 r(读)、w(写)、x(执行)。

  • 数字法(常用):
  • 755:所有者 rwx,组和其他 r-x7=4+2+15=4+1
  • 644:所有者 rw-,组和其他 r--
  • 示例:chmod 755 script.sh(让脚本可执行)
  • 符号法:
  • 给所有者加执行权限:chmod u+x file.txt
  • 给组用户减写权限:chmod g-w file.txt
  • 给所有用户加读权限:chmod a+r file.txt

image.gif

3、进程与系统监控

ps 查看进程

-  ps aux 查看所有进程

-  ps -ef (显示进程父子关系)

top/htop 查看实时监控

基础监控 top

交互式监控 htop

kill 终止进程

  • 终止进程:kill PID(默认发送 SIGTERM 信号)
  • 强制终止:kill -9 PID(发送 SIGKILL 信号,强制杀死)
  • 按名终止:killall process_name(终止所有同名进程)

free 内存使用(ctrl+shift+esc 平时的)

df 磁盘使用

uptime 系统负载

image.gif 编辑

Shell

在 Linux 中,Shell用户与操作系统内核交互的 “桥梁”,既是命令行解释器(接收并执行命令),也是脚本编程环境(自动化批量任务)。它的核心作用和常见类型如下:

一、Shell 的本质:“翻译官”+“自动化工具”

  1. 命令解释器: 用户在终端输入 lscd 等命令时,Shell 会将这些 “人类可读的指令” 翻译成系统内核能理解的 “系统调用”,再把执行结果返回给用户。
  • 示例:输入 ls -l,Shell 会解析并调用系统函数,列出当前目录的文件详情。
  1. 脚本编程环境
    把一系列命令写在 .sh 脚本文件中(如 backup.sh),Shell 可自动按顺序执行这些命令,实现任务自动化(如定时备份、日志分析)。

二、Shell 的核心功能(四大能力)

1. 命令解释与执行
  • 解析用户输入的命令(如 mkdir test 创建目录),传递给内核执行。
  • 支持命令参数(如 ls -a 显示隐藏文件)、选项(如 cd .. 返回上级目录)。
2. 脚本自动化
  • 将重复任务写成脚本(如每天自动备份数据库),Shell 会逐行执行脚本中的命令。
  • 支持编程逻辑:if-else(条件判断)、for/while(循环)、变量(name="Linux")、函数(function backup { ... })等。
3. 输入输出重定向
  • 输出重定向:将命令结果保存到文件(如 ls > file.txt 把文件列表写入 file.txt)。
  • 输入重定向:用文件内容作为命令输入(如 cat < file.txt 显示文件内容)。
4. 管道(Pipeline)
  • | 连接多个命令,将前一个命令的输出作为后一个命令的输入,实现 “命令串联”。
  • 示例:ps aux | grep nginx(先查所有进程,再筛选含 nginx 的进程)。

三、常见的 Shell 类型(不同 “方言”)

Linux 有多种 Shell,默认是 bash,也可根据需求切换:

Shell 类型 特点与场景
bash 最常用(Ubuntu/CentOS 默认),兼容 sh,支持自动补全、历史命令、脚本编程。
sh 传统 Bourne Shell,功能简单,适合老旧系统或极简环境(如嵌入式设备)。
zsh 交互性更强(支持主题、插件、智能补全),程序员常用(需手动安装)。
fish 侧重 “易用性”,内置自动建议、语法高亮,适合新手(需手动安装)。

四、Shell 的实用价值(为什么要学它?)

  1. 高效操作系统
    用命令替代图形界面点击(如 top 监控进程、df -h 查看磁盘),尤其适合服务器(无图形界面)。
  2. 自动化重复任务
    写脚本实现 “一键部署应用”“定时清理日志”,减少人工操作。
  3. 远程管理服务器
    通过 SSH 连接服务器后,必须用 Shell 命令执行操作(如 sudo reboot 重启服务器)。
  4. 定制开发环境
    通过 .bashrc/.zshrc 配置别名(如 alias ll='ls -l')、环境变量(如 export PATH=$PATH:/usr/local/bin

五、shell脚本需--借助AI生成(end)

sudo

我之前操作的时候,总对sudo迷惑不已。

在 Linux 操作系统中,sudo“Superuser Do” 的缩写,核心作用是让普通用户临时获得 root(超级管理员)权限,以安全地执行需要高权限的操作。

sudo 的核心功能是让普通用户在不需要切换到 root 账户的情况下,临时以 root 身份执行特定命令,同时通过以下机制降低风险:

  • 密码验证:执行 sudo 时需输入当前用户的密码(而非 root 密码),验证后临时赋予权限。
  • 细粒度控制:管理员可通过 /etc/sudoers 文件配置:
  • 哪些用户可以用 sudo
  • 这些用户能以 root 身份执行哪些命令(如仅允许 apt 相关操作);
  • 是否需要输入密码(如某些脚本可配置 “免密执行”)。
  • 日志审计sudo 会记录 “谁在什么时候执行了什么命令”(日志存于 /var/log/auth.logjournalctl),便于追溯操作。

必须使用sudo的典型场景

1、系统级软件管理(ubuntu-sudo apt install nginx)

2、系统配置更改(sudu nano /etc/hosts -- 编辑hosts文件-域名解析)

3、服务与进程管理(sudo systemctl restart docker -- 重启docker

4、系统维护与安全

等....

sudosu 的区别(拓展)

命令 特点 适用场景
su 直接切换到 root 用户,需输入 root 密码;切换后所有操作均为 root 权限。 需长期以 root 身份操作时。
sudo 临时以 root 权限执行单条命令,需输入当前用户密码;依赖 /etc/sudoers 配置。

临时执行高权限操作时(推荐)。


目录
相关文章
|
3月前
|
人工智能 Linux iOS开发
OpenClaw部署不求人:零基础从入门到精通(附避坑指南)
想告别“只会聊天”的AI?OpenClaw(龙虾)是当前最火的开源AI智能体框架,真正让AI动手操作电脑——文件管理、浏览器自动化、代码编写全搞定!本文手把手教你零基础完成云端/本地部署,含环境配置、实战运行与避坑指南,小白也能轻松上手!
1402 15
|
3月前
|
安全 Linux API
一文掌握OpenClaw核心命令:阿里云/本地部署、大模型API配置+高效使用攻略
OpenClaw(曾用名Clawdbot)作为2026年主流的开源AI智能体框架,其强大的功能依赖简洁高效的命令行操作。无论是初始化配置、服务管理、模型切换,还是渠道对接、技能安装,核心操作都可通过命令快速实现。对于新手而言,熟练掌握常用命令是解锁OpenClaw全部能力的基础;而规范的部署流程与精准的API配置,则是确保命令正常执行、服务稳定运行的前提。
1994 0
|
3月前
|
网络安全 Go Docker
CI/CD全流程
记录 后端go 算法平台 / python 爬虫网关 / 前端vue项目 CI-CD部署流程
364 8
|
3月前
|
前端开发 JavaScript 应用服务中间件
手把手教你给项目配 HTTPS(Nginx 实战教程,前端 + 后端)
本文章中你既能收获"为什么",也会收获"怎么做"。
666 5
手把手教你给项目配 HTTPS(Nginx 实战教程,前端 + 后端)
|
3月前
|
设计模式 Java Go
Go中的switch的8种使用场景:没有你想的那么简单
在 Go 中灵活使用 switch,可以使代码更清晰、更易维护。 switch 是 Go 中不可或缺的控制结构之一
926 0
|
3月前
|
缓存 安全 测试技术
GO项目开发规范文档解读
本篇博客的目的,更多是为快速翻阅与回忆使用。
265 1
|
3月前
|
算法 自动驾驶 安全
【路径规划】在二维和三维空间中实现RRT_算法,根据障碍物位置和尺寸实现的避障功能附matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 👇 关注我领取海量matlab电子书和数学建模资料 🍊个人信条:格物致知,完整Matlab代码获取及仿真咨询内容私信。 🔥 内容介绍 一、路径规划与避障的重要性 在机器人运动控制、自动驾驶、无人机导航等众多领域,路径规划与避障是关键技术。例如,在工业机器人的操作场景中,机器人需要在复杂的工作空间内,从起始点运动到目标点,同时避开各种障碍物,如生产设备、固定支架等,以确保生产任务
|
3月前
|
算法
动态规划之完全背包
本文详解完全背包问题:作为动态规划经典题型,区别于01背包(每物限选1次),其特点是每种物品可无限次选取。文章从定义、状态转移方程(dp[i][j] = max(dp[i-1][j], dp[i][j-w]+v))、二维/一维实现到遍历顺序对组合数与排列数的影响,结合零钱兑换II、组合总和IV等5道典型例题深入剖析,助力掌握核心思想与编码技巧。
272 1
|
3月前
|
存储 缓存 安全
Go map 底层原理
虽然大家天天都在用 `map`,但很多人对它的理解只停在“查得快”“底层是哈希表”“桶里有 8 个槽位”这几句。或许跟别人吹牛的时候,还有几分用处;但真到线上排查延迟抖动、锁竞争、内存占用、热点键冲突,这点认识往往是不够的。
328 1
|
3月前
|
运维 分布式计算 自动驾驶
别再手写运维脚本了:Operator 才是数据平台的“自动驾驶系统”
别再手写运维脚本了:Operator 才是数据平台的“自动驾驶系统”
213 3