Linux系统

目录

Linux介绍

Linux诞生

Linux发行版本

Linux特点

开源和自由

多用户和多任务

强大的命令行界面

内核

文件系统

图形用户界面

应用程序和开发环境

Linux系统目录结构

/bin

/boot

/dev

/etc

/home

/lib

/lost+found

/media

/mnt

/opt

/proc

/root

/sbin

/selinux

/srv

/tmp

/usr

/usr/bin

/usr/sbin

/usr/src

/var

/run

Linux常用命令

命令提示符

命令格式

长短参数

参数值

基础命令

pwd

ls

cd

du

cat

touch

mkdir

cp

mv

rm

sudo

su

chmod

​编辑

​编辑

​编辑

adduser

gzip / gunzip

tar

zip/unzip

ifconfig

vim命令

打开vim

交互模式

插入模式

命令模式

Linux开启服务

Linux开启端口

1.检查端口是否已经被占用

2.开放端口

3.重启防火墙

重启 iptables:

重启 firewalld:

4.验证端口是否开放


Linux介绍

Linux诞生

Linux创始人:林纳斯 托瓦兹

Linux诞生于1991年,作者上大学期间

因为创始人在上大学期间经常需要浏览新闻和处理邮件,发现现有的操作系统不好用,于是他决心自己写一个保护模式下的操作系统,这就是Linux的原型,当时他21岁,后来经过全世界网友的支持,现在能够兼容多种硬件,成为最为流行的服务器操作系统之一。

Linux发行版本

内核是免费、开源的,这也就代表了任何人都可以获得并修改内核,并且自行集成系统级程序提供了内核 +系统级程序的完整封装,称之为 Linux发行版

Linux 的发行版简单说就是将 Linux 内核与应用软件做一个打包。知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux

Linux特点

开源和自由

Linux 是一个开源操作系统,这意味着它的源代码对任何人都是可用的,并且可以根据需要进行修改和分发。大多数 Linux 发行版都是免费的,并且遵循自由软件的原则。

多用户和多任务

Linux 支持多用户和多任务,多个用户可以同时登录到系统并运行多个程序。每个用户都有自己的用户账户和权限,可以独立地管理和使用系统资源。

强大的命令行界面

Linux 提供了强大的命令行界面,称为终端(Terminal)或控制台(Console)。通过命令行界面,用户可以执行各种系统管理任务、文件操作、软件安装等操作,同时还可以编写和运行脚本来自动化任务。

内核

Linux 内核是 Linux 操作系统的核心部分,负责管理系统资源、提供系统调用接口、调度进程和管理设备等。Linux 内核是开源的,并且由一个全球性的开发者社区不断维护和改进。

文件系统

Linux 使用一种称为层次文件系统(Hierarchical File System)的文件系统结构。文件系统以树状结构组织,根目录为树的顶部,所有其他文件和目录都位于其下。Linux 支持多种文件系统,包括 ext4、XFS、Btrfs 等。

图形用户界面

虽然 Linux 主要是一个以命令行为主的操作系统,但也有许多图形用户界面(GUI)可用,例如 GNOME、KDE、Xfce 等。这些桌面环境提供了类似于 Windows 或 macOS 的图形界面,使得用户可以通过鼠标和键盘进行操作。

应用程序和开发环境

Linux 拥有丰富的应用程序生态系统,涵盖了各种领域,包括办公套件、互联网浏览器、多媒体播放器、开发工具等。许多开发者和科研人员选择使用 Linux 作为开发环境,因为它提供了丰富的开发工具和编程语言支持。

Linux系统目录结构

/bin

bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令

/boot

这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件

/dev

dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的

/etc

etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件子目录

/home

用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的

/lib

lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库

DLL文件:

在Windows中,动态链接库(Dynamic Link Library,简称DLL)是一种包含可被多个程序共享的功能代码和数据的文件类型。DLL文件的作用可以总结如下:

### 1. 代码共享

DLL文件允许多个程序共享相同的功能代码。这意味着如果多个程序都需要执行相同的任务或使用相同的函数,它们可以共享同一个DLL文件,而不是每个程序都拥有自己的一份代码。

### 2. 资源共享

除了代码之外,DLL文件还可以包含共享的资源,如图标、对话框、字符串等。这些资源可以被多个程序引用和使用,从而节省内存和磁盘空间。

### 3. 模块化编程

使用DLL文件可以实现模块化编程,即将程序的不同部分分解为独立的模块,并且每个模块都可以被单独编译和更新。这使得程序更易于维护和扩展。

### 4. 动态链接

与静态链接库(Static Link Library,简称.lib文件)不同,DLL文件在程序运行时才被加载到内存中。这意味着程序可以在运行时动态地链接到DLL文件,并且可以在不重新编译程序的情况下更新或替换DLL文件。

### 5. 减少内存占用

由于DLL文件可以被多个程序共享,因此可以减少系统中多个程序所占用的内存。当多个程序都需要使用相同的功能时,它们可以共享同一个DLL文件的实例,而不是每个程序都加载一份独立的代码。

### 6. 扩展性和定制性

DLL文件使得程序具有更强的扩展性和定制性。开发人员可以编写自己的DLL文件,包含特定的功能或定制的功能,并且可以在需要时将其链接到程序中,而无需修改程序的源代码。

总的来说,DLL文件在Windows系统中扮演着重要的角色,它们提供了一种有效的方式来组织、共享和管理程序代码和资源,使得程序更加灵活、模块化和可维护。

/lost+found

这个目录一般情况下是空的,当系统非法关机,这里就存放了一些文件

/media

linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下

/mnt

系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容

/opt

opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的

/proc

proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。 这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

/root

该目录为系统管理员,也称作超级权限者的用户主目录

/sbin

s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序

/selinux

这个目录是 Redhat/CentOS 特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的

/srv

该目录存放一些服务启动之后需要提取的数据

/tmp

tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件

/usr

usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录

/usr/bin

系统用户使用的应用程序

/usr/sbin

超级用户使用的比较高级的管理程序和系统守护程序

/usr/src

内核源代码默认的放置目录

/var

var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件

/run

是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run

Linux常用命令

命令提示符

进入命令行环境以后,用户会看到she11的提示符。提示符往往是一串前缀,最后以-个美元符号 $结尾,用户可以在这个符号后面输入各种命令。

如执行一个简单的命令 pwd

[root@iZm5e8dsxce9ufaic7hi3uZ ~]# pwd

/root

命令解析:

root表示用户名;

iZm5e8dsxce9ufaic7hi3uZ表示主机名;

~表示目前所在目录为家目录,其中 root 用户的家目录是 /root 普通用户的家目录在 /home 下;

#指示你所具有的权限( root 用户为 # ,普通用户为 $ )。

命令格式

command parameters(命令 参数)

长短参数

单个参数:ls -a(a 是英文 all 的缩写,表示“全部”)

单个长参数:ls --all

多个长参数:ls --reverse --all

长短混合参数:ls --all -l

参数值

短参数:command -p 10(例如:ssh root@121.42.11.34 -p 22)

长参数:command --paramters=10(例如:ssh root@121.42.11.34 --port=22)

基础命令

pwd

查看路径

ls

列出文件和目录,它是 Linux 最常用的命令之一

常用参数:

-a 显示所有文件和目录包括隐藏的

-l 显示详细列表

-h 适合人类阅读的

-t 按文件最近一次修改时间排序

-i 显示文件的 inode ( inode 是文件内容的标识)

cd

英语 change directory 的缩写,表示切换目录

cd/-->跳转到根目录

cd ~-->跳转到家目录

cd..-->跳转到上级目录

cd ./home -->跳转到当前目录的 home 目录下

cd /root/yanshi -->跳转到根目录下的 root 目录下的 yanshi 目录

cd -->不添加任何参数,也是回到家目录

du

列举目录大小信息

cat

一次性显示文件所有内容,更适合查看小的文件

-n显示行号

touch

创建一个文件

touch new_file

mkdir

创建一个目录

mkdir new_folder

cp

拷贝文件和目录

cp file filecopy --> file 是目标文件,filecopy 是拷贝出来的文件

cp file one --> 把 file 文件拷贝到 one 目录下,并且文件名依然为

file cp file one/filecopy --> 把 file 文件拷贝到 one 目录下,文件名为filecopy

cp *.txt folder --> 把当前目录下所有 txt 文件拷贝到 folder 目录下

  *  通配符 表示任意长度的字符

  *.txt   ->  1.txt test.txt test1.txt

  -r 递归的拷贝,常用来拷贝一整个目录

mv

移动(重命名)文件或目录,与cp命令用法相似

mv file one --> 将 file 文件移动到 one 目录下

mv newfolder one --> 将 newfolder 文件夹移动到one目录下

mv *.txt folder --> 把当前目录下所有 txt 文件移动到 folder 目录下

mv file newfile --> file 文件重命名为 newfile

rm

删除文件和目录,由于 Linux 下没有回收站,一旦删除非常难恢复,因此需要谨慎操作

rm newfile --> 删除 newfile 文件

rm f1 f2 f3 --> 同时删除 f1 f2 f3 3个文件

【常用参数】

-i 向用户确认是否删除;
-f 文件强制删除;
-r 递归删除文件夹,著名的删除操作 rm -rf 

sudo

以 root 身份运行命令

su

切换用户,需要 root 用户权限

sudo su --> 切换为root用户

(exit 命令或 CTRL + D 快捷键都可以使普通用户切换为 root 用户)

su kali --> 切换为普通用户

su - --> 切换为root用户

chmod

修改访问权限

adduser

新建用户

gzip / gunzip

“压缩/解压”归档,默认用 gzip 命令,压缩后的文件后缀名为 .tar.gz

gzip archive.tar # 压缩

gunzip archive.tar.gz # 解压

tar

归档+压缩

可以用 tar 命令同时完成归档和压缩的操作,就是给 tar 命令多加一个选项参数,使之完成归档操作后,还是调用 gzip 或 bzip2 命令来完成压缩操作。

tar -zcvf archive.tar.gz archive/ # 将archive文件夹归档并压缩

tar -zxvf archive.tar.gz # 将archive.tar.gz归档压缩文件解压

zip/unzip

“压缩/解压” zip 文件( zip 压缩文件一般来自 windows 操作系统)

unzip archive.zip # 解压 .zip 文件

unzip -l archive.zip # 不解开 .zip 文件,只看其中内容

ifconfig

查看 ip 网络相关信息,如果命令不存在的话, 执行命令 yum install net-tools 安装

vim命令

打开vim

在终端命令行中输入 vim 回车后 Vim 就会被运行起来,也可以用 Vim 来打开一个文件,只需要在 vim 后面再加文件名。如 vim file.name ,如果文件不存在,那么会被创建

交互模式

也成为正常模式,这是 Vim 的默认模式,每次运行 Vim 程序的时候,就会进入这个模式。

例如执行 vim name.txt 则会进入交互模式

交互模式特征:

在这个模式下,你不能输入文本;

它可以让我们在文本间移动,删除一行文本,复制黏贴文本,跳转到指定行,撤销操作,等等。

插入模式

这个模式是我们熟悉的文本编辑器的模式,就是可以输入任何你想输入的内容。进入这个模式有几种方法,最常用的方法是按字母键 ii、I、a、A、o、O 都可以进入插入模式,只是所处的位置不同),退出这种模式,只需要按下 Esc 键。

命令模式

退出文件

在交互模式下,按下冒号键 : 进入命令模式,再按下 q 键,就可以退出了。

如果在退出之前又修改了文件,就直接想用 :q 退出 Vim ,那么 Vim 会显示一个红字标明错误信息。此时我们有两个选择:

  1. 保存并退出 :wq :x

  2. 不保存且退出 :q!

Linux开启服务

在Linux系统中,可以通过以下几种方法来启动服务:

  1. 使用service命令:可以通过service命令来启动、停止、重启或查看服务的状态。例如,启动Apache服务可以使用以下命令:sudo service apache2 start

  2. 使用systemctl命令:systemctl是systemd守护进程管理工具,可以用来启动、停止、重启或查看服务的状态。例如,启动Apache服务可以使用以下命令:sudo systemctl start apache2

  3. 使用/etc/init.d/目录下的启动脚本:在/etc/init.d/目录下存放着系统服务的启动脚本,可以通过执行这些脚本来启动服务。例如,启动Apache服务可以使用以下命令:sudo /etc/init.d/apache2 start

  4. 使用启动脚本的绝对路径:有些服务可能没有在/etc/init.d/目录下的启动脚本,可以直接使用启动脚本的绝对路径来启动服务。例如,启动MySQL服务可以使用以下命令:sudo /opt/mysql/bin/mysqld_safe --defaults-file=/etc/mysql/my.cnf

无论使用哪种方法,都需要以root或具有sudo权限的用户身份来执行相关命令

Linux开启端口

1.检查端口是否已经被占用

在开放端口之前,我们需要确保该端口尚未被其他服务占用。可以通过 netstat 命令来检查是否已经存在某个进程在监听该端口。

例如,我们要检查 8080 端口是否已经被占用,可以使用以下命令:

sudo netstat -anp | grep 8080

2.开放端口

使用 iptables 命令开放端口

在大多数 Linux 系统中,我们可以使用 iptables 命令来管理防火墙规则。

例如,我们要开放 8080 端口,可以使用以下命令:

sudo iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

3.重启防火墙

无论是使用 iptables 还是 firewalld 命令,都需要在开放端口之后重启防火墙才能使其生效。下面是重启 iptables 和 firewalld 的命令:

重启 iptables
sudo service iptables restart

1
重启 firewalld
sudo systemctl restart firewalld

4.验证端口是否开放

使用 netstat 命令

使用 netstat 命令可以查看当前 Linux 系统中所有开放的端口,以及相应的监听状态和进程信息。以下是使用 netstat 命令查看端口开放情况的命令:

sudo netstat -tuln
  • 32
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值