菜鸟科技网

Linux常用命令有哪些实用示例?

Linux 作为一款开源的类 Unix 操作系统,凭借其稳定性、安全性和灵活性,在服务器、开发环境以及嵌入式系统中得到了广泛应用,熟练掌握 Linux 常用命令是高效操作 Linux 系统的基础,本文将详细介绍 Linux 中常用的命令及其使用示例,帮助读者快速上手。

Linux常用命令有哪些实用示例?-图1
(图片来源网络,侵删)

文件和目录管理命令

文件和目录管理是 Linux 操作中最频繁的任务,以下命令涵盖了创建、删除、查看、移动等基本操作。

ls 命令:列出目录内容

ls 是最常用的命令之一,用于显示指定目录下的文件和子目录。

  • 基本用法ls [选项] [目录名]
  • 常用选项
    • -l:以长格式显示,包含文件权限、所有者、大小、修改时间等详细信息。
    • -a:显示所有文件,包括隐藏文件(以 开头的文件)。
    • -h:以人类可读的格式显示文件大小(如 K、M、G)。
  • 示例
    • 列出当前目录的所有文件(含隐藏文件):ls -la
    • 以长格式显示 /home 目录的内容:ls -lh /home

cd 命令:切换目录

cd 用于在目录之间切换,是 Linux 中移动位置的核心命令。

  • 基本用法cd [目录路径]
  • 特殊符号
    • 表示用户主目录(如 /home/username)。
    • 表示上一级目录。
    • 表示当前目录。
  • 示例
    • 切换到主目录:cd ~cd
    • 切换到上一级目录:cd ..
    • 切换到 /var/log 目录:cd /var/log

pwd 命令:显示当前目录

pwd 用于打印当前所在的工作目录的完整路径。

Linux常用命令有哪些实用示例?-图2
(图片来源网络,侵删)
  • 基本用法pwd
  • 示例
    • 显示当前目录路径:pwd(输出如 /home/username/documents

mkdir 命令:创建目录

mkdir 用于创建新的目录。

  • 基本用法mkdir [选项] 目录名
  • 常用选项
    • -p:递归创建目录,如果父目录不存在则一并创建。
  • 示例
    • 创建一个名为 test 的目录:mkdir test
    • 递归创建 a/b/c 目录:mkdir -p a/b/c

touch 命令:创建空文件或更新文件时间

touch 可用于创建新的空文件,或更新已有文件的访问和修改时间。

  • 基本用法touch 文件名
  • 示例
    • 创建一个名为 file.txt 的空文件:touch file.txt
    • 同时创建多个文件:touch file1.txt file2.txt

cp 命令:复制文件或目录

cp 用于将源文件或目录复制到目标位置。

  • 基本用法cp [选项] 源文件 目标文件
  • 常用选项
    • -r:递归复制目录,用于复制整个目录。
    • -i:覆盖前提示用户确认。
  • 示例
    • 复制 file.txt/tmp 目录:cp file.txt /tmp/
    • 递归复制 dir 目录到 /backupcp -r dir /backup/

mv 命令:移动或重命名文件/目录

mv 可以用于移动文件或目录,也可以用于重命名文件或目录。

Linux常用命令有哪些实用示例?-图3
(图片来源网络,侵删)
  • 基本用法mv [选项] 源文件 目标文件
  • 常用选项
    • -i:覆盖前提示。 -f:强制覆盖,不提示。
  • 示例
    • file.txt 重命名为 newfile.txtmv file.txt newfile.txt
    • dir 目录移动到 /opt 下:mv dir /opt/

rm 命令:删除文件或目录

rm 用于删除文件或目录,操作需谨慎,尤其是删除目录时。

  • 基本用法rm [选项] 文件/目录
  • 常用选项
    • -r:递归删除目录及其内容。
    • -f:强制删除,不提示确认。
    • -i:删除前提示用户确认。
  • 示例
    • 删除 file.txtrm file.txt
    • 递归删除 dir 目录:rm -rf dir(需谨慎使用)

cat 命令:查看文件内容

cat 用于将文件内容输出到终端,适合查看小文件。

  • 基本用法cat 文件名
  • 示例
    • 查看 file.txt 的内容:cat file.txt
    • 合并 file1.txtfile2.txt 并输出到终端:cat file1.txt file2.txt

less 命令:分页查看文件内容

less 用于分页显示文件内容,支持上下翻页、搜索等操作,适合查看大文件。

  • 基本用法less 文件名
  • 操作说明
    • j/k:上下滚动。
    • q:退出 less
    • 搜索关键词,按 n 跳转到下一个匹配项。
  • 示例
    • 分页查看 log.txtless log.txt

grep 命令:文本搜索

grep 用于在文件中搜索匹配的文本行,支持正则表达式。

  • 基本用法grep [选项] '关键词' 文件名
  • 常用选项
    • -i:忽略大小写。
    • -n:显示匹配行的行号。
    • -r:递归搜索目录下的所有文件。
  • 示例
    • file.txt 中搜索 "error":grep 'error' file.txt
    • 递归搜索 /var/log 目录下包含 "warning" 的行:grep -r 'warning' /var/log

系统和管理命令

除了文件管理,Linux 系统的日常运维也需要一系列命令来监控系统状态、管理进程等。

top 命令:动态监控系统资源

top 用于实时显示系统的进程状态、CPU 使用率、内存占用等信息。

  • 基本用法top
  • 常用操作
    • M:按内存使用率排序。
    • P:按 CPU 使用率排序(默认)。
    • q:退出 top
  • 示例
    • 查看 CPU 和内存使用情况:top

ps 命令:查看静态进程状态

ps 用于显示当前运行的进程信息,常与 grep 结合使用。

  • 基本用法ps [选项]
  • 常用选项
    • -ef:显示所有进程的详细信息。
    • -aux:显示所有进程,包括用户、CPU、内存等。
  • 示例
    • 查看所有进程:ps -ef
    • 查找名为 "nginx" 的进程:ps -ef | grep nginx

kill 命令:终止进程

kill 用于向进程发送信号,默认终止进程(需知道进程 ID,PID)。

  • 基本用法kill [选项] PID
  • 常用选项
    • -9:强制终止进程(不推荐随意使用)。
  • 示例
    • 终止 PID 为 1234 的进程:kill 1234
    • 强制终止 PID 为 5678 的进程:kill -9 5678

df 命令:查看磁盘空间使用情况

df 用于显示文件系统的磁盘空间使用情况,默认以 KB 为单位。

  • 基本用法df [选项]
  • 常用选项
    • -h:以人类可读格式显示(K、M、G)。
    • -T:显示文件系统类型。
  • 示例
    • 查看磁盘空间使用情况:df -h

du 命令:查看目录或文件大小

du 用于估计文件或目录的磁盘空间使用量。

  • 基本用法du [选项] [目录/文件]
  • 常用选项
    • -h:以人类可读格式显示。
    • -s:只显示总计大小,不显示子目录详情。
  • 示例
    • 查看 home 目录的总大小:du -sh /home
    • 查看 documents 目录下每个子目录的大小:du -h /home/username/documents

tar 命令:打包和解压文件

tar 用于将多个文件或目录打包成一个文件,常用于备份和压缩。

  • 基本用法tar [选项] 文件名
  • 常用选项
    • -c:创建打包文件。
    • -x:解包文件。
    • -v:显示详细过程。
    • -f:指定文件名(必须放在选项最后)。
    • -z:调用 gzip 进行压缩/解压(.tar.gz)。
    • -j:调用 bzip2 进行压缩/解压(.tar.bz2)。
  • 示例
    • 打包 dir 目录为 backup.tartar -cvf backup.tar dir
    • 解压 backup.tar.gztar -xzvf backup.tar.gz
    • 查看 backup.tar 内容:tar -tvf backup.tar

用户和权限管理命令

Linux 是多用户系统,权限管理是核心功能之一,以下命令用于管理用户和文件权限。

chmod 命令:修改文件权限

chmod 用于修改文件或目录的读(r)、写(w)、执行(x)权限。

  • 权限表示
    • r(读):4
    • w(写):2
    • x(执行):1
    • 用户(u)、组(g)、其他(o)权限可通过数字或符号表示。
  • 基本用法
    • 数字法:chmod 755 file.txt(所有者 rwx,组 r-x,其他 r-x)
    • 符号法:chmod u+x file.txt(给所有者添加执行权限)
  • 示例
    • 设置 file.txt 所有者可读写,组和其他只读:chmod 644 file.txt
    • script.sh 添加执行权限:chmod +x script.sh

chown 命令:修改文件所有者和组

chown 用于修改文件或目录的所有者(user)和所属组(group)。

  • 基本用法chown [用户][:组] 文件名
  • 示例
    • file.txt 的所有者改为 rootchown root file.txt
    • dir 目录的所有者改为 nginx,组改为 www-datachown nginx:www-data dir

useraddusermod 命令:管理用户

  • useradd:创建新用户。
    • 示例:创建一个名为 testuser 的用户,并指定主目录:useradd -m testuser
  • usermod:修改用户属性。
    • 示例:修改 testuser 的用户名为 newuserusermod -l newuser testuser

网络相关命令

Linux 系统中,网络命令用于配置网络、测试连接等。

ifconfigip 命令:查看和配置网络接口

  • ifconfig:传统命令,查看或配置网络接口(需安装 net-tools 包)。
    • 示例:查看所有网络接口:ifconfig
  • ip:现代命令,功能更强大(默认安装)。
    • 示例:查看网络接口信息:ip addr show

ping 命令:测试网络连通性

ping 用于测试与目标主机之间的网络连通性。

  • 基本用法ping [选项] IP地址/域名
  • 常用选项
    • -c:指定发送数据包的次数(默认无限发送)。
  • 示例
    • 测试与 www.baidu.com 的连通性:ping -c 4 www.baidu.com

ssh 命令:远程登录

ssh 用于通过加密连接远程登录 Linux 服务器。

  • 基本用法ssh [用户名]@[IP地址/域名]
  • 示例
    • root 用户登录 168.1.100ssh root@192.168.1.100

netstatss 命令:查看网络连接状态

  • netstat:查看网络连接、路由表、接口统计等(需安装 net-tools)。
    • 示例:查看所有监听端口:netstat -tuln
  • ss:现代替代工具,性能更优(默认安装)。
    • 示例:查看所有 TCP 连接:ss -t

常用命令速查表

命令 功能 常用示例
ls 列出目录内容 ls -la
cd 切换目录 cd ~cd ..
cp 复制文件/目录 cp -r dir /backup
mv 移动/重命名文件 mv file.txt newfile.txt
rm 删除文件/目录 rm -rf dir
cat 查看文件内容 cat file.txt
grep 文本搜索 grep 'error' log.txt
top 动态监控系统资源 top
ps 查看进程状态 ps -ef
df 查看磁盘空间 df -h
tar 打包/解压文件 tar -czvf backup.tar.gz dir
chmod 修改文件权限 chmod 755 file.txt
ping 测试网络连通性 ping -c 4 www.baidu.com

相关问答FAQs

Q1:如何查看 Linux 系统的发行版信息?
A1:可以使用以下命令查看 Linux 发行版信息:

  • lsb_release -a:显示 LSB(Linux Standard Base)信息,适用于 Ubuntu、Debian 等发行版。
  • cat /etc/os-release:查看系统版本信息,几乎所有 Linux 发行版都支持。
  • cat /etc/redhat-release:适用于 CentOS、RHEL 等 RedHat 系发行版。

Q2:如何查找文件中包含特定关键词的所有行,并显示行号?
A2:可以使用 grep 命令结合 -n 选项实现,具体命令为:

grep -n '关键词' 文件名

log.txt 中搜索包含 "error" 的行并显示行号:

grep -n 'error' log.txt

如果需要递归搜索目录下的所有文件,可添加 -r 选项:

grep -rn 'error' /path/to/directory
分享:
扫描分享到社交APP
上一篇
下一篇