当前位置: 首页 > news >正文

Linux 基础指令

Linux 基础指令

文章目录

  • Linux 基础指令
    • 1. 文件与目录操作
      • 前导知识
        • 路径的认识
        • 文件的认识
      • 1.1 ls —— 列出目录内容
        • UID和GID
      • 1.2 pwd —— 显示当前目录
      • 1.3 cd —— 切换目录
      • 1.4 stat —— 查看文件详细属性
      • 1.5 file —— 检测文件类型
      • 1.6 wc —— 统计行数、字数
      • 1.7 touch —— 创建空文件
        • Linux 文件的三种时间
          • ls 显示不同时间的方式
          • atime 有时不更新?
      • 1.8 mkdir —— 创建目录
      • 1.9 diff —— 比较文件差异
      • 1.10 rmdir 和 rm —— 删除目录或文件
    • 2. 文件操作
      • 2.1 cp —— 复制文件或目录
      • 2.2 mv —— 移动或重命名文件
      • 2.3 cat —— 查看文件内容
      • 2.4 more / less —— 分页查看文件内容
      • 2.5 head / tail —— 查看文件头部/尾部内容
    • 3. 查找操作
      • 3.1 find —— 在文件树中查找文件
      • 3.2 grep —— 在文件中搜索 字符串 文件
      • 3.3 which —— 搜索命令
      • 3.4 whereis —— 查找程序的源文件
    • 4.压缩
      • 4.1 zip/unzip
      • 4.2 tar
    • 5. 日期时间
      • 5.1 date —— 显示时间
      • 5.2 cal —— 查看日历
    • 6. 关机与重启
      • 6.1 shutdown —— 关机命令
    • 7. 其他命令
      • 7.1 uname
      • 7.2 alias
      • 7.3 clear —— 清屏
      • 7.4 man
      • 7.5 uname —— 显示系统信息
      • 7.6 bc —— 计算器
    • 8. 重要快捷键

1. 文件与目录操作

前导知识

路径的认识
  • Linux 系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件
  • 其中普通文件一定是目录树的叶子节点
  • 目录可能是叶子(空目录), 也可能是路上节点
  • 理解路径存在的意义: 树状组织方式,都是为了保证快速定位查找到指定的文件,而定位文件就
    需要具有唯一性的方案来进行定位文件。其中任何一个节点,都只有一个父节点,所以,从根目
    录开始,定位指定文件,路径具有唯一性
  • 绝对路径:一般从/开始,不依赖其他目录的定位文件的方式
  • 相对路径:相对于当前用户所处目录,定位文件的路径方式
  • 绝对路径一般不会随着用户的路径变化而丧失唯一性,一般在特定服务的配置文件中经常被使用
  • 相对路径因为它的便捷性,一般在命令行中使用较多
    1

在这里插入图片描述

文件的认识

Linux 下的文件一般形式如下

-rw-rw-r-- 1 wyf wyf 3709 Apr 11 21:28 file.txt

3

1.1 ls —— 列出目录内容

语法:

ls [选项] [目录或文件]

功能: 显示指定目录下的文件和子目录,对于目录,列出该目录下的所有子目录与文件,对于文件,列出文件名以及其他信息

常用选项:

  • -a 列出目录下的所有文件,包括以 . 开头的隐含文件
  • -d 将目录像文件⼀样显示,而不是显示其下的文件。 如:ls ‒d 指定目录
  • -i 输出文件的 i 节点的索引信息。 如 ls ‒ai 指定文件
  • -kk 字节的形式表示文件的大小。ls ‒alk 指定文件
  • -n 用数字的 UID,GID 代替名称
  • -F 在每个文件名后附上⼀个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示
    目录;“@”表示符号链接;“|”表示 FIFOs;“=”表示套接字(sockets)(目录类型识别)
  • -r 对目录反向排序
  • -t 以时间排序
  • -s 在l文件名后输出该文件的大小(大小排序,如何找到⽬录下最大的文件)
  • -R 列出所有子目录下的文件(递归)
  • -1 一行只输出⼀个文件
UID和GID

UID(User ID)

  • 定义:每个用户账号的唯一数字标识符
  • 分类:
    • Root 用户:UID0,拥有最高权限
    • 系统用户:UID 范围通常为 1-999(Debian 系)或 1-499(RHEL 系)
    • 普通用户:UID1000(旧系统从 500)开始,由管理员创建
  • 作用
    • 系统通过 UID 识别用户身份
    • 文件或进程的所有者信息以 UID 形式存储
    • 权限检查时,系统将用户名转换为对应的 UID

GID(Group ID)
每个用户组的唯一标识符

  • 分类
    • 主组(Primary Group):用户创建文件时默认归属的组(每个用户必须属于一个主组)
    • 附加组(Supplementary Group):用户可加入多个附加组,用于获取额外权限
  • 作用
    • 控制组成员对资源的共享访问权限
    • 文件或目录的所属组以 GID 形式存储

...

  • .. 表示上一级路径,类似 于Windows 下的返回上一级文件夹
  • . 表示当前路径,在 Linux 下,执行某个可执行文件时,需要用到 ../程序名

示例:

$ ls
dir1  log.txt  test.txt
$ ls -a
.  ..  dir1  log.txt  test.txt
$ ls -al
total 16
drwxrwxr-x  3 wyf wyf 4096 Apr 10 19:52 .
drwx------ 15 wyf wyf 4096 Apr 10 19:51 ..
drwxrwxr-x  2 wyf wyf 4096 Apr 10 19:52 dir1
-rw-rw-r--  1 wyf wyf   10 Apr 10 19:52 log.txt
-rw-rw-r--  1 wyf wyf    0 Apr 10 19:52 test.txt
$ ls -a -l -F
total 16
drwxrwxr-x  3 wyf wyf 4096 Apr 10 19:52 ./
drwx------ 15 wyf wyf 4096 Apr 10 19:51 ../
drwxrwxr-x  2 wyf wyf 4096 Apr 10 19:52 dir1/
-rw-rw-r--  1 wyf wyf   10 Apr 10 19:52 log.txt
-rw-rw-r--  1 wyf wyf    0 Apr 10 19:52 test.txt
$ ls -alFn
total 16
drwxrwxr-x  3 1000 1000 4096 Apr 10 19:52 ./
drwx------ 15 1000 1000 4096 Apr 10 19:51 ../
drwxrwxr-x  2 1000 1000 4096 Apr 10 19:52 dir1/
-rw-rw-r--  1 1000 1000   10 Apr 10 19:52 log.txt
-rw-rw-r--  1 1000 1000    0 Apr 10 19:52 test.txt

1.2 pwd —— 显示当前目录

语法:

pwd

功能: 显示当前所在的绝对路径

示例:

$ pwd
/home/wyf/test

1.3 cd —— 切换目录

语法:

cd [目录]

功能: 切换到指定目录
常用选项:

  • cd .. 返回上一级目录
  • cd ~ 回到当前用户的主目录
  • cd - 返回上一次所在的目录
    示例:
$ pwd
/home/wyf/test
$ cd ..
$ pwd
/home/wyf
$ cd
$ pwd
/home/wyf
$ cd /
$ ls
bin                  dev   lib         media  proc  sbin  tmp
boot                 etc   lib64       mnt    root  srv   usr
CloudrResetPwdAgent  home  lost+found  opt    run   sys   var

1.4 stat —— 查看文件详细属性

语法

file 文件名

功能 显示文件详细属性(创建、修改时间等)
示例

$ stat test.txt File: ‘test.txt’Size: 40        	Blocks: 8          IO Block: 4096   regular file
Device: fd01h/64769d	Inode: 666552      Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/     wyf)   Gid: ( 1000/     wyf)
Access: 2025-04-11 21:08:48.117273895 +0800
Modify: 2025-04-11 20:51:27.045964812 +0800
Change: 2025-04-11 20:57:28.980548460 +0800Birth: 2025-04-11 15:12:08.209514658 +0800
$ 

1.5 file —— 检测文件类型

语法

file 文件名

功能 检测文件类型(如二进制、文本、目录等)
示例

$ file file.txt 
file.txt: ASCII text
$ file dir/
dir/: directory
$ file a.out 
a.out: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=241baf96d17e6e4644f4acb5dcbee88d768eca65, not stripped
$ 

1.6 wc —— 统计行数、字数

语法

wc [选项] 文件名

功能 统计文件行数、字数、字节数
常用选项

  • -l 统计行数
  • -w 统计单词数
  • -c 统计字节数
  • -m 统计字符数
    示例
$ wc -wl log.txt6 12 log.txt
$ wc -c log.txt72 log.txt
$ wc -m log.txt72 log.txt
$ 

1.7 touch —— 创建空文件

语法:

touch [文件名]

功能: 创建一个新的空文件,也可以更改文档或目录的日期时间,包括存取时间和更改时间

常用选项:

  • -a 改变存取时间
  • -m 仅修改修改时间
  • -c 改变更改时间
Linux 文件的三种时间
时间字段英文全称含义修改行为
atimeAccess Time最近一次访问文件的时间(读)被读取时自动更新
mtimeModify Time最近一次修改内容的时间内容变化时更新
ctimeChange Time最近一次元数据变化的时间(权限/所有者/链接数)chmodchown 等操作更新
ls 显示不同时间的方式
命令显示哪个时间
ls -l默认显示 mtime
ls -lu显示 atime
ls -lc显示 ctime
atime 有时不更新?

现代 Linux 出于性能考虑,很多系统挂载时带了 relatimenoatime 选项,不再频繁写磁盘更新 atime,可以查看当前挂载策略:

$ mount | grep ' / '

看到有 relatimenoatime 的话,就说明访问时间不会每次都改,节省 I/O

示例:

$ touch file.txt
$ ls
dir1  file.txt  log.txt  test.txt
$ stat file.txtFile: ‘file.txt’Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fd01h/64769d	Inode: 666553      Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/     wyf)   Gid: ( 1000/     wyf)
Access: 2025-04-10 21:22:15.526617258 +0800
Modify: 2025-04-10 21:22:15.526617258 +0800
Change: 2025-04-10 21:22:15.526617258 +0800Birth: -
$ touch -a file.txt 
$ stat file.txtFile: ‘file.txt’Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fd01h/64769d	Inode: 666553      Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/     wyf)   Gid: ( 1000/     wyf)
Access: 2025-04-10 21:27:11.015538537 +0800 # 访问时间发生变化
Modify: 2025-04-10 21:22:15.526617258 +0800
Change: 2025-04-10 21:27:11.015538537 +0800Birth: -
$ touch -m file.txt 
$ stat file.txt File: ‘file.txt’Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fd01h/64769d	Inode: 666553      Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/     wyf)   Gid: ( 1000/     wyf)
Access: 2025-04-10 21:27:11.015538537 +0800
Modify: 2025-04-10 21:34:50.408080619 +0800 # 修改时间发生变化
Change: 2025-04-10 21:34:50.408080619 +0800Birth: -

1.8 mkdir —— 创建目录

语法:

mkdir [选项] 目录名

功能: 创建新的目录

常用选项:

  • -p 递归创建多级目录,就是一次创建多个目录

示例:

$ mkdir mydir
$ mkdir -p mmmmmydir/mmmmydir/mmmdir/mmdir/mydir
$ ls -l
total 16
drwxrwxr-x 2 wyf wyf 4096 Apr 10 19:52 dir1
-rw-rw-r-- 1 wyf wyf    0 Apr 10 21:34 file.txt
-rw-rw-r-- 1 wyf wyf   10 Apr 10 19:52 log.txt
drwxrwxr-x 3 wyf wyf 4096 Apr 10 21:38 mmmmmydir
drwxrwxr-x 2 wyf wyf 4096 Apr 10 21:38 mydir
-rw-rw-r-- 1 wyf wyf    0 Apr 10 19:52 test.txt
$ tree mmmmmydir
mmmmmydir
└── mmmmydir└── mmmdir└── mmdir└── mydir4 directories, 0 files
$ 
# tree 命令需要安装
# centos下安装命令为 yum -y install tree

1.9 diff —— 比较文件差异

语法

diff 文件名1 文件名2

功能 比较文件差异
常用选项

  • -u 以合并格式显示差异
  • -r 递归比较目录内容
  • -i 忽略大小写差异
    示例
$ diff a dir
Only in dir: a.out
Only in a: b
Only in dir: file.txt
Only in dir: log.txt
Only in dir: test.c
Only in dir: test.txt
$ diff -r a dir
Only in dir: a.out
Only in a: b
Only in dir: file.txt
Only in dir: log.txt
Only in dir: test.c
Only in dir: test.txt
$ diff -i a dir
Only in dir: a.out
Only in a: b
Only in dir: file.txt
Only in dir: log.txt
Only in dir: test.c
Only in dir: test.txt
$ 

1.10 rmdir 和 rm —— 删除目录或文件

语法:

rmdir [目录名]  # 仅删除空目录
rm [选项] [文件或目录]

功能: 删除文件或目录

常用选项:

  • rmidr
    • -p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录⼀起删除
  • rm
    • -r 递归删除目录及其内容
    • -f 强制删除
    • -i 删除前逐一询问

示例:

$ ls -al
total 24
drwxrwxr-x  5 wyf wyf 4096 Apr 10 21:38 .
drwx------ 15 wyf wyf 4096 Apr 10 19:51 ..
drwxrwxr-x  2 wyf wyf 4096 Apr 10 19:52 dir1
-rw-rw-r--  1 wyf wyf    0 Apr 10 21:34 file.txt
-rw-rw-r--  1 wyf wyf   10 Apr 10 19:52 log.txt
drwxrwxr-x  3 wyf wyf 4096 Apr 10 21:38 mmmmmydir
drwxrwxr-x  2 wyf wyf 4096 Apr 10 21:38 mydir
-rw-rw-r--  1 wyf wyf    0 Apr 10 19:52 test.txt
$ rm file.txt 
$ rm mydir
rm: cannot remove ‘mydir’: Is a directory
$ rm -r mydir
$ ls -al
total 20
drwxrwxr-x  4 wyf wyf 4096 Apr 10 21:42 .
drwx------ 15 wyf wyf 4096 Apr 10 19:51 ..
drwxrwxr-x  2 wyf wyf 4096 Apr 10 19:52 dir1
-rw-rw-r--  1 wyf wyf   10 Apr 10 19:52 log.txt
drwxrwxr-x  3 wyf wyf 4096 Apr 10 21:38 mmmmmydir
-rw-rw-r--  1 wyf wyf    0 Apr 10 19:52 test.txt
# 删除普通文件前询问
$ rm -i log.txt
rm: remove regular file ‘log.txt’? y
$ ls -al
total 16
drwxrwxr-x  4 wyf wyf 4096 Apr 10 21:43 .
drwx------ 15 wyf wyf 4096 Apr 10 19:51 ..
drwxrwxr-x  2 wyf wyf 4096 Apr 10 19:52 dir1
drwxrwxr-x  3 wyf wyf 4096 Apr 10 21:38 mmmmmydir
-rw-rw-r--  1 wyf wyf    0 Apr 10 19:52 test.txt
# 删除目录前逐一询问
$ rm -ri mmmmmydir/
rm: descend into directory ‘mmmmmydir/’? n
# 递归强制删除非空目录
$ rm -rf mmmmmydir
$ ls -al
total 12
drwxrwxr-x  3 wyf wyf 4096 Apr 10 21:44 .
drwx------ 15 wyf wyf 4096 Apr 10 19:51 ..
drwxrwxr-x  2 wyf wyf 4096 Apr 10 19:52 dir1
-rw-rw-r--  1 wyf wyf    0 Apr 10 19:52 test.txt

2. 文件操作

2.1 cp —— 复制文件或目录

语法:

cp [选项] 源文件 目标文件

功能: 复制文件或目录

注意

  • 如果同时指定两个以上的文件或目录,并且最后一个目的目录是一个已经存在的目录,则会把前面指定的所有文件或目录复制到此目录中

常用选项:

  • -f 强行复制文件或目录, 不论目的文件或目录是否已经存在
  • -r 递归复制目录,将指定目录下的文件与子目录一并处理
  • -p 保持文件属性
  • -i 覆盖文件前提示确认

示例:

$ ls -al
total 12
drwxrwxr-x  3 wyf wyf 4096 Apr 10 21:44 .
drwx------ 15 wyf wyf 4096 Apr 10 19:51 ..
drwxrwxr-x  2 wyf wyf 4096 Apr 10 19:52 dir1
-rw-rw-r--  1 wyf wyf    0 Apr 10 19:52 test.txt
$ echo "Hello World" > test.txt
# echo命令是
$ ls -al
total 16
drwxrwxr-x  3 wyf wyf 4096 Apr 10 21:44 .
drwx------ 15 wyf wyf 4096 Apr 10 19:51 ..
drwxrwxr-x  2 wyf wyf 4096 Apr 10 19:52 dir1
-rw-rw-r--  1 wyf wyf   12 Apr 10 21:47 test.txt
$ cat test.txt 
Hello World
$ cp test.txt dir1/
$ cat dir1/test.txt 
Hello World
$ mkdir log.txt
$ ls -al > log.txt
# > 是重定向符号,可以将原本输出到显示器的内容重定向到指定文件中,> h会清空文件,文件不存在就新建;>> 追加重定向,是在文件中追加,不会清空文件
$ ls -al
total 20
drwxrwxr-x  3 wyf wyf 4096 Apr 10 21:49 .
drwx------ 15 wyf wyf 4096 Apr 10 19:51 ..
drwxrwxr-x  2 wyf wyf 4096 Apr 10 21:48 dir1
-rw-rw-r--  1 wyf wyf  236 Apr 10 21:49 log.txt
-rw-rw-r--  1 wyf wyf   12 Apr 10 21:47 test.txt
$ cp *.txt dir1/
# * 表示通配符,匹配所有以 .txt结尾的文件
$ cd dir1/
$ ls -al
total 16
drwxrwxr-x 2 wyf wyf 4096 Apr 10 21:49 .
drwxrwxr-x 3 wyf wyf 4096 Apr 10 21:49 ..
-rw-rw-r-- 1 wyf wyf  236 Apr 10 21:49 log.txt
-rw-rw-r-- 1 wyf wyf   12 Apr 10 21:49 test.txt
$ cat log.txt
total 16
drwxrwxr-x  3 wyf wyf 4096 Apr 10 21:49 .
drwx------ 15 wyf wyf 4096 Apr 10 19:51 ..
drwxrwxr-x  2 wyf wyf 4096 Apr 10 21:48 dir1
-rw-rw-r--  1 wyf wyf    0 Apr 10 21:49 log.txt
-rw-rw-r--  1 wyf wyf   12 Apr 10 21:47 test.txt
$ cp log.txt test.txt
# cp 命令遇到目标文件存在的情况,不会询问是否覆盖,而是直接覆盖
$ ls -al
total 16
drwxrwxr-x 2 wyf wyf 4096 Apr 10 21:49 .
drwxrwxr-x 3 wyf wyf 4096 Apr 10 21:49 ..
-rw-rw-r-- 1 wyf wyf  236 Apr 10 21:49 log.txt
-rw-rw-r-- 1 wyf wyf  236 Apr 10 21:50 test.txt
$ cat log.txt
total 16
drwxrwxr-x  3 wyf wyf 4096 Apr 10 21:49 .
drwx------ 15 wyf wyf 4096 Apr 10 19:51 ..
drwxrwxr-x  2 wyf wyf 4096 Apr 10 21:48 dir1
-rw-rw-r--  1 wyf wyf    0 Apr 10 21:49 log.txt
-rw-rw-r--  1 wyf wyf   12 Apr 10 21:47 test.txt

2.2 mv —— 移动或重命名文件

语法:

mv [选项] 源文件 目标文件

功能: 移动或重命名文件

常用选项:

  • -f 如果目标文件已经存在,不会询问而直接覆盖
  • -i 覆盖前提示(如果目标文件已经存在,就会询问是否覆盖)
  • -u 仅移动更新的文件

示例:

$ ls -al
total 12
drwxrwxr-x  3 wyf wyf 4096 Apr 11 20:06 .
drwx------ 15 wyf wyf 4096 Apr 10 19:51 ..
drwxrwxr-x  2 wyf wyf 4096 Apr 11 20:05 mydir
-rw-rw-r--  1 wyf wyf    0 Apr 11 20:05 myfile.txt
$ ls -al > myfile.txt
$ mv myfile.txt mydir/
$ ls -al
total 12
drwxrwxr-x  3 wyf wyf 4096 Apr 11 20:07 .
drwx------ 15 wyf wyf 4096 Apr 10 19:51 ..
drwxrwxr-x  2 wyf wyf 4096 Apr 11 20:07 mydir
$ cd mydir
$ ls -al
total 12
drwxrwxr-x 2 wyf wyf 4096 Apr 11 20:07 .
drwxrwxr-x 3 wyf wyf 4096 Apr 11 20:07 ..
-rw-rw-r-- 1 wyf wyf  191 Apr 11 20:06 myfile.txt
$ touch mmfile.txt
$ ls -al
total 12
drwxrwxr-x 2 wyf wyf 4096 Apr 11 20:07 .
drwxrwxr-x 3 wyf wyf 4096 Apr 11 20:07 ..
-rw-rw-r-- 1 wyf wyf    0 Apr 11 20:07 mmfile.txt
-rw-rw-r-- 1 wyf wyf  191 Apr 11 20:06 myfile.txt
$ mv myfile.txt mmfile.txt
# 如果当前路径存在同名文件,重命名就会覆盖,并且没有提示 
$ ls -al
total 12
drwxrwxr-x 2 wyf wyf 4096 Apr 11 20:08 .
drwxrwxr-x 3 wyf wyf 4096 Apr 11 20:07 ..
-rw-rw-r-- 1 wyf wyf  191 Apr 11 20:06 mmfile.txt
$ touch myfile.txt
# 添加询问选项,让用户做出选择
$ mv -i mmfile.txt  myfile.txt
mv: overwrite ‘myfile.txt’? y
$ ls -al
total 12
drwxrwxr-x 2 wyf wyf 4096 Apr 11 20:08 .
drwxrwxr-x 3 wyf wyf 4096 Apr 11 20:07 ..
-rw-rw-r-- 1 wyf wyf  191 Apr 11 20:06 myfile.txt

2.3 cat —— 查看文件内容

语法:

cat [选项] 文件名

功能: 查看目标文件内容

常用选项:

  • -b 对⾮空输出⾏编号
  • -n 对输出的所有⾏编号
  • -s 不输出多⾏空⾏
  • -n 显示行号
  • -E 显示行尾的 $

示例:

$ ls -al
total 12
drwxrwxr-x 2 wyf wyf 4096 Apr 11 20:13 .
drwxrwxr-x 3 wyf wyf 4096 Apr 11 20:07 ..
-rw-rw-r-- 1 wyf wyf  103 Apr 11 20:15 test.txt
$ cat test.txt 
Hello World
Hello WorldHello WorldHello WorldHello WorldHello WorldHello World
Hello World
# 对输出所有行编号
$ cat -n test.txt 1	Hello World2	Hello World3	4	5	Hello World6	7	Hello World8	9	Hello World10	11	Hello World12	13	14	Hello World15	Hello World
# 不输出多行空行,多行空行压缩为一行
$ cat -s test.txt 
Hello World
Hello WorldHello WorldHello WorldHello WorldHello WorldHello World
Hello World
# 对非空输出行编号
$ cat -b test.txt 1	Hello World2	Hello World3	Hello World4	Hello World5	Hello World6	Hello World7	Hello World8	Hello World

2.4 more / less —— 分页查看文件内容

语法:

more 文件名
less 文件名

功能:

  • more
    • more 类似于 cat,直接全部输出
  • less
    • less 的功能比 more 强大(less is more)
    • less 可以前后翻阅,而不是一次性全部打印出来
    • less 还具有搜索功能,既可以向上搜,也可以向下搜
      常用选项:
  • -i 忽略搜索时的⼤⼩写
  • -N 显⽰每⾏的⾏号
  • /字符串 向下搜索“字符串”的功能
  • ?字符串 向上搜索“字符串”的功能
  • n 重复前⼀个搜索(与 /? 有关)
  • N 反向重复前⼀个搜索(与 /? 有关)
  • q 退出
    示例:
# more
$ ls -al
total 12
drwxrwxr-x 2 wyf wyf 4096 Apr 11 20:13 .
drwxrwxr-x 3 wyf wyf 4096 Apr 11 20:07 ..
-rw-rw-r-- 1 wyf wyf 3709 Apr 11 20:19 test.txt
$ more test.txt 
Hello World -> 0
Hello World -> 1
Hello World -> 2
Hello World -> 3
Hello World -> 4
Hello World -> 5
Hello World -> 6
Hello World -> 7
Hello World -> 8
Hello World -> 9
Hello World -> 10
Hello World -> 11
Hello World -> 12
Hello World -> 13
Hello World -> 14
Hello World -> 15
Hello World -> 16
Hello World -> 17
Hello World -> 18
Hello World -> 19
Hello World -> 20
Hello World -> 21
Hello World -> 22
Hello World -> 23
Hello World -> 24
Hello World -> 25
Hello World -> 26
Hello World -> 27
Hello World -> 28
Hello World -> 29
Hello World -> 30
Hello World -> 31
Hello World -> 32
Hello World -> 33
Hello World -> 34
Hello World -> 35
Hello World -> 36
Hello World -> 37
Hello World -> 38
--More--(18%)
$ 
# less
$ less -N test.txt 1 Hello World -> 02 Hello World -> 13 Hello World -> 24 Hello World -> 35 Hello World -> 46 Hello World -> 57 Hello World -> 68 Hello World -> 79 Hello World -> 810 Hello World -> 911 Hello World -> 1012 Hello World -> 1113 Hello World -> 1214 Hello World -> 1315 Hello World -> 1416 Hello World -> 1517 Hello World -> 1618 Hello World -> 1719 Hello World -> 1820 Hello World -> 1921 Hello World -> 2022 Hello World -> 2123 Hello World -> 2224 Hello World -> 2325 Hello World -> 2426 Hello World -> 2527 Hello World -> 2628 Hello World -> 2729 Hello World -> 2830 Hello World -> 2931 Hello World -> 3032 Hello World -> 3133 Hello World -> 3234 Hello World -> 3335 Hello World -> 3436 Hello World -> 3537 Hello World -> 3638 Hello World -> 3739 Hello World -> 3840 Hello World -> 3941 Hello World -> 4042 Hello World -> 4143 Hello World -> 4244 Hello World -> 43
:
$ 

2.5 head / tail —— 查看文件头部/尾部内容

语法:

head -n 行数 文件名
tail -n 行数 文件名

功能: 显示文件的开头或结尾

常用选项:

  • -n 行数 显示指定行数

示例:

# head
$ head test.txt 
Hello World -> 0
Hello World -> 1
Hello World -> 2
Hello World -> 3
Hello World -> 4
Hello World -> 5
Hello World -> 6
Hello World -> 7
Hello World -> 8
Hello World -> 9
$ head -5 test.txt 
Hello World -> 0
Hello World -> 1
Hello World -> 2
Hello World -> 3
Hello World -> 4
$ #tail
$ tail test.txt 
Hello World -> 191
Hello World -> 192
Hello World -> 193
Hello World -> 194
Hello World -> 195
Hello World -> 196
Hello World -> 197
Hello World -> 198
Hello World -> 199
Hello World -> 200
$ tail -5 test.txt 
Hello World -> 196
Hello World -> 197
Hello World -> 198
Hello World -> 199
Hello World -> 200
$ # 查看文件的[180,200]行的内容
Hello World -> 180
Hello World -> 181
Hello World -> 182
Hello World -> 183
Hello World -> 184
Hello World -> 185
Hello World -> 186
Hello World -> 187
Hello World -> 188
Hello World -> 189
Hello World -> 190
Hello World -> 191
Hello World -> 192
Hello World -> 193
Hello World -> 194
Hello World -> 195
Hello World -> 196
Hello World -> 197
Hello World -> 198
Hello World -> 199
$ 

3. 查找操作

3.1 find —— 在文件树中查找文件

语法

find [查找路径] []

功能 在文件树中查找文件,并作出相应处理(如访问磁盘)

常用选项

  • -name 按照文件查找文件(区分大小写)
  • -iname 按文件名搜索(不区分大小写)
  • -type
    • f 普通文件
    • d 目录
    • l 符号链接
    • 示例:find /var/log -type f(搜索 /var/log 下的所有文件)
  • -mtime n
    • +n n 天前修改
    • -n n 天内修改
    • find /tmp -mtime +7(搜索 7 天前修改的文件)
  • -atime n 按访问时间(Access Time)过滤,用法同 -mtime
  • -size n
    • +n 大于 n
    • -n 小于 n
    • 单位:c(字节)、k(KB)、M(MB)、G(GB)
    • find / -size +100M(搜索大于 100MB 的文件)
  • -perm 权限 -> 按文件权限搜索(八进制或符号格式)
    • 示例:find . -perm 644(搜索权限为 644 的文件)
  • -user 用户名 -> 按文件所有者搜索
    • 示例:find /home -user alice
  • -group 组名 -> 按文件所属组搜索

示例

$ ls -n
total 28
drwxrwxr-x  8 1000 1000 4096 Apr  8 16:24 code
drwxrwxr-x 18 1000 1000 4096 Mar 30 13:16 learning-c
-rw-rw-r--  1 1000 1000  677 Mar 17 16:31 makefile
drwxrwxr-x  2 1000 1000 4096 Feb 26 13:26 process
drwxrwxr-x  3 1000 1000 4096 Mar  3 15:05 project
drwxrwxr-x  3 1000 1000 4096 Apr 11 20:07 test
drwxrwxr-x  2 1000 1000 4096 Mar 23 21:34 tmp
$ find test test
test
test/mydir
test/mydir/test.txt
test/mydir/log.txt
test
test/mydir
test/mydir/test.txt
test/mydir/log.txt
$ 

3.2 grep —— 在文件中搜索 字符串 文件

语法

grep [选项] [搜索字符串 文件]

功能 在文件中搜索字符串,将找到的行打印出来
常用选项

  • -i 忽略⼤⼩写的不同,所以⼤⼩写视为相同
  • -n 顺便输出⾏号
  • -v 反向选择,亦即显⽰出没有 ‘搜寻字符串’ 内容的那⼀⾏
    示例
$ cat -n test.txt 1	abcd2	ABCD3	what4	why5	when6	where7	who8	12349	$ grep "abcd" test.txt 
abcd
# 忽略大小写的不同
$ grep -i "abcd" test.txt 
abcd
ABCD
# 输出行号
$ grep -in "abcd" test.txt 
1:abcd
2:ABCD
# 反向选择,除了指定字符串不输出,其他全输出
$ grep -v "abcd" test.txt 
ABCD
what
why
when
where
who
1234$ grep -vni "abcd" test.txt 
3:what
4:why
5:when
6:where
7:who
8:1234
9:
$ 

3.3 which —— 搜索命令

语法

which 命令

功能 查找可执行文件的绝对路径

示例

$ which ls
alias ls='ls --color=auto'/usr/bin/ls
$ which pwd
/usr/bin/pwd
$ which gcc
/usr/bin/gcc
$ 

3.4 whereis —— 查找程序的源文件

语法

whereis 命令

功能 查找程序的源、二进制文件或手册的位置

示例

$ whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
$ whereis stdio.h
stdio: /usr/include/stdio.h /usr/share/man/man3/stdio.3.gz
$ whereis libc.so
libc: /usr/lib64/libc.so /usr/share/man/man7/libc.7.gz
$ whereis dir
dir: /usr/bin/dir /usr/share/man/man1/dir.1.gz
$ 

4.压缩

4.1 zip/unzip

语法

zip 要压缩的文件.zip 目录或文件

功能 将目录或文件压缩为 zip 格式
常用选项

  • 基础压缩
    • -r 递归处理,将指定目录下的所有文件和子目录一并处理
    • -q 静默模式(不显示压缩过程输出)
    • -e 加密压缩文件(设置密码)
    • -s 大小
  • 基础解压
    • -d 目录 指定解压目标目录
    • -l 列出压缩包内容(不解压)
    • -o 覆盖已存在的文件(无需确认)
    • -n 不覆盖已存在的文件
    • -P 密码 直接提供密码(避免交互式输入)
    • -q 静默模式(不显示解压过程)

示例

$ tree mydir/
mydir/
├── log.txt
└── test.txt0 directories, 2 files
$ zip -r test.zip mydiradding: mydir/ (stored 0%)adding: mydir/test.txt (deflated 13%)adding: mydir/log.txt (deflated 76%)
$ ls -al
total 16
drwxrwxr-x  3 wyf wyf 4096 Apr 11 21:08 .
drwx------ 15 wyf wyf 4096 Apr 11 20:52 ..
drwxrwxr-x  2 wyf wyf 4096 Apr 11 20:57 mydir
-rw-rw-r--  1 wyf wyf  524 Apr 11 21:08 test.zip
$ mkdir zip
$ unzip test.zip zip/
Archive:  test.zip
caution: filename not matched:  zip/
$ unzip test.zip -d zip/
Archive:  test.zipcreating: zip/mydir/inflating: zip/mydir/test.txt      inflating: zip/mydir/log.txt       
$ cd zip
$ tree mydir/
mydir/
├── log.txt
└── test.txt0 directories, 2 files
$ 

4.2 tar

语法

tar [选项] 文件/目录

常用选项

  • -c 创建新的归档文件(Create)
    示例:tar -cvf archive.tar /path/to/dir(将目录打包为 archive.tar-v 显示过程)
  • -x 提取归档文件(Extract)
    示例:tar -xvf archive.tar(解压到当前目录)
  • -t 列出归档文件内容(List)
    示例:tar -tvf archive.tar(显示归档中的文件列表及详细信息)
  • -z 使用 gzip 压缩(后缀 .tar.gz.tgz)
    示例:
      tar -czvf backup.tar.gz /path/to/dir   # 压缩tar -xzvf backup.tar.gz               # 解压
    
  • -j 使用 bzip2 压缩(后缀 .tar.bz2)
    示例:
    tar -cjvf backup.tar.bz2 /path/to/dir  # 压缩
    tar -xjvf backup.tar.bz2              # 解压
    
  • -J 使用 xz 压缩(后缀 .tar.xz,高压缩率)
    示例:
    tar -cJvf backup.tar.xz /path/to/dir   # 压缩
    tar -xJvf backup.tar.xz               # 解压
    
  • -f 指定归档文件名(必须放在选项末尾)
    示例:tar -cvf myfiles.tar /path/to/files
  • -v 显示详细操作过程(Verbose)
  • -C 指定解压目标目录
    示例:tar -xvf archive.tar -C /target/dir
  • --exclude="模式" 排除指定文件或目录
    示例:
    tar -czvf backup.tar.gz --exclude="*.log" /path/to/dir  # 排除 .log 文件
    
  • -r 向归档中追加文件(仅对未压缩的 .tar 文件有效)
    示例:tar -rvf archive.tar newfile.txt
  • -p 保留文件权限(常用于备份系统文件)
    示例:tar -czvpf backup.tar.gz /etc
  • --wildcards 解压时使用通配符匹配文件
    示例:tar -xzvf backup.tar.gz --wildcards "*.conf"

示例

$ ls -l 
total 4
drwxrwxr-x 2 wyf wyf 4096 Apr 11 21:27 mydir
# 仅打包,不压缩
$ tar -cvf dir.tar mydir
mydir/
mydir/test.txt
mydir/log.txt
mydir/file.txt
# 打包后,以gzip压缩
$ tar -zcvf dir.tar.gz mydir/
mydir/
mydir/test.txt
mydir/log.txt
mydir/file.txt
# 打包后,以bzip2压缩
$ tar -jcvf dir.tar.bz2 mydir
mydir/
mydir/test.txt
mydir/log.txt
mydir/file.txt
$ ls -l
total 24
-rw-rw-r-- 1 wyf wyf 10240 Apr 11 21:29 dir.tar
-rw-rw-r-- 1 wyf wyf   585 Apr 11 21:31 dir.tar.bz2
-rw-rw-r-- 1 wyf wyf   714 Apr 11 21:30 dir.tar.gz
drwxrwxr-x 2 wyf wyf  4096 Apr 11 21:27 mydir
# 查看压缩文件中有哪些文件
$ tar -ztvf dir.tar.gz
drwxrwxr-x wyf/wyf           0 2025-04-11 21:27 mydir/
-rw-rw-r-- wyf/wyf          40 2025-04-11 20:51 mydir/test.txt
-rw-rw-r-- wyf/wyf          72 2025-04-11 20:26 mydir/log.txt
-rw-rw-r-- wyf/wyf        3709 2025-04-11 21:28 mydir/file.txt
$ mkdir tar
# 解压到指定目录
$ tar -zxvf dir.tar.gz -C tar
mydir/
mydir/test.txt
mydir/log.txt
mydir/file.txt
$ tree tar
tar
└── mydir├── file.txt├── log.txt└── test.txt1 directory, 3 files
$ 

5. 日期时间

5.1 date —— 显示时间

语法

date [选项]…… [格式]

功能 指定格式显示时间

  1. 显示时间的时候,可以设定显示的格式,格式设定为一个+后加数个标记,其中常用的标记如下:
  • %H ⼩时(00..23)
  • %M 分钟(00..59)
  • %S 秒(00..61)
  • %X 相当于 %H:%M:%S
  • %d ⽇ (01..31)
  • %m ⽉份 (01..12)
  • %Y 完整年份 (0000..9999)
  • %F 相当于 %Y-%m-%d
  1. 设定时间的时候
  • date -s //设置当前时间,只有root权限才能设置,其他只能查看。
  • date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00
  • date -s 01:01:01 //设置具体时间,不会对日期做更改
  • date -s “01:01:01 2008-05-23″ //这样可以设置全部时间
  • date -s “01:01:01 20080523″ //这样可以设置全部时间
  • date -s “2008-05-23 01:01:01″ //这样可以设置全部时间
  • date -s “20080523 01:01:01″ //这样可以设置全部时间
  1. 时间戳
  • 时间->时间戳:date +%s
  • 时间戳->时间:date -d@1508749502
  • Unix 时间戳(英文为 Unix epoch, Unix time, POSIX timeUnix timestamp)是从 197011
    日(UTC/GMT 的午夜)开始所经过的秒数,不考虑闰秒

指定格式显示时间

示例

$ date
Fri Apr 11 21:44:04 CST 2025
$ date +%Y/%m/%d
2025/04/11
$ date +%Y/%m/%d-%H:%M:%S
2025/04/11-21:44:56
# 显示时间戳
$ date +%s
1744379107
# 时间戳转换为正常时间
$ date +%Y/%m/%d-%H:%M:%S -d @0
1970/01/01-08:00:00
$ date +%Y/%m/%d-%H:%M:%S -d @1744379190
2025/04/11-21:46:30
$ 

5.2 cal —— 查看日历

语法

cal [选项] [年份]

功能 查看日历等时间信息,如只有一个选项,则表示年份(1-9999),如有两个参数,则表示月份和年份
常用选项

  • -3 显示系统前一个月,当前月,下一个月的月历
  • -j 显示在当年中的第几天(一年日期按天算,从 11 号算起,默认显示当前月在⼀年中的天数)
  • -y 显示当前年份的日历
    示例
$ calApril 2025     
Su Mo Tu We Th Fr Sa1  2  3  4  56  7  8  9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30$ cal 19991999                               January               February                 March       
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa1  2       1  2  3  4  5  6       1  2  3  4  5  63  4  5  6  7  8  9    7  8  9 10 11 12 13    7  8  9 10 11 12 13
10 11 12 13 14 15 16   14 15 16 17 18 19 20   14 15 16 17 18 19 20
17 18 19 20 21 22 23   21 22 23 24 25 26 27   21 22 23 24 25 26 27
24 25 26 27 28 29 30   28                     28 29 30 31
31April                   May                   June        
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa1  2  3                      1          1  2  3  4  54  5  6  7  8  9 10    2  3  4  5  6  7  8    6  7  8  9 10 11 12
11 12 13 14 15 16 17    9 10 11 12 13 14 15   13 14 15 16 17 18 19
18 19 20 21 22 23 24   16 17 18 19 20 21 22   20 21 22 23 24 25 26
25 26 27 28 29 30      23 24 25 26 27 28 29   27 28 29 3030 31July                  August                September     
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa1  2  3    1  2  3  4  5  6  7             1  2  3  44  5  6  7  8  9 10    8  9 10 11 12 13 14    5  6  7  8  9 10 11
11 12 13 14 15 16 17   15 16 17 18 19 20 21   12 13 14 15 16 17 18
18 19 20 21 22 23 24   22 23 24 25 26 27 28   19 20 21 22 23 24 25
25 26 27 28 29 30 31   29 30 31               26 27 28 29 30October               November               December      
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa1  2       1  2  3  4  5  6             1  2  3  43  4  5  6  7  8  9    7  8  9 10 11 12 13    5  6  7  8  9 10 11
10 11 12 13 14 15 16   14 15 16 17 18 19 20   12 13 14 15 16 17 18
17 18 19 20 21 22 23   21 22 23 24 25 26 27   19 20 21 22 23 24 25
24 25 26 27 28 29 30   28 29 30               26 27 28 29 30 31
31$ cal  -3March 2025            April 2025             May 2025      
Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa1         1  2  3  4  5               1  2  32  3  4  5  6  7  8   6  7  8  9 10 11 12   4  5  6  7  8  9 109 10 11 12 13 14 15  13 14 15 16 17 18 19  11 12 13 14 15 16 17
16 17 18 19 20 21 22  20 21 22 23 24 25 26  18 19 20 21 22 23 24
23 24 25 26 27 28 29  27 28 29 30           25 26 27 28 29 30 31
30 31                                                           
$ 

6. 关机与重启

6.1 shutdown —— 关机命令

语法:

shutdown [选项] [时间]

功能: 关闭或重启系统。

常用选项:

  • -h now 立即关机
  • -r now 立即重启

示例:

shutdown -h now

7. 其他命令

7.1 uname

语法

uname [选项]

功能 uname 用于获取电脑和操作系统的相关信息,可以显示 Linux 主机所用的操作系统版本、硬件名称等基本信息
常用选项

  • -a 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理
    器类型,硬件平台类型,操作系统名称
  • -s --kernel-name 显示内核名称(默认行为)
  • -n --nodename 显示网络节点主机名
  • -r --kernel-release 显示内核版本号
  • -v --kernel-version 显示内核构建版本和时间
  • -m --machine 显示硬件架构(CPU 类型)

示例

$ clear 
$ uname -s
Linux
$ uname -n
hcss-ecs-0be3
$ uname -r
3.10.0-1160.119.1.el7.x86_64
$ uname -a
Linux hcss-ecs-0be3 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
$ 

7.2 alias

语法

alian 别名='原始命令'

功能 设置命令的别名,将长命令或复杂命令创建快捷别名

示例

$ alias ..='cd ..'
$ pwd
/home/wyf/test/mydir
$ ..
$ pwd
/home/wyf/test
$ ..
$ pwd
/home/wyf
$ una
unalias  uname    
# 查看所有别名
$ alias
alias ..='cd ..'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias updatetags='ctags -R -f ~/.vim/tags --languages=C,C++ --exclude=.git --exclude=node_modules --exclude=build --exclude=.config --exclude=.VimForCpp  ~/code'
alias vi='vim'
alias vim='/home/wyf/.VimForCpp/nvim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
# 删除别名
$ unalias ..
$ 

7.3 clear —— 清屏

功能 当屏幕敲满命令时,使用clear可以清除屏幕上的命令

clear

7.4 man

功能 查看手册页(manual pages)的核心工具,提供了系统命令、函数、配置文件等的详细文档

手册页的章节
手册页按内容分为多个章节(默认按顺序查找):

  1. 用户命令(如 ls, cp
  2. 系统调用(如 open, read
  3. 库函数(如 printf, malloc
  4. 设备文件(如 /dev/tty
  5. 文件格式(如 /etc/passwd
  6. 游戏和屏保
  7. 杂项(如 man, groff
  8. 系统管理命令(如 ifconfig, mount
  9. 内核例程(非标准)

常用选项

  • f 显示命令的简短描述(等价于 whatis
  • k 按关键字搜索手册页(等价于 apropos
  • a 显示所有匹配的手册页(按章节顺序)
  • w 显示手册页的物理路径(如 man -w ls
  • K 全局搜索手册页内容(全文检索,较慢)

手册页结构
一个典型的手册页包含以下部分:

  • NAME:名称及简要功能
  • SYNOPSIS:命令语法或函数原型
  • DESCRIPTION:详细描述
  • OPTIONS:命令行选项解释
  • EXAMPLES(可选):使用示例
  • SEE ALSO:相关参考内容
  • BUGS(可选):已知问题

示例

man 2 open    # 查看系统调用 open 的文档
man 3 printf  # 查看 C 库函数 printf 的文档
man ls
man -f printf  # 显示所有章节的 "printf"(如 printf(1), printf(3))

7.5 uname —— 显示系统信息

1. uname 命令
功能:显示系统信息(内核版本、操作系统名称、硬件架构等)
常用选项

选项作用
-a显示所有信息(等价于 -snrvm
-s显示内核名称(如 Linux
-n显示网络节点主机名(等同于 hostname
-r显示内核版本(如 5.15.0-86-generic
-v显示内核编译时间/版本详细信息
-m显示硬件架构(如 x86_64
-o显示操作系统名称(如 GNU/Linux

示例

  1. 显示所有系统信息
uname -a
# Linux mypc 5.15.0-86-generic #96-Ubuntu SMP Wed Oct 11 08:15:58 UTC 2023 x86_64 GNU/Linux
  1. 仅查看内核版本
uname -r
# 5.15.0-86-generic
  1. 查看硬件架构
uname -m
# x86_64

7.6 bc —— 计算器

功能:高精度数学计算器工具,支持交互式或脚本中的数学运算(包括进制转换、函数计算等)
常用选项

选项作用
-l加载数学库(支持 sin, cos, log 等函数)
-i强制进入交互模式
-q静默模式(不显示欢迎信息)

基本用法
直接计算表达式

$ echo "5 + 3 * 2" | bc
11

设置小数精度
通过 scale 变量控制小数位数:

echo "scale=3; 10/3" | bc
3.333

进制转换
十进制转二进制

# outbase 设置输出结果的进制
$ echo "obase=2; 42" | bc
101010

二进制转十进制

# input base 设置输入数值的进制
echo "ibase=2; 101010" | bc
42

高级功能
使用数学库(-l 选项)

echo "s(3.14159/2)" | bc -l   # 计算 sin(π/2)
.99999999999911980765

定义自定义函数
在交互模式中定义函数:

bc -l
define add(a, b) { return a + b }
add(5, 7)
12

8. 重要快捷键

  • Ctrl + C 终止当前进程
  • Ctrl + Z 挂起当前进程
  • Ctrl + D 退出终端
  • Ctrl + R 搜索命令历史
  • Tab 具有命令补全的功能
http://www.dtcms.com/a/284307.html

相关文章:

  • makefile missing separator. Stop.问题
  • 一款实用的.NET Core加密解密工具类库
  • C++11之lambda表达式与包装器
  • 20.轮廓特征与近似,改变图像的轮廓识别画线的精确度,同时画出轮廓对应的矩形
  • GitHub 趋势日报 (2025年07月16日)
  • 【Burp入门第三十八篇】Repeater Strike:AI 驱动的 Burp Suite 插件
  • Effective Modern C++ 条款13:优先考虑const_iterator而非iterator
  • Magenta RT 正式开源!实时生成多种风格音乐,让创作无门槛
  • 【C++详解】STL-stack、queue的模拟实现,容器适配器,deque双端队列介绍
  • Java 大视界 -- Java 大数据在智能交通智能公交站台乘客流量预测与服务优化中的应用(349)
  • 19.删除链表的倒数第 N 个结点
  • 多线程--sem_wait(sem)特殊用法
  • 拿到安全工程师证后,能从事哪些岗位?
  • C函数实现strcopy strcat strcmp strstr
  • javax.servlet.http.HttpServletResponse;API导入报错解决方案
  • Kotlin集合与空值
  • 产品经理如何绘制流程图
  • Linux中的数据库操作基础
  • SpringMVC 执行原理
  • 79、【OS】【Nuttx】【启动】caller-saved 和 callee-saved 示例:r7 寄存器
  • Modbus
  • PyCharm2024安装包社区版和专业版
  • TESOLLO五指灵巧手遥操作解决方案
  • 使用 .NET Core 的原始 WebSocket
  • Spring整合MyBatis详解
  • 概率论与数理统计(四)
  • WCDB soci 查询语句
  • 缓存雪崩、缓存穿透,缓存击穿
  • 使用IntelliJ IDEA和Maven搭建SpringBoot集成Fastjson项目
  • 【git】使用教程