Linux介绍

一、为啥要学 Linux,它到底比 Windows 强在哪里?​

(一)免费又省钱​

Windows 系统需要花钱买正版授权,家庭版几百块,企业版更是贵得多。而 Linux 完全免费,不仅系统免费,上面很多常用软件,像办公软件 LibreOffice、数据库 MySQL 等也都是免费开源的。对于企业来说,部署大量服务器用 Linux,能省下一大笔软件授权费;个人学习和使用也不用掏一分钱,性价比超高。​

(二)稳定到离谱​

Windows 时不时就弹窗提示更新,更新完还可能出现各种兼容性问题,比如软件打不开、系统蓝屏死机。而 Linux 服务器能连续运行几年不重启,依然稳定工作。像大型网站、银行后台系统,为了保证 7×24 小时不间断服务,都会优先选择 Linux 系统,不用担心关键时刻掉链子。​

(三)安全系数拉满​

Windows 用户多,黑客就爱盯着它找漏洞攻击,电脑容易中病毒、木马。Linux 天生权限管理严格,普通用户没有管理员权限,很多危险操作干不了,病毒想偷偷安装、搞破坏非常难。而且开源意味着全球开发者都能一起检查代码,发现漏洞立马修复,安全更新速度特别快。所以银行、政府这些对安全要求极高的机构,都用 Linux 来保护重要数据。​

(四)想怎么改就怎么改​

Windows 系统就像一个封装好的黑盒子,用户只能按微软设定好的规则使用,想深度定制很难。Linux 是开源的,用户可以随意查看、修改系统底层代码。技术大神可以根据自己的需求,定制出独一无二的操作系统。比如想做一个专门用来挖矿的系统,或者适合物联网设备的轻量级系统,Linux 都能满足。​

(五)服务器界的 “扛把子”​

在服务器领域,Linux 几乎统治了市场。因为它占用资源少,同样配置的服务器,Linux 能同时处理更多任务。而且 Linux 支持多用户同时登录使用,每个用户互不干扰,特别适合企业多人协作办公。相比之下,Windows 服务器版本在性能和资源利用上就逊色不少,还经常需要额外的配置和优化。​

(六)开发者的 “梦中情统”​

Linux 自带很多开发工具,像编译器 GCC、版本控制 Git 等,安装配置都很方便。而且 Linux 遵循各种开源协议和标准,和开源社区的项目、代码兼容性特别好。开发者在 Linux 上开发的软件,移植到其他 Linux 系统,甚至其他支持开源标准的系统上,都能轻松运行。而 Windows 开发的软件,换个系统环境可能就出现各种问题,适配起来特别麻烦。​

二、Linux 基础操作​

(一)系统安装与登录​

  1. 安装 Linux:咱可以用虚拟机软件,像 VMware 或者 VirtualBox,在自己电脑上装个 Linux 系统。比如说 CentOS 或者 Ubuntu。安装过程中,得注意选好分区,把系统装到合适的磁盘空间里。​
  1. 登录系统:安装好后,打开虚拟机,就会看到登录界面。输入咱们安装时设置的用户名和密码,就能登录进 Linux 系统啦。​

(二)常用命令​

文件和目录操作​

  • ls:这个命令就是用来列出当前目录下的文件和文件夹的。比如说,你想看看 “/home” 目录下有啥,就输入 “ls /home”,它就会把这个目录下的东西都列出来。​
  • cd:用来切换目录。要是你想从当前目录进到 “/home/user” 目录,就输入 “cd /home/user”。想返回上一级目录,输入 “cd..” 就行。​
  • mkdir:创建新目录用的。比如你要在当前目录下创建一个叫 “new_folder” 的文件夹,就输入 “mkdir new_folder”。​
  • rmdir:删除空目录。要是你想删刚才创建的 “new_folder”(前提是里面没东西),就输入 “rmdir new_folder”。​
  • touch:可以创建新的空文件。比如说,在当前目录下创建一个叫 “test.txt” 的文件,输入 “touch test.txt”。​
  • rm:删除文件或者非空目录(小心用,删了可不好恢复)。删除 “test.txt”,输入 “rm test.txt”;要是想删一个非空目录 “my_folder”,得加个参数 “-r”,输入 “rm -r my_folder”。​

文件内容查看​

  • cat:能把文件内容一次性全显示出来。比如你想看看 “test.txt” 里写了啥,输入 “cat test.txt”。​
  • more:一页一页显示文件内容。查看大文件的时候好用,按 “空格” 键翻页。输入 “more big_file.txt”。​
  • less:也是分页查看,比 “more” 更灵活,能往前翻页。用 “less another_big_file.txt” 查看文件。​
  • head:显示文件开头几行,默认是 10 行。比如想看看 “log.txt” 开头 5 行,输入 “head -n 5 log.txt”。​
  • tail:显示文件末尾几行,默认也是 10 行。想看 “log.txt” 末尾 3 行,输入 “tail -n 3 log.txt”。

文本编辑​

  • nano:简单好用的文本编辑器。用它编辑 “test.txt”,输入 “nano test.txt”,进去就能编辑内容,编辑完按 “Ctrl+X”,再按 “Y” 保存,最后按 “Enter” 退出。​
  • vim:功能强大但有点复杂。打开 “test.txt” 编辑,输入 “vim test.txt”。进去后按 “i” 进入插入模式开始编辑,编辑完按 “Esc” 键,再输入 “:wq” 保存并退出(“:q!” 是不保存强制退出)。

(三)用户和权限管理​

用户管理​

  • useradd:添加新用户。比如添加一个叫 “new_user” 的用户,输入 “useradd new_user”。​
  • passwd:设置或修改用户密码。给 “new_user” 设置密码,输入 “passwd new_user”,然后按提示输入新密码。​
  • userdel:删除用户。删除 “new_user”,输入 “userdel new_user”(要是想连用户家目录一起删,加 “-r” 参数,即 “userdel -r new_user”)。​

权限管理​

  • 文件和目录有权限设置,分所有者、所属组和其他用户三种权限,每种又有读(r)、写(w)、执行(x)权限。​
  • chmod:修改权限。比如要给 “test.txt” 的所有者添加执行权限,输入 “chmod u+x test.txt”;把 “my_folder” 目录的所有用户都设置成可读可写可执行,输入 “chmod 777 my_folder”(7 表示 rwx,即读、写、执行权限都有)。​
  • chown:改变文件或目录的所有者和所属组。把 “test.txt” 的所有者改成 “new_user”,输入 “chown new_user test.txt”;要是想同时改所有者和所属组,比如改成 “new_user:new_group”,输入 “chown new_user:new_group test.txt”。​

三、Linux 系统管理​

(一)进程管理​

  1. ps:查看当前运行的进程。输入 “ps aux”,能列出所有用户的进程,显示进程的详细信息,像用户名、进程 ID、CPU 和内存占用等。​
  1. top:实时动态显示进程状态,能看到哪个进程占用资源多。输入 “top” 后,会不断刷新进程信息,按 “q” 键退出。​
  1. kill:终止进程。要是想杀掉进程 ID 为 “1234” 的进程,输入 “kill 1234”;要是进程比较顽固,用 “kill -9 1234” 强制杀掉(一般别轻易用 “-9”,可能会导致数据丢失啥的)。​

(二)服务管理​

  1. systemctl:管理系统服务的命令。比如要启动 “httpd” 服务(假设装了这个服务),输入 “systemctl start httpd”;停止服务用 “systemctl stop httpd”;重启服务是 “systemctl restart httpd”;查看服务状态,输入 “systemctl status httpd”。​
  1. chkconfig:设置服务开机自启。想让 “httpd” 服务开机自动启动,输入 “chkconfig httpd on”;不让它开机自启,输入 “chkconfig httpd off”。​

(三)磁盘管理​

  1. df:查看磁盘使用情况。输入 “df -h”,“-h” 参数让结果以更易读的方式显示,能看到每个磁盘分区的总容量、已用容量、可用容量等信息。​
  1. du:查看目录或文件占用磁盘空间大小。比如想看看 “/home/user” 目录占了多少空间,输入 “du -sh /home/user”,“-s” 表示只显示总和,“-h” 让结果易读。​
  1. fdisk:磁盘分区工具(一般在新磁盘使用前要分区)。比如给新磁盘 “/dev/sdb” 分区,输入 “fdisk /dev/sdb”,然后按提示操作,像创建分区、设置分区类型等。​
  1. mount:挂载磁盘分区。把 “/dev/sdb1” 分区挂载到 “/mnt/new_disk” 目录,输入 “mount /dev/sdb1 /mnt/new_disk”;想让系统开机自动挂载,得在 “/etc/fstab” 文件里添加相应配置。​

四、网络配置​

(一)网络设置​

  1. ifconfig:查看和配置网络接口信息。输入 “ifconfig”,能看到当前网络接口的 IP 地址、子网掩码、MAC 地址等信息。要是想给 “eth0” 接口设置 IP 地址为 “192.168.1.100”,子网掩码为 “255.255.255.0”,输入 “ifconfig eth0 192.168.1.100 netmask 255.255.255.0”(不过这种设置重启后可能失效,永久设置得改配置文件)。​
  1. ip:也是网络配置命令,功能更强大。比如用 “ip addr show” 查看网络接口信息,和 “ifconfig” 类似,但显示格式不太一样;用 “ip route” 查看路由表信息。​
  1. 修改网络配置文件:在 “/etc/sysconfig/network-scripts/” 目录下有网络接口的配置文件,像 “ifcfg-eth0”。用文本编辑器打开这个文件,可以永久设置 IP 地址、网关、DNS 等信息。比如设置静态 IP,在文件里添加或修改 “IPADDR=192.168.1.100”“NETMASK=255.255.255.0”“GATEWAY=192.168.1.1” 等配置,改完保存,然后重启网络服务(“systemctl restart network”)。​

(二)网络测试​

  1. ping:测试网络连通性。比如想看看能不能 ping 通 “192.168.1.1”,输入 “ping 192.168.1.1”,要是能 ping 通,会显示响应时间等信息;要是不通,可能网络有问题。​
  1. traceroute:查看数据包从本地到目标主机经过的路由路径。输入 “traceroute www.baidu.com”,它会显示数据包经过的每个路由器的 IP 地址和响应时间,能帮咱们找到网络故障出在哪一段。​
  1. netstat:查看网络连接状态、路由表等信息。输入 “netstat -an”,能列出所有网络连接,包括 TCP 和 UDP 连接,显示连接的状态、本地和远程地址端口等信息。​

五、高级技巧​

(一)Shell 脚本编写​

1.啥是 Shell 脚本:Shell 脚本就是把一堆 Linux 命令按顺序写在一个文件里,然后执行这个文件,就相当于依次执行里面的命令。能实现自动化操作,提高工作效率。​

2.简单 Shell 脚本示例:比如创建一个备份文件的脚本。用文本编辑器创建一个叫 “backup.sh” 的文件,在里面输入:​

#!/bin/bash​

cp /home/user/important_file.txt /home/user/backup/​

第一行 “#!/bin/bash” 指定用 bash shell 来执行这个脚本。

第二行就是复制文件的命令,把 “/home/user/important_file.txt” 文件复制到 “/home/user/backup/” 目录下。

保存文件后,给它添加执行权限 “chmod +x backup.sh”,然后执行 “./backup.sh”,就会执行文件里的备份操作啦。​

3. 变量和条件判断:在脚本里可以用变量。比如:​

#!/bin/bash​

name="John"​

echo "Hello, $name!"​

​这里定义了一个变量 “name”,值是 “John”,然后用 “echo” 命令输出带变量的句子。还能做条件判断,像:​

#!/bin/bash​

num=10​

if [ $num -gt 5 ]; then​

echo "The number is greater than 5"​

else​

echo "The number is less than or equal to 5"​

fi​

这里判断变量 “num” 的值是不是大于 5,然后根据结果输出不同的内容。​

(二)软件安装与管理​

  1. 包管理工具​
  • yum(适用于基于 Red Hat 的系统,像 CentOS):安装软件用 “yum install 软件名”。比如安装 “httpd” 服务,输入 “yum install httpd”;更新软件用 “yum update 软件名”,要是想更新所有软件,输入 “yum update”;卸载软件用 “yum remove 软件名”。​
  • apt-get(适用于基于 Debian 的系统,像 Ubuntu):安装软件 “apt-get install 软件名”;更新软件源 “apt-get update”,更新软件 “apt-get upgrade”;卸载软件 “apt-get remove 软件名”。​
  1. 从源码安装软件:有些软件没有现成的包,就得从源码编译安装。一般步骤是:先下载软件源码包(通常是.tar.gz 或.tar.bz2 格式),然后解压,进入解压后的目录,执行 “./configure” 命令(这一步是配置安装选项,比如指定安装目录等),接着执行 “make” 命令编译源码,最后执行 “make install” 命令安装软件。比如安装 “nginx”,下载源码包解压后,在解压目录里依次执行这些命令。不过从源码安装比较复杂,可能还得先安装一些依赖包。​

(三)安全设置​

1.防火墙设置​

  • iptables(很多 Linux 系统自带):添加规则让 “httpd” 服务能对外提供服务,允许 TCP 协议的 80 端口通过,输入 “iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT”;禁止某个 IP 访问,比如禁止 “192.168.1.200” 访问,输入 “iptables -A INPUT -s 192.168.1.200 -j DROP”。设置完规则后,可以用 “iptables -L” 查看当前的防火墙规则。​
  • firewalld(CentOS 7 及以上常用):开启 “httpd” 服务的访问,输入 “firewall-cmd --zone=public --add-service=http --permanent”,然后重新加载防火墙配置 “firewall-cmd --reload”;查看当前开放的服务,输入 “firewall-cmd --zone=public --list-services”。​

2.SELinux 设置:SELinux 是增强型安全机制。查看 SELinux 状态,输入 “sestatus”。要是想临时关闭 SELinux(不推荐,一般只在调试时用),输入 “setenforce 0”;想永久关闭,得修改 “/etc/selinux/config” 文件,把 “SELINUX=enforcing” 改成 “SELINUX=disabled”,改完重启系统。不过最好还是通过合理配置 SELinux 策略来满足安全需求,而不是直接关闭它。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值