发布于 2026-01-06 2 阅读
0

常用的 Linux 命令

常用的 Linux 命令

这是一份常用的 Linux 命令列表。其中大部分是基础命令,可供开发人员参考。

文件和目录

  • ls => 列出所有文件
  • ls -a => 列出所有文件以及隐藏文件
  • ls -R => 递归列出所有文件和文件夹
  • ls -l => 以长格式列出列表(显示更多信息)

  • rm {filename} => 删除文件

  • mv {文件名} {目录路径} => 移动文件

  • mv {srcFileName} {destFileName} => 重命名文件

  • cp {srcFileName} {destFileName} => 复制文件

  • cp -R {srcDir} {destDir} => 复制目录

  • cat {filename} => 读取文件内容

  • cat > {filename} => 写入文件

  • touch {filename} => 创建一个文件,touch 主要用于更改文件时间戳。请参考这里。

  • mkdir {目录名} => 创建目录

  • rmdir {目录名} => 删除目录

  • rm -rf {目录名} => 递归删除目录及其文件

  • mv {dirname1} {路径或目录名} => 移动或重命名目录

  • 历史记录 => 列出当前会话中使用的所有命令

  • 清除 => 清除终端屏幕

  • pwd => 显示当前工作目录的路径。

文件权限

文件权限将按顺序分配给用户、用户组和其他用户。权限名称可以是数字或字母。

r - 读取,w - 写入,x - 执行,
u - 用户,g - 组,o - 其他,a - 全部

0 - 无权限
1 - 执行
2 - 写入
3 - 执行+写入
4 - 读取
5 - 读取+执行
6 - 读取+写入
7 - 全部权限

  • chmod {number} {filename} => 授予用户、组和其他用户权限。

例如:chmod 777 ex.txt=> 授予所有用户、组和其他用户所有权限。

“+” - 授予权限;
“-” - 移除权限;
“=” - 赋予给定权限。

例如:chmod u=rw ex.txt=> 授予用户读/写权限
例如:chmod a= ex.txt=> 移除所有用户的所有权限。

  • chgrp {组名} {文件名} => 更改文件的组
  • chown {user} {filename} => 更改文件的所有者

输入/输出方向

  • '>' 写入(stdout)
    例如:ls -al > {filename} => 将“ls -al”的输出写入文件。如果文件已存在,则会被覆盖

  • '>>' 追加(标准输出)
    例如:echo "hi" >> {filename}=> 追加到文件

  • '<' 输入

文件描述符:0 - 标准输入,1 - 标准输出,2 - 标准错误

重定向错误:

这样可以将错误重定向到日志文件,而不是让终端变得杂乱无章。

例如:cat ex.txt 2> error.log=> 尝试读取文件,如果出现任何错误,则会将错误信息写入 error.log 文件。

这里,“2”是 stderr 的文件描述符。

管道作业

页,差不多吧

通过管道将大文本传递给 pg 的 more 或 less 命令,在终端中以可滚动块的形式显示大文本。

例如:cat large_file.txt | less=> 提供一个可滚动的查看器。

grep

通过管道将输出传递给 grep,在输出中搜索字符串。

例如:ls | grep key=> 显示字符串为“key”的文件。

旗帜:

  • -i => 不区分大小写
  • -c => 仅显示计数
  • -n => 显示匹配的行和数字
  • -v => 显示不匹配的输出

例如:ls | grep -cv key=> 显示未匹配的输出计数

  • grep 也支持正则表达式。请参考这里。
种类

对内容进行排序

例如:ls | sort=> 按字母顺序显示

旗帜:

  • -r => 反向
  • -n => 数值
  • -f => 不区分大小写

例如:ls -l | sort -nk2=> 显示按第二列数值排序的内容。(本例中为硬链接数量)

变量

  • VARIABLE=value => 设置会话中的变量。
  • $VARIABLE => 获取变量的值。
  • unset VARIABLE => 取消设置变量。

网络命令

  • ping {ip} => 检查连接
  • dig {hostname} => 执行 DNS 查询
  • ssh -i {key} {username@ip} => 安全地连接到远程计算机。key 是私钥文件。
  • scp -i {key.pem} {source} {dest} => 复制文件。远程位置应为host:file.
  • lsof -i {协议:端口} => 列出监听指定端口的所有进程。

例如:lsof -i tcp:3000列出所有监听端口 3000 的进程

流程管理

  • top => 列出所有正在运行的进程
  • kill {pid} => 终止具有给定进程 ID 的进程

安装装置

  • lsblk => 列出所有块设备
  • mount {设备 ID} {目录} => 将设备挂载到目录

例如:mount /dev/sda4 /ex/mnt

旗帜:

  • -a => 挂载 /etc/fstab 中的所有设备
  • -l => 列出所有已挂载的设备
  • -t => 文件系统类型(例如:ext4)

  • umount {设备 ID} => 卸载设备

手动的

  • man {命令名称} => 显示命令的用法

封面图片由Sai Kiran Anagani提供

文章来源:https://dev.to/laxmanvijay/useful-linux-commands-3g9m