当前位置:首页 > 技术 > 正文内容

Linux系统基础操作与环境搭建

访客 技术 2026年6月11日 1

系统安装

Linux是一种开源免费的操作系统,广泛应用于服务器领域。常见的发行版本包括:

  • RedHat(企业级)
  • CentOS(社区版)
  • Ubuntu(桌面及服务器通用)

为了学习Linux,可以通过虚拟机软件(如VMware)安装CentOS 7系统。

核心命令行操作

Linux日常管理主要通过命令行完成,以下是常用的基础指令:

目录与文件管理

# 显示当前工作路径
pwd

# 列出目录内容
ls -la          # 显示详细信息包括隐藏文件
ls /            # 查看根目录内容

# 路径切换
cd /home        # 进入指定目录
cd ..           # 返回上级目录
cd ~            # 回到用户主目录

# 创建目录
mkdir mydir                 # 创建单个目录
mkdir -p path1/path2       # 创建多层嵌套目录

# 创建空文件
touch readme.txt           # 创建单一文件
touch file1.txt file2.txt  # 同时创建多个文件

# 文件复制
cp source.txt dest.txt              # 复制文件
cp -r sourcedir destdir             # 复制整个目录
cp source.txt /target/path/         # 复制到指定位置

# 移动或重命名
mv oldname.txt newname.txt         # 重命名
mv file.txt /new/location/         # 移动文件

# 删除操作
rm file.txt                        # 删除文件(有确认提示)
rm -f file.txt                     # 强制删除无提示
rm -r directory                    # 删除目录及其内容
rm -rf directory                   # 强制递归删除

文本处理工具

# 查看文件内容
cat filename.txt               # 输出全部内容
tail -n 20 filename.txt        # 显示末尾20行
tail -f logfile.txt            # 实时监控文件更新

# 文本搜索
grep "keyword" file.txt                    # 搜索关键词
grep -C 3 "keyword" file.txt               # 显示匹配行前后各3行

# 文件查找
find /home -name "*.log"                   # 在指定路径查找特定类型文件

文件编辑器vi/vim

vi filename.txt                # 打开或新建文件

# 编辑模式快捷键:
i              # 插入模式(光标前插入)
a              # 追加模式(光标后插入)
o              # 新增一行并进入插入模式

# 保存退出命令(需先按ESC):
:w             # 仅保存
:q             # 退出
:wq            # 保存并退出
:q!            # 不保存强制退出

压缩与解压

# tar格式操作
tar -czvf archive.tar.gz dir/          # 压缩目录为gz文件
tar -xzvf archive.tar.gz               # 解压gz文件
tar -xzvf archive.tar.gz -C /target/   # 解压至指定目录

# zip格式操作(需先安装)
yum install -y zip unzip               # 安装zip工具
zip -r archive.zip dir/                # 压缩目录
unzip archive.zip                      # 解压zip文件

系统信息与时钟

date                           # 显示当前时间
date -s "2024-01-01 12:00:00"  # 设置系统时间
timedatectl set-timezone Asia/Shanghai  # 更改时区

网络与安全管理

# 网络配置查看
ip addr show                   # 显示所有网络接口地址

# 防火墙控制
systemctl status firewalld     # 查看防火墙状态
systemctl stop firewalld       # 停止防火墙服务
systemctl disable firewalld    # 禁止开机自启
systemctl restart firewalld    # 重启防火墙

# 系统电源管理
reboot                         # 重新启动
poweroff                       # 关闭电源
shutdown -h now                # 立即关机
shutdown -r +5                 # 五分钟后重启

用户账户与权限

# 添加新用户
useradd developer              # 创建普通用户
passwd developer               # 设置用户密码

# 用户身份切换
su - developer                 # 切换到developer用户
exit                           # 返回原用户

# 授权sudo权限
chmod u+w /etc/sudoers         # 给sudoers文件添加写权限
vi /etc/sudoers                # 编辑授权列表
# 在root ALL=(ALL) ALL下方添加:
developer ALL=(ALL) ALL        # 允许developer使用sudo
chmod u-w /etc/sudoers         # 恢复只读属性

Java应用部署实践

构建一个简单的Spring Boot Web应用用于演示部署流程:

Maven项目结构

<!-- pom.xml 依赖定义 -->
<parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>2.6.11</version>
</parent>

<dependencies>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
  </dependency>
</dependencies>

<build>
  <plugins>
    <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
  </plugins>
</build>

应用程序代码

// 主程序入口类
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

// 控制器示例
@RestController
public class HelloController {
    @GetMapping("/hello")
    public String sayHello() {
        return "Hello CentOS 7!";
    }
}

应用运行方式

# 打包生成jar文件后上传到服务器
# 直接前台运行(Ctrl+C可中断)
java -jar app.jar

# 后台静默运行并将输出记录到日志
nohup java -jar app.jar > app.log 2>&1 &

# 查找正在运行的Java进程
ps -ef | grep java

# 终止指定PID的进程
kill 12345
kill -9 12345   # 强制终止

相关文章

Linux crontab 详解

1) crontab 是什么cron 是 Linux 的定时任务守护进程;crontab 是用来编辑/查看“按时间周期执行命令”的表(cron table)。常见两类:用户 crontab:每个用户一份(crontab -e 编辑)系统级 crontab / cron.d:可指定执行用户(/etc/crontab、/etc/cron.d/*)2) crontab 时间...

富文本里可以允许的 HTML 属性

一、所有标签默认允许的安全属性(极少)class        (可选)id           (通常建议禁用)title️ 注意:id 容易被滥用做锚点注入,很多系统直接禁用class 允许的话最好只允许固定前缀(如 editor-*)二、a 标签允许属性<a href="" t...

Mac 安装 Node.js 指南

方法一:通过官网安装包(最简单,适合初学者)如果你只是想快速安装并开始使用,这是最直接的方法。访问 Node.js 官网。页面会显示两个版本:LTS (Recommended For Most Users):长期支持版,最稳定。建议选这个。Current:最新特性版,包含最新功能但可能不够稳定。下载 .pkg 安装包并运行。按照安装向导点击“下一步”即可完成。方法二:使用 Homebrew 安装(...

Dom\HTML_NO_DEFAULT_NS 的副作用:自动加闭合标签

在使用Dom\HTMLDocument时,Dom\HTML_NO_DEFAULT_NS 将禁止在解析过程中设置元素的命名空间, 此设置是为了与DOMDocument向后兼容而存在的。当使用它时,已知的一个副作用就是:自动加闭合标签例如 </img> 为什么会这样?当你使用:Dom\HTML_NO_DEFAULT_NS文档会变成 无命名空间模式,此时内部更接近 XML...

Laravel 事件和监听器创建

在 Laravel 中,使用 Artisan 命令创建 Events(事件) 和 Listeners(监听器) 是非常高效的。你可以通过以下几种方式来实现:1. 手动创建单个 Event如果你只想创建一个事件类,可以使用 make:event 命令:Bashphp artisan make:event UserRegistered执行后,文件将生成在 app/Even...

自定义域名解析神器 dnsmasq

什么是 dnsmasq?dnsmasq 是一个轻量级、功能强大的网络服务工具,专为小型和中等规模网络设计。它是一个综合的网络基础设施解决方案[1]。dnsmasq 能做什么?功能说明应用场景DNS 转发与缓存将 DNS 查询转发到上游服务器(ISP、Google DNS 等),并在本地缓存结果加快 DNS 查询速度,减少外部 DNS 流量本地 DNS解析本地网络设备的主机名,无需编辑&n...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。