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

40+个常用的Linux指令——上

文章目录

  • 基础指令

基础指令

1. ls指令
ls指令是 Linux 中最常用的基础命令之一,用于列出目录内容。
语法:ls [选项] [目录或文件]
基本功能
默认行为:直接输入 ls 会列出当前目录下的文件和子目录(非隐藏文件)
在这里插入图片描述
常用选项

-l:长格式显示(权限、所有者、大小、修改时间等)
-a:显示所有文件(包括隐藏文件,以 . 开头的文件)
-h:人类可读的文件大小(如 KB、MB)
-t:按修改时间排序(最新的在前)
-r:反向排序
-s:按文件大小排序
-i:显示文件的 inode 号
-R:列出所有子目录下的文件(递归)
-1:一行只输出一个文件
-F:在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示
目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)
-d:将目录像文件⼀样显示,而不是显示其下的文件。如:ls ‒d 指定目录

举例:

[lll@hcss-ecs-647d test]$ ls
dir1  file1.txt  file2.txt
[lll@hcss-ecs-647d test]$ ls -l
total 4
drwxrwxr-x 2 lll lll 4096 Jul 18 12:39 dir1
-rw-rw-r-- 1 lll lll    0 Jul 18 12:26 file1.txt
-rw-rw-r-- 1 lll lll    0 Jul 18 12:39 file2.txt
[lll@hcss-ecs-647d test]$ ls -a
.  ..  dir1  file1.txt  file2.txt
[lll@hcss-ecs-647d test]$ ls -h
dir1  file1.txt  file2.txt
[lll@hcss-ecs-647d test]$ ls -al
total 12
drwxrwxr-x  3 lll lll 4096 Jul 18 12:39 .
drwx------ 12 lll lll 4096 Jul 18 12:25 ..
drwxrwxr-x  2 lll lll 4096 Jul 18 12:39 dir1
-rw-rw-r--  1 lll lll    0 Jul 18 12:26 file1.txt
-rw-rw-r--  1 lll lll    0 Jul 18 12:39 file2.txt
[lll@hcss-ecs-647d test]$ ls -t
dir1  file2.txt  file1.txt
[lll@hcss-ecs-647d test]$ ls -r
file2.txt  file1.txt  dir1
[lll@hcss-ecs-647d test]$ ls -s
total 4
4 dir1  0 file1.txt  0 file2.txt
[lll@hcss-ecs-647d test]$ ls -R
.:
dir1  file1.txt  file2.txt./dir1:
test.txt
[lll@hcss-ecs-647d test]$ ls -1
dir1
file1.txt
file2.txt
[lll@hcss-ecs-647d test]$ ls -F
dir1/  file1.txt  file2.txt
[lll@hcss-ecs-647d test]$ ls -d dir1
dir1

知识点补充:
以"."开头的文件或目录为隐藏文件或隐藏目录

[lll@hcss-ecs-647d test]$ ls -l
total 4
drwxrwxr-x 2 lll lll 4096 Jul 18 12:39 dir1
-rw-rw-r-- 1 lll lll    0 Jul 18 12:26 file1.txt
-rw-rw-r-- 1 lll lll    0 Jul 18 12:39 file2.txt
[lll@hcss-ecs-647d test]$ ls -al
total 16
drwxrwxr-x  4 lll lll 4096 Jul 18 12:52 .
drwx------ 12 lll lll 4096 Jul 18 12:25 ..
drwxrwxr-x  2 lll lll 4096 Jul 18 12:39 dir1
drwxrwxr-x  2 lll lll 4096 Jul 18 12:52 .dir2
-rw-rw-r--  1 lll lll    0 Jul 18 12:26 file1.txt
-rw-rw-r--  1 lll lll    0 Jul 18 12:39 file2.txt
-rw-rw-r--  1 lll lll    0 Jul 18 12:52 .file3.txt

文件!= 文件内容、文件=内容+属性
以d开头的为目录,以-开头的为普通文件
“.”代表当前路径,“. .”代表上级路径,任何一个目录,都存在".“和”. ."

2. pwd指令
pwd是 Linux 中用于显示当前工作目录路径的基础命令。
基本用法

[lll@hcss-ecs-647d test]$ pwd
/home/lll/test

(显示当前所在的绝对路径)

在输出的路径中,“/”是路径分隔符,两个路径分隔符之间的,一定是一个目录;末端文件可能是一个目录或者是普通文件

3. cd指令
cd是 Linux 中最常用的命令之一,用于切换当前工作目录。
语法:ls [目标路径]
基本功能
将终端的当前工作目录切换到指定路径

[lll@hcss-ecs-647d ~]$ cd test/dir1
[lll@hcss-ecs-647d dir1]$ pwd
/home/lll/test/dir1

常见用法示例:

  • 切换到绝对路径
[lll@hcss-ecs-647d dir1]$ cd /home/lll/Linux_test/
[lll@hcss-ecs-647d Linux_test]$ pwd
/home/lll/Linux_test

绝对路径就是从根目录 / 开始,直接定位到目标路径,路径中出现的第一个“/”代表根目录

  • 切换到相对路径
[lll@hcss-ecs-647d Linux_test]$ pwd
/home/lll/Linux_test
[lll@hcss-ecs-647d Linux_test]$ cd ../test/
[lll@hcss-ecs-647d test]$ pwd
/home/lll/test
[lll@hcss-ecs-647d test]$ cd ./dir1
[lll@hcss-ecs-647d dir1]$ pwd
/home/lll/test/dir1
[lll@hcss-ecs-647d dir1]$ 

相对路径就是从当前目录开始,定位到目标路径

  • 快速返回家目录
[lll@hcss-ecs-647d dir1]$ cd ~
[lll@hcss-ecs-647d ~]$ pwd
/home/lll
  • 切换到上一次目录
[lll@hcss-ecs-647d ~]$ pwd
/home/lll
[lll@hcss-ecs-647d ~]$ cd -
/home/lll/test/dir1
[lll@hcss-ecs-647d dir1]$ cd -
/home/lll

通过上述的指令,我们对路径有了一定的认识:
Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件
其中普通文件一定是目录树的叶子节点
目录可能是叶子(空目录),也可能是路上节点
树状组织方式,都是为了保证快速定位查找到指定的文件,而定位文件就需要具有唯一性的方案来进行定位文件。其中任何一个节点,都只有一个父节点,所以,从根目录开始,定位指定文件,路径具有唯一性

证明Linux中目录和文件组成的是一个多叉树结构:

[lll@hcss-ecs-647d dir1]$ mkdir -p a/b/c/d
[lll@hcss-ecs-647d dir1]$ touch a/b/c/d/log.txt
[lll@hcss-ecs-647d dir1]$ ls
a  test.txt
[lll@hcss-ecs-647d dir1]$ tree .
.
├── a
│   └── b
│       └── c
│           └── d
│               └── log.txt
└── test.txt4 directories, 2 files

4. touch指令
touch 是 Linux 中用于管理文件时间戳或创建空文件的常用命令。
基本功能

创建空文件:若文件不存在,则创建指定名称的空文件。
更新时间戳:若文件已存在,则更新其访问时间(atime)和修改时间(mtime)为当前时间。
控制时间戳:通过选项可精确设置文件的访问、修改或状态变更时间。

基本用法:创建一个或多个文件

[lll@hcss-ecs-647d dir2]$ touch log.txt
[lll@hcss-ecs-647d dir2]$ ls
log.txt
[lll@hcss-ecs-647d dir2]$ touch file1.txt file2.txt file3.txt
[lll@hcss-ecs-647d dir2]$ ls
file1.txt  file2.txt  file3.txt  log.txt

常用选项
-a:仅更新访问时间(atime)
-m:仅更新修改时间(mtime)
-c:不创建新文件(仅更新已存在文件的时间戳)
补充:stat [目标文件/目录] 可用于查看文件/目录的详细信息(AMC时间等)

(更新访问时间)

[lll@hcss-ecs-647d dir2]$ stat log.txtFile: ‘log.txt’Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fd01h/64769d	Inode: 792523      Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/     lll)   Gid: ( 1000/     lll)
Access: 2025-07-18 14:26:18.216304240 +0800
Modify: 2025-07-18 14:26:18.216304240 +0800
Change: 2025-07-18 14:26:18.216304240 +0800Birth: -
[lll@hcss-ecs-647d dir2]$ touch -a log.txt
[lll@hcss-ecs-647d dir2]$ stat log.txtFile: ‘log.txt’Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fd01h/64769d	Inode: 792523      Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/     lll)   Gid: ( 1000/     lll)
Access: 2025-07-18 14:32:09.056121000 +0800
Modify: 2025-07-18 14:26:18.216304240 +0800
Change: 2025-07-18 14:32:09.056121000 +0800Birth: -

(更新修改时间)

[lll@hcss-ecs-647d dir2]$ touch -m log.txt
[lll@hcss-ecs-647d dir2]$ stat log.txtFile: ‘log.txt’Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fd01h/64769d	Inode: 792523      Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/     lll)   Gid: ( 1000/     lll)
Access: 2025-07-18 14:32:09.056121000 +0800
Modify: 2025-07-18 14:33:10.376874182 +0800
Change: 2025-07-18 14:33:10.376874182 +0800Birth: -

touch 是轻量级文件管理工具,核心功能是时间戳控制和空文件创建。在脚本中常用于初始化文件、触发事件或标记文件状态。

5. mkdir指令
mkdir是 Linux 中用于创建目录(文件夹)的核心命令,支持单级或多级目录创建,并可通过选项控制行为。
基本功能
作用:在当前路径或指定路径下创建新目录
语法:mkdir [选项] 目录名…
举例:创建一个目录

[lll@hcss-ecs-647d dir2]$ mkdir mydir
[lll@hcss-ecs-647d dir2]$ ls
mydir

常用选项
-p:一次可建立多个目录

[lll@hcss-ecs-647d mydir]$ mkdir -p x/y/z
[lll@hcss-ecs-647d mydir]$ ls
x
[lll@hcss-ecs-647d mydir]$ tree .
.
└── x└── y└── z3 directories, 0 files

6. rmdir指令&&rm指令
rmdir是 Linux 中用于删除空目录的命令,与 rm 不同,它仅能删除没有子文件或子目录的空文件夹,安全性更高。
基本功能
语法:rmdir [空目录名]

[lll@hcss-ecs-647d mydir]$ tree .
.
└── dir1 directory, 0 files
[lll@hcss-ecs-647d mydir]$ rmdir dir
[lll@hcss-ecs-647d mydir]$ tree .
.0 directories, 0 files

常用选项
-p:当子目录被删除后如果父目录也变成空目录的话,就连带父目录⼀起删除

[lll@hcss-ecs-647d mydir]$ tree .
.
└── x└── y└── z3 directories, 0 files
[lll@hcss-ecs-647d mydir]$ rmdir -p x/y/z
[lll@hcss-ecs-647d mydir]$ tree .
.0 directories, 0 files

-pv:可递归删除嵌套空目录并显示过程,便于调试

[lll@hcss-ecs-647d mydir]$ mkdir -p x/y/z
[lll@hcss-ecs-647d mydir]$ rmdir -pv x/y/z
rmdir: removing directory, ‘x/y/z’
rmdir: removing directory, ‘x/y’
rmdir: removing directory, ‘x’

rm 是 Linux 中用于删除文件或目录的核心命令
基本功能
删除文件语法:rm [文件名]

[lll@hcss-ecs-647d mydir]$ ls
test.txt
[lll@hcss-ecs-647d mydir]$ rm test.txt
[lll@hcss-ecs-647d mydir]$ ls

删除目录常用选项
-d:删除空目录
-f:即使文件属性为只读(即写保护),亦直接删除(删除前不必再次确认,直接删除)
-i:删除前逐一询问确认
-r:删除目录及其下所有文件
举例
(删除空目录)

[lll@hcss-ecs-647d mydir]$ ls
dir
[lll@hcss-ecs-647d mydir]$ rm -d dir
[lll@hcss-ecs-647d mydir]$ ls

(-ri 组合:删除非空目录前逐一询问确认)

[lll@hcss-ecs-647d mydir]$ tree .
.
└── x└── y└── z3 directories, 0 files
[lll@hcss-ecs-647d mydir]$ rm -ri x
rm: descend into directory ‘x’? y
rm: descend into directory ‘x/y’? y
rm: remove directory ‘x/y/z’? y
rm: remove directory ‘x/y’? y
rm: remove directory ‘x’? y
[lll@hcss-ecs-647d mydir]$ tree .
.0 directories, 0 files

图片中询问用户是否要删除目录,用户回答y/n即可

(-rf 组合:不必询问直接删除非空目录)

[lll@hcss-ecs-647d mydir]$ tree .
.
└── x└── y└── z3 directories, 0 files
[lll@hcss-ecs-647d mydir]$ rm -rf x
[lll@hcss-ecs-647d mydir]$ tree .
.0 directories, 0 files

7. man指令
man 是 Linux 系统中用于查看命令、函数、配置文件等官方文档的核心工具,全称 manual(手册)。
基本用法
语法:man [命令名]
作用:查看命令的详细说明

[lll@hcss-ecs-647d mydir]$ man ls

即可查看关于ls命令的说明,即ls的使用和可搭配的选项,按q即可退出手册

常用选项
-k:搜索关键词相关手册
num:只在第num章节查找
-a:将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,用a选项,当按下q退出,它会继续往后面搜索,直到所有章节都搜索完毕
举例
该命令会出现,与printf相关的手册的信息

[lll@hcss-ecs-647d mydir]$ man -k printf

只在手册的第一章中查找与 printf 有关的信息

[lll@hcss-ecs-647d mydir]$ man 1 printf

关于手册的补充,man手册分为9章(当然不同系统可能会存在差别)

  • 第一章,普通命令的说明
  • 第二章,系统调用
  • 第三章,库函数
  • 第四章,设备文件的说明
  • 第五章,文件格式和约定
  • 第六章,游戏和娱乐相关命令
  • 第七章,一些变量的说明
  • 第八章,系统管理命令
  • 第九章,内核相关文档

8. cp指令
在 Linux 中,cp 是 copy(复制) 的缩写,用于复制文件或目录,是日常系统管理和文件操作的核心命令。
基本功能
语法:cp [选项] 源文件/目录 目标文件/目录
说明:如同时指定两个以上的源文件或目录,且最后的目的地是一个已经存在的目标目录,则它会把指定的所有源文件或目录复制到此目标目录中
举例
(cp普通文件)

[lll@hcss-ecs-647d mydir]$ tree .
.
├── testdir
└── test.txt1 directory, 1 file
[lll@hcss-ecs-647d mydir]$ cp test.txt testdir
[lll@hcss-ecs-647d mydir]$ tree .
.
├── testdir
│   └── test.txt
└── test.txt1 directory, 2 files

(将多个文件拷贝到指定路径下)

[lll@hcss-ecs-647d mydir]$ tree testdir
testdir0 directories, 0 files
[lll@hcss-ecs-647d mydir]$ ls
file.txt  testdir  test.txt
[lll@hcss-ecs-647d mydir]$ cp *.txt testdir
[lll@hcss-ecs-647d mydir]$ tree testdir
testdir
├── file.txt
└── test.txt0 directories, 2 files

补充:“*”代表通配符,匹配所有“.txt”的文件

常用选项
-i:覆盖前提示确认(交互模式)
-r:递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
-f:强行复制文件或目录,不论目标文件或目录是否已经存在
举例
(当目标目录中已存在一份与源文件/目录相同的名字,则拷贝前询问)

[lll@hcss-ecs-647d mydir]$ ls
file.txt  testdir  test.txt
[lll@hcss-ecs-647d mydir]$ cat file.txt 
hello world!
[lll@hcss-ecs-647d mydir]$ cat testdir/file.txt 
hello!
[lll@hcss-ecs-647d mydir]$ cp -i file.txt testdir
cp: overwrite ‘testdir/file.txt’? y
[lll@hcss-ecs-647d mydir]$ cat testdir/file.txt 
hello world!

补充说明cat指令:查看文件的内容,-n,打印内容时带序号;-s,合并空行;tac,逆向打印

(递归强制拷贝整个目录,包括目录中的子目录与文件)

[lll@hcss-ecs-647d dir2]$ ls
cp_test  mydir
[lll@hcss-ecs-647d dir2]$ tree mydir
mydir
├── file.txt
├── testdir
│   └── file.txt
└── test.txt1 directory, 3 files
[lll@hcss-ecs-647d dir2]$ cp -rf mydir cp_test
[lll@hcss-ecs-647d dir2]$ tree cp_test/
cp_test/
└── mydir├── file.txt├── testdir│   └── file.txt└── test.txt2 directories, 3 files

9. mv指令
在 Linux 中,mv是用于移动或重命名文件/目录的核心命令,通俗说法就是人们常用的剪切功能。
基本功能
语法:mv [选项] 源文件/目录 目标文件/目录
功能:

  • 若源和目标在同一目录:执行重命名操作
  • 若源和目标在不同目录:执行移动操作
  • 多源处理:可同时移动多个文件/目录,此时目标必须是目录(所有源会被移动到该目录下)

举例
(重命名)

[lll@hcss-ecs-647d testdir]$ ls
file.txt
[lll@hcss-ecs-647d testdir]$ mv file.txt test.txt
[lll@hcss-ecs-647d testdir]$ ls
test.txt

(移动)

[lll@hcss-ecs-647d mydir]$ ls
file.txt  testdir
[lll@hcss-ecs-647d mydir]$ tree testdir/
testdir/0 directories, 0 files
[lll@hcss-ecs-647d mydir]$ mv file.txt testdir/
[lll@hcss-ecs-647d mydir]$ ls
testdir
[lll@hcss-ecs-647d mydir]$ tree testdir/
testdir/
└── file.txt0 directories, 1 file

(多源处理)

[lll@hcss-ecs-647d mydir]$ ls
testdir
[lll@hcss-ecs-647d mydir]$ cd testdir/
[lll@hcss-ecs-647d testdir]$ ls
file.txt  myfile.txt
[lll@hcss-ecs-647d testdir]$ mv file.txt myfile.txt ../
[lll@hcss-ecs-647d testdir]$ ls
[lll@hcss-ecs-647d testdir]$ tree ..
..
├── file.txt
├── myfile.txt
└── testdir1 directory, 2 files

(剪切+重命名)

[lll@hcss-ecs-647d mydir]$ ls
file.txt  myfile.txt  testdir
[lll@hcss-ecs-647d mydir]$ tree testdir/
testdir/0 directories, 0 files
[lll@hcss-ecs-647d mydir]$ mv myfile.txt testdir/yourfile.txt
[lll@hcss-ecs-647d mydir]$ ls
file.txt  testdir
[lll@hcss-ecs-647d mydir]$ tree testdir/
testdir/
└── yourfile.txt0 directories, 1 file

常用选项
-f:强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i:若⽬标文件(destination)已经存在时,就会询问是否覆盖!
(该选项用法与cp指令类似,就不举例了)

以上指令基本上都是对文件进行访问修改等操作的核心命令,在Linux中都是比较常用的

http://www.xdnf.cn/news/15818.html

相关文章:

  • halcon模版匹配方向的研究
  • ts学习2
  • 飞算科技:以创新科技引领数字化变革,旗下飞算 JavaAI 成开发利器
  • 人脸检测算法——SCRFD
  • 可靠消息最终一致性分布式事务解决方案
  • 基础密码协议
  • Xilinx Zynq:一款适用于软件定义无线电的现代片上系统
  • 代理模式及优化
  • 手撕Spring底层系列之:Bean的生命周期
  • C++进阶-红黑树(难度较高)
  • Docker报错:No address associated with hostname
  • 广东省省考备考(第四十九天7.18)——判断推理:位置规律(听课后强化训练)
  • 深度学习×第10卷:她用一块小滤镜,在图像中找到你
  • 基于 WinForm 与虹软实现人脸识别功能:从理论到实践
  • 洛谷 P1395 会议
  • 周志华《机器学习导论》第9章 聚类
  • Linux基本操作
  • Linux内核设计与实现 - 第3章:Linux的进程
  • 使用python读取json数据,简单的处理成元组数组
  • 2026python实战——如何利用海外代理ip爬取海外数据
  • 【机器学习】AdamW可调参数介绍及使用说明
  • Ubuntu查看Docker容器
  • 双向广搜算法详解
  • 数据结构——单调栈
  • 服务管理智能化:R²AIN SUITE 升级带来的两大功能更新哪些值得关注?
  • SQLite / LiteDB 单文件数据库为何“清空表后仍占几 GB”?——原理解析与空间回收实战
  • 告别宕机!Ubuntu自动重启定时任务设置(一键脚本/手动操作)
  • 怎么自己搭建云手机
  • 数据库防止数组字符串序列化
  • 知识管理中的人工智能:概述、主要功能和管理工具