在 Shell 编程中,有许多常用的命令可以帮助你管理和操作文件系统、进程、网络等。以下是一些最常见的 Shell 命令及其简要说明:
文件和目录操作
ls
:列出目录内容ls # 列出当前目录下的所有文件和目录 ls -l # 以长格式列出文件和目录信息 ls -a # 列出所有文件,包括隐藏文件 ls -lh # 以长格式列出文件和目录信息,并以人类可读的方式显示文件大小
cd
:改变当前工作目录cd /path/to/directory # 进入指定目录 cd .. # 返回上一级目录 cd ~ # 返回用户的主目录 cd - # 返回上次所在的目录
pwd
:显示当前工作目录pwd
mkdir
:创建目录mkdir new_directory # 创建一个新目录 mkdir -p path/to/new_directory # 递归创建多级目录
rmdir
:删除空目录rmdir empty_directory # 删除一个空目录
rm
:删除文件或目录rm file.txt # 删除文件 rm -r directory # 递归删除目录及其内容 rm -rf directory # 强制递归删除目录及其内容(危险操作)
cp
:复制文件或目录cp file1.txt file2.txt # 复制文件 cp -r source_dir dest_dir # 递归复制目录
mv
:移动或重命名文件或目录mv file1.txt file2.txt # 重命名文件 mv file.txt /path/to/destination # 移动文件 mv -r source_dir /path/to/destination # 移动目录
文件内容操作
cat
:显示文件内容cat file.txt # 显示文件内容 cat file1.txt file2.txt > combined.txt # 将多个文件内容合并到一个新文件中
less
:分页显示文件内容less file.txt # 分页显示文件内容
head
:显示文件的前几行head file.txt # 显示文件的前10行 head -n 5 file.txt # 显示文件的前5行
tail
:显示文件的最后几行tail file.txt # 显示文件的最后10行 tail -n 5 file.txt # 显示文件的最后5行 tail -f log.txt # 实时显示文件的新增内容
grep
:搜索文本模式grep "pattern" file.txt # 在文件中搜索指定模式 grep -r "pattern" . # 递归搜索当前目录及其子目录中的文件
系统信息和控制
ps
:显示进程状态ps # 显示当前终端的进程 ps aux # 显示系统中所有进程
top
:显示系统中活跃的进程top
kill
:终止进程kill 1234 # 终止进程ID为1234的进程 kill -9 1234 # 强制终止进程ID为1234的进程
df
:显示磁盘空间使用情况df # 显示所有文件系统的磁盘使用情况 df -h # 以人类可读的方式显示磁盘使用情况
du
:显示目录或文件的磁盘使用情况du -h /path/to/directory # 以人类可读的方式显示目录的磁盘使用情况 du -sh /path/to/directory # 以总和的方式显示目录的磁盘使用情况
网络操作
ping
:测试网络连接ping google.com # 测试与google.com的网络连接
curl
:传输数据curl http://example.com # 获取网页内容 curl -O http://example.com/file.zip # 下载文件
netstat
:显示网络连接、路由表、接口统计等信息netstat -tuln # 显示所有监听的TCP和UDP端口
ssh
:远程登录ssh user@hostname # 登录到远程主机
其他常用命令
man
:查看命令的手册页man ls # 查看ls命令的手册页
which
:查找命令的路径which ls # 查找ls命令的路径
history
:显示命令历史history # 显示命令历史
echo
:打印文本echo "Hello, World!" # 打印文本
export
:设置环境变量export VAR=value # 设置环境变量
source
:重新读取脚本文件source script.sh # 重新读取并执行脚本文件
这些命令是 Shell 编程中最常用的一些工具,掌握它们将大大提高你在 Unix/Linux 系统中的工作效率。