Linux——————常用基本指令

Linux常用的基本命令是必须掌握的,这里是我刚入门Linux学习的基本命令,希望可以帮助到大家。

  • 基本关系

​ 在Linux系统开发的时候一般都是直接在终端Terminal中进行控制,终端也被称为命令解释器,所以终端也被称为shell终端,shell具有贝壳的意义,其实是解释器软件的名称,用于保护Linux内核(Kernel)。
​ 终端就是Linux系统内核提供给用户和内核交互的一个程序,Linux内核是没有思想的,所以Linux内核已经提前预置一些控制指令,这些预置指令被称为shell命令。
​ 该程序能够接收用户输入的shell命令,内核对命令进行解析和处理,处理完毕后内核将结果反馈给用户,所以需要用户掌握对应的shell命令才能控制。

  • 命令终端

​ 随着计算机技术的不断发展,操作系统的控制台也在不断地演变和发展。从最初简单的命令行界面到现在的各种终端模拟器和控制面板,控制台的发展经历了漫长而曲折的历程。
​ 最初的操作系统控制台只有最基本的命令,用户只能通过键入字符来执行操作。这种方式虽然简单,但对于普通用户来说却非常不友好,因为他们需要记住大量的命令才能完成一些基本的操作。
image

​ 为了解决这个问题,操作系统开始引入图形化界面。这些界面使用图标、菜单和按钮等元素来代替命令行,使得用户可以更加直观地进行操作。这种方式大大提高了用户的使用体验,但也带来了一些问题,比如占用更多的系统资源和容易出现兼容性问题。
image

​ 在Linux系统开发的时候一般都是直接在命令行终端中进行,终端也被称为命令解释器,其实就是Linux系统提供给用户和内核进行交互的一个程序,该程序能够接收用户输入的命令,并对命令进行处理,处理完毕后再将结果反馈给用户,所以需要用户掌握对应的shell命令才能控制Linux系统内核。
image

  • 用户权限

image

​ 在Linux系统中,用户可以分为超级用户(也被称为root用户,拥有系统的最高权限,可以执行任何命令和操作)、普通用户(没有超级用户的权限,只能访问和修改自己的文件和目录)。
​ 此外,还有一些特殊的用户类型,例如系统管理员、网络管理员等,他们通常需要具备更高的权限来管理整个系统。在Linux系统中,可以通过创建用户、添加到用户组、设置权限等方式来管理不同类型的用户。
​ sudo是一个Linux命令,用于在不使用root权限的情况下执行需要管理员权限的命令。作用是允许普通用户以管理员身份执行某些需要特殊权限的命令,例如安装软件包、修改系统配置文件等。
​ 当用户使用sudo命令运行一个shell命令时,系统会检查当前帐户是否具有执行该命令所需的权限。如果没有,则会提示输入密码。一旦输入正确的密码,系统就会授予该用户为管理员权限,并允许该用户以root或其他管理员身份运行命令。

(1) 普通用户切换为超级用户
image

Linux系统下的su命令用于切换用户身份,在终端中输入指令:sudo su,然后按下回车,输入密码(注意密码输入时是不回显的),然后即可切换到超级用户,实际开发中尽量避免一直使用超级用户。

(2)超级用户退回为普通用户
image

​ 如果用户打算从超级用户切换到普通用户,则在终端中输入命令:exit ,即可退回到普通用户。

  • 命令格式

Linux 命令的基本格式:

Dazz@ubuntu:~$ 命令   [选项]   [参数]

注意:命令的选项用于调整命令功能,而命令的参数是这个命令的操作对象,具体如下所示:
(1) 选项的作用
​ 其中,命令格式中的 [] 代表可选项,也就是有些命令可以不写选项或参数,虽然也能执行,只不过只能执行最基本的功能。Linux 命令的选项又分为短格式选项( - )和长格式选项( -- )。
(2)参数的作用
​ 参数是命令的操作对象,一般文件、目录、用户和进程等可以作为参数被命令操作。命令一般都需要加入参数,用于指定命令的操作对象。命令的参数可以省略,如果省略则一般使用默认参数。

  • 帮助手册

​ Linux命令不需要也不能强制去记忆这些指令和选项,那会非常枯燥而且容易遗忘,正确的方式是使用这些所学习的命令去解决实际的问题,让它们在实用中提高工作效率,融入了日常行为习惯之后的命令就非常容易记住了。
​ 注意:Linux系统提供的shell命令都是小写的,并且都是某些英文单词的缩写,所以容易记忆。
​ 如果遇到不会使用的命令,可以通过“命令名 --help”来获取命令帮助,即获取更多命令相关的信息。
​ 提示:其实shell命令的帮助信息都是从man手册查阅到并进行输出的,所以如果打算看更详细的描述,可以直接通过man手册查阅。
​ 注意:man手册在Linux系统下并不是默认会安装完整版,所以需要手动更新man手册的内容
基本格式:

Dazz@ubuntu:~$  sudo  apt  install  man-db  manpages-de-dev  manpages-posix

image

  • 基础指令

(1) 用户切换

​ linux系统下的用户分为两种,一种是超级用户(相当于windows系统下的管理员),另一种则是标准用户(相当于windows下的普通用户),sudo为英文superuser do 的简写,即使用超级用户来执行命令,一般是指root用户。
​ 在linux中,超级用户(root用户)是拥有操作系统资源的所有访问权限的用户,该权限可以用于对系统的维修和管理(添加或删除用户或组,安装软件等对系统进行管理的操作)。
​ 注意:在Linux操作系统的日常使用中不建议大家登录超级用户,防止对重要的文件或文件夹等内容删除,造成系统崩溃,一般需要root权限的时候可以选择使用sudo命令临时获取root的权限。

普通用户切换至超级用户

Dazz@ubuntu:~$  sudo -s        -按回车 
[sudo] password for Dazz:      -密码:123456(自己设置的) 默认不显示的,-按回车
root@ubuntu:~#    			  //root表示超级用户名字  #表示超级用户权限标志

超级用户切换至普通用户

root@ubuntu:~#  su  xxx     -第一种方式  xxx指的是系统中用户的名称
Dazz@ubuntu:~$
root@ubuntu:~#  exit        -第二种方式 
exit

(2) 查看目录

​ ls 命令,是list的缩写,是最常见的目录操作命令,其主要功能是显示当前目录下的内容。

基本格式如下:

Dazz@ubuntu:~$ ls  [选项]  [目录名称]     //选项可以省略,目录名称也可以省略

image

image

image

​ 注意:Linux系统的思想是“一切皆文件”,所以Linux系统把文件分为七类:规则文件(-)、目录文件(d)、管道文件(p)、链接文件(l)、套接字文件(s)、字符设备文件(c)、块设备文件(b)

(3)切换目录

​ cd 命令,是英文change directory 的缩写,用来切换工作目录,linux系统下目录也被称为路径。

基本格式如下:

Dazz@ubuntu:~$ cd  [选项]  [目录名称]

image

image

image

​ 在 Linux 操作系统中,所有的文件和目录都被组织成以一个根节点“/”开始的倒置的树状结构。如下图:
image

​ 文件系统的最顶层是由根目录开始的,系统使用“/”来表示根目录,在根目录之下的既可以是目录(目录就相当于 Windows 中的文件夹),也可以是文件,而每一个目录中又可以包含(子)目录或文件。如此反复就可以构成一个庞大的文件系统。

​ 在 Linux 中,一个文件的路径指的就是该文件存放的位置,一般把文件路径分为两种,一种是相对路径、一种是绝对路径。

  • 相对路径:不是从根目录 / 开始写起,而是从当前所在的工作目录为开头的路径。
  • 绝对路径:一定是以根目录‘/’为开头的路径。
    image

根目录:是位于Linux系统中文件系统目录结构的最顶层的目录。

/

家目录~(又称主目录):Linux 系统是纯字符界面,用户登录后,要有一个初始登录的位置,这个初始登录位置就称为用户的家。

~

当前目录:当前用户所在目录

.

上级目录:相对当前所在目录的上一级目录

..

(4) 创建目录

mkdir命令,是 make directories 的缩写,用于创建空目录,此命令所有用户都可以使用。

基本格式如下:

Dazz@ubuntu:~$ mkdir  [-m  or  -p]  目录名

-m 选项用于手动配置所创建目录的权限,而不再使用默认权限。

-p 选项递归创建所有目录,以创建 /home/gec/test/abc为例,在默认情况下,你需要一层一层的创建各个目录,而使用 -p 选项,则系统会自动帮你创建 /home、/home/gec、/home/gec/test 和 /home/gec/test/abc。

image

(5)创建文件

​ touch 命令可以用来创建文件,当指定操作文件不存在时,该命令会在当前路径下建立一个空文件。
​ 当然,touch命令也可以将已存在的文件或目录的时间标签更新为当前系统时间。这意味着可以改变文件的最后访问时间和最后修改时间,但不会改变文件内容。

基本格式如下:

Dazz@ubuntu:~$ touch  文件名            //可以一次性创建多个不同类型的文件

image

(6)删除文件

rm 命令,是英文remove的缩写,在Linux系统中是强大的删除命令,它可以永久性地删除文件系统中指定的文件或目录。在使用 rm 命令删除文件或目录时,系统不会产生任何提示信息。

基本格式如下:

Dazz@ubuntu:~$ rm   [选项]  文件或目录

-f:强制删除(force),和 -i 选项相反,使用 -f,系统将不再询问,而是直接删除目标文件或目录。

-i:和 -f 正好相反,在删除文件或目录之前,系统会给出提示信息,使用 -i 可以有效防止不小心删除有用的文件或目录。
-r:递归删除,主要用于删除目录,可删除指定目录及包含的所有内容,包括所有的子目录和文件。

image

(7)移动文件

mv 命令,是英文move的缩写,该命令有两种作用:既可以在不同的目录之间移动文件或目录,也可以对文件和目录进行重命名。

基本格式如下:

Dazz@ubuntu:~$ mv  [选项]   源文件   目标文件/目录路径

-f:强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖
-i:交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项)
-n:如果目标文件已经存在,则不会覆盖移动,而且不询问用户

image

注意:如果打算对文件或者目录重命名,则需要源文件和目标文件在同一目录中,且目标文件不存在。

(8)复制文件

​ cp命令,是英文copy的缩写,主要用来复制文件和目录,同时借助某些选项,还可以实现复制整个目录,以及比对两文件的新旧而予以升级等功能。

基本格式如下:

Dazz@ubuntu:~$ cp  [选项]  源文件(被复制文件)  目标路径

-i:询问,如果目标文件已经存在,则会询问是否覆盖
-r:递归复制,用于复制目录
-u:若目标文件和源文件有差异,则可以更新目标文件,可用于对文件的升级和备用

image

(9)打印路径

​ pwd 命令,是英文单词print working directory的缩写,功能是显示用户当前所处的工作目录,可以把路径信息输出到终端。

基本格式如下:

Dazz@ubuntu:~$ pwd     //该指令输出的路径是绝对路径

image

(10) 编辑文件

​ gedit命令,可以以记事本的风格打开一个文件,gedit图形化编辑器跟Windows下记事本的用法基本一致。

基本格式如下:

Dazz@ubuntu:~$ gedit  文件名

(11) 查看文件

​ cat命令,是英文concatenate的缩写,该命令是 Linux操作系统中最常用的命令之一。cat 命令允许创建单个或多个文件、查看文件内容、连接文件和重定向终端或文件中的输出,常用于查看文件内容。

基本格式如下:

Dazz@ubuntu:~$ cat file.txt ==> 显示文本文件内容
Dazz@ubuntu:~$ cat -n a.c   ==> 显示文本文件内容(并显示行号)
Dazz@ubuntu:~$ cat -A a.c   ==> 显示文本文件内容(含不可见字符)

注意:在某些情况下,我们可能需要检测文件中那些不可见的字符。比如在Windows系统中编辑了程序源文件,放到Ubuntu系统中编译可能会出现字符错误,这是因为Windows系统中的某些回车符、制表符跟Ubuntu系统的不一致,导致无法编译,而这些字符是不可见的,因此可以使用上述 cat -A 来识别。

image

(12)系统时间

​ date命令,date中文具有日期的含义,利用该命令可以查看或者修改Linux系统日期和时间。

基本格式如下:

Dazz@ubuntu:~$ date
Dazz@ubuntu:~$ date  -s   日期时间    //  -s选项可以设置日期和时间

(13)查找文件

​ find命令,find中文具有查找的含义,利用该命令可以查找某个指定的路径中文件的位置,并且会把文件路径输出到终端上。

基本格式如下:

gec@ubuntu:~$ find  路径  [选项]   文件名

gec@ubuntu:~$ find /usr -name  "xxx.h" ==> 在/usr中查找叫做xxx.h的文件
gec@ubuntu:~$ find /tmp -type d        ==> 在/tmp中查找类型为目录的文件

(14) 文件权限

​ chmod命令,是英文单词change module的缩写,利用该命令可以修改Linux系统的文件权限,如下:

基本格式如下:

gec@ubuntu:~$ chmod   权限   文件

​ 系统中的所有用户被分成三类:文件所有者(现登录用户),同组用户和其他用户。这三类用户对这个文件的rwx权限,可以由命令 ls -l 来查看。
​ 在上述列子中,rwx三组权限对应了三种用户。当我们需要修改这些权限的时候,为了便于描述,一般用3组八进制数来对应这些权限为,如下表所示:
image

(15)查看分区

​ df命令,该命令的作用是查看系统分区信息,侧重在文件系统级别的磁盘占用方面,用法如下:

Dazz@ubuntu:~$ df  [选项]  

image
image

(16)创建链接

​ ln 命令,是英文link的缩写,中文具有链接的含义,该命令用于给文件创建链接,在Linux系统中,为文件创建链接的方式分为以下两种:

基本格式如下:

Dazz@ubuntu:~$ ln  [选项]  源文件  目标文件

软链接:类似于 Windows 系统中给文件创建快捷方式,即产生一个特殊的文件,该文件用来指向另一个文件,此链接方式同样适用于目录。
硬链接:文件的基本信息都存储在inode中,而硬链接指的就是给一个文件的 inode 分配多个文件名,通过任何一个文件名,都可以找到此文件的inode,从而读取该文件的数据信息。
​ 注意:软链接文件的源文件必须写成绝对路径,而不能写成相对路径(硬链接没有这样的要求),否则软链接文件会报错。

(17)查找文件

​ find命令,该命令用于查找Linux系统中某个指定的路径下文件的位置,并且可以把文件的绝对路径输出到终端。注意:如果打算查找根目录下的文件,则应该使用sudo获取root权限。

基本格式如下:

Dazz@ubuntu:~$ find  /usr  -name "*.h"   ==> 在/usr中查找所有以.h结尾的文件

image

(18)压缩解压

​ tar命令,该命令的作用是归档/释放 以及 压缩/解压,归档的意思把文件统一打包但不作压缩处理,所以压缩和归档生成的包的大小不同。

基本格式如下:

gec@ubuntu:~$ tar  选项  目标文件  源文件           

-c:创建一个新的归档文件。
-x:从归档文件中提取文件。
-f:指定要处理的归档文件名。     //该选项必须放在所有选项的最后面
-v:在终端上显示操作的详细信息。
-t:列出归档文件中的所有文件。
-u:向现有归档文件中添加文件。
-r:更新归档文件中的文件或目录。
-z:使用gzip压缩创建tar文件。
-j:使用bzip2压缩法创建存档文件。

归档/释放:

Dazz@ubuntu:~$ tar cf a.tar dir/*  ==> 将目录dir中的所有文件归档成a.tar
Dazz@ubuntu:~$ tar tf a.tar        ==> 查看归档文件a.tar
Dazz@ubuntu:~$ tar xf a.tar        ==> 释放归档文件a.tar

压缩/解压:

Dazz@ubuntu:~$ tar czf a.tar.gz dir/*  将目录dir中的所有文件归档并压缩为gz格式
Dazz@ubuntu:~$ tar xzf a.tar.gz        ==> 解压压缩文件a.tar.gz

Dazz@ubuntu:~$ tar cjf a.tar.bz2 dir/* 将目录dir中的所有文件归档并压缩为bz2格式
Dazz@ubuntu:~$ tar xjf a.tar.bz2       ==> 解压压缩文件a.tar.bz2

image

(19) 命令路径

​ which命令,在Linux系统中该命令用于定位和查找系统中可执行文件的路径。它主要用于确定某个命令是否存在以及该命令的完整路径。

基本格式如下:

Dazz@ubuntu:~$ which  [选项]  命令名

image
image

(20)文件格式

​ file命令,该命令用于查看Linux系统中文件的类型,包括但不限于文本文件、目录、二进制文件、符号链接等。

基本格式如下:

Dazz@ubuntu:~$ file  [选项]  文件名  

image

(21) 配置网络

​ ifconfig命令,该命令的作用是查看或者设置系统IP地址,ifconfig并非系统自带命令,需要利用命令进行安装使用:

基本格式如下:

Dazz@ubuntu:~$ sudo  apt  install  net-tools       //安装指令只需要执行一次即可

基本格式如下:

gec@ubuntu:~$ ifconfig   [选项]

image

(22)网络测试

​ ping命令,该命令的作用是向指定主机发送要求回应的ICMP数据包,可以用来测试网络是否连通。

基本格式如下:

gec@ubuntu:~$ ping  IP地址 
gec@ubuntu:~$ ping  主机域名

image

注意:一般而言,如果网络是畅通的,那么ping命令将会看到数据包返回的延迟时间,否则如果看不到延迟时间,那么网络就是不通的。

(23)进程状态

​ ps命令,是英文process state的缩写,该命令用于获取Linux系统中各进程的当前状态参数

基本格式如下:

Dazz@ubuntu:~$ ps   [选项] 

image
image

(24)命令别名

​ alias命令,该命令用于创建和管理命令别名,可以简化日常的指令输入以及提高开发效率!

基本格式如下:

gec@ubuntu:~$ alias  别名=命令 

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

(25) 清除屏幕

​ clear命令,该命令用于清除终端的一面屏幕,为了提高终端的可读性以及提高开发的效率!

基本格式如下:

gec@ubuntu:~$ clear 
posted @   Dazz_24  阅读(27)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
点击右上角即可分享
微信分享提示