文件和目录管理
ls
:列出当前目录的文件和子目录。
ls
- cd:切换目录。
cd /path/to/directory
- pwd:显示当前工作目录的路径。
pwd
- mkdir:创建新目录。
mkdir new_directory
- rmdir:删除空目录。
rmdir directory_name
- rm:删除文件或目录(使用 -r 递归删除目录及其内容)。
rm file_name
rm -r directory_name
- cp:复制文件或目录。
cp source_file target_file
cp -r source_directory target_directory
- mv:移动或重命名文件或目录。
mv old_name new_name
mv file_name /path/to/target_directory
- touch:创建空文件或更新文件的时间戳。
touch new_file
文件内容查看与编辑
- cat:显示文件内容。
cat file_name
- more 和 less:分页显示文件内容。
more file_name
less file_name
- head:显示文件的前几行。
head file_name
head -n 20 file_name # 显示前20行
- tail:显示文件的后几行。
tail file_name
tail -n 20 file_name # 显示后20行
- nano 和 vim:命令行文本编辑器。
nano file_name
vim file_name
权限管理
chmod:改变文件或目录的权限。
chmod 755 file_name
chmod +x script.sh # 使脚本具有执行权限
chown:改变文件或目录的所有者。
系统管理
- ps:显示当前运行的进程。
ps
ps aux 显示所有用户的所有进程
- top:实时显示系统资源使用情况及各进程。
top
- kill:终止进程。
kill process_id
kill -9 process_id # 强制终止进程
- df:显示磁盘空间使用情况。
df -h
- du:显示目录或文件的磁盘使用情况。
du -h
du -sh directory_name # 显示目录的总大小
- free:显示内存使用情况。
free -h
网络管理
- ifconfig:显示或配置网络接口(新版本中使用 ip 命令)。
ifconfig
ip a
- ping:测试网络连接。
ping www.example.com
- netstat:显示网络连接、路由表、接口状态等信息。
netstat -a 查看所有端口和连接
netstat -at 查看 TCP 端口
netstat -au 查看 UDP 端口
netstat -r 查看路由表
netstat -tuln 显示监听状态的 TCP 和 UDP 端口,以及它们的网络状态
netstat -tulnp | grep :8080 查询端口8080的进程
-t 表示仅显示 TCP 连接。
-u 表示仅显示 UDP 连接。
-l 表示显示监听状态的套接字。
-n 表示直接显示 IP 地址和端口号,不进行名称解析。
-p 表示显示监听端口的进程号和程序名。
- scp:通过 SSH 进行文件传输。
scp source_file user@remote_host:/path/to/destination
scp user@remote_host:/path/to/source_file /path/to/destination
搜索
- grep: 搜索文件的某个字段
grep "Error" /path/to/logfile.log
日志查询
- cat: 查看文件的整个内容,适合小文件
cat /path/to/logfile.log
- tail 命令非常适合查看文件的最后几行,通常用于查看实时更新的日志文件。
tail /path/to/logfile.log
- 与 tail 相对,head 命令用于查看文件的前几行
head /path/to/logfile.log
- awk :适合对日志文件进行复杂的分析和处理
awk '{print $1}' /path/to/logfile.log # 打印每行的第一个字段