在Linux系统中,mv命令是最常用的文件重命名工具。它的基本语法是:
bash复制mv 源文件名 目标文件名
例如将a.txt改名为txt.a的正确命令是:
bash复制mv a.txt txt.a
注意:使用mv命令时,如果目标文件已存在,默认会直接覆盖且不会提示。建议搭配-i选项使用(mv -i),这样在覆盖前会要求确认。
常见错误操作分析:
cp file.txt file.bat:这是复制操作而非重命名rm a.txt txt.a:这是删除操作且语法错误cat a.txt > txt.a:这是内容重定向,会创建新文件但不会删除原文件ls命令是查看目录内容的瑞士军刀,常用选项组合:
bash复制ls -alh # 显示所有文件(包括隐藏文件)+长格式+人类可读大小
创建目录时,-p选项可以自动创建不存在的父目录:
bash复制mkdir -p project/src/main/java # 一次性创建多级目录
Linux文件权限的10位表示分解:
code复制-rwxr-xr-- 1 user group 4096 Jun 10 14:30 example
权限字符对应关系:
设置文件权限为"所有者读写执行,组读执行,其他用户只读":
bash复制chmod 754 filename
计算过程:
经验:对于目录,至少需要执行(x)权限才能进入;对于脚本文件,需要同时具备读和执行权限才能运行。
Linux设备文件存放在/dev目录下:
/dev/sda:第一块SCSI/SATA/USB磁盘/dev/sdb:第二块SCSI/SATA/USB磁盘/dev/hda:旧式IDE磁盘(逐渐淘汰)/dev/cdrom:光驱设备(通常链接到/dev/sr0)/etc/fstab文件是系统启动时挂载文件系统的依据,典型条目示例:
code复制/dev/sda1 / ext4 defaults 0 1
各字段含义:
关键点:修改/etc/fstab后,应先测试(mount -a)确认无误再重启,否则可能导致系统无法启动。
Linux用户认证涉及两个关键文件:
/etc/passwd:存储用户基本信息(用户名、UID、家目录等)/etc/shadow:存储加密后的密码及安全策略查看用户密码过期信息:
bash复制chage -l username
改变文件所有者:
bash复制chown user:group filename
设置默认权限掩码:
bash复制umask 022 # 新创建文件默认权限644,目录755
安全建议:生产环境中应避免直接使用root操作,而是通过sudo授权特定命令。
查看进程树状结构:
bash复制pstree -p
按名称终止进程:
bash复制killall process_name
传统SysV init服务管理:
bash复制service sshd status
/etc/init.d/sshd restart
现代systemd服务管理:
bash复制systemctl status sshd
journalctl -u sshd -f # 查看服务日志
vi的三种模式转换:
| 命令 | 功能 |
|---|---|
| dd | 删除当前行 |
| yy | 复制当前行 |
| p | 粘贴 |
| /pattern | 搜索 |
| :%s/old/new/g | 全局替换 |
| :wq | 保存退出 |
| :q! | 不保存强制退出 |
效率技巧:在命令模式下,数字+命令可以重复操作,如5dd删除5行,3p粘贴3次。
查看所有网络接口:
bash复制ifconfig -a
ip addr show
配置静态IP(RHEL/CentOS):
bash复制vi /etc/sysconfig/network-scripts/ifcfg-eth0
关键参数:
code复制BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
启动DNS服务:
bash复制systemctl start named
Samba服务器配置:
bash复制vi /etc/samba/smb.conf
testparm # 测试配置文件语法
关键日志文件位置:
/var/log/messages:通用系统日志/var/log/secure:安全相关日志/var/log/boot.log:启动日志/var/log/dmesg:内核日志实时监控日志:
bash复制tail -f /var/log/messages
磁盘空间监控:
bash复制df -h # 查看磁盘使用情况
du -sh * # 查看当前目录各文件/目录大小
内存使用情况:
bash复制free -m
top
示例脚本头:
bash复制#!/bin/bash
# 描述:这是一个测试脚本
# 作者:Your Name
# 日期:2023-06-15
条件判断:
bash复制if [ -f "/path/to/file" ]; then
echo "文件存在"
else
echo "文件不存在"
fi
循环示例:
bash复制for i in {1..5}; do
echo "第$i次循环"
done
| 快捷键 | 功能 |
|---|---|
| Ctrl+C | 终止当前命令 |
| Ctrl+Z | 暂停当前命令(可用fg恢复) |
| Ctrl+D | 发送EOF(退出终端) |
| Ctrl+L | 清屏 |
| Ctrl+R | 命令历史搜索 |
忘记root密码:
touch /.autorelabel(SELinux系统需要)磁盘空间不足:
bash复制find / -type f -size +100M # 查找大于100MB的文件
journalctl --vacuum-size=100M # 清理journal日志
文件误删除恢复:
bash复制extundelete /dev/sda1 --restore-file /path/to/file
在实际运维中,建议建立完善的备份机制,重要操作前先做快照或备份。对于生产环境,任何修改都应该先在测试环境验证,并准备好回滚方案。