命令行是 Linux 服务器管理的心脏。无论您是初学者还是经验丰富的系统管理员,了解命令行管理的基础知识对于高效管理 Ubuntu Server 都至关重要。本文深入介绍 Linux 命令行,涵盖用于管理文件、目录和服务器环境的基本命令、工具和技术。
上一篇文章:
01. Ubuntu Server 简介 – SysOSX: AI & Cloud
02. 如何设置您的第一台 Ubuntu Server:初学者指南 – SysOSX: AI & Cloud
为什么要学习命令行?
Linux 命令行可通过 终端 访问,是与操作系统交互的强大工具。与图形界面不同,命令行提供:
- 速度:使用命令执行任务比通过 GUI 界面更快。
- 灵活性:使用脚本自动执行流程并执行复杂操作。
- 控制:访问更深层的系统功能并有效排查问题。
在 Ubuntu Server 上访问命令行
Ubuntu Server 安装默认不包含图形界面,因此所有交互都通过终端进行。以下是访问命令行的常见方法:
1. 通过本地控制台直接访问
登录 Ubuntu Server 后,您将看到终端界面。
2. 通过 SSH 远程访问
使用安全外壳(SSH)远程访问您的服务器:
ssh username@server_ip
初学者必备 Linux 命令
1. 浏览文件系统
了解 Linux 文件系统层次结构对于管理文件和目录至关重要。
查看当前目录:pwd
显示当前工作目录:
pwd
列出目录内容:ls
列出当前位置的文件和目录:
ls
选项:
ls -l:包含权限、所有权和大小的详细列表。ls -a:包含隐藏文件(以.)。
切换目录:cd
切换到另一个目录:
cd /path/to/directory
示例:
cd ..:向上一级。cd ~:切换到主目录。
2. 管理文件和目录
创建目录:mkdir
创建新目录:
mkdir directory_name
示例:创建子目录结构。
mkdir -p /home/user/documents/projects
说明:
-p选项会在父目录不存在时创建它们(例如,documents和projects)。
删除目录:rmdir
删除空目录:
rmdir directory_name
示例:
rmdir /home/user/old_directory
复制文件:cp
复制文件或目录:
cp source_file destination_file
示例:将文件复制到新目录。
cp /home/user/file.txt /home/user/backup/file.txt
复制整个目录:
cp -r /home/user/documents /home/user/backup/documents
移动或重命名文件:mv
移动或重命名文件:
mv old_name new_name
示例:重命名文件。
mv file.txt renamed_file.txt
将文件移动到另一个目录:
mv /home/user/file.txt /home/user/backup/
删除文件:rm
删除文件或目录:
rm file_name
示例:删除文件。
rm /home/user/file.txt
删除目录及其内容:
rm -r /home/user/old_directory
警告:请谨慎使用 rm,以避免误删。
3. 查看和编辑文件
查看文件内容:cat
显示文件内容:
cat file_name
示例:
cat /etc/hostname
分页查看文件内容:less
允许滚动浏览文件内容:
less file_name
示例:
less /var/log/syslog
创建或编辑文件:nano
一款对初学者友好的文本编辑器:
nano file_name
示例:创建新文件或编辑现有文件。
nano /home/user/new_file.txt
在文件中搜索文本:grep
在文件中搜索特定字符串:
grep "search_term" file_name
示例:在日志文件中查找错误消息。
grep "error" /var/log/syslog
4. 系统管理命令
检查磁盘使用情况:df
显示磁盘空间使用情况:
df -h
选项:
-h:人类可读的格式。
检查内存使用情况:free
显示内存使用情况:
free -h
监控系统进程:top
显示正在运行的进程和系统资源使用情况:
top
替代方案:
htop:更易于使用的进程监视器(通过以下命令安装sudo apt install htop)。
管理服务:systemctl
控制系统服务:
sudo systemctl status service_name
sudo systemctl start service_name
sudo systemctl stop service_name
sudo systemctl restart service_name
关机或重启:shutdown
关闭或重启服务器:
sudo shutdown now # Immediate shutdown
sudo shutdown -r now # Immediate restart
5. 文件权限和所有权
Linux 使用权限模型来控制对文件和目录的访问。
查看文件权限:ls -l
以详细格式显示文件权限:
ls -l
更改文件权限:chmod
修改文件权限:
chmod 644 file_name
更改文件所有权:chown
更改文件所有权:
sudo chown new_owner:new_group file_name
6. 搜索和查找文件
定位文件:locate
locate 命令默认未安装。请先安装它:
sudo apt update
sudo apt install mlocate
更新数据库:
sudo updatedb
搜索文件:
locate file_name
查找文件:find
根据条件搜索文件:
find /path -name "file_name"
7. 网络命令
检查网络连通性:ping
测试与主机的连通性:
ping google.com
检查开放端口:ss
netstat 命令已弃用且默认未安装。请改用 ss,这是一种现代替代方案:
ss -tuln
说明:
-t:显示 TCP 连接。-u:显示 UDP 连接。-l:显示监听端口。-n:显示数字地址和端口。
测试远程连通性:curl
从 URL 获取数据:
curl http://example.com
命令行管理的实用技巧
1. 使用 Tab 补全
在键入命令或文件名时按 Tab,以自动补全路径或命令。
2. 使用历史命令
访问以前运行过的命令:
history
运行历史记录中的特定命令:
!number
3. 重定向输出
将命令输出保存到文件:
command > output_file
4. 链接命令
按顺序运行多个命令:
command1 && command2
示例工作流:设置 Web 服务器
以下是使用基本命令设置 Web 服务器的分步指南。请按照以下说明配置您的自定义网站,并确保它取代默认的 Apache 页面。
1. 更新系统
保持系统更新对于安全和稳定至关重要。运行以下命令以更新和升级所有软件包:
sudo apt update && sudo apt upgrade -y
2. 安装 Apache
安装 Apache Web 服务器:
sudo apt install apache2 -y
安装完成后,验证 Apache 是否正在运行:
sudo systemctl status apache2
您应该会看到类似以下的状态消息:Active: active (running)。
3. 为您的网站创建目录
创建目录来存储您的网站文件。在本示例中,我们将创建一个名为 mywebsite:
sudo mkdir -p /var/www/mywebsite
4. 设置权限
设置正确的所有权和权限,以便 Apache 可以访问网站文件:
sudo chown -R www-data:www-data /var/www/mywebsite
sudo chmod -R 755 /var/www/mywebsite
5. 创建示例 HTML 文件
添加一个简单的 index.html 文件作为您网站的主页:
sudo tee /var/www/mywebsite/index.html > /dev/null << EOF
<!DOCTYPE html>
<html>
<head>
<title>Welcome</title>
</head>
<body>
<h1>Welcome to My Website</h1>
</body>
</html>
EOF
这会创建一个基本页面,显示:“Welcome to My Website”。
6. 配置虚拟主机
要提供您的自定义网站,请为 Apache 创建新的虚拟主机配置文件:
sudo nano /etc/apache2/sites-available/mywebsite.conf
将以下内容粘贴到文件中:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/mywebsite
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
按 Ctrl+O 保存文件,然后按 Ctrl+X 退出。
7. 启用您的网站
启用新的虚拟主机配置:
sudo a2ensite mywebsite.conf
禁用 Apache 的默认站点配置,以确保提供您的网站:
sudo a2dissite 000-default.conf
重新加载 Apache 以应用更改:
sudo systemctl reload apache2
8. 测试连通性
运行以下命令检查您的网站是否正常工作:
curl http://localhost
您应该会看到自定义 index.html 文件的 HTML 内容:
<!DOCTYPE html>
<html>
<head>
<title>Welcome</title>
</head>
<body>
<h1>Welcome to My Website</h1>
</body>
</html>
或者,打开浏览器并导航到 http://<your-server-ip> 以查看您的网站。
故障排除
如果您仍然看到默认的 Apache 页面或遇到问题:
- 确保您的站点已启用
验证您的配置是否处于活动状态:
ls /etc/apache2/sites-enabled/
- 您应该会看到
mywebsite.conf。如果没有,请使用以下命令启用它:
sudo a2ensite mywebsite.conf
- 检查 Apache 日志
在日志中查找错误:
sudo tail -f /var/log/apache2/error.log
- 重启 Apache
如果问题仍然存在,请重启 Apache:
sudo systemctl restart apache2
结论
掌握 Linux 命令行对于有效的 Ubuntu Server 管理至关重要。通过学习和练习这些命令,您将获得管理服务器环境、排查问题和高效执行管理任务的信心。
后续步骤:管理用户和权限
一旦您熟悉了命令行管理的基础知识,服务器管理的下一个关键步骤就是了解 用户、组和权限。妥善管理用户帐户和访问控制对于维护安全以及确保只有获得授权的个人才能访问或修改服务器上的敏感文件和资源至关重要。
在下一篇文章中,“管理用户和权限”,我们将介绍:
- 如何创建、修改和删除用户帐户。
- 管理组以实现高效的访问控制。
- 了解文件和目录权限(读取、写入、执行)。
- 使用
sudo等高级工具进行权限提升。 - 在 Ubuntu Server 上保护用户帐户的最佳实践。
敬请期待可操作的见解,以增强您的安全和访问管理!
14 thoughts on “03.Mastering the Linux Command Line for Ubuntu Server”