• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

twilight0966

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

Linux命令实践

目录
  • Linux命令的基础知识
  • 常用命令
  • 高频应用命令推荐
  • 其他常用Linux命令:
  • 学习

Linux命令的基础知识

Linux命令是用户与操作系统交互的主要方式,它通常由以下几个部分组成:

命令本身:如 ls、pwd,表示要执行的操作。
选项(Options):以 - 或 -- 开头,用于修改命令的行为,例如 ls -l 中的 -l 表示以长格式显示。
参数(Arguments):指定命令操作的对象,如文件名或目录路径。
管道(|)和重定向(>、>>):用于组合多个命令或将输出保存到文件。

Linux命令区分大小写,并且大多数命令都有内置的帮助信息,可以通过 man 命令查看。

常用命令

  1. ls - 列出目录内容
  • ls:列出当前目录的文件和文件夹。

截屏2025-09-11 下午8.16

  • ls -l:以详细列表格式显示(包括权限、所有者等)。

截屏2025-09-11 下午8.17

  • ls -a:显示所有文件,包括隐藏文件(以 . 开头)。

截屏2025-09-11 下午8.17

  • ls /home:列出指定目录(如 /home)的内容。

截屏2025-09-11 下午8.17

  • ls -lh:以易读的格式(如KB、MB)显示文件大小。

截屏2025-09-11 下午8.17

  1. who - 显示当前登录用户
  • who:显示所有登录用户的用户名、终端和时间。
  • who -u:显示空闲时间。
  • who -H:以表格形式显示,带标题。
  • who am i:显示当前用户的信息。

截屏2025-09-11 下午9.13

截屏2025-09-11 下午3.08

  1. pwd - 显示当前工作目录
  • pwd:输出当前目录的绝对路径。

截屏2025-09-11 下午8.23

  1. cd - 切换目录
  • cd /home:切换到 /home 目录。

截屏2025-09-11 下午8.22

  • cd ..:切换到上一级目录。

截屏2025-09-11 下午8.24

  • cd ~:切换到当前用户的主目录。

截屏2025-09-11 下午8.25

  • cd -:切换回上一个目录。

截屏2025-09-11 下午8.26

  1. man - 查看命令手册
  • man ls:查看 ls 命令的详细帮助。

截屏2025-09-11 下午8.27

截屏2025-09-11 下午8.26

  • man -k "search term":搜索相关命令的手册页。

截屏2025-09-11 下午9.11

  1. whereis - 查找命令的位置
  • whereis ls:显示 ls 命令的二进制文件、源码和手册页位置。

截屏2025-09-11 下午8.29

  • whereis -b ls:只显示二进制文件位置。

截屏2025-09-11 下午8.30

  1. which - 显示命令的完整路径
  • which ls:显示 ls 命令的路径。

截屏2025-09-11 下午8.30

  1. find - 查找文件
  • find /home -name "*.txt":在 /home 目录查找所有 .txt 文件。

截屏2025-09-11 下午8.33

  • find . -type f -name "test*":在当前目录查找以 "test" 开头的文件。

  • find /var/log -size +1M:查找大于1MB的文件。

截屏2025-09-11 下午8.37

  1. locate - 快速查找文件
  • locate passwd:查找所有包含 "passwd" 的文件(需要先更新数据库,使用 updatedb)。
  • locate -i "*.conf":忽略大小写查找 .conf 文件。
  1. grep - 文本搜索
  • grep "error" /var/log/syslog:在系统日志中搜索 "error"。

截屏2025-09-11 下午9.20

  • grep -r "pattern" /etc:递归搜索 /etc 目录中的文本。

截屏2025-09-11 下午9.19

  • grep -i "warning" file.txt:忽略大小写搜索 "warning"。

截屏2025-09-11 下午9.16

  • grep -v "success" file.txt:反向搜索,排除包含 "success" 的行。

高频应用命令推荐

echo:输出文本或变量内容,常用于脚本中。
od:以八进制或其他格式显示文件内容,适用于二进制文件分析。
`sort``:对文本行进行排序,常用于处理数据。

1.echo

  • echo "Hello, World!":输出字符串。

截屏2025-09-11 下午8.39

  • echo $HOME:输出环境变量 HOME 的值。

截屏2025-09-11 下午8.40

  • echo -e "Line1 Line2":启用转义字符,输出多行文本。
  • echo "Text" > file.txt:将输出重定向到文件(覆盖)。
  • echo "Appended" >> file.txt:追加文本到文件。

2.od

  • od -t x1 file.bin:以十六进制格式显示文件内容。

截屏2025-09-11 下午9.06

  • od -t oC file.txt:以八进制格式显示字符。

截屏2025-09-11 下午9.03

  • od -t a file.txt:显示可打印字符和转义序列。

截屏2025-09-11 下午9.04

  • od -t d file.bin:以十进制格式显示。

截屏2025-09-11 下午9.06

3.sort

  • sort file.txt:按字典序排序文件内容。
  • sort -r file.txt:反向排序。
  • sort -n numbers.txt:按数值大小排序。
  • sort -u file.txt:去除重复行后排序。
  • sort -k 2 data.txt:按第二列排序。

其他常用Linux命令:

cat - 查看文件内容
cp - 复制文件或目录
mv - 移动或重命名文件
rm - 删除文件
mkdir - 创建目录
rmdir - 删除空目录
touch - 创建空文件或更新时间戳
chmod - 修改文件权限
chown - 修改文件所有者
ps - 显示进程状态
top - 动态显示进程信息
kill - 终止进程
df - 显示磁盘使用情况
du - 显示目录磁盘使用情况
tar - 打包和解包文件
ssh - 远程登录
scp - 安全复制文件
wget - 下载文件
curl - 传输数据
ping - 测试网络连接
ifconfig - 配置网络接口(旧版)
ip - 显示或配置网络(新版)
netstat - 显示网络状态
systemctl - 管理系统服务
journalctl - 查看系统日志
useradd - 添加用户
passwd - 修改用户密码
su - 切换用户
sudo - 以超级用户权限执行命令
alias - 创建命令别名

学习

在学习过程中,我发现find和locate命令都是为了查找文件,那具体的区分是什么呢?询问AI后,我的综合理解是find是实时搜索,locate是数据库搜索。所以在应用中,如果我想搜索一个文件但是我不知道这个文件在哪里,那我应该使用locate更快,因为它搜索数据库而不是实时扫描文件系统。而如果一个文件是刚刚创建的,locate搜索可能搜不到的原因是数据库还没有及时更新。

另一对让我混淆的命令是whereis和which。whereis是查找命令的位置,which是显示命令的完整路径。AI还补充的区别是which 只显示在 PATH 环境变量中找到的可执行文件,而 whereis 还会显示手册页和源代码的位置。

最后是Ai对我的一个提问:如果你用 sort file.txt 排序后想同时去重,该怎么组合命令?
可行的两种命令是

sort file.txt | uniq
sort -u file.txt

posted on 2025-09-11 20:59  20231301周子昂  阅读(12)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3