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

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

  • 内核名称

  • 主机名

  • 内核版本

  • 系统架构

  • 操作系统名称

  • 其他详细信息

相关推荐
tokepson1 天前
Mysql下载部署方法备份(Windows/Linux)
linux·服务器·windows·mysql
zz_nj1 天前
工作的环境
linux·运维·服务器
极客先躯1 天前
如何自动提取Git指定时间段的修改文件?Win/Linux双平台解决方案
linux·git·elasticsearch
suijishengchengde1 天前
****LINUX时间同步配置*****
linux·运维
qiuqyue1 天前
基于虹软Linux Pro SDK的多路RTSP流并发接入、解码与帧级处理实践
linux·运维·网络
切糕师学AI1 天前
Linux 操作系统简介
linux
南烟斋..1 天前
GDB调试核心指南
linux·服务器
爱跑马的程序员1 天前
Linux 如何查看文件夹的大小(du、df、ls、find)
linux·运维·ubuntu
oMcLin1 天前
如何在 Ubuntu 22.04 LTS 上部署并优化 Magento 电商平台,提升高并发请求的响应速度与稳定性?
linux·运维·ubuntu
Qinti_mm1 天前
Linux io_uring:高性能异步I/O革命
linux·i/o·io_uring