跳到主要内容

Shell 命令

以下是最常用命令及其常用参数的详细说明。
请注意,我们不提供 Linux 命令的支持。您可以通过使用众多提供 Shell 教程的网站来获取 Shell 帮助。

ls :列出目录中的文件/目录,类似于 Windows/DOS 中的 dir。
ls -al :显示所有文件(包括以点开头的隐藏文件)、目录及每个文件的详细属性。
cd :切换目录
cd /usr/local/apache :进入 /usr/local/apache/ 目录
cd ~ :进入您的主目录
cd - :返回上一次所在的目录
cd .. :返回上一级目录
cat :将文件内容输出到屏幕
cat filename.txt :将 filename.txt 的内容输出到屏幕
tail :类似 cat,但只读取文件末尾部分
tail /var/log/messages :查看 /var/log/messages 文件的最后 20 行(默认)
tail -f /var/log/messages :持续监视文件更新
tail -200 /var/log/messages :输出文件的最后 200 行到屏幕
more :类似 cat,但一次显示一屏内容
more /etc/userdomains :浏览 userdomains 文件,按 [space] 翻页,按 [q] 退出
pico :友好且易用的编辑器,类似于 “nano”
pico /home/burst/public_html/index.html :编辑用户网站的首页
vi :功能丰富的编辑器,使用起来比 pico 更复杂,初学时较难掌握
vi /home/burst/public_html/index.html :编辑用户网站的首页
grep :在文件中搜索匹配模式
grep root /etc/passwd :显示 /etc/passwd 中所有包含 root 的行
grep -v root /etc/passwd :显示所有不包含 root 的行
touch :创建空文件
touch /home/burst/public_html/404.html :在 /home/burst/public_html/ 目录下创建名为 404.html 的空文件
ln :创建文件和目录的“链接”
ln -s /usr/local/apache/conf/httpd.conf /etc/httpd.conf :创建符号链接,现在可以编辑 /etc/httpd.conf,修改会影响原文件,但删除链接不会删除原文件。
rm :删除文件
rm filename.txt :删除 filename.txt,通常会询问是否确认删除。
rm -f filename.txt :强制删除 filename.txt,不会询问确认。
rm -rf tmp/ :递归删除 tmp 目录及其中所有文件和子目录。请务必小心使用此命令!
last :显示登录用户及登录时间
last -20 :仅显示最近 20 次登录
last -20 -a :显示最近 20 次登录,最后一列显示主机名
w :显示当前登录用户及其登录来源
netstat :显示当前所有网络连接
netstat -an :显示服务器所有连接的源 IP、目标 IP 及端口
netstat -rn :显示服务器绑定的所有 IP 的路由表
file :通过查看文件内容尝试判断文件类型
file * :打印当前目录下所有文件/目录的类型
du :显示磁盘使用情况
du -sh :以人类可读的格式显示当前目录(包括子目录)总磁盘使用量
du -sh * :显示每个文件和目录的磁盘使用量,有助于查找占用空间较大的文件
wc :统计行数、字数和字节数
wc -l filename.txt :显示 filename.txt 中的行数
cp :复制文件
cp filename filename.backup :将 filename 复制为 filename.backup
cp -a /home/burst/new_design/* /home/burst/public_html/ :复制所有文件并保留权限,从一个目录到另一个目录


命令组合使用

有时您需要在同一行使用多个命令。以下是一些示例。
(注意 | 符号称为管道,它将一个程序的输出作为另一个程序的输入。)
> 表示创建新文件,覆盖已有内容。
>> 表示向文件追加内容,如果文件不存在则创建。
< 表示将文件内容作为命令输入。

grep User /usr/local/apache/conf/httpd.conf |more —— 从 httpd.conf 中筛选包含 User 的所有行,然后分页显示结果。
last -a > /root/lastlogins.tmp —— 将当前所有登录历史输出到 /root/lastlogins.tmp 文件。
tail -10000 /var/log/exim_mainlog |grep domain\.com |more —— 从 /var/log/exim_mainlog 中获取最后 10000 行,查找所有包含 domain.com 的行(点号用 \ 转义,表示字面上的点),然后分页显示。
netstat -an |grep :80 |wc -l —— 显示当前连接到 Apache(httpd 运行在 80 端口)的活动连接数。
mysqladmin processlist |wc -l —— 显示当前 MySQL 的打开连接数。
sudo —— 允许用户以另一个用户(通常是超级用户)的权限运行程序。