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

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.lryc.cn/news/592856.html

相关文章:

  • 告别宕机!Ubuntu自动重启定时任务设置(一键脚本/手动操作)
  • 目标框的位置以及大小的分布
  • 突破性量子芯片问世:电子与光子首次集成,开启量子技术规模化应用新篇章
  • git--gitlab
  • oracle 11.2.0.4 RAC下执行root.sh脚本报错
  • 参会邀请!2025世界人工智能大会合合信息技术交流日报名启动!
  • Django母婴商城项目实践(五)- 数据模型的搭建
  • Excel导出实战:从入门到精通 - 构建专业级数据报表的完整指南
  • C语言-一维数组,二维数组
  • Java HashMap 详解:从原理到实战
  • 【java 安全】 IO流
  • -lstdc++与-static-libstdc++的用法和差异
  • [2025CVPR-目标检测方向] CorrBEV:多视图3D物体检测
  • 基于极空间NAS+GL-MT6000路由器+Tailscale的零配置安全穿透方案
  • 40.限流规则
  • 数据排序
  • 二进制专项
  • 探索 Vue 3.6 的新玩法:Vapor 模式开启性能新篇章
  • 网安-DNSlog
  • DOM 文档对象模型
  • GI6E 加密GRID電碼通信SHELLCODE載入
  • 柴油机活塞cad【4张】三维图+设计说明书
  • RPG58.可拾取物品二:处理玩家拾取事件
  • vue2 面试题及详细答案150道(81 - 90)
  • android14截屏
  • C++进阶-红黑树(难度较高)
  • mysql复制延迟如何处理
  • 亚马逊新手如何快速上手广告运营,实现品牌曝光与销量提升?
  • Springboot3整合Elasticsearch8(elasticsearch-java)
  • Overleaf撰写文档