Linux的基础指令

Linux的基础指令

目录

1、Shell及运行原理

2、热键

3、Linux的基础知识

4、Linux的基础指令

4.1 man

4.2 clear&&history&&whoami

4.3 pwd

4.4 ls

4.5 cd

4.6 mkdir&&touch

1. mkdir

2. touch

4.7 rmdir&&rm

1. rmdir

2. rm

4.8 cp&&mv

1. cp

2. mv

4.9 cat&&echo

1. cat

2. echo

4.10 more&&less

1. more

2. less

4.11 head&&tail

1. head

2. tail

4.12 date

1. 显示指定格式的时间

2. 时间<->时间戳

4.13 find&&grep&&which&&whereis

1. find

2. grep

3. which

4. whereis

4.14 zip/unzip&&tar(重要)

1. zip/unzip

关于rz/sz工具

2. tar

4.15 bc&&uname

1. bc

2. uname


1、Shell及运行原理

Linux:严格意义上说的是一个操作系统,我们称之为“核心(Kernel)”,但我们一般用户,不能直接使用 Kernel,而是通过 Kernel “外壳”程序,也就是所谓的 Shell,来与 Kernel沟通。

Shell:是一个命令行解释器(如Bash、Zsh、Fish等),充当用户与内核之间的“桥梁”

用户通过Shell输入命令Shell 解析后传递给 Kernel 执行,再将结果返回给用户

Shell 本质是一个进程,会创建子进程解释命令。(Shell 不能因为一条命令就挂了)

Shell 方便用户操作保护操作系统(防止非法命令)的功能。

注意:

Shell (如Bash): 是Linux系统自带的文本交互界面,属于软件层面的概念。

Xshell:是一款第三方开发的SSH客户端工具,用于远程连接Linux服务器(本质是一个图形化工具,内部仍通过Shell与内核交互)。

用户 → Xshell(SSH客户端) → Shell(如Bash) → Kernel(内核)。

2、热键

1. Alt+Enter,进入/退出全屏(Xshell)。

2. Ctrl+c终止当前的程序

3. Ctrl+d退出当前用户

4. Ctrl+r,搜索历史命令。

5. 上下键切换历史命令

6. 输入命令的开头部分唯一匹配时,单 Tab 补全多个匹配时,双 Tab 搜索

7. Ctrl+Shift+c复制Ctrl+Shift+v粘贴

3、Linux的基础知识

1. 目录 == 文件夹

2. 文件 = 内容 + 属性(创建时间等)。同一目录下文件不能同名。

3. Linux一切皆文件

Linux的文件结构是一棵 从根目录/ 开始的多叉树。

叶子节点是文件或空目录,非叶子节点是非空目录。

4. Linux不关心文件的后缀,但是工具(如:gcc要编译.c后缀的文件)关心。建议正常写后缀。

5. *通配符

4、Linux的基础指令

不用硬记,用多了就收悉了。

Centos 7如果没有这个命令下载yum install -y 命令

目录的 / 可带可不带。

4.1 man

语法:man 选项(>=0个) 命令
功能:查询手册。
常用选项:

  • 只在第num章节查找

4.2 clear&&history&&whoami

  • clear清屏
  • history:显示历史命令
  • whoami:显示当前用户

4.3 pwd

  • pwd:显示当前的路径

注意:Linux/Windows\

如:

~表示,当前在家目录

家目录是用户个人文件的默认位置(路径为/home/用户名,root 用户是/root)。

lesson1表示,当前在lesson1目录,

4.4 ls

语法:ls 选项(>=0个) 目录或文件(默认是当前目录)

功能:对于目录,显示目录下文件目录对于文件显示文件

常用选项:

  • -a:all,显示目录下所有文件目录包括以 . 开头的隐藏文件

注意:任何一个目录(即便是空目录),都自带 (当前目录)和 .. (上级目录)。

  • -d:将目录文件一样显示,而不是显示其下的文件
  • -l:列出文件目录详细信息ls -l == ll,因为常用。
  • -t:以最近修改时间 排序

注意:选项 -a -l,-l -a,-al,-la,都行。

例:

-普通文件,包括文本,可执行程序,库,图片,视频等等。

d目录

c字符文件,如:键盘,显示器,终端等等。输入的数据具有顺序

b:块设备,如:磁盘。

l:链接文件。

p:管道文件。

4.5 cd

语法:cd目录

功能:切换工作目录

用法:

  • cd 绝对路径(从根目录 / 开始)。路径不会失效,多用于配置文件
  • cd 相对路径(如:(当前目录)或 .. (上级目录))。路径简单,多用于日常使用
  • cd ~,切换到家目录
  • cd -,切换到最近使用的目录

4.6 mkdir&&touch

1. mkdir

语法:mkdir 选项(>=0个) dir

功能:在当前目录下创建以个名为“dir”目录

常用选项:

  • -p/--parents,此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。

tree 命令是一个递归以树状结构显示指定目录的命令。

2. touch

语法:touch选项(>=0个) 文件

功能:touch命令可修改文档目录的(Access)访问时间和(Modify)修改时间,也可用于创建新文件

常用选项:

  • -a:change only the Access time
  • -c:change only the Modify time

stat 命令用于显示文件或文件系统详细状态信息

4.7 rmdir&&rm

1. rmdir

语法:rmdir选项(>=0个) dir
功能:删除空目录
常用选项:

  • -p:当子目录被删除后,如果父目录因此变为空目录,则父目录也会被一并删除
2. rm

语法:rm 选项(>=0个) dir/file
功能:删除文件目录(通用)。
常用选项:

  • -f:即使文件属性为只读(写保护),也直接强制(force)删除,不再询问(root用户因权限过高,总是询问)
  • -r递归(recursion)删除目录及其包含的所有文件
  • -i:删除前逐一询问确认

如:-rf强制删除一个目录(需特别谨慎,该操作不可逆)。

4.8 cp&&mv

1. cp

语法:cp 选项(>=0个) src dst
功能:复制文件目录
常用选项:

  • -f强制(force)复制文件目录,不询问。
  • -r递归(recursion)拷贝目录
  • -i覆盖之前询问用户

注意:

src文件 拷贝到 dst文件dst目标文件 不存在自动创建新文件拷贝内容dst目标文件 已存在覆盖

src文件(可多个) 拷贝到 已存在的dst目录,正常拷贝,拷贝到 不存在的dst目录,报错。

src目录 拷贝到 已存在/不存在(会创建)的dst目录,必须加 -r 才能递归拷贝

2. mv

语法:mv 选项(>=0个) src dst

功能:剪切文件目录

常用选项:

  • -f:强制(force),dst文件已存在不会询问直接覆盖
  • -idst文件已存在会询问 是否覆盖

注意:

如果 dst 不存在,mv 会认为你想将 src重命名为 dst。

如果 dst 存在且是一个目录,mv 会将src(可多个) 移动到该目录下(保持原名)

4.9 cat&&echo

1. cat

语法:cat 选项(>=0个) file
功能:查看file的内容
常用选项:

  • -n:对所有行编号
  • -b:对非空行编号
  • -s合并连续空行一行 

注意:
输出重定向
:cat file > newfile,newfile不存在会新建或newfile存在会覆盖(当然如果 >newfile,就是新建一个文件),把读取到的内容写入newfile。

输出追加重定向:cat file >> newfile,newfile不存在会新建或newfile存在会追加文件末尾(不会覆盖)。

tac 选项(>=0个) file,从倒数第一行开始显示(倒着显示)。就是cat反过来。用法类似。

2. echo

功能:显示字符串(“ ”或‘ ’都行),自带‘\n’

4.10 more&&less

cat 一般显示较短的文件内容

1. more

语法:more 选项(>=0个) file
功能:一页一页显示内容不支持上翻,只能下翻(用的少)。
常用选项:

  • -n:指定显示的行数

在more中输入

  • q:退出more
2. less

语法:less 选项(>=0个) file
功能:一页一页显示内容随意浏览(用的多)。
常用选项:

  • -i忽略(ignore)搜索时的大小写
  • -N显示每行的行号

在less中输入

  • /字符串:向下搜索指定字符串,按n继续向下搜索,按N(反向)向上搜索。
  • ?字符串:向上搜索指定字符串,按n继续向上搜索,按N(反向)向下搜索。

q:退出less

4.11 head&&tail

1. head

语法:head 选项(>=0个) file
功能:用于将文件的开头内容输出至标准输出(屏幕),默认显示文件的前 10 行
常用选项:

  • -n显示行数
2. tail

语法:tail 选项(>=0个) file
功能:用于显示指定文件末尾内容。当不指定文件时,会从标准输入(stdin)读取数据进行处理。常用于实时查看日志文件
常用选项:

  • -f循环读取。会不断刷新,使你看到最新的文件内容(实时)。
  • -n显示行数

注意:

|是一个管道(可以进行命令的组合),左边处理完右边再处理,相当于产生一个临时对象,

如:cat file | tail,显示file的后10行。

4.12 date

语法:date 选项 格式

常用功能:

1. 显示指定格式的时间
  • date+格式

%H:小时

%M:分钟

%S:秒

%X:相当于%H:%M:%S

%Y:年

%m:月份

%d:日

%F:相当于%Y-%m-%d

2. 时间<->时间戳

当前时间 → 时间戳

date +%s

指定时间 → 时间戳

date -d "2025-4-25 14:12:12" +%s

时间戳 → 可读时间

date -d @1745561532 // 指定格式输出: date -d @1745561532 "+%Y-%m-%d %H:%M:%S"

4.13 find&&grep&&which&&whereis

1. find

语法:find pathname-optionsfilename/pathname
功能:在指定路径递归搜索符合条件的文件或目录
常用选项:

  • -name:按照文件名查找文件
  • -type:按文件类型查找(f=文件d=目录
目标类型命令示例说明
目录find /path -type d -name "dir"只匹配目录
文件find /path -type f -name "*.txt"只匹配文件
任意find /path -name "pattern"不限定类型(文件+目录)
2. grep

语法:grep -options 字符串 文件
功能:在文件中搜索字符串,并显示对应行
常用选项:

  • -i忽略(ignore)搜索时的大小写
  • -n显示行数
  • -v反向选择匹配不要不匹配留下
3. which

功能:搜索 系统命令

4. whereis

功能:快速定位程序的二进制文件、源码和手册页,它的设计目的是比 which 提供更全面的程序相关文件信息

4.14 zip/unzip&&tar(重要)

1. zip/unzip

语法:zip file.zip dir/file
功能:将dir/file压缩zip格式
常用选项:

  • -r:递归(recursion)处理,将指定目录下的所有文件和子目录一并处理
操作zip 命令unzip 命令
单个文件zip a.zip file.txtunzip a.zip
目录zip -r a.zip dir/unzip a.zip -d target/
关于rz/sz工具

用于 Windows 机器和远端的 Linux 机器通过 XShell 传输文件。可以通过拖拽的方式将文件上传过去

sudo yum install -y lrzsz
2. tar

压缩:tar czf-czf file.tgz src

解压:tar xzf-xzf file.tgz

  • -v显示压缩解压过程
  • -C解压指定目录
tar -xzf backup.tgz -C /tmp/ // -C /tmp/ 是独立的参数

注意:f后面紧跟file.tgz

LinuxLinux的压缩包互传。

scp 压缩包 用户名@IP:指定路径

4.15 bc&&uname

1. bc

功能:简单的计算机

也可以通过|管道,进行计算。 

2. uname

uname -r

输出当前 Linux 系统的 内核版本号(Kernel Release),格式通常为:
主版本号.次版本号.修订号-附加信息

uname -a

输出系统的 完整信息,包括:

  • 内核名称
  • 主机名
  • 内核版本
  • 系统架构
  • 操作系统名称
  • 其他详细信息

Read more

Flutter 组件 chopper_built_value 适配鸿蒙 HarmonyOS 实战:强类型网络层架构,构建不可变模型与高性能序列化闭环

Flutter 组件 chopper_built_value 适配鸿蒙 HarmonyOS 实战:强类型网络层架构,构建不可变模型与高性能序列化闭环

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 chopper_built_value 适配鸿蒙 HarmonyOS 实战:强类型网络层架构,构建不可变模型与高性能序列化闭环 前言 在鸿蒙(OpenHarmony)生态迈向大规模企业级应用、涉及高频网络数据交互、复杂业务模型及严苛运行时稳定性的背景下,如何确保网络请求返回的数据在进入 UI 层前具备绝对的类型安全,已成为衡量应用架构“护城河”深度的核心标准。在鸿蒙设备这类强调 AOT 极致性能与低容错率的环境下,如果应用依然依赖动态类型的 Map<String, dynamic> 进行数据传递,由于由于后端字段变更或类型溢出,极易由于由于运行时强转失败导致应用在关键业务路径上的红屏崩溃。 我们需要一种能够实现自动化代码生成、支持不可变(Immutable)模型且具备拦截器解耦能力的序列化粘合层。 chopper_built_value 为 Flutter 开发者引入了将 Chopper

By Ne0inhk
基于 Rust 与 DeepSeek 大模型的智能 API Mock 生成器构建实录:从环境搭建到架构解析

基于 Rust 与 DeepSeek 大模型的智能 API Mock 生成器构建实录:从环境搭建到架构解析

前言 在现代软件工程中,API 接口的开发与前端联调往往存在时间差。为了解耦前后端开发进度,Mock 数据(模拟数据)的生成显得尤为关键。传统的 Mock 数据生成依赖于静态 JSON 文件或简单的规则引擎,难以覆盖复杂的业务逻辑与语义关联。随着大语言模型(LLM)的兴起,利用 AI 根据 Schema 定义动态生成高保真的模拟数据成为可能。本文详细记录了使用 Rust 语言结合 DeepSeek-V3.2 模型构建智能 Mock 生成器的完整技术路径,涵盖操作系统层面的环境准备、Rust 工具链的深度配置、代码层面的异步架构设计以及编译期的版本兼容性处理。 第一部分:Linux 系统底层的构建环境初始化 Rust 语言的编译与链接过程高度依赖于底层的系统工具链。Rust 编译器 rustc 在生成二进制文件时,需要调用链接器(Linker)将编译后的对象文件(Object Files)与系统库(

By Ne0inhk
Flutter for OpenHarmony 实战:Flutter Rust Bridge — 极致计算性能方案

Flutter for OpenHarmony 实战:Flutter Rust Bridge — 极致计算性能方案

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter for OpenHarmony 实战:Flutter Rust Bridge — 极致计算性能方案 前言 在 Flutter for OpenHarmony 的高性能应用场景中(如:超大数据量加密、实时音视频处理、复杂物理模拟),Dart 的性能虽然出色,但在面对 CPU 密集型任务时,往往需要更底层的语言辅助。 Rust 凭借其内存安全与极致性能,成为了移动端计算的“无冕之王”。而 Flutter Rust Bridge (FRB) 则是将 Dart 与 Rust 缝合在一起的顶尖架构。它能自动生成繁琐的 FFI 胶水代码,并支持异步、流式传输以及复杂的对象映射。本文将带你在鸿蒙系统上构建一套“双擎驱动”

By Ne0inhk

【Node.js 安装报错解决方案:解决“A later version of Node.js is already installed”问题】

Node.js 安装报错解决方案:解决“A later version of Node.js is already installed”问题 问题现象 当你在 Windows 系统上尝试安装 Node.js 时,可能会遇到以下错误提示: A later version of Node.js is already installed. Setup will now exit. 这个错误通常发生在已经安装了较新版本的 Node.js,而又尝试安装较旧版本时出现。 问题分析 为什么会发生这个错误? 1. 版本冲突:系统检测到已安装的 Node.js 版本比你要安装的版本更新 2. 安装程序限制:Node.

By Ne0inhk