Linux(一) : 基础指令

Linux(一) : 基础指令


一、Linux系统概述与核心概念

1. Linux发展史与开源文化

  • Unix的遗产
    • 1969年由Ken Thompson和Dennis Ritchie开发,奠定了多用户、多任务的基础。
    • BSD与System V的分支竞争推动了标准化进程。
  • Linux的诞生
    • 1991年Linus Torvalds发布Linux内核,结合GNU工具链形成完整操作系统。
    • 开源协议GPL保障了代码自由共享与修改,催生了Debian、Red Hat等发行版。
  • 现代应用
    • 服务器(75%市场份额)、Android移动端、云计算(如AWS、阿里云)的核心基石。

2. Linux目录结构解析

  • 核心目录功能

    目录用途描述
    /bin存放基础命令(如ls, cp
    /etc系统配置文件(如网络配置、服务启动脚本)
    /home普通用户的家目录
    /var动态数据(日志、数据库文件)
    /dev设备文件(如硬盘、USB设备)
    /usr用户程序与文档(类似Windows的Program Files)
  • 路径类型

    • 绝对路径:从根目录/开始(如/home/user/docs/file.txt)。
    • 相对路径:基于当前目录(如../images/photo.jpg)。

二、基础文件操作指令详解

1. 文件浏览与管理

ls:列出目录内容
  • 选项详解
    • -l:长格式显示(权限、所有者、大小、修改时间)。
      $ ls -l  
      -rw-r--r-- 1 user group 4096 Jan 1 10:00 file.txt  
      # 权限 | 链接数 | 所有者 | 组 | 大小 | 修改时间 | 文件名  
      
    • -a:显示隐藏文件(以.开头的文件)。
    • -h:人性化显示文件大小(如KB、MB)。
  • 文件类型标识
    • d:目录
    • -:普通文件
    • l:符号链接
cd:切换目录
  • 快捷操作
    • cd ~:返回家目录。
    • cd -:返回上一次所在目录。
  • 示例
    $ cd /var/log  # 进入系统日志目录  
    $ cd ../..      # 向上返回两级目录  
    
mkdir/rmdir:创建与删除目录
  • 递归创建
    $ mkdir -p project/{src,doc,bin}  # 同时创建多级目录  
    
  • 删除空目录
    $ rmdir empty_dir  # 仅删除空目录  
    

2. 文件操作进阶

cp:复制文件/目录
  • 选项解析
    • -r:递归复制目录(含子目录和文件)。
    • -i:覆盖前询问确认。
  • 示例
    $ cp -ri source_dir/ backup/  # 交互式复制并保留目录结构  
    
mv:移动或重命名文件
  • 重命名文件
    $ mv old_name.txt new_name.txt  
    
  • 移动文件到目录
    $ mv *.log /var/log/archive/  # 移动所有日志文件到归档目录  
    
rm:删除文件/目录
  • 强制删除
    $ rm -rf temp/  # 递归强制删除目录(慎用!)  
    
  • 安全提示
    • 使用-i选项避免误删:
      $ rm -i important_file.txt  
      

3. 文件内容查看与搜索

cat/tac:正向/反向查看文件
  • 合并文件
    $ cat file1.txt file2.txt > combined.txt  
    
  • 显示行号
    $ cat -n server.log  
    
more/less:分页查看大文件
  • more基础操作
    • 空格键:向下翻页。
    • Enter键:向下滚动一行。
    • q:退出。
  • less高级功能
    • /keyword:向下搜索关键词。
    • ?keyword:向上搜索关键词。
    • Shift+G:跳转到文件末尾。
head/tail:查看文件头尾
  • 实时监控日志
    $ tail -f /var/log/nginx/access.log  # 实时追踪访问日志  
    
  • 提取中间内容
    $ head -n 100 file.log | tail -n 20  # 显示第81-100行  
    
grep:文本搜索工具
  • 多文件搜索
    $ grep "error" *.log  # 在所有日志文件中搜索“error”  
    
  • 正则表达式
    $ grep "^[0-9]" data.txt  # 搜索以数字开头的行  
    

三、权限管理与高级操作

1. 文件权限基础

  • 权限三元组
    • 所有者(u)、所属组(g)、其他人(o)。
    • r(读)、w(写)、x(执行)。
  • 数字表示法
    • r=4, w=2, x=1,如755表示rwxr-xr-x
chmod:修改权限
  • 符号模式
    $ chmod u+x script.sh    # 给所有者添加执行权限  
    $ chmod o-w sensitive.txt  # 移除其他人的写权限  
    
  • 数字模式
    $ chmod 644 config.conf  # 设置权限为rw-r--r--  
    
chown/chgrp:修改所有者与组
  • 递归修改
    $ sudo chown -R user:group /opt/app  # 修改目录及其内容的所有者  
    

2. 粘滞位与特殊权限

  • 粘滞位(Sticky Bit)
    • 用途:防止用户删除他人文件(常见于/tmp)。
    • 设置方法:
      $ chmod +t /shared_dir  
      
    • 权限标识:目录权限末尾的t(如drwxrwxrwt)。

四、系统管理工具与实用技巧

1. 进程管理

ps:查看进程状态
  • 常用选项
    $ ps aux  # 显示所有进程的详细信息(CPU、内存占用)  
    
kill:终止进程
  • 示例
    $ kill -9 1234  # 强制终止PID为1234的进程  
    

2. 压缩与解压

tar:归档与压缩
  • 常见用法
    $ tar -czvf backup.tar.gz /data  # 打包并压缩(gzip)  
    $ tar -xzvf backup.tar.gz -C /restore  # 解压到指定目录  
    
  • 支持格式
    • .tar.gz-z)、.tar.bz2-j)、.tar.xz-J)。
zip/unzip:跨平台压缩
  • 压缩目录
    $ zip -r project.zip project/  
    
  • 解压到指定路径
    $ unzip data.zip -d /target/dir  
    

3. 网络与远程管理

ssh:安全远程登录
  • 密钥登录配置
    $ ssh-keygen -t rsa  # 生成密钥对  
    $ ssh-copy-id user@remote_host  # 上传公钥  
    
scp:安全文件传输
  • 示例
    $ scp file.txt user@remote:/path/  # 上传文件到远程主机  
    $ scp -r dir/ user@remote:/backup/ # 递归传输目录  
    

五、Shell进阶与脚本编程

1. 管道与重定向

  • 管道符|
    $ cat access.log | grep "404" | wc -l  # 统计404错误次数  
    
  • 重定向
    • >:覆盖输出到文件。
    • >>:追加输出到文件。
    • 2>:重定向错误信息。

2. 简单Shell脚本

  • 示例脚本
    #!/bin/bash  
    # 备份脚本  
    tar -czf backup_$(date +%Y%m%d).tar.gz /data  
    echo "Backup completed at $(date)" >> /var/log/backup.log  
    
  • 执行脚本
    $ chmod +x backup.sh  
    $ ./backup.sh  
    

六、常见问题与解决方案

1. 权限不足问题

  • sudo提权
    $ sudo apt update  # 以root权限更新软件包  
    
  • 修复文件权限
    $ sudo chmod -R 755 /webroot  # 递归设置目录权限  
    

2. 误删文件恢复

  • 使用extundelete工具
    $ extundelete /dev/sda1 --restore-file /home/user/important.txt  
    

3. 磁盘空间管理

  • 查看磁盘使用
    $ df -h  # 显示各分区使用情况  
    $ du -sh *  # 统计当前目录下各文件/目录大小  
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值