Linux基础学习笔记第七章:基础命令和常用操作

      大家好,我是小智!

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

命令格式

      Linux 命令的基本格式:

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

注意:命令的选项用于调整命令功能,而命令的参数是这个命令的操作对象,具体如下所示:

  1. 选项的作用

      其中,命令格式中的 [] 代表可选项,也就是有些命令可以不写选项或参数,虽然也能执行,只不过只能执行最基本的功能。Linux 命令的选项又分为短格式选项和长格式选项。

  1. 参数的作用

      参数是命令的操作对象,一般文件、目录、用户和进程等可以作为参数被命令操作。命令一般都需要加入参数,用于指定命令的操作对象。命令的参数可以省略,如果省略则一般使用默认参数。

帮助手册

      Linux命令不需要也不能强制去记忆这些指令和选项,那会非常枯燥而且容易遗忘,正确的方式是使用这些所学习的命令去解决实际的问题,让它们在实用中提高工作效率,融入了日常行为习惯之后的命令就非常容易记住了。

      如果遇到不会使用的命令,可以通过“命令名 --help”来获取命令帮助,即获取更多命令相关的信息。

基础指令

用户切换

      linux系统下的用户分为两种,一种是超级用户(相当于windows系统下的管理员),另一种则是标准用户(相当于windows下的普通用户),sudo为英文superuser do 的简写,即使用超级用户来执行命令,一般是指root用户。

      在linux中,超级用户(root用户)是拥有操作系统资源的所有访问权限的用户,该权限可以用于对系统的维修和管理(添加或删除用户或组,安装软件等对系统进行管理的操作)。

注意:在Linux操作系统的日常使用中不建议大家登录超级用户,防止对重要的文件或文件夹等内容删除,造成系统崩溃,一般需要root权限的时候可以选择使用sudo命令临时获取root的权限。

  • 普通用户切换至超级用户
ubuntu@ubuntu:~$  sudo -s        -按回车
[sudo] password for ubuntu:      -密码:123456(自己设置的) 默认不显示的,-按回车
root@ubuntu:~#    			  //root表示超级用户名字  #表示超级用户权限标志
  • 超级用户切换至普通用户
root@ubuntu:~#  su  xxx     -第一种方式  xxx指的是系统中用户的名称
ubuntu@ubuntu:~$
root@ubuntu:~#  exit        -第二种方式
exit

查看目录

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

      基本格式如下:

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

image

image

image

image

切换目录

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

      基本格式如下:

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

image

image

image

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

image

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

目录名 作用 备注
bin linux常用的命令
dev linux外部设备的端口
media 挂载USB接口移动硬盘
proc 以可见的方式查看linux系统内存的数据
sbin 超级用户所用命令所在地
sys 以可见方式查看linux内核的数据
var 存放系统运行时需要改变的数据
boot linux内核,文件系统
etc 系统所有的配置文件
lib 系统的动态链接库(.so)
mnt 系统挂载目录 例子: Windows的共享目录
root 超级用户家目录
selinux 加固系统安全目录
tmp 系统临时存放文件
cdrom 光驱挂载目录
home 普通用户家目录 /home/gec
lost+found 系统奔溃,产生碎片到此目录,重启时,系统修改碎片
opt 存放功能性代码,可选程序
run 系统运行时目录
srv 系统服务日志
usr 一般存放着第三方程序头文件,库文件

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

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

image

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

/

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

~

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

.

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

..

创建目录

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

      基本格式如下:

ubuntu@ubuntu:~$ mkdir  [-m  or  -p]  目录名
  • ``-m` 选项用于手动配置所创建目录的权限,而不再使用默认权限。

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

image

image

创建文件

      touch 命令可以用来创建文件,当指定操作文件不存在时,该命令会在当前路径下建立一个空文件。

      当然,touch命令也可以将已存在的文件或目录的时间标签更新为当前系统时间。这意味着可以改变文件的最后访问时间和最后修改时间,但不会改变文件内容。

      基本格式如下:

ubuntu@ubuntu:~$ touch  文件名

image

image

删除文件

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

      基本格式如下:

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

  • -i:和 -f 正好相反,在删除文件或目录之前,系统会给出提示信息,使用 -i 可以有效防止不小心删除有用的文件或目录。

  • -r:递归删除,主要用于删除目录,可删除指定目录及包含的所有内容,包括所有的子目录和文件。

image

image

移动文件

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

      基本格式如下:

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

image

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

image

复制文件

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

      基本格式如下:

ubuntu@ubuntu:~$ cp  [选项]  源文件(被复制文件)  目标路径
  • -i:询问,如果目标文件已经存在,则会询问是否覆盖
  • -r:递归复制,用于复制目录
  • -u:若目标文件和源文件有差异,则可以更新目标文件,可用于对文件的升级和备用

image

image

打印路径

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

      基本格式如下:

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

image

image

编辑文件

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

      基本格式如下:

ubuntu@ubuntu:~$ gedit  文件名

image

查看文件

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

      基本格式如下:

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

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

image

image

系统时间

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

      基本格式如下:

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

查找文件

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

      基本格式如下:

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

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

文件权限

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

      基本格式如下:

ubuntu@ubuntu:~$ chmod   权限   文件

      系统中的所有用户被分成三类:文件所有者(现登录用户),同组用户和其他用户。这三类用户对这个文件的rwx权限,可以由命令ls -l来查看。

      在上述列子中,rwx三组权限对应了三种用户。当我们需要修改这些权限的时候,为了便于描述,一般用3组八进制数来对应这些权限为,如下表所示:

image

查看分区

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

ubuntu@ubuntu:~$ df  [选项]

image

image

创建链接

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

      基本格式如下:

ubuntuc@ubuntu:~$ ln  [选项]  源文件  目标文件           // -s选项为创建软连接文件
  • 软链接:类似于 Windows 系统中给文件创建快捷方式,即产生一个特殊的文件,该文件用来指向另一个文件,此链接方式同样适用于目录。

  • 硬链接:文件的基本信息都存储在inode中,而硬链接指的就是给一个文件的 inode 分配多个文件名,通过任何一个文件名,都可以找到此文件的inode,从而读取该文件的数据信息。

注意:软链接文件的源文件必须写成绝对路径,而不能写成相对路径(硬链接没有这样的要求),否则软链接文件会报错。

压缩解压

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

      基本格式如下:

gec@ubuntu:~$ tar  选项  目标文件  源文件
  • -c:创建一个新的归档文件。

  • -x:从归档文件中提取文件。

  • -f:指定要处理的归档文件名。 //该选项必须放在所有选项的最后面

  • -v:在终端上显示操作的详细信息。

  • -t:列出归档文件中的所有文件。

  • -u:向现有归档文件中添加文件。

  • -r:更新归档文件中的文件或目录。

  • -z:使用gzip压缩创建tar文件。

  • -j:使用bzip2压缩法创建存档文件。

  • 归档/释放

ubuntu@ubuntu:~$ tar cf a.tar dir/*  ==> 将目录dir中的所有文件归档成a.tar
ubuntu@ubuntu:~$ tar tf a.tar        ==> 查看归档文件a.tar
ubuntu@ubuntu:~$ tar xf a.tar        ==> 释放归档文件a.tar
  • 压缩/解压
ubuntu@ubuntu:~$ tar czf a.tar.gz dir/*  将目录dir中的所有文件归档并压缩为gz格式
ubuntu@ubuntu:~$ tar xzf a.tar.gz        ==> 解压压缩文件a.tar.gz

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

image

image

习题

image

命令路径

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

      基本格式如下:

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

image

image

文件格式

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

      基本格式如下:

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

image

配置网络

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

      基本格式如下:

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

image

image

      基本格式如下:

ubuntu@ubuntu:~$ ifconfig   [选项]

image

image

网络测试

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

      基本格式如下:

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

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

image

image

进程状态

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

      基本格式如下:

ubuntu@ubuntu:~$ ps   [选项]

image

image

命令别名

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

      基本格式如下:

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

image

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

image

image

image

清除屏幕

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

      基本格式如下:

ubuntu@ubuntu:~$ clear
posted @ 2025-05-18 09:38  努力赚钱的小智  阅读(62)  评论(0)    收藏  举报