第二章 第12课-Linux的各种命令行工具
Linux 常用命令详解
以下是一些在 Linux 环境中非常基础且频繁使用的命令:
1. 文件和目录管理命令
-
ls: 列出目录内容。ls: 列出当前目录的文件和子目录。ls -l: 以长格式(详细信息)列出。ls -a: 显示所有文件,包括隐藏文件(以.开头)。ls -lh: 以人类可读的方式显示文件大小(例如 1.2K, 3.4M)。ls -al: 组合-a和-l。
-
cd: 改变当前工作目录。cd /path/to/directory: 切换到指定目录。cd ~或cd: 切换到用户主目录。cd ..: 切换到上一级目录。cd -: 切换到上次所在的目录。
-
pwd: 显示当前工作目录的路径。pwd: 打印当前目录的完整路径。
-
mkdir: 创建新目录。mkdir directory_name: 创建一个名为directory_name的目录。mkdir -p /path/to/new/directory: 递归创建目录(如果父目录不存在也会创建)。
-
rmdir: 删除空目录。rmdir directory_name: 删除一个空目录。
-
cp: 复制文件或目录。cp source_file destination_file: 复制文件。cp -r source_directory destination_directory: 递归复制目录及其内容。cp -i source destination: 交互式复制,如果目标存在则提示。cp -u source destination: 仅当源文件比目标文件新时才复制。
-
mv: 移动或重命名文件/目录。mv source destination: 移动文件或目录。mv old_name new_name: 重命名文件或目录。
-
rm: 删除文件或目录。rm file_name: 删除文件(默认会提示确认,取决于系统配置)。rm -f file_name: 强制删除文件,不提示。rm -r directory_name: 递归删除目录及其内容。rm -rf directory_name: 强制递归删除目录及其内容(慎用!)。
-
touch: 创建空文件或更新文件时间戳。touch new_file.txt: 创建一个名为new_file.txt的空文件。touch existing_file.txt: 更新existing_file.txt的访问和修改时间。
-
find: 在目录树中查找文件。find . -name "filename": 在当前目录及其子目录中查找名为filename的文件。find /path -type f -name "*.log": 在/path下查找所有.log结尾的文件。find /path -type d -name "my_dir": 查找指定目录。find . -size +1M: 查找大于 1MB 的文件。
2. 文件内容查看和编辑
-
cat: 连接文件并打印到标准输出。cat file.txt: 显示file.txt的全部内容。cat file1.txt file2.txt > combined.txt: 合并两个文件。
-
less: 分页查看文件内容。less large_file.log: 分页显示大文件,可向上/向下滚动,按q退出。
-
more: 类似less,但功能较少,只能向下滚动。more large_file.log: 分页显示大文件。
-
head: 显示文件开头部分。head file.txt: 显示文件的前 10 行。head -n 5 file.txt: 显示文件的前 5 行。
-
tail: 显示文件末尾部分。tail file.txt: 显示文件的后 10 行。tail -n 5 file.txt: 显示文件的后 5 行。tail -f file.log: 实时追踪文件末尾的新增内容(常用于查看日志)。
-
grep: 在文件中搜索指定模式(文本)。grep "pattern" file.txt: 在file.txt中搜索包含 "pattern" 的行。grep -i "pattern" file.txt: 忽略大小写搜索。grep -r "pattern" directory/: 递归搜索目录下的所有文件。grep -v "pattern" file.txt: 显示不包含 "pattern" 的行。grep -l "pattern" *: 只列出包含 "pattern" 的文件名。
-
wc: 统计文件中的行数、单词数和字符数。wc file.txt: 统计file.txt的行、单词和字符。wc -l file.txt: 只统计行数。
3. 权限管理
-
chmod: 改变文件或目录的权限。chmod 755 script.sh: 设置script.sh为所有者可读写执行,组用户和其他用户只读执行。- 权限数字解释:4=读(r), 2=写(w), 1=执行(x)
- 所有者(owner) | 组(group) | 其他(others)
- rwx (4+2+1=7) | r-x (4+0+1=5) | r-x (4+0+1=5)
chmod +x script.sh: 添加执行权限。chmod u+rwx,g+rx,o+rx file: 使用符号模式设置权限。
-
chown: 改变文件或目录的所有者。chown user file.txt: 将file.txt的所有者改为user。chown user:group file.txt: 将file.txt的所有者改为user,组改为group。chown -R user:group directory/: 递归改变目录及其内容的拥有者和组。
-
chgrp: 改变文件或目录的所属组。chgrp group file.txt: 将file.txt的所属组改为group。
4. 用户和组管理 (通常需要 root 权限)
useradd: 创建新用户。useradd -m newuser: 创建一个新用户newuser,并创建其主目录。
passwd: 为用户设置或修改密码。passwd username: 为username设置密码。
usermod: 修改用户属性。userdel: 删除用户。groupadd: 创建新组。groupdel: 删除组。
5. 进程管理
-
ps: 显示当前运行的进程。ps aux: 显示所有用户的所有进程(包括没有控制终端的进程)。ps -ef: 显示所有进程的完整格式列表。
-
top: 实时显示系统进程状态。- 动态显示 CPU、内存使用情况以及进程列表。按
q退出。
- 动态显示 CPU、内存使用情况以及进程列表。按
-
kill: 终止进程。kill PID: 终止指定 PID(进程 ID)的进程(默认发送 SIGTERM 信号)。kill -9 PID: 强制终止指定 PID 的进程(发送 SIGKILL 信号,不可被捕获,慎用!)。
-
htop: 交互式的进程查看器(通常需要安装)。- 比
top更用户友好,有彩色界面和鼠标支持。
- 比
6. 系统信息
-
df: 显示磁盘空间使用情况。df -h: 以人类可读格式显示磁盘空间。
-
du: 估算文件或目录的磁盘使用空间。du -h directory/: 以人类可读格式显示目录大小。du -sh directory/: 只显示目录的总大小。
-
free: 显示内存使用情况。free -h: 以人类可读格式显示内存使用。
-
uname: 显示系统信息。uname -a: 显示所有系统信息(内核名称、版本、架构等)。
-
hostname: 显示或设置系统的主机名。hostname: 显示当前主机名。
-
ip addr(或ifconfig): 显示或配置网络接口信息。ip addr: 显示所有网络接口的 IP 地址和其他信息。ifconfig(旧版命令,在新版系统中可能已被ip命令取代): 显示网络接口信息。
7. 网络工具
-
ping: 测试网络连通性。ping www.google.com: 测试与 Google 的连通性。按Ctrl+C停止。ping -c 4 www.google.com: 发送 4 个数据包后停止。
-
netstat: 显示网络连接、路由表、接口统计等。netstat -tuln: 显示所有 TCP、UDP 监听端口及其对应的程序(不解析服务名和主机名)。netstat -antp: 显示所有 TCP 连接(包括监听和已建立),显示 PID 和程序名。
-
ss: 更快更现代的netstat替代品。ss -tuln: 类似netstat -tuln。
-
ssh: 安全地远程登录到另一台计算机。ssh username@hostname_or_ip: 连接到远程服务器。
-
scp: 通过 SSH 安全地复制文件。scp local_file.txt username@remote_host:/path/to/remote/: 将本地文件复制到远程。scp username@remote_host:/path/to/remote/file.txt local_directory/: 从远程复制文件到本地。
-
wget: 从 Web 下载文件。wget http://example.com/file.zip: 下载文件。
-
curl: 数据传输工具,支持多种协议。curl http://example.com: 显示网页内容。curl -O http://example.com/file.zip: 下载文件并保存为原文件名。curl -I http://example.com: 只显示 HTTP 头部信息。
8. 归档和压缩
-
tar: 打包和解包文件。tar -cvf archive.tar directory/: 创建一个.tar归档文件。tar -xvf archive.tar: 解压.tar归档文件。tar -czvf archive.tar.gz directory/: 创建并使用 gzip 压缩(.tgz)。tar -xzvf archive.tar.gz: 解压.tar.gz文件。tar -cjvf archive.tar.bz2 directory/: 创建并使用 bzip2 压缩(.tbz)。tar -xjvf archive.tar.bz2: 解压.tar.bz2文件。
-
gzip/gunzip: gzip 压缩和解压缩。gzip file.txt: 压缩file.txt为file.txt.gz。gunzip file.txt.gz: 解压缩file.txt.gz。
-
zip/unzip: zip 压缩和解压缩。zip archive.zip file1 file2: 压缩文件。unzip archive.zip: 解压文件。
9. 杂项和实用工具
-
man: 查看命令手册页。man ls: 查看ls命令的详细手册。按q退出。
-
history: 显示历史命令。history: 显示之前执行过的命令列表。
-
clear: 清除终端屏幕。 -
echo: 打印文本或变量。echo "Hello World": 打印 "Hello World"。echo $PATH: 打印PATH环境变量的值。
-
alias: 为命令创建别名。alias ll='ls -al': 创建ll为ls -al的别名(临时有效)。
-
date: 显示或设置系统日期和时间。 -
reboot: 重启系统 (需要 root 权限)。 -
shutdown: 关闭系统 (需要 root 权限)。shutdown -h now: 立即关机。shutdown -r now: 立即重启。
-
sudo: 以超级用户权限执行命令。sudo command: 以 root 权限执行command。
-
systemctl: 管理 systemd 服务(启动、停止、重启、查看状态)。systemctl status service_name: 查看服务状态。systemctl start service_name: 启动服务。systemctl stop service_name: 停止服务。systemctl enable service_name: 开机自启动服务。
以上涵盖了 Linux 日常使用和管理中最常见的命令。掌握它们将大大提高您在 Linux 环境中的工作效率。
感谢浏览和学习,作者:鱼油YOU,转载请注明原文链接:https://www.cnblogs.com/OmegaYOU3/p/18960076,或者可以➕主播WX:OmegaAnimeman_desu;QQ:3819054512
浙公网安备 33010602011771号