linux 系统使用指南
一、为什么学习Linux
如今的软件开发行业,服务器端市场基本被 Linux 系统占领了。移动端中的 Android 系统是基于 Linux 内核开发的,那些很火的虚拟化、消息队列、云计算、大数据等技术,都默认支持 Linux 操作系统。
而对互联网企业来说,也几乎一定会遇到 Linux 操作系统的应用场景:比如 支付宝支付,淘宝购物,抖音短视频,12306购票,微信聊天等,其实背后都是成千上万的 Linux 服务器在支撑。
操作系统是开发与科研基础中非常重要的一环,Linux 操作系统的基础知识更是必不可少。
当前市面上的操作系统主要为三种:Mac OS、Windows以及Linux。
- Mac OS:全封闭操作系统,设计风格和使用体验比较独特
- Windows:不开放源码,目前市场份额最高,是个人电脑桌面操作系统的霸主
- Linux:内核开放、开源,具有强大的社区支持,是目前嵌入式硬件和服务器领域的第一选择
由于Linux操作系统具有开源性,因此来自全球各个区域的技术人员都可以开发Linux系统,所以当前市面上有许多Linux发行版,其中包括被广泛应用的Ubuntu、CentOS、Arch Linux、fedora。
windows 和 Linux差异
- 目前全球500强超级计算机全部使用Linux系统
- Linux的任务处理能力相对于Windows更加迅速
- Linux系统运行所使用的系统资源相对于Windows更少
二、怎么学习Linux
2.1 Linux使用方式
Windows所使用的图形用户界面(GUI)作为主要的用户界面,提供了可视化的桌面、窗口、菜单和图标等,而相对较少的使用命令行操作,很多任务都是通过图形界面完成。
而Linux则大不相同,使用Linux的过程中,命令行操作是非常重要的一部分,可以通过终端(terminal)输入命令来完成各种任务,比如文件管理、软件安装、系统配置等。
2.2 如何学习Linux
在使用Windows系统中,我们的常用操作不过于新建、打开、复制、粘贴、编辑、删除、压缩、运行。
而学习Linux,我们只需要学会与之功能类似的基本命令,我们需要学习的命令主要分为:
- 文件和目录操作命令
cd
:切换工作目录ls
:列出目录中的文件和子目录pwd
:显示当前工作目录的路径mkdir
:创建一个空目录touch
:创建一个空文件或修改文件的时间戳rm
:删除文件或目录cp
:复制文件或目录mv
:移动或重命名文件或目录- 文件查看和编辑命令
cat
:查看文件的内容tail
:用于显示文件的末尾内容- 文件和目录打包压缩命令
tar
:打包和解压文件或目录gzip
:压缩文件
2.3 学习Linux命令的命令格式
Linux命令的一般格式如下:
command
:命令的名称,用于指定要执行的操作。options
:可选的命令选项,用于修改命令的行为或提供额外的功能。选项通常以一个或两个短划线(-)或一个长划线(--)开头。arguments
:命令的参数,用于指定命令操作的对象或要处理的数据。
命令的选项和参数可以根据具体的命令而有所不同。有些命令不需要选项或参数,而有些命令可能需要多个选项和参数。
以下是一个示例,展示了如何使用ls
命令查看当前目录的内容:
在这个示例中,ls
是命令的名称,-l
是命令的选项,用于显示详细的目录列表。
另一个示例是使用cp
命令复制文件:
在这个示例中,cp
是命令的名称,source_file
是要复制的源文件,destination_file
是目标文件。
需要注意的是,命令和选项通常是大小写敏感的,因此请确保正确输入命令和选项的大小写。
此外,有些命令还支持更高级的用法,如使用通配符来匹配多个文件或使用管道将一个命令的输出作为另一个命令的输入。这些更高级的用法可以进一步提高命令的灵活性和功能性。
2.4 目录组织结构
Windows可以具有多个目录顶点,常被我们称为盘符,相当于有多个树结构。
Linux只有一个目录顶点,被我们称为根目录,通常用’/’表示,只有一个树结构。
书写路径:
-
windows从盘符开始,以反斜杠’\’作层级分隔如C:\WINDOWS\hello.txt
-
Linux从根目录开始,以正斜杠’/’作层级分隔。如:/etc/hello.txt
关于Linux的文件系统:
尽管每个发行版之间都有细微的差别,但是他们文件系统的布局十分相似,可以说,一旦了解了一个,你就了解了所有。
了解Linux的文件系统相当于拿到了一份地图,不论是对我们常用命令的学习还是之后文件的使用与配置,都有不小的帮助!
三、Linux命令学习
3.1 ls命令:列出目录中的文件和子目录
ls
,全称:List,用于列出目录中的文件或子文件,及其文件细节。
ls
命令的基本语法:ls [选项] [目录名称]
常用场景命令:
-
ls
:列出当前目录下文件和子目录的列表 -
ls -l
或ll
:列出当前目录下文件和子目录的详细信息列表 -
ls /etc
:列出指定目录下的文件和子目录 -
ls -lrt /root
:查看root目录按照修改时间列出的详细信息
注意:若使用-l
选项,则通常将-l
放在其他选项之前。
ls
命令是Linux系统中的一个常用命令,用于列出目录中的文件和子目录。通过使用不同的选项,可以根据需要以不同的方式显示文件和目录的信息。
3.2 cd命令:切换工作目录
cd
,全称:Change Directory,用于切换当前工作目录。
cd
命令的基本语法:cd [目录名称]
用于多种场景:
- 切换到绝对路径:可以直接切换到指定目录,如
cd /etc/audit/rules.d
,即将工作目录切换到/etc/audit/rules.d
下。 - 切换到相对路径:相对于当前目录进行切换,如
cd ../rules.d
,即将工作目录切换到父目录下的rules.d
目录下。 - 切换到父目录:直接切换到上级目录,如
cd ..
,即将工作目录切换到父目录下。 - 切换到用户主目录:直接切换到主目录,如不加目录直接
cd
或cd ~
,即将工作目录切换到当前用户的主目录下。 - 切换到上次工作目录:使用
cd -
,即将工作目录切换到上次的工作目录下。
3.3 pwd命令:打印当前工作目录
pwd
,全称:print working directory,用于打印当前工作目录。
pwd
命令的基本语法:pwd
。
pwd
:输出当前目录的完整路径。
3.4 mkdir命令:创建目录
mkdir
,全称:make directory,用于创建目录。
mkdir
命令的基本用法:mkdir [选项] [目标目录]
。
常用场景命令:
mkdir directory
:在当前目录下创建一个名为directory的目录。mkdir -p dir1/dir2
:在当前目录下创建一个dir1/dir2
的多级目录。mkdir dirname1 dirname2 dirname3
:在当前目录下同时创建多个目录,分别是dirname1 dirname2 dirname3
。
3.5 touch命令:创建一个空文件
touch
,用于创建一个空文件或修改文件的时间戳。
touch
命令的基本用法:touch [文件名]
。
常用场景命令:
touch filename1
:创建一个名为filename
的空文件。touch file1 file2 file3
:同时创建三个文件,分别为file1
、file2
、file3
。
3.6 rm命令:删除文件或目录
rm
,全称:remove,用于删除文件或目录。
rm
命令的基本用法:rm [选项] [文件或目录名]
。
常用场景命令:
rm file1
:删除文件file1
。rm -d directory1
:删除空目录directory1
。rm -r directory2
:删除非空目录directory
及其所有文件。rm -f file2
:强制删除文件file2
。
3.7 cp命令:复制文件和目录
cp
,全称:copy,用于复制文件和目录。
cp
命令的基本用法:cp [选项] [文件或目录] [目标目录]
。
常用命令搭配:
cp file /etc/file/directory/
:将文件file
复制到目录/etc/file/directory/
中。cp -r dir1 /etc/file/directory/
:将目录dir1
及其所有内容复制到/etc/file/directory/
中。cp file3 /etc/file/directory/file4
:将文件file3
复制到etc/file/directory/
并重命名为file4
。
3.8 mv命令:移动文件或目录
mv
,全称:move,用于移动文件或目录。
mv
命令的基本用法:mv [选项] [文件或目录] [目标目录]
。
常用场景命令:
mv file /etc/file/directory/
:将文件file
移动到/etc/file/directory/
目录下。mv -r dir /etc/file/directory/
:将目录dir
及其所有文件移动到目录/etc/file/directory/
下。mv file1 file2
:mv
命令后紧跟两个文件名称,实现重命名功能,这里将文件file1
命名为file2
。
3.9 cat命令:查看文件内容
cat
,用于查看文件内容。
cat
命令的基本用法:cat [文件]
。
常用场景命令:
cat file1
:显示文件的内容,内容会输出到终端。cat file1 file2
:合并file1
和file2
,并将结果输出到终端。
3.10 tail命令:查看文件末尾的内容
tail
,用于查看文件末尾的内容。
tail
命令的基本用法:tail [选项] [文件]
。
常用命令搭配:
tail file1
:显示文件最后10行的内容。tail -n 20 file2
:显示指定行数(20)的文件末尾内容。
3.11 tar命令:创建、压缩和解压缩文件或目录
tar
命令,用于创建、压缩和解压缩文件或目录。
tar
命令的基本用法:tar [选项] [目标包] [操作文件]
。
常用选项:
-c
:创建一个新的压缩包。-x
:从压缩包中提取文件或目录,解压缩。-z
:使用gzip
压缩或解压缩文件。-f
:指定压缩包的名称,必须将此选项放在所有选项之后。-v
:显示详细信息。比如正在处理的目录或文件名称。
常用场景命令:
tar -cvf file.tar file
:将文件file
压缩为tar文件file.tar
。tar -xvf file.tar
:将压缩包file.tar
进行解压缩操作,将其中的文件或目录提取出来。tar -czvf file.tar.gz file
:创建一个压缩的.tar.gz或.tgz文件,将file
文件打包并压缩为一个压缩包。tar -xzvf filename.tar.gz
:解压缩.tar.gz或.tgz文件,将其中的文件或目录提取出来。
3.12 gzip命令:压缩文件
gizp
命令,用于压缩文件。
gzip
命令的基本用法:gzip [选项] [文件名]
。
常用命令搭配:
gzip file1
:将file1
文件压缩,将会生成file1.gz
的压缩文件。gunzip file1.gz
:解压缩名为file.gz
的压缩文件。
注意:gzip
命令只能压缩单个文件,不能压缩目录。如果需要压缩目录,可以结合tar
命令结合gzip
来创建.tar.gz
文件。