[Linux服务器] Linux基础

1318 0
Honkers 2025-4-1 04:33:19 来自手机 | 显示全部楼层 |阅读模式

Linux基础

一、Linux概述

(一)简介

Linux是一种自由和开放源码的类UNIX操作系统,于1991年由林纳斯·托瓦兹在赫尔辛基大学上学时创立,主要受Minix和Unix思想启发。它使用Linux内核,存在众多版本,可安装在多种计算机硬件设备中,如手机、平板电脑、路由器、台式计算机等。

(二)特点

  1. 多用户:支持多个用户同时登录和使用系统。
  2. 多任务:能够同时处理多个任务。
  3. 丰富的网络功能:具备强大的网络通信和服务能力。
  4. 可靠的系统安全:提供多种安全机制保障系统安全。
  5. 良好的可移植性:可在不同硬件平台上运行。
  6. 具有标准兼容性:遵循相关标准,便于与其他系统协同工作。
  7. 良好的用户界面:包括图形界面和命令行界面。
  8. 出色的速度性能:在处理任务时具有较高效率。
  9. 开源:源代码开放,用户可自由获取、修改和分发。

(三)Linux和Window的区别

比较WindowsLinux
界面界面统一,外壳程序固定,所有Windows程序菜单和快捷键几乎一致。图形界面风格依发布版不同而不同,可能互不兼容;GNU/Linux的终端机从UNIX传承,基本命令和操作方法几乎一致。
驱动程序驱动丰富,版本更新频繁,默认安装程序包含流行硬件驱动,但新硬件驱动依赖厂商提供,老硬件驱动支持可能存在问题。由志愿者开发,核心开发小组发布,部分硬件厂商未提供驱动,安装相对复杂,但开源模式下老硬件驱动易获取,问题逐渐缓解。
使用图形化界面使用简单,容易入门,适合无计算机背景知识用户。图形界面使用简单,文字界面需学习掌握。
学习系统构造复杂、变化频繁,知识技能淘汰快,深入学习困难。系统构造简单、稳定,知识技能传承性好,深入学习相对容易。
软件特定功能常需商业软件支持,需购买授权。大部分软件可自由获取,但相同功能软件选择较少。

二、Linux安装

(一)了解虚拟化

虚拟化是一种资源管理技术,将计算机实体资源抽象转换后呈现,打破实体结构限制,使用户能更好地应用资源,其虚拟部分不受现有资源架设方式、地域或物理组态限制,一般指计算能力和资料存储。

(二)Windows安装VMware

  1. 官网下载VMware 15.X pro(https://www.vmware.com/cn.html)。
  2. 在BIOS中设置当前电脑支持虚拟化(部分机器需要)。
  3. 安装VMware,一路下一步,注意不要放入中文目录。

(三)掌握VMware网络配置

  1. 桥接模式
    • 将主机网卡与虚拟机虚拟网卡利用虚拟网桥通信,类似物理主机虚拟为交换机,虚拟机连接到交换机接口,网卡间为交换模式可相互访问。虚拟机IP需与主机在同一网段,联网时网关与DNS需与主机网卡一致。
  2. NAT模式
    • 借助虚拟NAT设备和虚拟DHCP服务器使虚拟机联网。主机网卡与虚拟NAT设备相连,虚拟NAT设备与虚拟DHCP服务器连接虚拟交换机VMnet8。主机虚拟网卡VMware Network Adapter VMnet8用于主机与虚拟机通信。
    • NAT网络连接配置步骤:
      • 打开VM设置虚拟机网络(NAT设置相关参数)。
      • 在centos中配置地址信息(如设置IPADDR、GATEWAY、DNS等)。
      • 关闭防火墙(systemctl stop firewalld.service)。
      • 刷新网络(systemctl restart network)。
  3. 仅主机模式
    • 是NAT模式去除虚拟NAT设备,使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机与虚拟机通信,将虚拟机与外网隔开,使其成为独立系统,只与主机通讯。若要联网,可将能联网的主机网卡共享给VMware Network Adapter VMnet1。

(四)掌握VMware安装CentOS7

  1. 打开VMware Workstation,创建新的虚拟机,选择典型推荐或自定义配置,指定虚拟机硬件兼容性、安装来源(可稍后安装操作系统)、客户机操作系统(如CentOS 7 64位)、虚拟机名称和位置、处理器配置、内存大小、网络类型、I/O控制器类型、磁盘类型、磁盘大小等参数,准备好后创建虚拟机。
  2. 启动刚创建的虚拟机,开始安装CentOS7,选择语言、安装类型(如自动分区或手动分区)、配置网络和主机名(设置IP地址、DNS服务器等)、开始安装并设置ROOT密码,安装完成后重启。

(五)设置Centos7的下载源(可不做)

可配置清华大学数据源(https://mirrors.cnnic.cn/)或阿里云数据源(https://developer.aliyun.com/mirror/)。

(六)安装SSH工具XShell 6

  1. 安装XShell 6。
  2. 连接远程Linux,在常规中设置主机名,选择身份验证并输入用户名和密码,点击连接。

三、Linux的目录结构

  1. bin (binaries):存放二进制可执行文件。
  2. sbin (super user binaries):存放二进制可执行文件,只有root才能访问。
  3. etc(etcetera):存放系统配置文件。
  4. usr (unix shared resources):用于存放共享的系统资源。
  5. home:存放用户文件的根目录。
  6. root:超级用户目录。
  7. dev(devices):用于存放设备文件。
  8. lib (library):存放文件系统中程序运行所需的共享库及内核模块。
  9. mnt(mount):系统管理员安装临时文件系统的安装点。
  10. boot:存放系统引导时使用的各种文件。
  11. tmp(temporary):用于存放各种临时文件。
  12. var (ariable):用于存放运行时需要改变数据的文件。

四、Linux常用命令

(一)命令使用格式

命令 -选项 参数,如:ls -a /root。

(二)文件与目录操作

命令解析
cd /home (cd ~)进入home目录
cd…返回上一级目录
cd…/…返回上两级目录
cd -返回上次所在目录
cp file1 file2将file1复制为file2
cp -a dir1 dir2复制一个目录
cp -a /tmp/dir1.复制一个目录到当前工作目录(.代表当前目录)
ls查看目录中的文件
ls -a显示隐藏文件
ls -l显示详细信息
ls -lrt按时间显示文件(l表示详细列表,r表示反向排序,t表示按时间排序)
pwd显示工作路径
mkdir dir1创建dir1目录
mkdir dir1 dir2同时创建两个目录
mkdir -p /tmp/dir1/dir2创建一个目录树
touch aa创建一个文件
mv dir1 dir2移动/重命名一个目录;dir2存在是移动,dir2不存在是重命名;也可对文件操作
rm -f file1删除file1文件(注意是文件)
rm -rf dir1删除dir1目录及其子目录内容

(三)查看文件内容

命令解析
cat file1从第一个字节开始正向查看文件内容,内容多显示最后一屏
head -2 file1查看文件的前两行
more file1查看长文件内容
tac file1从最后一行开始反向查看文件内容
tail -3 file1查看文件的最后三行
wc统计文本行数、字数、字符数(-m统计字符数,-w统计字数,-l统计行数)

(四)文本内容处理

命令解析
grep str /tmp/test在文件/tmp/test中查找str
grep ^str /tmp/test在文件tmp/test中查找以str开始的行
grep [0 - 9] /tmp/test查找/tmp/test文件中所有包含数字的行
grep str -r /tmp/*在目录/tmp及其子目录中查找str
diff file1 file2找出两个文件的不同处
sdiff file1 file2以对比方式显示两个文件的不同

(五)查询操作

命令解析
find / -name file1从/开始进入根文件系统查找文件和目录
find / -user user1查找属于用户user1的文件和目录
find /home/user1 -name *.bin在目录/home/user1中查找以bin结尾的文件

(六)压缩和解压缩

命令解析
tar -zcvf archive.tar.gz file1把file1打包成archive.tar.gz
tar -zcvf archive.tar.gz file1 dir1把file1、dir1打包成archive.tar.gz
tar -zxvf archive.tar.gz解压缩archive.tar.gz到当前文件夹中
tar -zxvf archive.tar.gz -C /dailyblue解压缩archive.tar.gz到dailyblue文件夹中(大写C)
tar -tf archive.tar.gz查看archive.tar.gz中的内容

(七)网络相关

命令解析
ifconfig显示网卡的IP地址
ip addr显示网卡的IP地址
ifup eth0启用eth0网络设备
ifdown eth0禁用eth0网络设备
netstat显示各种网络相关信息,如网络连接、路由表、接口状态、masquerade连接、多播成员等
netstat -a列出所有端口
netstat -n以数字形式显示地址和端口号
netstat -pproto显示proto指定的协议的连接;proto可以是TCP、UDP、TCPv6或UDPv6
netstat -anp组合命令,包含上述效果
service network restart重启网络
systemctl status firewalld.service查看防火墙信息
systemctl stop firewalld.service关闭防火墙
systemctl start firewalld.service开启防火墙

(八)其他命令

命令解析
su -切换到root权限(与su有区别)
su用户名切换到指定用户下,普通用户不需要输入密码
exit(Ctrl + D)退出当前登录用户
shutdown -h now关机(poweroff)
shutdown -r now重启(reboot)
top罗列使用CPU资源最多的Linux任务(输入q退出)
man ping查看参考手册(例如ping命令)
ping --help查看参考手册(例如ping命令),同上作用类似
help显示帮助
passwd修改密码
df -h显示磁盘使用情况
ps -ef查看所有正在运行的进程
ps -u用户名查看指定用户正在运行的进程
kill pid强制杀死进程pid(进程号)
cal显示当前月历
cal 10 1988显示指定月、年的月历
whoami显示当前用户
who显示登录用户

五、VI和VIM的使用

(一)VI/VIM概述

Unix Like系统内建vi文书编辑器,vim是从vi发展而来的文本编辑器,具有程序编辑能力,可辨别语法正确性,在程序员中广泛使用,vim是程序开发工具而非单纯文字处理软件。

(二)VI/VIM的基本模式

  1. 命令模式:用户启动vi/vim进入此模式,敲键盘被识别为命令,如i、a、o分别用于切换到输入模式、在当前光标处后输入字符、切换到底线命令模式。此模式基本命令有限,需依靠底线命令模式输入更多命令。
  2. 输入模式:在命令模式下按i、a、o进入,可输入字符、进行文本编辑操作,按ESC键退出返回命令模式。
  3. 底线命令模式:在命令模式下按:进入,可输入单个或多个字符的命令,如q退出程序、wq退出保存、强制退出等。

六、安装Java JDK

  1. 查看是否存在Java(java -version)。
  2. 删除Java JDK(如有需要)。
  3. 官网上下载Linux Java JDK(如jdk - 8u281 - linux - x64.tar.gz)。
  4. 通过ftp上传到Linux。
  5. 解压到指定文件夹(tar - zxvf jdk - 8u281 - linux - x64.tar.gz,删除压缩包rm - rf jdk - 8u281 - linux - x64.tar.gz)。
  6. 配置环境变量(vim /etc/profile,在文件底部引入相关内容,如export JAVA_HOME等,注意路径)。
  7. 刷新文件并测试(source /etc/profile)。
  8. 安装Tomcat(拓展知识,包括上传、解压、配置环境变量、刷新等步骤)。

七、用户和组

(一)用户和组的概念

Linux系统是多用户多任务分时操作系统,用户需申请账号登录,账号有助于管理员管理用户和控制资源访问,每个用户账号有唯一用户名和口令,登录后进入主目录。用户ID(UID)与用户名对应,记录在/etc/passwd文件中,用户组ID(GID)与用户组名对应,记录在/etc/group文件中,登录时系统通过查找这些文件核对密码。

(二)用户和组的相关文件

  1. /etc/passwd:记录用户账号信息,包括用户名、密码占位符、UID、GID、用户说明、主文件夹、登录Shell等。UID 0用于系统管理员,1 - 499保留给系统用户,500 - 65535为用户自建账号。
  2. /etc/shadow:存放用户密码记录,包括用户账号、加密密码、密码更改相关信息(如最近更改日期、最短使用期限、最长使用期限、警告天数、宽限时间、账号失效日期等),只有root用户可读写。
  3. /etc/group:记录用户组信息,包括组名、密码位、GID、属于该组的用户列表。
  4. /etc/gshadow:存放用户组密码相关信息,包括组名、密码列、用户组管理员账号、该组所属账号。

(三)用户的增删改

  1. 新增用户
    • useradd指令可创建用户,如useradd -u 3000 -g input -m -c yigeceshi user1创建用户use

(三)用户的增删改(续)

  1. 新增用户
    • useradd指令可创建用户,如useradd -u 3000 -g input -m -c yigeceshi user1创建用户user1,指定UID为3000,所属组为input,强制创建主文件夹,说明文字为yigeceshi;useradd dailyblue则创建自增UID、同用户名组且强制创建主文件夹的用户dailyblue。执行创建用户操作时,系统会修改相应文件,如在/etc/passwd、/etc/shadow、/etc/group中添加信息,在/home下创建主文件夹(-d指定路径除外)。使用useradd -r指令添加系统用户时,不创建主文件夹且UID和GID小于500。
  2. 修改用户
    • 修改用户密码:passwd用户名,如passwd user1用于更改user1的密码。
    • 修改用户信息:usermod指令可修改用户各项信息,如usermod -l修改账号名称,-g添加组,-G添加次要用户组,-c添加账号说明,-L冻结密码,-U解除密码冻结,-d修改主文件夹,-e修改账号失效日期,-f修改密码过期宽限时间,-a与-G组合增加次要用户组,-s修改Shell,-u修改UID。注意修改账号名称时,若当前账号已登录需退出后操作。
  3. 删除用户
    • userdel [-r]用户名,-r选项用于删除账号时同时删除目录,指令会删除用户账号及相关密码、用户组、个人文件数据等。

(四)用户组的增删改

  1. 用户组的添加
    • groupadd [-g] [-r]用户名,-g设置组编号,-r新建系统用户组(与/etc/login.defs内的GID_MIN有关,不建议使用),如groupadd -g 3333 xiaozu1创建组编号为3333的用户组xiaozu1。
  2. 用户组的修改
    • groupmod [-g gid] [-n group_name]用户组名,-g修改GID数字,-n修改组名,如groupmod -g 4444 -n xiaozu2 xiaozu1将xiaozu1的组名改为xiaozu2,GID改为4444。
  3. 用户组的删除
    • 只有当用户组不是用户的初始用户组时才能被删除,即确认/etc/passwd内账号无人使用该用户组作为初始用户组后,使用groupdel用户组名进行删除。

八、权限管理

(一)访问权限和文件类型权限表示

  1. 访问权限
    • 读取(r):允许查看文件内容、显示目录列表。
    • 写入(w):允许修改文件内容,在目录中新建、移动、删除文件或子目录。
    • 可执行(x):允许运行程序、切换目录。
    • 归属:包括属主(拥有文件或目录的用户账号)和属组(拥有文件或目录的组账号)。
  2. 文件类型、权限表示
    • 文件类型:-开头代表普通文件,d代表目录,l代表链接文件。
    • 权限项:用字符(r、w、x)或数字(4、2、1)表示,分别对应读、写、执行权限,分配给文件所有者、文件所属组、其他用户。例如-rw-r–r–. 1 root root 126 3月10 16:20 demo.tar.gz表示普通文件demo.tar.gz,所有者有读写权限,所属组和其他用户有读权限,所有者为root,所属组为root,文件大小126字节,创建时间为3月10日16:20。

(二)更改操作权限(chmod命令)

  1. chmod修改文件权限命令,参数-R用于递归地对下面文件和子目录做相同权限操作。
  2. 操作对象:u(用户,即文件所有者)、g(同组用户)、o(其他用户)、a(所有用户,默认值)。
  3. 操作符号:+添加权限、-取消权限、=赋予给定权限并取消其他权限。
  4. 设置权限:r(可读)、w(可写)、x(可执行)、u/g/o(与对应对象拥有相同权限)。例如chmod u+x /dailyblue/test/demo.tar.gz给demo.tar.gz文件所属用户添加x权限,chmod a+w /dailyblue/test/demo.tar.gz赋予所有用户w权限。

(三)chown命令

  1. 概述:更改文件或目录的属主和属组。
  2. 语法:chown [选项]用户或组 文件,-R递归改变指定目录及其下子目录和文件的拥有者,-v显示chown命令所做工作。
  3. 案例
    • chown -v user1 /dailyblue/test/demo.tar.gz将demo.tar.gz文件属主改为user1。
    • chown -v dailyblue.dailyblue /dailyblue/test/demo.tar.gz将demo.tar.gz文件属主改为dailyblue,属组改为dailyblue。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2026 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行