Linux基础指令(一)
Linux作为开源操作系统,拥有多种发行版本和应用场景。主流发行版包括稳定的Debian、用户友好的Ubuntu、商业化的Red Hat/CentOS,以及专为渗透测试设计的Kali Linux。在企业应用中,Linux占据服务器市场96%以上份额,同时在桌面、移动嵌入式、云计算/大数据及AI等新兴领域快速发展。文章还介绍了Linux基础指令如ls的用法及选项,展现了其在数字基础设施中的核心地位。
Linux的版本以及应用
Linux的发行版本
- Debian
Debian运⾏起来极其稳定,其“稳定”意味着软件库中的版本可能较旧,但经过极致测试,无与伦比的可靠这使得它⾮常适合⽤于服务器。 debian这款操作系统⽆疑并不适合新⼿⽤⼾,⽽是适合系统管理员和⾼级⽤⼾。 - Ubuntu
Ubuntu是Debian的⼀款衍⽣版,也是当今最受欢迎的免费操作系统。Ubuntu侧重于它在这个市场的应⽤,在服务器、云计算、甚⾄⼀些运⾏Ubuntu Linux的移动设备上很常⻅。Ubuntu是新⼿⽤⼾肯定爱不释⼿的⼀款操作系统。其两个版本:LTS:长期支持版,每两年发布一次,提供5年的免费安全更新,是服务器和稳健桌面的首选。
常规版:每六个月发布一次,提供9个月支持,适合追求新特性的用户。 - 红帽企业级Linux (Red Hat系)
这是第⼀款⾯向商业市场的Linux发⾏版。它有服务器版本,⽀持众多处理器架构,包括x86和x86_64。红帽公司通过课程红帽认证系统管理员/红帽认证⼯程师(RHCSA/RHCE),对系统管理员进⾏培训和认证。 - CentOS
CentOS是⼀款企业级Linux发⾏版,它使⽤红帽企业级Linux中的免费源代码重新构建⽽成。这款重构版完全去掉了注册商标以及Binary程序包⽅⾯⼀个⾮常细微的变化。有些⼈不想⽀付⼀⼤笔钱,⼜能领略红帽企业级Linux;对他们来说,CentOS值得⼀试。此外,CentOS的外观和⾏为似乎与⺟发⾏版红帽企业级Linux如出⼀辙。 CentOS使⽤YUM来管理软件包。但2020年底,红帽宣布停止维护传统的CentOS Linux(即RHEL的免费复刻版),转而推动 CentOS Stream - Fedora
⼩巧的Fedora适合那些⼈:想尝试最先进的技术,等不及程序的稳定版出来。其实,Fedora就是
红帽公司的⼀个测试平台;产品在成为企业级发⾏版之前,在该平台上进⾏开发和测试。Fedora
是⼀款⾮常好的发⾏版,有庞⼤的⽤⼾论坛,软件库中还有为数不少的软件包。 - Kali Linux
Kali Linux是Debian的⼀款衍⽣版。Kali旨在⽤于渗透测试。Kali的前⾝是Backtrack。⽤于Debian的所有Binary软件包都可以安装到Kali Linux上,此外,⽀持Debian的⽤⼾论坛为Kali加分不少。Kali随带许多的渗透测试⼯具,⽆论是Wifi、数据库还是其他任何⼯具,都设计成⽴⻢可以使⽤。Kali使⽤APT来管理软件包。不推荐新手将其作为主系统。应在虚拟机、Live USB或专用设备上运行。
Linux在企业中的应用
- Linux在服务器领域的发展
随着开源软件在世界范围内影响⼒⽇益增强,Linux服务器操作系统在整个服务器操作系统市场格局中占据了越来越多的市场份额,已经形成了⼤规模市场应⽤的局⾯。并且保持着快速的增⻓率。尤其在政府、⾦融、农业、交通、电信等国家关键领域。此外,考虑到Linux的快速成⻓性以及国家相关政策的扶持⼒度,Linux服务器产品⼀定能够冲击更⼤的服务器市场。据权威部⻔统计,⽬前Linux在服务器领域已经占据96%以上的绝对市场份额,并以强劲的势头成为服务器操作系统领域中的中坚⼒量。 - Linux在桌⾯领域的发展
近年来,特别在国内市场,Linux桌⾯操作系统的发展趋势⾮常迅猛。国内如中标麒麟Linux、红旗Linux、深度Linux等系统软件⼚商都推出的Linux桌⾯操作系统,⽬前已经在政府、企业、OEM等领域得到了⼴泛应⽤。另外SUSE、Ubuntu也相继推出了基于Linux的桌⾯系统,特别是Ubuntu Linux,已经积累了⼤量社区⽤⼾。但是,从系统的整体功能、性能来看,Linux桌⾯系统与Windows系列相⽐还有⼀定的差距,主要表现在系统易⽤性、系统管理、软硬件兼容性、软件的丰富程度等⽅⾯。 - Linux在移动嵌⼊式领域的发展
Linux的低成本、强⼤的定制功能以及良好的移植性能,使得Linux在嵌⼊式系统⽅⾯也得到⼴泛应⽤,⽬前Linux以⼴泛应⽤于⼿机、平板电脑、路由器、电视和电⼦游戏机等领域。在移动设备上⼴泛使⽤的Android操作系统就是创建在Linux内核之上的。⽬前,Android已经成为全球最流⾏的智能⼿机操作系统,此外,思科在⽹络防⽕墙和路由器也使⽤了定制的Linux,阿⾥云也开发了⼀套基于Linux的操作系统“YunOS”,可⽤于智能⼿机、平板电脑和⽹络电视;常⻅的数字视频录像机、舞台灯光控制系统等都在逐渐采⽤定制版本的Linux来实现,⽽这⼀切均归功与Linux与开源的⼒量。 - Linux在云计算/⼤数据领域的发展
互联⽹产业的迅猛发展,促使云计算、⼤数据产业的形成并快速发展,云计算、⼤数据作为⼀个基于开源软件的平台,Linux占据了核⼼优势;截止目前,接近100%的企业已经使⽤Linux操作系统进⾏云计算、⼤数据平台的构建,⽬前,Linux已开始取代Unix成为最受⻘睐的云计算、⼤数据平台操作系统。 - Linux在新兴前沿领域的发展
对于人工智能方面Linux不仅是运行AI的平台,其内核本身正在集成AI特性,用于优化资源调度、安全监控和性能预测。轻量级Linux发行版是部署边缘AI推理引擎的关键载体。对于机密计算与安全,Linux内核持续强化安全模块(如eBPF),并支持Intel SGX等硬件安全技术,成为可信计算环境的基础。
Linux已不仅仅是“一个操作系统”,而是整个数字基础设施的“操作系统层”。随着开源成为技术创新的默认模式,以及数字化转型、信创政策的深入,Linux在各领域的统治地位将继续巩固和扩展,并持续定义未来十年的技术架构。
Linux的基础指令
计算机系统(特别是类Unix/Linux系统)的经典分层架构

基础指令
ls指令
语法: ls [选项] [目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。 对于文件,将列出文件名以及其他信息。
常用选项:
- -a 列出目录下的所有文件,包括以 . 开头的隐含文件。
- -d 将目录像文件⼀样显示,而不是显示其下的文件。 如:ls ‒d 指定目录
- -i 输出文件的 i 节点的索引信息。 如 ls ‒ai 指定文件
- -k 以 k 字节的形式表示文件的大小。ls ‒alk 指定文件
- -l 列出文件的详细信息
- -n ⽤数字的 UID,GID 代替名称。 (介绍 UID, GID)
- -r 对目录反向排序
- -t 以时间排序
- -s 在l文件名前输出该文件的大小。
- -R 列出所有子目录下的文件。
- -1 ⼀行只输出⼀个文件。
样例:
ubuntu@VM-0-6-ubuntu:~$ ls
file.cc test
ubuntu@VM-0-6-ubuntu:~$ ls -a
. .bash_history .bashrc file.cc .pip .pydistutils.cfg .sudo_as_admin_successful .Xauthority
.. .bash_logout .cache .npmrc .profile .ssh test
ubuntu@VM-0-6-ubuntu:~$ ls -a -l
total 52
drwxr-x--- 6 ubuntu ubuntu 4096 Feb 1 14:57 .
drwxr-xr-x 5 root root 4096 Dec 4 20:28 ..
-rw-r--r-- 1 ubuntu ubuntu 892 Feb 1 15:03 .bash_history
-rw-r--r-- 1 ubuntu ubuntu 220 Jan 7 2022 .bash_logout
-rw-r--r-- 1 ubuntu ubuntu 3771 Jan 7 2022 .bashrc
drwx------ 2 ubuntu ubuntu 4096 Dec 4 19:28 .cache
-rw-rw-r-- 1 ubuntu ubuntu 0 Feb 1 14:57 file.cc
-rw-r--r-- 1 ubuntu ubuntu 44 Dec 4 19:11 .npmrc
drwxr-xr-x 2 ubuntu ubuntu 4096 Dec 4 19:11 .pip
-rw-r--r-- 1 ubuntu ubuntu 807 Jan 7 2022 .profile
-rw-r--r-- 1 ubuntu ubuntu 73 Dec 4 19:11 .pydistutils.cfg
drwx------ 2 ubuntu ubuntu 4096 Dec 4 19:11 .ssh
-rw-r--r-- 1 ubuntu ubuntu 0 Dec 4 20:15 .sudo_as_admin_successful
drwxrwxr-x 2 ubuntu ubuntu 4096 Feb 1 14:57 test
-rw------- 1 ubuntu ubuntu 59 Feb 1 14:53 .Xauthority
ubuntu@VM-0-6-ubuntu:~$ ls -als
total 52
4 drwxr-x--- 6 ubuntu ubuntu 4096 Feb 1 14:57 .
4 drwxr-xr-x 5 root root 4096 Dec 4 20:28 ..
4 -rw-r--r-- 1 ubuntu ubuntu 913 Feb 1 15:03 .bash_history
4 -rw-r--r-- 1 ubuntu ubuntu 220 Jan 7 2022 .bash_logout
4 -rw-r--r-- 1 ubuntu ubuntu 3771 Jan 7 2022 .bashrc
4 drwx------ 2 ubuntu ubuntu 4096 Dec 4 19:28 .cache
0 -rw-rw-r-- 1 ubuntu ubuntu 0 Feb 1 14:57 file.cc
4 -rw-r--r-- 1 ubuntu ubuntu 44 Dec 4 19:11 .npmrc
4 drwxr-xr-x 2 ubuntu ubuntu 4096 Dec 4 19:11 .pip
4 -rw-r--r-- 1 ubuntu ubuntu 807 Jan 7 2022 .profile
4 -rw-r--r-- 1 ubuntu ubuntu 73 Dec 4 19:11 .pydistutils.cfg
4 drwx------ 2 ubuntu ubuntu 4096 Dec 4 19:11 .ssh
0 -rw-r--r-- 1 ubuntu ubuntu 0 Dec 4 20:15 .sudo_as_admin_successful
4 drwxrwxr-x 2 ubuntu ubuntu 4096 Feb 1 14:57 test
4 -rw------- 1 ubuntu ubuntu 59 Feb 1 14:53 .Xauthority
ubuntu@VM-0-6-ubuntu:~$ ls -alst
total 52
4 -rw-r--r-- 1 ubuntu ubuntu 933 Feb 1 15:03 .bash_history
4 drwxr-x--- 6 ubuntu ubuntu 4096 Feb 1 14:57 .
0 -rw-rw-r-- 1 ubuntu ubuntu 0 Feb 1 14:57 file.cc
4 drwxrwxr-x 2 ubuntu ubuntu 4096 Feb 1 14:57 test
4 -rw------- 1 ubuntu ubuntu 59 Feb 1 14:53 .Xauthority
4 drwxr-xr-x 5 root root 4096 Dec 4 20:28 ..
0 -rw-r--r-- 1 ubuntu ubuntu 0 Dec 4 20:15 .sudo_as_admin_successful
4 drwx------ 2 ubuntu ubuntu 4096 Dec 4 19:28 .cache
4 -rw-r--r-- 1 ubuntu ubuntu 44 Dec 4 19:11 .npmrc
4 drwxr-xr-x 2 ubuntu ubuntu 4096 Dec 4 19:11 .pip
4 -rw-r--r-- 1 ubuntu ubuntu 73 Dec 4 19:11 .pydistutils.cfg
4 drwx------ 2 ubuntu ubuntu 4096 Dec 4 19:11 .ssh
4 -rw-r--r-- 1 ubuntu ubuntu 220 Jan 7 2022 .bash_logout
4 -rw-r--r-- 1 ubuntu ubuntu 3771 Jan 7 2022 .bashrc
4 -rw-r--r-- 1 ubuntu ubuntu 807 Jan 7 2022 .profile
pwd指令
语法: pwd
功能:显示用户当前所在的目录
样例:
ubuntu@VM-0-6-ubuntu:~/test$ pwd
/home/ubuntu/test
cd指令
- 在Linux系统中,磁盘上的文件和目录被组成⼀棵目录树,每个节点都是目录或文件,其中普通文件⼀定是目录树的叶子节点,目录可能是叶子(空目录), 也可能是路上节点
- 路径存在的意义:树状组织方式,都是为了保证快速定位查找到指定的文件,而定位文件就需要具有唯一性的方案来进行定位文件。其中任何一个节点,都只有一个父节点,所以,从根目录开始,定位指定文件,路径具有唯⼀性
- 绝对路径:一般从/开始,不依赖其他目录的定位文件的方式
- 相对路径:相对于当前用户所处目录,定位文件的路径方式
- 绝对路径一般不会随着用户的路径变化而丧失唯一性,一般在特定服务的配置文件中经常被使用
- 相对路径因为它的便捷性,一般在命令行中使用较多


语法: cd [目录名]
功能:改变⼯作⽬录。将当前⼯作⽬录改变到指定的⽬录下
样例:
ubuntu@VM-0-6-ubuntu:~$ pwd
/home/ubuntu
# 返回上一级目录
ubuntu@VM-0-6-ubuntu:~$ cd ..
ubuntu@VM-0-6-ubuntu:/home$ pwd
/home
# 使用绝对路径
ubuntu@VM-0-6-ubuntu:/home$ cd /home/ubuntu/test/
ubuntu@VM-0-6-ubuntu:~/test$ pwd
/home/ubuntu/test
# 使用相对路径
ubuntu@VM-0-6-ubuntu:~/test$ cd ../temp/
ubuntu@VM-0-6-ubuntu:~/temp$ pwd
/home/ubuntu/temp
.
.
.
# 每⼀次新建⼀个⽤⼾都会在/home⽬录下为新⽤⼾创建新的⼯作⽬录,⽬录以新⽤⼾名称命名
# root⽤⼾在安装操作系统的时候,就已经内置了⼯作⽬录: /root
ubuntu@VM-0-6-ubuntu:~/temp$ pwd
/home/ubuntu/temp
ubuntu@VM-0-6-ubuntu:~/temp$ ls /home
lighthouse ubuntu yjl
# 快速进⼊⾃⼰的家⽬录
ubuntu@VM-0-6-ubuntu:~/temp$ whoami
ubuntu
ubuntu@VM-0-6-ubuntu:~/temp$ cd ~
ubuntu@VM-0-6-ubuntu:~$ pwd
/home/ubuntu
# 返回到最近访问⽬录
ubuntu@VM-0-6-ubuntu:~$ pwd
/home/ubuntu
ubuntu@VM-0-6-ubuntu:~$ cd /
ubuntu@VM-0-6-ubuntu:/$ pwd
/
ubuntu@VM-0-6-ubuntu:/$ cd -
/home/ubuntu
ubuntu@VM-0-6-ubuntu:~$ pwd
/home/ubuntu
touch指令
语法: touch [选项]… 文件…
功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建⼀个不存在
的文件。
常用选项:
- -a : change only the access time
- -c : change only the modification time
样例:
ubuntu@VM-0-6-ubuntu:~/test$ touch test.cc
ubuntu@VM-0-6-ubuntu:~/test$ ls
test.cc
# 查看⽂件属性信息
ubuntu@VM-0-6-ubuntu:~/test$ stat test.cc
File: test.cc
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fc02h/64514d Inode: 526186 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ ubuntu) Gid: ( 1001/ ubuntu)
Access: 2026-02-01 16:22:35.056029907 +0800
Modify: 2026-02-01 16:22:35.056029907 +0800
Change: 2026-02-01 16:22:35.056029907 +0800
Birth: 2026-02-01 16:22:35.056029907 +0800
# 修改⽂件access时间
ubuntu@VM-0-6-ubuntu:~/test$ touch -a test.cc
ubuntu@VM-0-6-ubuntu:~/test$ stat test.cc
File: test.cc
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fc02h/64514d Inode: 526186 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ ubuntu) Gid: ( 1001/ ubuntu)
Access: 2026-02-01 16:23:19.480064141 +0800
Modify: 2026-02-01 16:22:35.056029907 +0800
Change: 2026-02-01 16:23:19.480064141 +0800
Birth: 2026-02-01 16:22:35.056029907 +0800
# 修改⽂件Modify时间
ubuntu@VM-0-6-ubuntu:~/test$ touch -m test.cc
ubuntu@VM-0-6-ubuntu:~/test$ stat test.cc
File: test.cc
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fc02h/64514d Inode: 526186 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ ubuntu) Gid: ( 1001/ ubuntu)
Access: 2026-02-01 16:23:19.480064141 +0800
Modify: 2026-02-01 16:23:59.236094920 +0800
Change: 2026-02-01 16:23:59.236094920 +0800
Birth: 2026-02-01 16:22:35.056029907 +0800
mkdir指令
语法: ls [选项] [目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。 对于文件,将列出文件名以及其他信息。
常用选项:
- -p(parents): 可以是⼀个路径名称。此时若路径中的某些⽬录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即⼀次可以建立多个目录
样例:
ubuntu@VM-0-6-ubuntu:~/test$ ls
test.cc
ubuntu@VM-0-6-ubuntu:~/test$ mkdir temp
ubuntu@VM-0-6-ubuntu:~/test$ ls
temp test.cc
# 递归创建多个目录
ubuntu@VM-0-6-ubuntu:~/test$ mkdir -p ./dir1/dir2/dir3
ubuntu@VM-0-6-ubuntu:~/test$ ls
dir1 temp test.cc
ubuntu@VM-0-6-ubuntu:~/test$ tree dir1/
dir1/
└── dir2
└── dir3
2 directories, 0 files
rmdir指令
rmdir是⼀个与mkdir相对应的命令,mkdir是建立目录,而rmdir是删除目录
语法:rmdir [-p] [dirName]
适用对象:具有当前目录操作权限的所有使用者
功能:删除空目录
常用选项:
- -p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录⼀起删除。
样例:
ubuntu@VM-0-6-ubuntu:~/test$ tree .
.
├── dir1
│ └── dir2
│ └── dir3
├── temp
└── test.cc
4 directories, 1 file
ubuntu@VM-0-6-ubuntu:~/test$ rmdir temp
ubuntu@VM-0-6-ubuntu:~/test$ tree .
.
├── dir1
│ └── dir2
│ └── dir3
└── test.cc
3 directories, 1 file
# 递归相连路径空目录
ubuntu@VM-0-6-ubuntu:~/test$ rmdir -p dir1/dir2/dir3
ubuntu@VM-0-6-ubuntu:~/test$ tree .
.
└── test.cc
0 directories, 1 file
rm指令
语法:rm [-f-i-r-v] [dirName/dir]
适用对象:所有使用者
功能:删除文件或目录
常用选项:
- -f 即使文件属性为只读(即写保护),亦直接删除
- -i 删除前逐⼀询问确认
- -r 删除目录及其下所有文件
样例:
ubuntu@VM-0-6-ubuntu:~/test$ ll
total 16
drwxrwxr-x 4 ubuntu ubuntu 4096 Feb 1 16:44 ./
drwxr-x--- 7 ubuntu ubuntu 4096 Feb 1 15:57 ../
drwxrwxr-x 2 ubuntu ubuntu 4096 Feb 1 16:44 dir/
drwxrwxr-x 3 ubuntu ubuntu 4096 Feb 1 16:40 dir1/
-rw-rw-r-- 1 ubuntu ubuntu 0 Feb 1 16:44 file.txt
-rw-rw-r-- 1 ubuntu ubuntu 0 Feb 1 16:23 test.cc
ubuntu@VM-0-6-ubuntu:~/test$ tree .
.
├── dir
├── dir1
│ └── dir2
│ └── dir3
├── file.txt
└── test.cc
4 directories, 2 files
# 删除普通⽂件
ubuntu@VM-0-6-ubuntu:~/test$ rm file.txt
ubuntu@VM-0-6-ubuntu:~/test$ ll
total 16
drwxrwxr-x 4 ubuntu ubuntu 4096 Feb 1 16:44 ./
drwxr-x--- 7 ubuntu ubuntu 4096 Feb 1 15:57 ../
drwxrwxr-x 2 ubuntu ubuntu 4096 Feb 1 16:44 dir/
drwxrwxr-x 3 ubuntu ubuntu 4096 Feb 1 16:40 dir1/
-rw-rw-r-- 1 ubuntu ubuntu 0 Feb 1 16:23 test.cc
# 删除⽬录⽂件
ubuntu@VM-0-6-ubuntu:~/test$ rm dir
rm: cannot remove 'dir': Is a directory
ubuntu@VM-0-6-ubuntu:~/test$ rm -r dir
ubuntu@VM-0-6-ubuntu:~/test$ ll
total 12
drwxrwxr-x 3 ubuntu ubuntu 4096 Feb 1 16:44 ./
drwxr-x--- 7 ubuntu ubuntu 4096 Feb 1 15:57 ../
drwxrwxr-x 3 ubuntu ubuntu 4096 Feb 1 16:40 dir1/
-rw-rw-r-- 1 ubuntu ubuntu 0 Feb 1 16:23 test.cc
# 删除普通⽂件前询问
ubuntu@VM-0-6-ubuntu:~/test$ rm -i test.cc
rm: remove regular empty file 'test.cc'? y
ubuntu@VM-0-6-ubuntu:~/test$ ll
total 12
drwxrwxr-x 3 ubuntu ubuntu 4096 Feb 1 16:44 ./
drwxr-x--- 7 ubuntu ubuntu 4096 Feb 1 15:57 ../
drwxrwxr-x 3 ubuntu ubuntu 4096 Feb 1 16:40 dir1/
ubuntu@VM-0-6-ubuntu:~/test$ tree .
.
└── dir1
└── dir2
└── dir3
3 directories, 0 files
# 递归强制删除⾮空⽬录
ubuntu@VM-0-6-ubuntu:~/test$ rm -rf dir1/
ubuntu@VM-0-6-ubuntu:~/test$ ll
total 8
drwxrwxr-x 2 ubuntu ubuntu 4096 Feb 1 16:45 ./
drwxr-x--- 7 ubuntu ubuntu 4096 Feb 1 15:57 ../
更多推荐



所有评论(0)