Linux基础指令

一、Linux背景

1.发展史

1991年10月5日,赫尔辛基大学的一名研究生Linux Benedict Torvalds宣布他编制出一种类似UNIX的小操作系统

2.开源

  • Linux是一种自由和开放源代码的类UNIX操作系统,该操作系统在1991年首次发布后,在加上用户空间的应用程序之后,就称为了Linux操作系统。严格来讲,Linux只是操作系统的内核本身,但通常采用"Linux内核"来表达该意思。而Linux则常用来指代基于LInux内核的完整操作系统,它包括GUI组件和许多其他的实用工具。
  • GNU通用公共许可协议(GNU General Public License,简称GPL),是一个广泛被使用的自由软件许可协议条款,GPL给予了计算机程序自由软件的定义,任何基于GPL软件开发的衍生产品在发布时必须采用GPL许可证方式,且必须公开源代码
  • Linux是自由软件和开放源代码软件发展中最著名的例子。只要遵循GNU通用公共许可证,任何个人和机构都可以自由地使用Linux的所有源代码,也可以自由的修改和再发布。随着Linux操作系统飞速的发展,各种集成在Linux上的开源软件和实用工具也得到了应用和普及,因此Linux也成为开源软件的代名词。

3.官网

kernel官网https://www.kernel.org/

4.企业应用现状

Linux在服务器领域的发展

距权威部门统计,目前Linux在服务器领域已经占据了75%的份额,同时Linux在服务器市场的迅速崛起,已经引起了全球IT产业的高度关注,并以强劲的势头成为服务器操作系统领域中的中坚力量

Linux在桌面领域的发展

近年来,特别是在国内市场,Linux桌面操作系统的发展趋势非常迅猛。国内如中标麒麟Linux,红旗Linux,深度Linux等系统软件厂商都推出Linux桌面操作系统,目前已经在政府企业OEM等领域得到广泛应用。但是从系统整体的功能性能来看,Linux桌面系统与Windows来比还有一定差距,主要在系统易用性,系统管理和软硬件兼容性,软件的丰富程度等方面

Linux在移动嵌入式领域的发展

Linux的低成本,强大的定制功能以及良好的移植性能,使得Linux在嵌入式系统方面也得到广泛应用,目前Linux以广泛应用于手机,平板电脑,路由器,电视和电子游戏机等领域。在移动设备上广泛使用的Android 操作系统就是创建在Linux内核之上的。目前,Android已经成为全球最流行的智能手机操作系统。

Linux在云计算/大数据领域的发展

互联网产业迅猛发展,促使云计算、大数据产业形成并快速发展,促使云计算、大数据产业的形成并快速发展。其作为一个基于开源软件的平台,Linux占据了核心优势。

5.发行版本

Debian

Debian运行起来极为稳定,非常适合用于服务器。Debian这款操作系统适合于系统管理员和高级用户

Ubuntu

Ubuntu是Debian的一款衍生版本,也是当今最受欢迎的免费操作系统。Ubuntu侧重于它在这个市场的应用,在服务器,云计算,甚至一些运行Ubuntu Linux的移动设备上很常见。适用于新手·

红帽企业级Linux

这是第一款面向商业市场的Linux发行版。它有服务器版本,支持众多处理器架构,包括X86和X86_64

CentOS

CentOS是一款企业级Linux发行版,它使用用红帽企业级Linux中免费源代码重构而成。这款重构版本完全去掉了注册商标以及Binary程序包方面一个非常细致的变换。适用于不想支付一大笔费用,又能领略红帽企业级Linux

...

6.os概念,定位

使用计算机更好用!这是操作系统的根本要义!

二、使用Xshell远程登陆Linux

关于Linux桌面

很多朋友的Linux启动进入图形化的桌面,这个东西大家以后就可以忘记了,以后工作中没有机会使用图形化界面。

使用图形化界面会导致效率变低,有一定的安全问题等

下载安装Xshell

Xshell是一个远程终端软件,官网https://www.netsarang.com/products/xsh_overview.html

查看Linux主机ip

在终端下敲ifconfig指令,查看到ip地址

使用Xshell登录主机

在Xshell终端下敲ssh [ip],ip为刚刚看到的ifconfig的结果

如果网络通畅,将会提示输入用户名密码,输入即可正确登录。

Xshell下的复制粘贴

复制:Ctrl+insert

粘贴:shift+insert

Ctrl+c/Ctrl+v是不行的

三、Linux下的基本指令

ls 指令

语法: ls [选项] [目录或文件]

功能:对于目录,该命令列出该目录下所有子目录与文件。对于文件,将列出文件名以及其他的信息

常用选项:

  • -a 列出目录下所有文件,包括以.开头的隐含文件。

  • -d将目录像文件一样显示,而不是显示其下的文件。如:ls -d 指定目录

  • -i 输出文件的i节点的索引信息。如ls-ai指定文件

  • -k 以k字节的形式表示文件的大小

  • -l 列出文件的详细信息

  • -r 对目标进行反向排序

  • -t 以时间排序

  • -s 在l文件名后输入该文件的大小

  • -R列出所有子目录下的文件

  • -1一行之输出一个文件

    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# ls
    hello2.txt hello.txt
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# ls -a
    . .. hello2.txt hello.txt
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# ls -l
    total 0
    -rw-r--r-- 1 root root 0 Jan 30 23:04 hello2.txt
    -rw-r--r-- 1 root root 0 Jan 30 23:02 hello.txt
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# ls -alFn
    total 0
    drwxr-xr-x 2 0 0 41 Jan 30 23:04 ./
    dr-xr-x---. 11 0 0 242 Jan 30 22:59 ../
    -rw-r--r-- 1 0 0 0 Jan 30 23:04 hello2.txt
    -rw-r--r-- 1 0 0 0 Jan 30 23:02 hello.txt

pwd指令

语法:pwd

功能:显示用户当前所在的目录

复制代码
[root@iZ2zeiwy4tf4rghoyh5d1yZ dir]# pwd
/root/118/dir

cd 指令

Linux理论知识:路径的认识

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

语法:cd 目录名

功能:改变工作目录,将当前的工作目录改变到指定的目录下

复制代码
# 返回上级目录
[root@iZ2zeiwy4tf4rghoyh5d1yZ dir]# pwd
/root/118/dir
[root@iZ2zeiwy4tf4rghoyh5d1yZ dir]# cd ..
[root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# pwd
/root/118

#绝对路径定位目录或者文件
[root@iZ2zeiwy4tf4rghoyh5d1yZ ~]# pwd
/root
[root@iZ2zeiwy4tf4rghoyh5d1yZ ~]# cd /root/118/dir
[root@iZ2zeiwy4tf4rghoyh5d1yZ dir]# pwd
/root/118/dir

#相对路径定位目录或者文件
[root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# pwd
/root/118
[root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# cd ../117/dir
[root@iZ2zeiwy4tf4rghoyh5d1yZ dir]# pwd
/root/117/dir

#每一次新建一个用户都会/home目录下为新用户创建新的工作目录,目录以新用户名称命名
#root用户在安装操作系统的时候,就已经内置的工作目录:/root
[root@iZ2zeiwy4tf4rghoyh5d1yZ dir]# ls /home
admin  xhx_home

#返回到最近访问的目录
[root@iZ2zeiwy4tf4rghoyh5d1yZ dir]# pwd
/root/117/dir    #当前在该目录下
[root@iZ2zeiwy4tf4rghoyh5d1yZ dir]# cd /root/118/dir
[root@iZ2zeiwy4tf4rghoyh5d1yZ dir]# cd -  #直接可以回退到最近一次所处的目录
/root/117/dir   

touch 指令

语法: touch [选项] 文件

功能:touch命令参数可更改文档或者目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。

常用选项:

  • -a :change only the access time

  • -m : change only the modification time

    #创建普通文件
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 117]# ls
    dir hello4.txt
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 117]# touch newfile.txt
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 117]# ls
    dir hello4.txt newfile.txt

    #查看文件时间
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 117]# stat newfile.txt
    File: newfile.txt
    Size: 0 Blocks: 0 IO Block: 4096 regular empty file
    Device: fd01h/64769d Inode: 454844 Links: 1
    Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
    Access: 2026-01-30 23:44:45.308963546 +0800
    Modify: 2026-01-30 23:44:45.308963546 +0800
    Change: 2026-01-30 23:44:45.308963546 +0800
    Birth: -

    #修改文件access时间
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 117]# touch -a newfile.txt
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 117]# stat newfile.txt
    File: newfile.txt
    Size: 0 Blocks: 0 IO Block: 4096 regular empty file
    Device: fd01h/64769d Inode: 454844 Links: 1
    Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
    Access: 2026-01-30 23:47:09.285242975 +0800
    Modify: 2026-01-30 23:44:45.308963546 +0800
    Change: 2026-01-30 23:47:09.285242975 +0800
    Birth: -

    #修改文件modify时间
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 117]# touch -m newfile.txt
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 117]# stat newfile.txt
    File: newfile.txt
    Size: 0 Blocks: 0 IO Block: 4096 regular empty file
    Device: fd01h/64769d Inode: 454844 Links: 1
    Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
    Access: 2026-01-30 23:47:09.285242975 +0800
    Modify: 2026-01-30 23:47:56.274639641 +0800
    Change: 2026-01-30 23:47:56.274639641 +0800
    Birth: -

mkdir指令

语法: mkdir [选项] dirname...

功能:在当前目录下创建一个名为 dirname 的目录

常用选项:

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

    #创建普通空目录
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# ls
    dir hello2.txt hello.txt
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# mkdir mydir
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# ls -l
    total 0
    drwxr-xr-x 2 root root 24 Jan 30 23:14 dir
    -rw-r--r-- 1 root root 0 Jan 30 23:04 hello2.txt
    -rw-r--r-- 1 root root 0 Jan 30 23:02 hello.txt
    drwxr-xr-x 2 root root 6 Jan 31 14:03 mydir

    #递归建立多个目录,创建指定路径
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# mkdir -p a/b/c/d
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# tree
    .
    ├── a
    │ └── b
    │ └── c
    │ └── d
    ├── dir
    │ └── hello3.txt
    ├── hello2.txt
    ├── hello.txt
    └── mydir

    6 directories, 3 files

rmdir指令&&rm指令

rmdir是一个与mkdir相对应的命令,mkdir是建立目录,而rmdir是删除

语法:rmdir [-p] [dirName]

适用对象:具有当前目录操作权限的所有使用者

功能:删除空目录

常用选项:

  • -p 当子目录被删除后如果父目录也变成空目录的话,就连父目录一起删除。

    #删除空目录
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# clear
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# ll
    total 0
    drwxr-xr-x 3 root root 15 Jan 31 14:05 a
    drwxr-xr-x 2 root root 24 Jan 30 23:14 dir
    -rw-r--r-- 1 root root 0 Jan 30 23:04 hello2.txt
    -rw-r--r-- 1 root root 0 Jan 30 23:02 hello.txt
    drwxr-xr-x 2 root root 6 Jan 31 14:03 mydir
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# tree mydir/
    mydir/

    0 directories, 0 files
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# rmdir mydir
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# ll
    total 0
    drwxr-xr-x 3 root root 15 Jan 31 14:05 a
    drwxr-xr-x 2 root root 24 Jan 30 23:14 dir
    -rw-r--r-- 1 root root 0 Jan 30 23:04 hello2.txt
    -rw-r--r-- 1 root root 0 Jan 30 23:02 hello.txt

    #删除路径
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# ll
    total 0
    drwxr-xr-x 3 root root 15 Jan 31 14:05 a
    drwxr-xr-x 2 root root 24 Jan 30 23:14 dir
    -rw-r--r-- 1 root root 0 Jan 30 23:04 hello2.txt
    -rw-r--r-- 1 root root 0 Jan 30 23:02 hello.txt
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# tree a
    a
    └── b
    └── c
    └── d

    3 directories, 0 files
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# rmdir -p a/b/c/d
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# ll
    total 0
    drwxr-xr-x 2 root root 24 Jan 30 23:14 dir
    -rw-r--r-- 1 root root 0 Jan 30 23:04 hello2.txt
    -rw-r--r-- 1 root root 0 Jan 30 23:02 hello.txt

    #指定路径中有不为空的路径,便无法删除
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# rmdir -p a/b/c/d
    rmdir: failed to remove directory 'a/b/c': Directory not empty
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# tree a
    a
    └── b
    └── c
    └── name.txt

    2 directories, 1 file

rm命令可以同时删除文件或者目录

语法:rm[-f-i-r-v][dirName/dir]

适用对象:所有使用者

功能:删除文件或目录

常用选项:

  • -f 即是文件属性为只读(即写保护),亦直接删除

  • -i 删除前逐一询问确认

  • -r 删除目录及其下所有文件

    #删除普通文件
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# ll
    total 0
    drwxr-xr-x 3 root root 15 Jan 31 14:17 a
    drwxr-xr-x 2 root root 24 Jan 30 23:14 dir
    -rw-r--r-- 1 root root 0 Jan 30 23:04 hello2.txt
    -rw-r--r-- 1 root root 0 Jan 30 23:02 hello.txt
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# rm hello.txt
    rm: remove regular empty file 'hello.txt'? yes
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# ls
    a dir hello2.txt

    #删除目录文件
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# ls
    a dir hello2.txt
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# rm dir
    rm: cannot remove 'dir': Is a directory
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# rm -r dir
    rm: remove directory 'dir'? yes
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# ls
    a hello2.txt

    #删除普通文件前询问
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# rm -i hello2.txt
    rm: remove regular empty file 'hello2.txt'? yes
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# ls
    a

    #删除目录前询问
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# rm -ir a
    rm: descend into directory 'a'? y
    rm: descend into directory 'a/b'? y
    rm: remove regular empty file 'a/b/hello.txt'? y
    rm: remove directory 'a/b'? y
    rm: remove directory 'a'? y
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# ls

    #递归强制删除非空目录
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# ls
    a
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# tree a
    a
    ├── b
    │ ├── c
    │ │ └── d
    │ └── file2.txt
    └── file1.txt

    3 directories, 2 files
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# rm -f a
    rm: cannot remove 'a': Is a directory
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# rm -rf a
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# ls

man指令

Linux的命令有很多参数,我们不可能全记住,可以通过查看联机手册获取帮助

语法: man [选项] 命令

常用选项

  • -k 根据关键字搜索联机帮助
  • num 只在第num章节查找
  • -a 将所有章节的都显示出来,比如man printf他缺省从第一章开始搜索,知道就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕

man 手册分为9章(不同系统可能会有所差别)

  1. 是普通命令

  2. 是系统调用,如open write之类的

  3. 是库函数,如printf是特殊文件,也就是/dev下的各种设备文件

  4. 是指文件的格式,比如passwd ,就会说明这个文件中各个字段的含义

  5. 是给游戏留的,由各个游戏自己定义

  6. 是附件还有一些变量,比如像environ这种全局变量在这里就有说明

  7. 是系统管理用的命令 这些命令只能由root使用,如ifconfig

  8. [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# man printf
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# man 2 fork
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# man 3 printf
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# man 7 signal
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# man 7 environ
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# man man
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# man -a printf #按q后可查看下一个匹配项

cp指令

语法:cp [选项] 源文件或目录 目标文件或目录

功能:复制文件或目录

说明:

cp指令用于复制文件或目录

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

常用选项:

  • -f 或 --force 强制复制文件或目录,不论目的的文件或者目录是否已经存在

  • -i 或 --interactive 覆盖文件前先询问用户

  • -r 递归处理,将指定目录下的文件与子目录一并处理。

    #普通文件
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# touch myfile.txt
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# echo "hello tyut">myfile.txt
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# cat myfile.txt
    hello tyut
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# ll
    total 4
    -rw-r--r-- 1 root root 11 Jan 31 15:28 myfile.txt
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# cp myfile.txt myfile-backup.txt
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# ll
    total 8
    -rw-r--r-- 1 root root 11 Jan 31 15:29 myfile-backup.txt
    -rw-r--r-- 1 root root 11 Jan 31 15:28 myfile.txt
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# cat myfile-backup.txt
    hello tyut

    #将多个文件拷贝到指定路径下
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# mkdir dir
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# ls
    dir myfile-backup.txt myfile.txt
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# cp *.txt dir #*表示通配符
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# ll
    total 8
    drwxr-xr-x 2 root root 49 Jan 31 15:32 dir
    -rw-r--r-- 1 root root 11 Jan 31 15:29 myfile-backup.txt
    -rw-r--r-- 1 root root 11 Jan 31 15:28 myfile.txt
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# tree dir
    dir
    ├── myfile-backup.txt
    └── myfile.txt

    0 directories, 2 files

    #cp如果目标文件存在,就覆盖
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# echo "hi tyut">myfile.txt
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# cat myfile.txt
    hi tyut
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# cp myfile.txt myfile-backup.txt
    cp: overwrite 'myfile-backup.txt'? yes
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# cat myfile-backup.txt
    hi tyut

    #拷贝前询问
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# cp -i myfile.txt myfile-backup.txt
    cp: overwrite 'myfile-backup.txt'? y

    #递归强制拷贝整个目录
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# tree dir
    dir
    ├── dir1
    │ └── file.txt
    ├── myfile-backup.txt
    └── myfile.txt

    1 directory, 3 files
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# cp -fr dir dir-backup
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 118]# tree
    .
    ├── dir
    │ ├── dir1
    │ │ └── file.txt
    │ ├── myfile-backup.txt
    │ └── myfile.txt
    ├── dir-backup
    │ ├── dir1
    │ │ └── file.txt
    │ ├── myfile-backup.txt
    │ └── myfile.txt
    ├── myfile-backup.txt
    └── myfile.txt

mv指令

mv命令是move的缩写,可以用来移动文件或者将文件改名,经常用来备份文件或者目录

语法:mv [选项] 源文件或目录 目标文件或目录

功能:

  1. 视为mv命令中的第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移动到一个新的目录中。
  2. 当第二个参数类型是文件时 ,mv命令完成文件重命名,此时,源文件只能有一个(也可以是原目录名),它将所给的源文件或目录重命名为给定的目标文件名。
  3. 当第二个参数是已经存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移到目标目录中。

常用选项:

  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖

  • -i :若目标文件(destination)已经存在,就会询问是否覆盖!

    #更改名称(文件->文件)
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 121]# touch myfile.txt
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 121]# ll
    total 0
    -rw-r--r-- 1 root root 0 Jan 31 16:56 myfile.txt
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 121]# mv myfile.txt yourfile.txt
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 121]# ll
    total 0
    -rw-r--r-- 1 root root 0 Jan 31 16:56 yourfile.txt
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 121]#

    #如果当前路径存在同名文件,改名即覆盖
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 121]# touch myfile.txt
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 121]# ll
    total 0
    -rw-r--r-- 1 root root 0 Jan 31 16:58 myfile.txt
    -rw-r--r-- 1 root root 0 Jan 31 16:56 yourfile.txt
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 121]# mv myfile.txt yourfile.txt
    mv: overwrite 'yourfile.txt'? y
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 121]# ls
    yourfile.txt

    #如果当前路径存在同名文件,改名前可以添加i选项,让系统提出警告供用户选择
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 121]# tree .
    .
    ├── dir
    │ └── myfile.txt
    ├── myfile.txt
    └── yourfile.txt

    1 directory, 3 files
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 121]# mv -i myfile.txt dir
    mv: overwrite 'dir/myfile.txt'? y
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 121]# tree .
    .
    ├── dir
    │ └── myfile.txt
    └── yourfile.txt

    1 directory, 2 files

    #mv整个目录
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 121]# touch myfile.txt
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 121]# mkdir temp
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 121]# ll
    total 0
    -rw-r--r-- 1 root root 0 Jan 31 17:04 myfile.txt
    drwxr-xr-x 2 root root 6 Jan 31 17:04 temp
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 121]# mv myfile.txt temp
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 121]# ls
    temp
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 121]# mv temp ../
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 121]# ls
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 121]# ls -d ../temp
    ../temp

cat 指令

语法:cat [选项] [文件]

功能:查看目标文件的内容

常用选项:

  • -b 对非空行输出行编号,空行不做编号

  • -n 对输出的所有行编号

  • -s 不输出多行空行

    #命令行构建多行文本
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# cnt=0; while [ $cnt -le 10 ]; do echo "hi tyut";let cnt++ ; done > temp.txt

    #测试cat基本命令
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# cat temp.txt
    hi tyut
    hi tyut
    hi tyut
    hi tyut
    hi tyut
    hi tyut
    hi tyut
    hi tyut
    hi tyut
    hi tyut
    hi tyut

    #cat 输出携带行号
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# cat -b temp.txt
    1 hi tyut
    2 hi tyut
    3 hi tyut
    4 hi tyut
    5 hi tyut
    6 hi tyut
    7 hi tyut
    8 hi tyut
    9 hi tyut
    10 hi tyut
    11 hi tyut

    修改temp.txt 使其携带多行空行

    [root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# vim temp.txt

    #测试 -b 对非空输出行编号
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# cat -b temp.txt

    复制代码
       1	hi tyut
       2	hi tyut
    
    
       3	hi tyut
    
    
       4	hi tyut
    
       5	hi tyut
    
       6	hi tyut
    
    
       7	hi tyut
    
    
       8	hi tyut
       9	hi tyut
    
      10	hi tyut
      11	hi tyut

    #测试 -n 对输出的所有行编号
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# cat -n temp.txt
    1
    2 hi tyut
    3 hi tyut
    4
    5
    6 hi tyut
    7
    8
    9 hi tyut
    10
    11 hi tyut
    12
    13 hi tyut
    14
    15
    16 hi tyut
    17
    18
    19 hi tyut
    20 hi tyut
    21
    22 hi tyut
    23 hi tyut

    #测试 -s 不输出多行空行,多行空行压缩成一行
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# cat -s temp.txt

    hi tyut
    hi tyut

    hi tyut

    hi tyut

    hi tyut

    hi tyut

    hi tyut

    hi tyut
    hi tyut

    hi tyut
    hi tyut

more 指令

语法: more[选项]

功能:more命令 功能类似cat

常用选项:

  • -n 指定输出行数

  • q 退出more

    [root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# more -5 file.txt
    hi tyut
    hi tyut
    hi tyut
    hi tyut
    hi tyut

less 指令

less工具也是对文件或其他输出进行分页显示的工具,应该说是Linux正统查看文件内容的工具,功能非常强大

less的用法比起more更加有弹性,在more的时候我们并没有办法向前翻,只能往后看

但若使用了less时,就可以使用[pageup][pagedown] 等案件的功能来往前往后翻看文件,更容易用来查看一个文件的内容

除此之外,在less里头可以拥有更多搜索的功能,不只可以向下搜,也可以向上搜

语法: less [参数] 文件

功能:less和more类似,但使用less可以随意浏览文件,而more仅仅能向前移动,却不能向后移动,而且less在查看前不会加载整个文件。

选项:

  • -i 忽略搜索时的大小写

  • -N 显示每行的行号

  • /字符串:向下搜索"字符串"的功能

  • ?字符串:向上搜索"字符串"的功能

  • n:重复前一个搜索(与/或?有关)

  • N:反向重复前一个搜索(与/或?有关)

  • q:quit

    #命令行输出多行文本
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# cnt=0; while [ cnt -le 2000 ]; do echo "hi cnt";let cnt++ ; done > file.txt

    #测试搜索和-N等功能
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# less -N file.txt
    1 hi 0
    2 hi 1
    3 hi 2
    4 hi 3
    5 hi 4
    6 hi 5
    7 hi 6
    8 hi 7
    9 hi 8
    10 hi 9
    11 hi 10
    12 hi 11
    13 hi 12
    14 hi 13
    15 hi 14
    16 hi 15
    17 hi 16
    18 hi 17
    19 hi 18

    #综合问题
    #如何显示文件的[180,200]行的内容
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# head -200 file.txt | tail -20
    hi 180
    hi 181
    hi 182
    hi 183
    hi 184
    hi 185
    hi 186
    hi 187
    hi 188
    hi 189
    hi 190
    hi 191
    hi 192
    hi 193
    hi 194
    hi 195
    hi 196
    hi 197
    hi 198
    hi 199

head 指令

head与tail就像它的名字一样浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head用来显示档案的开头至标准输出中,而tail想当然就是看档案的结尾。

语法:

head [参数]...[文件]...

功能:

head用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行

选项:

  • -n<行数>显示的行数

    [root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# head file.txt
    hi 0
    hi 1
    hi 2
    hi 3
    hi 4
    hi 5
    hi 6
    hi 7
    hi 8
    hi 9
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# head -5 file.txt
    hi 0
    hi 1
    hi 2
    hi 3
    hi 4

tail指令

tail命令从指定点开始将文件写到标准输出。使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail-f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容。

语法:tail 必要参数 [文件]

功能:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用于查看日志文件。

选项:

  • -f 循环读取

  • -n<行数>显示行数

    [root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# tail file.txt
    hi 1991
    hi 1992
    hi 1993
    hi 1994
    hi 1995
    hi 1996
    hi 1997
    hi 1998
    hi 1999
    hi 2000
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# tail -3 file.txt
    hi 1998
    hi 1999
    hi 2000

date 指令

指定格式显示时间: date +%Y:%m:%d

用法: date [OPTION] ... [+FORMAT]

1.在显示方面,使用者可以设定预显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下:

  • %H:小时(00..23)
  • %M: 分钟(00..59)
  • %S: 秒(00..59)
  • %X:相当于%H:%M :%S
  • %m:月份(01..12)
  • %Y: 完整年份(0000..9999)
  • %F: 相当于%Y-%m-%d

2. 在设定时间方面

date-s //设置当前时间,只有root权限才能设置,其他只能查看。

3.时间戳

  • 时间->时间戳: date +%s

  • 时间戳->时间: date -d@150874939

  • Unix时间戳是从1970年1月1日开始所经过的秒数,不考虑润秒

    #显示常规时间
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# date
    Sat Jan 31 19:42:16 CST 2026
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# date +%Y/%m/%d
    2026/01/31
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# date +%Y/%m/%d-%H:%M:%S
    2026/01/31-19:43:21
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# date +%X-%F
    07:43:40 PM-2026-01-31

    #显示时间戳
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# date +%s
    1769859870

    #时间戳转化为可视时间
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# date +%F-%X -d @0
    1970-01-01-08:00:00 AM
    [root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# date +%F-%X -d @1769859870
    2026-01-31-07:44:30 PM

cal 指令

cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法。"阳历"又名"太阳历",以地球绕太阳一周为一年,为西方各国所通用

命令格式:cal 参数 [年份]

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

常用选项:

  • -3 显示系统前一个月,当前月,下一个月的月历

  • -j 显示在当年中的第几天

  • -y 显示当前年份的日历

    [root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# cal
    January 2026
    Su Mo Tu We Th Fr Sa
    1 2 3
    4 5 6 7 8 9 10
    11 12 13 14 15 16 17
    18 19 20 21 22 23 24
    25 26 27 28 29 30 31

    [root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# cal -3
    December 2025 January 2026 February 2026
    Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
    1 2 3 4 5 6 1 2 3 1 2 3 4 5 6 7
    7 8 9 10 11 12 13 4 5 6 7 8 9 10 8 9 10 11 12 13 14
    14 15 16 17 18 19 20 11 12 13 14 15 16 17 15 16 17 18 19 20 21
    21 22 23 24 25 26 27 18 19 20 21 22 23 24 22 23 24 25 26 27 28
    28 29 30 31 25 26 27 28 29 30 31

    [root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# cal 1949
    1949

    复制代码
         January               February                 March       

    Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
    1 1 2 3 4 5 1 2 3 4 5
    2 3 4 5 6 7 8 6 7 8 9 10 11 12 6 7 8 9 10 11 12
    9 10 11 12 13 14 15 13 14 15 16 17 18 19 13 14 15 16 17 18 19
    16 17 18 19 20 21 22 20 21 22 23 24 25 26 20 21 22 23 24 25 26
    23 24 25 26 27 28 29 27 28 27 28 29 30 31
    30 31
    April May June
    Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
    1 2 1 2 3 4 5 6 7 1 2 3 4
    3 4 5 6 7 8 9 8 9 10 11 12 13 14 5 6 7 8 9 10 11
    10 11 12 13 14 15 16 15 16 17 18 19 20 21 12 13 14 15 16 17 18
    17 18 19 20 21 22 23 22 23 24 25 26 27 28 19 20 21 22 23 24 25
    24 25 26 27 28 29 30 29 30 31 26 27 28 29 30

    复制代码
          July                  August                September     

    Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
    1 2 1 2 3 4 5 6 1 2 3
    3 4 5 6 7 8 9 7 8 9 10 11 12 13 4 5 6 7 8 9 10
    10 11 12 13 14 15 16 14 15 16 17 18 19 20 11 12 13 14 15 16 17
    17 18 19 20 21 22 23 21 22 23 24 25 26 27 18 19 20 21 22 23 24
    24 25 26 27 28 29 30 28 29 30 31 25 26 27 28 29 30
    31
    October November December
    Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
    1 1 2 3 4 5 1 2 3
    2 3 4 5 6 7 8 6 7 8 9 10 11 12 4 5 6 7 8 9 10
    9 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

    -j显示某月的天当年中的第几天

    [root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# cal -j 2 2026
    February 2026
    Sun Mon Tue Wed Thu Fri Sat
    32 33 34 35 36 37 38
    39 40 41 42 43 44 45
    46 47 48 49 50 51 52
    53 54 55 56 57 58 59

find 指令

Linux下find命令在目录结构中的搜索文件,并执行指定的操作。

Linux下find命令提供了相当多的查找条件,功能很强大。

即是系统中含有网络文件系统(NFS),find命令在该文件系统中同样有效,只要你具有相应的权限。

在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里指30G以上的文件系统)

语法: find pathname -options

功能:用于在文件树中查找文件,并做出相应的处理(可能访问磁盘)

常用选项:

  • -name 按照文件名查找文件

其他选项需要现查,这个命令比较复杂

复制代码
#在指定路径下搜索执行名称的文件或目录
[root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# find find ~ -name dir
find: 'find': No such file or directory
/root/118/dir
/root/120/dir
/root/117/dir

which 指令

功能:搜索系统指定的命令

复制代码
[root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# which ls
alias ls='ls --color=auto'
	/usr/bin/ls
[root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# which pwd
/usr/bin/pwd

whereis 指令

功能:用于找到程序的源、二进制文件或手册

复制代码
[root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

alias指令

功能:++设置命令的别名++

复制代码
#设置别名
[root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# alias hello='pwd'
[root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# hello
/root/119
[root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# which hello
alias hello='pwd'
	/usr/bin/pwd

#删除别名
[root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# alias hello=''
[root@iZ2zeiwy4tf4rghoyh5d1yZ 119]# hello

grep 指令

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

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

常用选项:

  • -i :忽略大小写的不同,所有大小写视为相同

  • -n :顺便输出行号

  • -v :反向选择,即显示出没有搜寻字符串的那一行

    #文件内容
    [root@iZ2zeiwy4tf4rghoyh5d1yZ ~]# cat temp.txt
    abcd
    ABCD
    hello
    tyut
    1234

    #基本查找
    [root@iZ2zeiwy4tf4rghoyh5d1yZ ~]# grep "abcd" temp.txt
    abcd

    #忽略大小写
    [root@iZ2zeiwy4tf4rghoyh5d1yZ ~]# grep -i "abcd" temp.txt
    abcd
    ABCD

    #输出行号
    [root@iZ2zeiwy4tf4rghoyh5d1yZ ~]# grep -n "e" temp.txt
    3:hello

    #反向选择,输出行号,忽略大小写
    [root@iZ2zeiwy4tf4rghoyh5d1yZ ~]# grep -ivn "a" temp.txt
    3:hello
    4:tyut
    5:1234

top 指令

用途:用于动态查看进程活动,系统资源占用以及运行状态

复制代码
top -d 1 -n 5
-d:刷新的时间间隔
-n:刷新的次数
q:退出

zip/unzip指令

语法:zip 压缩文件 .zip 目录或文件

功能: 将目录或文件压缩成zip格式

常用选项

-r:递归处理,将指定目录下的所有文件和子目录一并处理

举例

将text2目录压缩: zip test2.zip test2/*

解压到tmp目录: unzip test2.zip -d /tmp

tar 指令(*)

打包/解包,不打开它,直接看内容

语法: tar [-cxtzjvf] 文件与目录....

参数:

  • -c :建立一个压缩文件的参数指令(create的意思);

  • -x :解开一个压缩文件的参数指令

  • -t :查看tarfile里面的文件

  • -z:是否同时具有gzip属性?即是否需要用gzip压缩?

  • -j :是否同时具有bzip2的属性?即是否需要用bzip2压缩?

  • -v:压缩过程中显示文件!不建议用在背景执行过程!

  • -f : 使用档名,f之后需要立即接档名不能再加参数

  • -C:解压到指定目录

    [root@iZ2zeiwy4tf4rghoyh5d1yZ d]# tar -czf test1.tgz test1
    [root@iZ2zeiwy4tf4rghoyh5d1yZ d]# ls
    test1 test1.tgz
    [root@iZ2zeiwy4tf4rghoyh5d1yZ d]# tar -xzf test1.tgz -C ~/
    [root@iZ2zeiwy4tf4rghoyh5d1yZ d]# cd ..
    [root@iZ2zeiwy4tf4rghoyh5d1yZ ~]# ls
    d test1
    [root@iZ2zeiwy4tf4rghoyh5d1yZ ~]# tree test1
    test1
    ├── dir
    │ └── hello.txt
    └── hi.txt

    1 directory, 2 files

bc 指令

bc命令可以很方便的进行浮点运算

复制代码
[root@iZ2zeiwy4tf4rghoyh5d1yZ ~]# bc
bc 1.07.1
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
1+1
2
1+2+34
37
1.2+3.4566
4.6566
1*33
33
2*4
8
7/2
3

unname 指令

语法:unname[选项]

功能:unname用来获取电脑和操作系统的相关信息。

补充说明:uname可以显示Linux主机所用的操作系统的版本、硬件的名称等基本信息、

常用选项:

  • -a 或 -all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称

  • lsb_release -a :查看操作系统版本

    [root@iZ2zeiwy4tf4rghoyh5d1yZ ~]# uname
    Linux

    [root@iZ2zeiwy4tf4rghoyh5d1yZ ~]# uname -a
    Linux iZ2zeiwy4tf4rghoyh5d1yZ 4.18.0-193.28.1.el8_2.x86_64 #1 SMP Thu Oct 22 00:20:22 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

    [root@iZ2zeiwy4tf4rghoyh5d1yZ ~]# lsb_release -a
    LSB Version: :core-4.1-amd64:core-4.1-noarch
    Distributor ID: CentOS
    Description: CentOS Linux release 8.2.2004 (Core)
    Release: 8.2.2004
    Codename: Core

关机 指令

语法:shutdown [选项]

常见选项:

  • -h :将系统的服务停掉后,立即关机
  • -r :将系统的服务停掉后,重新启动
  • -t sec:-t 后面加秒数,过几秒后关机

重要的几个热键[Tab] [ctrl] +c [ctrl]+d

  1. Tab\]按键具有命令补全和档案补齐的功能

  2. Ctrl\] d代表着键盘输入结束 也可代替exit

Linux严格意义上说是一个操作系统,我们称之为"核心(kernel)",但我们一般用户,不能直接使用kernel。而是通过kernel的"外壳"程序,也就是所谓的shell,来和kernel沟通。如何理解?为什么不能直接使用kernel?

从技术角度,shell的最简单定义:命令行解释器主要包含:

将使用者的命令翻译给核心(kernel)处理

同时,将核心的处理结果翻译给使用者

对比Windows GUI 我们操作Windows不是直接操作Windows内核,而是通过图像接口,点击,从而完成我们的操作

shell对于Linux,有着相同的作用,主要对我们的指令进行解析,解析指令给linux内核。反馈结果在通过内核运行输出结果,通过shell解析给用户。

shell相当于一个翻译官。

相关推荐
xkxnq4 小时前
第四阶段:Vue 进阶与生态整合(第 58 天)(Vue 项目部署:打包、上线与服务器配置)
服务器·前端·vue.js
昨夜见军贴06164 小时前
合规性管理的现代化实践:IACheck的AI审核如何系统提升生产型检测报告的合规水平
大数据·运维·人工智能
Doro再努力5 小时前
【Linux04】 Linux基础指令完结与Linux权限初识(一)
linux·运维·服务器
江畔何人初5 小时前
k8s中namespace与容器cgroup区别
linux·运维·云原生
DARLING Zero two♡5 小时前
白板协作总卡壳?Tldraw+cpolar 解锁跨地域实时共创
服务器
草莓熊Lotso5 小时前
远程控制软件实测!2026年1月远程软件从“夯”到“拉”全功能横评
运维·服务器·数据库·人工智能
次旅行的库5 小时前
不能将windows本地虚拟环境打包到实验室服务器
linux·windows·conda
沐雪架构师5 小时前
LangChain 1.0 记忆管理:短期与长期记忆详解
服务器·数据库·langchain
艾莉丝努力练剑5 小时前
【Linux进程控制(三)】实现自主Shell命令行解释器
linux·运维·服务器·c++·人工智能·安全·云原生