Linux系统使用(超详细)

目录

Linux操作系统简介

Linux和windows区别

Linux常见命令

Linux目录结构

Linux命令提示符

常用命令

ls

cd

pwd

touch

cat

echo

mkdir

rm

cp

mv

vim

vim的基本使用

grep

netstat

Linux面试题


Linux操作系统简介

Linux操作系统是和windows操作系统是并列的关系。只不过只是两个操作系统的特性各有不同而已。

Linux和windows区别

  1. 开源VS闭源:Linux是开源的系统,其内核和大部分的软件的代码都是公开的,任何人都可以进行修改、查看。而windows操作系统则是闭源的商业操作系统,其源代码是不公开的,只有微软公司才能够进行修改等操作。
  2. 发行模式:Linux以发行版的形式进行发布,如Ubuntu、CentOS等,每个发行版都有自己的特点和目标用户群,而windows则是以单一的官方版本进行发布的,只不过是用户可以选择自己想要的版本,如windows10,windows11等。
  3. 用户界面:windows操作系统采用的图形化界面作为主要的交互方式,提供了直观的操作和良好的用户体验,Linux也提供了多种桌面的环境,但是Linux在图形化方面,还是比windows要落后一点。
  4. 应用程序和兼容性:Windows拥有庞大的应用程序生态系统,有许多商业软件和游戏专门为Windows开发。而Linux虽然也有许多优秀的开源和免费软件,但在商业软件和某些特定应用领域的支持上相对较少。此外,Windows在硬件和驱动程序的兼容性方面较为广泛,因为大多数硬件供应商更倾向于为Windows提供驱动程序。
  5. 安全性和稳定性:由于开源性质,Linux操作系统受到广泛的审查和贡献,具有良好的安全性和稳定性。相比之下,Windows由于其广泛的用户群和闭源性质,更常受到恶意软件的攻击,并可能面临一些安全和稳定性挑战。
  6. 部署和管理:Linux在服务器领域广泛应用,因其稳定性和灵活性。它通常被认为更适合于技术专业人员和系统管理员,需要一些命令行操作和配置知识。而Windows在桌面和家庭用户领域占据主导地位,提供了更简化和易用的界面和工具。

总体而言,Windows和Linux是两种不同的操作系统,各自有其优点和适用场景。选择哪个操作系统取决于用户的需求、技术背景和使用场景。

Linux常见命令

Linux目录结构

windows目录结构:

windows目录结构总体来说就是上图所示。

在Linux的目录结构中,没有盘符的概念,有的只是一个根目录 / ,在根目录下存放的就是一些具体的文件,在Linux中,会把一些硬件设备给抽象成文件的形式存放在硬盘上,于是在Linux系统中有这样的一句话,一切皆文件。

Linux命令提示符

常用命令

ls

ls list

ls list 作用就是列出当前目录/指定目录下的文件或者目录。对标windows中的双击某个目录,查看里面具有有哪些东西。

其中蓝色的是目录,白色的是普通文件。

在ls后面加上一个指定的路径,就可以查看指定路径下的内容。

/ 根目录,对标windows中的此电脑。

Linux中的任何一个文件都是在/ 根目录下存在的。

可以看到这里的效果和直接敲ls是一样的,也就是我们的以root身份登录后,默认所在的目录。

/root就是root用户的home目录。

使用ls -l 就可以查看其中的具体信息

此操作就对标windows中的显示详细信息。

Linux提供了 ll 命令。此命令等价于ls -l

上述的这些选项,也叫做命令行参数。

注意:命令行的参数与参数之间,需要一个空格进行分割。

cd

cd change directory 切换目录

在Linux系统中,磁盘上的文件和目录被组成一个目录树,每个节点都是目录或者文件。

其中相当于在windows中资源管理中双击了某个目录。

cd 后面跟上你想有切换目录的路径,这里的路径可以使用相对路径,也可以使用绝对路径。

随着cd的进行,所在的目录位置就是发生变化。

直接切换目录到跟目录下。

使用绝对路径的方式来切换目录

使用相对路径的方式来切换目录。

cd 后面不加任何的选项,就会直接跳转到当前用户的home目录。

cd 和 ls 是我们最常使用的命令之一。

pwd

这个命令是防止用户迷路的命令,此命令就是显示我们当前的完整路径。

这个命令对标windows中的鼠标在此电脑中的地址栏一点:

可以看出,鼠标在上面一点,就会显示出完整的路径。

在Linux中,pwd就是这个作用。

touch

touch 创建一个空白的文件

可以看到我们执行touch abc.txt命令之后,Linux并没有给我任何的反馈。

其实我们不必惊慌,在Linux中,没有消息就是最好的消息。我们的这个命令是执行成功的。

cat

cat 读取文件的内容

注意:此命令如果读取短小的文件还好,如果使用此命令读取文件特别大的文件,cat就很不方便了。

cat命令是做了两件事:

1:读取硬盘上的文件。

2:把这个文件全部显示在终端里面。

那么如果说这个文件特别大,我们一次性的把很大的文件全部读取完成,在把文件里面的信息全部显示在终端上。此时消耗的时间是比较大的。

我们使用cat命令读取/etc目录下的一个文件的效果。

添加命令行参数 -n 就是我们给我们读取的文件内容添加上行号。

echo

echo 此命令用来写文件的

上述命令我们使用echo 把hello 写入到abc.txt文件中去。

此时我们再次使用cat命令查看:

可以看到hello已经在abc.txt这个文件中去了。

当时我们每次执行echo命令的时候,都会清除原来的内容。

可以看到hello已经被清除了,只剩下后面ehco的world了。

注意:echo和cat这样的命令,只是适用于对简单的文件进行操作,如果文件比较大和复杂,echo和cat就是不适合了。

mkdir

mkdir 创建目录

此命令对标windows中的右键,新建文件夹。

我们执行mkdir ddd 之后,就已经创建好了一个目录。

我们可以添加命令行参数 -p 当我们添加了命令号参数 -p 之后,系统会给我们自动的递归创建目录。

这个命令就是在当前目录下创建aaa目录,在aaa目录下创建bbb目录,在bbb目录下创建ccc目录。

rm

rm remove 删除文件/目录

当我们在执行rm 的时候,指定了要删除的文件之后,系统会让我们确定是否删除。

我们可以使用命令行参数 /r 进行递归删除

此命令在删除目录的时候,需要同时删除所有的文件和子目录。

这里的命令行参数 -rf 就是强制删除,不进行询问。

注意:在Linux中,没有回收站的概念,如果删除了,那么就是彻底的删除了。

根目录 / 是我们Linux中的最顶级节点了,如果把这个目录强制不询问的进行删除,那么这个Linux系统算是废了。彻底的废了。 慎用

cp

cp copy 复制

cp 用于复制文件或者目录。

当前目录下有一个 a.txt 文件,我们把这个a.txt文件复制一份同时改名为a1.txt。

cp 后面有两个参数,一个是源文件,一个是要往哪里去复制。

此处就是把a.txt复制一份,同时重命名为a1.txt。

cp 不光可以复制文件,还是可以进行目录的复制的。需要注意的是,在复制目录的时候,必须要添加命令行参数 -r

我们现在把aa目录同aa目录下的hello.txt文件复制到bb目录中。

可以看到我们是把整个aa目录都复制到bb目录下。

mv

mv 剪切文件或者目录

mv命令可以在进行移动的时候,去进行给目标文件设置名称(一边移动,一遍改名)。

可以看到,如果是要移动的源和目标在一个目录下,这个时候就是单纯的改名字了。

我们也就是在移动的过程中进行改名操作。

上述操作就是我们把当前目录的a.txt文件剪切到aa目录下,并重命名为a3.txt。

vim

vim 进行文件的编辑

vim是Linux上自带的文本编辑器,相当于windows上的记事本。

vim的基本使用

  • 打开文件
  • 编辑文件
  • 保存退出

上述的三个vim的操作是最基本的使用。

1:打开文件

使用vim 文件名/文件路径

当我们执行了上述命令时,系统就是使用vim打开这个文件。

此时由于这个文件里面什么都没有,这里就是空白的。

2:编辑文件

在进行文件的编辑之前,我们先要知道vim的三种模式。

  • 普通模式
  • 插入模式
  • 命令行模式

我们当打开的文件的界面,就是普通模式。在这个模式下,我们是无法进行数据的插入的。

要想进行数据的写入,必须切换成插入模式。

要切换插入模式其实非常简单,只需要按键盘上的 i 键就好了。

可以看出当我们按了i键之后,下面就变为install。此时就是插入模式,我们就可以进行数据的写入了。

此时当我们把数据写入之后,该保存退出了。

想要保存退出,就需要进入到命令行模式。

进入命令行模式其实也很简单,只需要按键盘上的esc键进行普通模式。然后再普通下输入:

现在就进入到命令行模式了。

然后我们在输入wq。wq也就是写入退出的意思。然后这个文件就成功的写入,并保存了。

然后此时我们在进行查看这个文件的内容:

可以能看到我们写入的数据了。

grep

grep 字符串匹配

grep 快速搜索某个文件中,是否有匹配的特点的字符串。

可以看到,当我们在a2.txt这个文件中查找"hello"这个字符串的时候,就会出现查找这个文件,然后就会把匹配成功的显示出来。当我们在添加一个命令行参数 -n 后,就会在在前面添加行号。

grep 还可以对多个文件进行搜索。

ps

ps 查看进程

但是ps查看的内容非常有限,我们可以添加一些固定的选项。

使用ps aux 就能列出系统上所有的进程。

可以看出结果是非常多的,不只是上图显示的这些。

但是很多时候,我们并不关心操作系统上的所有进程,我们只是想看咱们自己的进程。就可以配合grep命令来使用了。

比如我们想要查询mysql的进程。

这里的 | 是管道符,作用是把前一个命令的输出作为后一个命令的输入。

netstat

netstat -anp 查询网络状态。包括端口等等。

可以看到信息同时也是非常多的,我们这里只是一部分。

这个命令也通常搭配grep来使用。

比如我们想要查询mysql的端口号,就可以使用netstat命令加上grep来查询。

ps 和 netstat 两个命令通常都是会搭配grep来使用的。

通过ps来查询某个进程的pid

通过netstat来查询某个进行的端口号

Linux面试题

1:如何给定进程名,查询对应进程的pid

比如:Tomcat

2:如何给定进程名,查询对于绑定的端口号

比如: MySQL

相关推荐
mubeibeinv几秒前
项目搭建+图片(添加+图片)
java·服务器·前端
dessler5 分钟前
Docker-如何启动docker
运维·docker·云原生·容器·eureka
zhy295635 分钟前
【DOCKER】基于DOCKER的服务之DUFS
运维·docker·容器·dufs
无为之士11 分钟前
Linux自动备份Mysql数据库
linux·数据库·mysql
秋名山小桃子20 分钟前
Kunlun 2280服务器(ARM)Raid卡磁盘盘符漂移问题解决
运维·服务器
与君共勉1213821 分钟前
Nginx 负载均衡的实现
运维·服务器·nginx·负载均衡
岑梓铭27 分钟前
(CentOs系统虚拟机)Standalone模式下安装部署“基于Python编写”的Spark框架
linux·python·spark·centos
努力学习的小廉28 分钟前
深入了解Linux —— make和makefile自动化构建工具
linux·服务器·自动化
MZWeiei31 分钟前
Zookeeper基本命令解析
大数据·linux·运维·服务器·zookeeper
7yewh1 小时前
嵌入式Linux QT+OpenCV基于人脸识别的考勤系统 项目
linux·开发语言·arm开发·驱动开发·qt·opencv·嵌入式linux