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使用范式。