linux必学的60个命令?怎么clone自己搭建的git服务器

2020-02-01 1:24:03 74点热度 0人点赞 0条评论
Linux必学的60个命令与自建Git服务器克隆指南 在数字化时代,掌握Linux系统操作和版本控制工具是技术领域的核心技能。本文将详细介绍Linux中60个高频使用的命令,并提供一份完整的自建Git服务器克隆教程,帮助 […]
  • Linux必学的60个命令与自建Git服务器克隆指南

在数字化时代,掌握Linux系统操作和版本控制工具是技术领域的核心技能。本文将详细介绍Linux中60个高频使用的命令,并提供一份完整的自建Git服务器克隆教程,帮助开发者高效管理代码和系统资源。

一、Linux必学的60个核心命令详解

1. 文件与目录管理

  • ls - 列出目录内容,支持参数如-l(长格式)、-a(显示隐藏文件)
  • cd - 切换目录,例如:cd ../ 返回上一级
  • pwd - 显示当前路径全称
  • mkdir - 创建新目录,如:mkdir project && cd $_
  • rmdir - 删除空目录
  • rm - 强制删除文件:rm -rf filename
  • cp - 复制文件/目录:cp -r source destination
  • mv - 移动或重命名文件:mv old.txt new.txt
  • touch - 创建空文件或更新时间戳
  • file - 查看文件类型:file report.pdf

2. 系统信息与监控

  • top - 实时查看进程资源占用
  • ps - 显示进程状态,常用组合:ps aux | grep process_name
  • kill - 终止进程:kill -9 PID
  • df - 查看磁盘空间,加-h参数显示人性化单位
  • du - 统计目录大小:du -sh /var/www
  • free - 显示内存使用情况
  • uname - 获取系统内核版本
  • hostname - 查看或设置主机名
  • lsof - 列出打开的文件和端口
  • netstat - 网络连接诊断工具

3. 文本处理与编辑

  • cat - 合并显示文件内容
  • more/less - 分页查看大文件
  • grep - 正则表达式搜索:grep "error" log.txt
  • awk - 文本解析利器,如:awk '{print $1}' file
  • sed - 流编辑器,执行替换:sed 's/old/new/g' file.txt
  • head/tail - 查看文件头尾部分,默认10行
  • diff - 对比文件差异
  • nano/vim - 命令行文本编辑器
  • chmod - 修改文件权限:chmod 755 script.sh
  • chown - 更改文件所有者

4. 网络与远程连接

  • ping - 检测网络连通性
  • ssh - 远程登录服务器:ssh user@192.168.1.10
  • scp - 安全传输文件:scp file.txt user@remote:/path/
  • wget/curl - 下载网络资源
  • ifconfig/ip - 配置网络接口
  • nslookup - DNS查询工具
  • traceroute - 路由追踪
  • telnet - 测试端口连通性
  • dig - 深度DNS诊断
  • netcat - 网络调试瑞士军刀

5. 软件包管理

  • apt(Debian/Ubuntu):
    • sudo apt update
    • sudo apt install package
    • sudo apt remove package
  • yum/dnf(CentOS/RHEL):
    • sudo yum install package
    • sudo dnf remove package
  • pacman(Arch Linux):
    • sudo pacman -S package
  • rpm - RPM包管理基础命令
  • dpkg - Debian包维护工具

6. 其他实用命令

  • tar - 压缩/解压:tar -czvf archive.tar.gz dir/
  • gzip/bzip2 - 单文件压缩
  • history - 查看命令历史
  • clear - 清屏
  • alias - 自定义快捷命令
  • man - 查看命令手册页
  • which - 查找可执行文件路径
  • whereis - 定位二进制/源码位置
  • echo - 输出文本,常用于脚本
  • yes - 不断输出指定字符

二、自建Git服务器克隆全流程指南

1. 服务器环境准备

  • 安装Git:在Ubuntu执行 sudo apt install git
  • 创建专用用户: sudo adduser git
  • 配置SSH密钥:
    • 本地生成密钥:ssh-keygen -t ed25519
    • 将公钥拷贝到服务器:ssh-copy-id git@server_ip

2. 初始化Git仓库

  • 切换到git用户:su - git
  • 创建裸仓库:git init --bare myproject.git
  • 设置仓库描述: echo "My Project Repository" > myproject.git/description

3. 客户端克隆操作

  • 基础克隆命令:git clone git@server_ip:/home/git/myproject.git
  • 指定分支克隆:git clone -b dev git@server_ip:myproject.git
  • 浅层克隆优化:git clone --depth=1 https://...
  • 镜像克隆:git clone --mirror repo_url

4. 高级配置与故障排除

  • 防火墙设置:
    • 开放SSH端口:ufw allow 22
    • 配置IPTables规则
  • 权限问题解决:
    • 确保仓库目录权限:chown -R git:git /path/to/repo
    • 检查SSH配置:sshd_config中允许PubkeyAuthentication
  • 网络连接异常:
    • 使用curl测试SSH可达性:curl ssh://git@server_ip
    • 检查SELinux/AppArmor策略

5. Git服务器安全加固

  • 禁用git用户shell访问:
    • 修改/etc/passwd中的shell为/nologin
  • 启用HTTPS协议:
    • 配置Nginx反向代理
    • 申请Let's Encrypt证书
  • 定期审计日志:
    • 查看/var/log/auth.log
    • 使用fail2ban防护暴力破解

三、实践建议与扩展学习

  • 命令组合技巧:
    • 管道串联:ps aux | grep python | awk '{print $2}'
    • 重定向:command > output.txt 2>&1
  • 自动化运维:
    • 编写bash脚本实现批量任务
    • 使用Ansible进行配置管理
  • Git高级用法:
    • 分支策略(Git Flow)
    • 代码审查(Gerrit)
    • CI/CD集成(Jenkins)

通过系统化掌握上述命令和Git服务器搭建方法,开发者能够显著提升工作效率,构建健壮的协作环境。建议配合官方文档和实际项目持续练习,逐步形成自己的Linux使用范式。

PC400

这个人很懒,什么都没留下