Linux基础学习笔记第七章:基础命令和常用操作
大家好,我是小智!
在Linux系统开发的时候一般都是直接在终端中进行,终端也被称为命令解释器,终端就是Linux系统提供给用户和内核交互的一个程序,该程序能够接收用户输入的命令,并对命令进行处理,处理完毕后再将结果反馈给用户,所以需要用户掌握对应的shell命令才能控制。
命令格式
Linux 命令的基本格式:
ubuntu@ubuntu:~$ 命令 [选项] [参数]
注意:命令的选项用于调整命令功能,而命令的参数是这个命令的操作对象,具体如下所示:
- 选项的作用
其中,命令格式中的 [] 代表可选项,也就是有些命令可以不写选项或参数,虽然也能执行,只不过只能执行最基本的功能。Linux 命令的选项又分为短格式选项和长格式选项。
- 参数的作用
参数是命令的操作对象,一般文件、目录、用户和进程等可以作为参数被命令操作。命令一般都需要加入参数,用于指定命令的操作对象。命令的参数可以省略,如果省略则一般使用默认参数。
帮助手册
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 [选项] [目录名称] //选项可以省略,目录名称也可以省略




切换目录
cd命令,是英文change directory 的缩写,用来切换工作目录,linux系统下目录也被称为路径。
基本格式如下:
ubuntu@ubuntu:~$ cd [选项] [目录名称]



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

文件系统的最顶层是由根目录开始的,系统使用“/”来表示根目录,在根目录之下的既可以是目录(目录就相当于 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 中,一个文件的路径指的就是该文件存放的位置,一般把文件路径分为两种,一种是相对路径、一种是绝对路径。
- 相对路径:不是从根目录 / 开始写起,而是从当前所在的工作目录为开头的路径。
- 绝对路径:一定是以根目录‘/’为开头的路径。

根目录:是位于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。


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


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


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

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

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


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


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

查看文件
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 来识别。


系统时间
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组八进制数来对应这些权限为,如下表所示:

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


创建链接
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


习题

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


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

配置网络
ifconfig命令,该命令的作用是查看或者设置系统IP地址,ifconfig并非系统自带命令,需要利用命令进行安装使用:
基本格式如下:
ubuntu@ubuntu:~$ sudo apt install net-tools //安装指令只需要执行一次即可


基本格式如下:
ubuntu@ubuntu:~$ ifconfig [选项]


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


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


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

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



清除屏幕
clear命令,该命令用于清除终端的一面屏幕,为了提高终端的可读性以及提高开发的效率!
基本格式如下:
ubuntu@ubuntu:~$ clear

浙公网安备 33010602011771号