2026/08/07 linux系统的常用命令
在Linux系统开发的时候一般都是直接在终端Terminal中进行控制,终端也被称为命令解释器,所以终端也被称为shell终端,其实是解释器软件的名称,用于保护Linux内核(Kernel)。终端就是Linux系统内核提供给用户和内核交互的一个程序,Linux内核是没有思想的,所以Linux内核已经提前预置一些控制指令,这些预置指令被称为shell命令。
该程序能够接收用户输入的shell命令,内核对命令进行解析和处理,处理完毕后内核将结果反馈给用户,所以需要用户掌握对应的shell命令才能控制。
在Linux系统中,用户可以分为超级用户(也被称为root用户,拥有系统的最高权限,可以执行任何命令和操作)、普通用户(没有超级用户的权限,只能访问和修改自己的文件和目录)。
此外,还有一些特殊的用户类型,例如系统管理员、网络管理员等,他们通常需要具备更高的权限来管理整个系统。在Linux系统中,可以通过创建用户、添加到用户组、设置权限等方式来管理不同类型的用户。
sudo是一个Linux命令,用于在不使用root权限的情况下执行需要管理员权限的命令。作用是允许普通用户以管理员身份执行某些需要特殊权限的命令,例如安装软件包、修改系统配置文件等。
当用户使用sudo命令运行一个shell命令时,系统会检查当前帐户是否具有执行该命令所需的权限。如果没有,则会提示输入密码。一旦输入正确的密码,系统就会授予该用户为管理员权限,并允许该用户以root或其他管理员身份运行命令。
Linux命令不需要也不应该强制去记忆这些指令和选项,那会非常枯燥而且容易遗忘,正确的方式是使用这些所学习的命令去解决实际的问题,让它们在实用中提高工作效率,融入了日常行为习惯之后的命令就非常容易记住了。
注意:Linux系统提供的shell命令都是小写的,并且都是某些英文单词的缩写,所以容易记忆。
如果遇到不会使用的命令,可以通过“命令名 --help”来获取命令帮助,即获取更多命令相关的信息。

其实shell命令的帮助信息都是从man手册查阅到并进行输出的,所以如果打算看更详细的描述,可以直接通过man手册查阅。

命令格式
Linux 命令的基本格式:
zhubb@ubuntu:~$ 命令 [选项] [参数]
注意:命令的选项用于调整命令功能,而命令的参数是这个命令的操作对象,具体如下所示:
(1)选项的作用
其中,命令格式中的 [] 代表可选项,也就是有些命令可以不写选项或参数,虽然也能执行,只不过只能执行最基本的功能。Linux 命令的选项又分为短格式选项( - )和长格式选项( -- )。
(2)参数的作用
参数是命令的操作对象,一般文件、目录、用户和进程等可以作为参数被命令操作。命令一般都需要加入参数,用于指定命令的操作对象。命令的参数可以省略,如果省略则一般使用默认参数。
基础指令
1.用户切换
linux系统下的用户分为两种,一种是超级用户(相当于windows系统下的管理员),另一种则是标准用户(相当于windows下的普通用户),sudo为英文superuser do 的简写,即使用超级用户来执行命令,一般是指root用户。
在linux中,超级用户(root用户)是拥有操作系统资源的所有访问权限的用户,该权限可以用于对系统的维修和管理(添加或删除用户或组,安装软件等对系统进行管理的操作)。
注意:在Linux操作系统的日常使用中不建议登录超级用户,防止对重要的文件或文件夹等内容删除,造成系统崩溃,一般需要root权限的时候可以选择使用sudo命令临时获取root的权限。
普通用户切换至超级用户
zhubb@ubuntu:~$ sudo -s -按回车,再输入正确密码即可成功切换

超级用户切换至普通用户
root@ubuntu:~# su xxx -第一种方式 xxx指的是系统中用户的名称

root@ubuntu:~# exit -第二种方式

2.查看目录
ls 命令,是list的缩写,是最常见的目录操作命令,其主要功能是显示当前目录下的内容。
基本格式如下:
zhubb@ubuntu:~$ ls [选项] [目录名称] //选项可以省略,目录名称也可以省略


Linux系统把文件分为七类:规则文件(-)、目录文件(d)、管道文件(p)、链接文件(l)、套接字文件(s)、字符设备文件(c)、块设备文件(b)
3.切换目录
cd 命令,是英文change directory 的缩写,用来切换工作目录,linux系统下目录也被称为路径。
基本格式如下:
zhubb@ubuntu:~$ cd [选项] [目录名称]

'-'在cd命令中可以表示刚刚去过的路径。如果没有指定工作路径,则cd指令会把工作路径切换到用户的家目录。
在 Linux 中,一个文件的路径指的就是该文件存放的位置,一般把文件路径分为两种,一种是相对路径、一种是绝对路径。
1)相对路径:不是从根目录 / 开始写起,而是从当前所在的工作目录为开头的路径。
2)绝对路径:一定是以根目录‘/’为开头的路径。
根目录:是位于Linux系统中文件系统目录结构的最顶层的目录。
/
- 家目录~(又称主目录):Linux 系统是纯字符界面,用户登录后,要有一个初始登录的位置,这个初始登录位置就称为用户的家。
- 对应的绝对路径 /home/xxx xxx就是用户名 切换到用户的家目录
当前目录:当前用户所在目录
.
上级目录:相对当前所在目录的上一级目录
..

4.创建目录
mkdir命令,是 make directories 的缩写,用于创建空目录,此命令所有用户都可以使用。
基本格式如下:
zhubb@ubuntu:~$ mkdir [-m or -p] 目录名
-m 选项用于手动配置所创建目录的权限,而不再使用默认权限。
-p 选项递归创建所有目录,以创建 /home/gec/test/abc为例,在默认情况下,你需要一层一层的创建各个目录,而使用 -p 选项,则系统会自动帮你创建 /home、/home/gec、/home/gec/test 和 /home/gec/test/abc。


5.创建文件
touch 命令可以用来创建文件,当指定操作文件不存在时,该命令会在当前路径下建立一个空文件。
当然,touch命令也可以将已存在的文件或目录的时间标签更新为当前系统时间。这意味着可以改变文件的最后访问时间和最后修改时间,但不会改变文件内容。
基本格式如下:
touch 文件名 //可以一次性创建多个不同类型的文件


6.删除文件
rm 命令,是英文remove的缩写,在Linux系统中是强大的删除命令,它可以永久性地删除文件系统中指定的文件或目录。在使用 rm 命令删除文件或目录时,系统不会产生任何提示信息。
基本格式如下:
rm [选项] 文件或目录
-f:强制删除(force),和 -i 选项相反,使用 -f,系统将不再询问,而是直接删除目标文件或目录。
-i:和 -f 正好相反,在删除文件或目录之前,系统会给出提示信息,使用 -i 可以有效防止不小心删除有用的文件或目录。
-r:递归删除,主要用于删除目录,可删除指定目录及包含的所有内容,包括所有的子目录和文件。


7.移动文件
mv 命令,是英文move的缩写,该命令有两种作用:既可以在不同的目录之间移动文件或目录,也可以对文件和目录进行重命名。
基本格式如下:
gec@ubuntu:~$ mv [选项] 源文件 目标文件/目录路径
-f:强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖
-i:交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项)
-n:如果目标文件已经存在,则不会覆盖移动,而且不询问用户
注意:如果打算对文件或者目录重命名,则需要源文件和目标文件在同一目录中,且目标文件不存在。


8.复制文件
cp命令,是英文copy的缩写,主要用来复制文件和目录,同时借助某些选项,还可以实现复制整个目录,以及比对两文件的新旧而予以升级等功能。
基本格式如下:
cp [选项] 源文件(被复制文件) 目标路径
-i:询问,如果目标文件已经存在,则会询问是否覆盖
-r:递归复制,用于复制目录
-u:若目标文件和源文件有差异,则可以更新目标文件,可用于对文件的升级和备用


9.打印路径
pwd 命令,是英文单词print working directory的缩写,功能是显示用户当前所处的工作目录,可以把路径信息输出到终端。
基本格式如下:
gec@ubuntu:~$ pwd //该指令输出的路径是绝对路径

10.编辑文件
gedit命令,可以以记事本的风格打开一个文件,gedit图形化编辑器跟Windows下记事本的用法基本一致。
基本格式如下:
gec@ubuntu:~$ gedit 文件名

11.查看文件
cat命令,是英文concatenate的缩写,该命令是 Linux操作系统中最常用的命令之一。cat 命令允许创建单个或多个文件、查看文件内容、连接文件和重定向终端或文件中的输出,常用于查看文件内容。
基本格式如下:
gec@ubuntu:~$ cat file.txt ==> 显示文本文件内容
gec@ubuntu:~$ cat -n a.c ==> 显示文本文件内容(并显示行号)
gec@ubuntu:~$ cat -A a.c ==> 显示文本文件内容(含不可见字符)
注意:在某些情况下,我们可能需要检测文件中那些不可见的字符。比如在Windows系统中编辑了程序源文件,放到Ubuntu系统中编译可能会出现字符错误,这是因为Windows系统中的某些回车符、制表符跟Ubuntu系统的不一致,导致无法编译,而这些字符是不可见的,因此可以使用上述 cat -A 来识别。

12.系统时间
date命令,date中文具有日期的含义,利用该命令可以查看或者修改Linux系统日期和时间。
基本格式如下:
gec@ubuntu:~$ date
gec@ubuntu:~$ date -s 日期时间 // -s选项可以设置日期和时间

13.文件权限
chmod命令,是英文单词change module的缩写,利用该命令可以修改Linux系统的文件权限。
系统中的所有用户被分成三类:文件所有者(现登录用户),同组用户和其他用户。这三类用户对这个文件的rwx权限,可以由命令 ls -l 来查看。
基本格式如下:
gec@ubuntu:~$ chmod 权限 文件


如果想要修改文件的权限: chmod 0777 demo.c
14.查看分区
df命令,该命令的作用是查看系统分区信息,侧重在文件系统级别的磁盘占用方面,用法如下:
gec@ubuntu:~$ df [选项]


15.创建链接
ln 命令,是英文link的缩写,中文具有链接的含义,该命令用于给文件创建链接,在Linux系统中,为文件创建链接的方式分为以下两种:
基本格式如下:
gec@ubuntu:~$ ln [选项] 源文件 目标文件 // -s选项为创建软连接文件
软链接:类似于 Windows 系统中给文件创建快捷方式,即产生一个特殊的文件,该文件用来指向另一个文件,此链接方式同样适用于目录。
硬链接:文件的基本信息都存储在inode中,而硬链接指的就是给一个文件的 inode 分配多个文件名,通过任何一个文件名,都可以找到此文件的inode,从而读取该文件的数据信息。
注意:软链接文件的源文件必须写成绝对路径,而不能写成相对路径(硬链接没有这样的要求),否则软链接文件会报错。
16.查找文件
find命令,find中文具有查找的含义,利用该命令可以查找某个指定的路径中文件的位置,并且会把文件路径输出到终端上。
注意:如果打算查找根目录下的文件,则应该使用sudo获取root权限。
基本格式如下:
gec@ubuntu:~$ find 路径 [选项] 文件名
gec@ubuntu:~$ find /usr -name "xxx.h" ==> 在/usr中查找叫做xxx.h的文件
gec@ubuntu:~$ find /usr -name "*.h" ==> 在/usr中查找所有以.h结尾的文件
gec@ubuntu:~$ find /tmp -type d ==> 在/tmp中查找类型为目录的文件

17.压缩解压
tar命令,该命令的作用是归档/释放 以及 压缩/解压,归档的意思把文件统一打包但不作压缩处理,所以压缩和归档生成的包的大小不同。
基本格式如下:
gec@ubuntu:~$ tar 选项 目标文件 源文件
-c:创建一个新的归档文件。
-x:从归档文件中提取文件。
-f:指定要处理的归档文件名。 //该选项必须放在所有选项的最后面
-v:在终端上显示操作的详细信息。
-t:列出归档文件中的所有文件。
-u:向现有归档文件中添加文件。
-r:更新归档文件中的文件或目录。
-z:使用gzip压缩创建或解压文件。
-j:使用bzip2压缩创建或解压文件。
归档/释放
gec@ubuntu:~$ tar cf a.tar dir/* ==> 将目录dir中的所有文件归档成a.tar
gec@ubuntu:~$ tar tf a.tar ==> 查看归档文件a.tar
gec@ubuntu:~$ tar xf a.tar ==> 释放归档文件a.tar
压缩/解压
gec@ubuntu:~$ tar czf a.tar.gz dir/* 将目录dir中的所有文件归档并压缩为gz格式
gec@ubuntu:~$ tar xzf a.tar.gz ==> 解压压缩文件a.tar.gz
gec@ubuntu:~$ tar cjf a.tar.bz2 dir/* 将目录dir中的所有文件归档并压缩为bz2格式
gec@ubuntu:~$ tar xjf a.tar.bz2 ==> 解压压缩文件a.tar.bz2


18.命令路径
which命令,在Linux系统中该命令用于定位和查找系统中可执行文件的路径。它主要用于确定某个命令是否存在以及该命令的完整路径。
基本格式如下:
gec@ubuntu:~$ which [选项] 命令名

19.文件格式
file命令,该命令用于查看Linux系统中文件的类型,包括但不限于文本文件、目录、二进制文件、符号链接等。
基本格式如下:
gec@ubuntu:~$ file [选项] 文件名

20.配置网络
ifconfig命令,该命令的作用是查看或者设置系统IP地址,ifconfig并非系统自带命令,需要利用命令进行安装使用:
基本格式如下:
gec@ubuntu:~$ ifconfig [选项]


21.网络测试
ping命令,该命令的作用是向指定主机发送要求回应的ICMP数据包,可以用来测试网络是否连通。
一般而言,如果网络是畅通的,那么ping命令将会看到数据包返回的延迟时间,否则如果看不到延迟时间,那么网络就是不通的。
基本格式如下:
gec@ubuntu:~$ ping IP地址
gec@ubuntu:~$ ping 主机域名

22.进程状态
ps命令,是英文process state的缩写,该命令用于获取Linux系统中各进程的当前状态参数
基本格式如下:
gec@ubuntu:~$ ps [选项]

23.命令别名
alias命令,该命令用于创建和管理命令别名,可以简化日常的指令输入以及提高开发效率!
基本格式如下:
gec@ubuntu:~$ alias 别名=命令

alias命令设置的别名只在当前终端中有效,如果需要永久生效,需要将其写入到用户家目录下的配置文件.bashrc中,然后使用source命令使配置文件立即生效。



24.清除屏幕
clear命令,该命令用于清除终端的一面屏幕,为了提高终端的可读性以及提高开发的效率!
基本格式如下:
gec@ubuntu:~$ clear
作者:bbzhu04@gmail.com ,多有不妥之处,望批评指正
本文原创,欢迎转载;转载请在文章显著位置标明原文链接: href="https://www.cnblogs.com/zhubb/p/22324557"
保留所有权限,未经许可禁止篡改、商用发布。

浙公网安备 33010602011771号