Linux的基础指令

目录

1、Shell及运行原理

2、热键

3、Linux的基础知识

4、Linux的基础指令

[4.1 man](#4.1 man)

[4.2 clear&&history&&whoami](#4.2 clear&&history&&whoami)

[4.3 pwd](#4.3 pwd)

[4.4 ls](#4.4 ls)

[4.5 cd](#4.5 cd)

[4.6 mkdir&&touch](#4.6 mkdir&&touch)

[1. mkdir](#1. mkdir)

[2. touch](#2. touch)

[4.7 rmdir&&rm](#4.7 rmdir&&rm)

[1. rmdir](#1. rmdir)

[2. rm](#2. rm)

[4.8 cp&&mv](#4.8 cp&&mv)

[1. cp](#1. cp)

[2. mv](#2. mv)

[4.9 cat&&echo&&prinf](#4.9 cat&&echo&&prinf)

[1. cat](#1. cat)

[2. echo](#2. echo)

[4.10 more&&less](#4.10 more&&less)

[1. more](#1. more)

[2. less](#2. less)

[4.11 head&&tail](#4.11 head&&tail)

[1. head](#1. head)

[2. tail](#2. tail)

[4.12 date](#4.12 date)

[1. 显示指定格式的时间](#1. 显示指定格式的时间)

[2. 时间<->时间戳](#2. 时间<->时间戳)

[4.13 find&&grep&&which&&whereis](#4.13 find&&grep&&which&&whereis)

[1. find](#1. find)

[2. grep](#2. grep)

[3. which](#3. which)

[4. whereis](#4. whereis)

[4.14 zip/unzip&&tar(重要)](#4.14 zip/unzip&&tar(重要))

[1. zip/unzip](#1. zip/unzip)

关于rz/sz工具

[2. tar](#2. tar)

[4.15 bc&&uname](#4.15 bc&&uname)

[1. bc](#1. bc)

[2. uname](#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,命令搜索或补全。

  7. Ctrl+Shift+C复制Ctrl+Shift+V粘贴

3、Linux的基础知识

  1. 目录 == 文件夹

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

  3. Linux一切皆文件

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

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

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

  2. *通配符

4、Linux的基础指令

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

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

目录的 / 可带可不带。

4.1 man

语法:man 选项 (>=0个) 命令

功能:查询手册。

常用选项:

num只在第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&&prinf

1. cat

语法:cat 选项 (>=0个) file

功能:查看file的内容

常用选项:

-n:对所有行编号

-b:对非空行编号

-s合并连续空行一行

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

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

tac,从倒数第一行开始显示(倒着显示)。

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. 时间<->时间戳

当前时间 → 时间戳

bash 复制代码
date +%s

指定时间 → 时间戳

cpp 复制代码
date -d "2025-4-25 14:12:12" +%s

时间戳 → 可读时间

cpp 复制代码
date -d @1745561532

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

4.13 find&&grep&&which&&whereis

1. find

语法:find****pathname -options filename/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.txt unzip a.zip
目录 zip -r a.zip dir/ unzip a.zip -d target/
关于rz/sz工具

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

bash 复制代码
sudo yum install -y lrzsz
2. tar

压缩:tar czf或**-czf file.tgz src**

解压:tar xzf或**-xzf** file.tgz

-v显示压缩解压过程

-C解压指定目录

bash 复制代码
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

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

  • 内核名称

  • 主机名

  • 内核版本

  • 系统架构

  • 操作系统名称

  • 其他详细信息

相关推荐
꧁坚持很酷꧂几秒前
Linux Ubuntu18.04下安装Qt Craeator 5.12.9(图文详解)
linux·运维·qt
凉、介18 分钟前
PCI 总线学习笔记(五)
android·linux·笔记·学习·pcie·pci
电鱼智能的电小鱼42 分钟前
EFISH-SBC-RK3588无人机地面基准站项目
linux·网络·嵌入式硬件·机器人·无人机·边缘计算
电鱼智能的电小鱼1 小时前
基于 EFISH-SBC-RK3588 的无人机环境感知与数据采集方案
linux·网络·嵌入式硬件·数码相机·无人机·边缘计算
小诸葛的博客1 小时前
详解Linux中的定时任务管理工具crond
linux·运维·chrome
一默19912 小时前
CentOS 7.9升级OpenSSH到9.9p2
linux·运维·centos
keep intensify2 小时前
Linux常用指令
linux·服务器·php
带电的小王2 小时前
sherpa-ncnn:Linux(x86/ARM32/ARM64)构建sherpa-ncnn --语音转文本大模型
linux·语音识别·实时音视频·sherpa-ncnn
沧浪之水!2 小时前
【Linux网络】:套接字之UDP
linux·网络·udp
BranH3 小时前
Linux系统中命令设定临时IP
linux·运维·服务器