当前位置: 首页 > article >正文

在 macOS 和 Linux 中,波浪号 `~`的区别

文章目录

  • 1、在 macOS 和 Linux 中,波浪号 `~`
      • macOS
        • 示例
      • Linux
        • 示例
      • 区别总结
      • 其他注意事项
      • 示例
        • macOS
        • Linux
      • 结论
  • 2、`root` 用户的主目录通常是 `/root`
      • 解释
      • 示例
      • 切换用户
        • 使用 `su` 命令
        • 使用 `sudo` 命令
      • 验证当前用户
      • 总结

1、在 macOS 和 Linux 中,波浪号 ~

在 macOS 和 Linux 中,波浪号 ~ 都表示当前用户的主目录(Home Directory)。尽管它们在不同的操作系统中表示相同的含义,但具体的路径和行为可能略有不同。以下是详细说明:

macOS

dgq@dgqdeMac-mini ~ % pwd
/Users/dgq

在 macOS 中,~ 通常表示当前用户的主目录,路径通常是 /Users/username,其中 username 是当前登录用户的用户名。例如,如果用户名是 john,那么 ~ 就表示 /Users/john

示例
  • cd ~:切换到当前用户的主目录,例如 /Users/john
  • cd ~/Documents:切换到当前用户的 Documents 目录,例如 /Users/john/Documents

Linux

[root@localhost home]# pwd
/home
[root@localhost home]# ls
dgq

在 Linux 中,~ 同样表示当前用户的主目录,路径通常是 /home/username,其中 username 是当前登录用户的用户名。例如,如果用户名是 john,那么 ~ 就表示 /home/john

示例
  • cd ~:切换到当前用户的主目录,例如 /home/john
  • cd ~/Documents:切换到当前用户的 Documents 目录,例如 /home/john/Documents

区别总结

  1. 路径前缀

    • macOS:主目录路径通常是 /Users/username
    • Linux:主目录路径通常是 /home/username
  2. 系统默认路径

    • macOS:默认的用户主目录位于 /Users 目录下。
    • Linux:默认的用户主目录位于 /home 目录下。
  3. 符号链接和别名

    • macOSLinux 都支持符号链接和别名,但具体路径可能因系统配置而异。

其他注意事项

  • 环境变量:在 shell 脚本中,可以使用 $HOME 环境变量来表示当前用户的主目录。例如:

    cd $HOME
    
  • 多用户系统:在多用户系统中,每个用户的主目录路径都会根据用户名有所不同。例如,用户 alice 的主目录可能是 /Users/alice(macOS)或 /home/alice(Linux)。

示例

假设你有一个用户 john,下面是两个操作系统中的一些命令示例:

macOS
# 切换到 john 的主目录
cd ~

# 查看 john 的主目录内容
ls ~

# 创建一个新文件在 john 的 Documents 目录下
touch ~/Documents/newfile.txt
Linux
# 切换到 john 的主目录
cd ~

# 查看 john 的主目录内容
ls ~

# 创建一个新文件在 john 的 Documents 目录下
touch ~/Documents/newfile.txt

结论

尽管 macOS 和 Linux 在文件系统路径前缀上有所不同,但 ~ 这个符号在两个操作系统中都表示当前用户的主目录。这使得跨平台的脚本编写更加方便,因为 ~ 的含义在大多数类 Unix 系统中是一致的。

2、root 用户的主目录通常是 /root

[root@localhost ~]# pwd
/root

你提到的 [root@localhost ~]# pwd 显示的结果是 /root,这是因为你当前是以 root 用户身份登录的。在 Linux 系统中,root 用户的主目录通常是 /root

解释

  1. root 用户

    • root 是系统的超级用户,拥有最高的权限。
    • root 用户的主目录默认是 /root
  2. 普通用户

    • 普通用户的主目录通常位于 /home 目录下。
    • 例如,如果用户名是 john,那么 john 的主目录通常是 /home/john

示例

假设你有两个用户:rootjohn

  • root 用户

    [root@localhost ~]# pwd
    /root
    
  • john 用户

    [john@localhost ~]# pwd
    /home/john
    

切换用户

如果你想要切换到另一个用户,可以使用 susudo 命令。

使用 su 命令
[root@localhost ~]# su - john
[john@localhost ~]# pwd
/home/john
使用 sudo 命令
[root@localhost ~]# sudo -u john bash
[john@localhost ~]# pwd
/home/john

验证当前用户

你可以使用 whoami 命令来查看当前登录的用户:

[root@localhost ~]# whoami
root

总结

  • root 用户的主目录/root
  • 普通用户的主目录:通常在 /home/username

所以,当你看到 [root@localhost ~]# pwd 输出 /root 时,这表明你当前是以 root 用户身份登录的。如果你想切换到其他用户,可以使用 susudo 命令。
在这里插入图片描述


http://www.kler.cn/a/401947.html

相关文章:

  • 生数科技发布 Vidu 1.5 新版本,引领视频大模型新潮流
  • 【网络】Socket编程TCP/UDP序列化和反序列化理解应用层(C++实现)Json::Value
  • 【概率统计通俗版】极大似然估计
  • HarmonyOS Next 关于页面渲染的性能优化方案
  • vscode 快捷键生成代码
  • 【小程序】dialog组件
  • 使用C++编写一个程序,模拟掷骰子的过程,输出1到6之间的随机数。
  • 【企业级分布式系统】ELK优化
  • 使用Go语言开发一个高性能的Web服务器,支持静态文件服务和实时通信。
  • 《深入理解 Spring MVC 工作流程》
  • 实验十三 生态安全评价
  • MySQL扩展varchar字段长度能否Online DDL
  • 【服务器】端口映射
  • 爬虫开发工具与环境搭建——使用Postman和浏览器开发者工具
  • 【嵌入式Linux】Linux设备树详解
  • 【算法设计与分析实训】第1关:求序列的最大字段和
  • 高阶云服务-ELB+AS
  • Android CPU核分配关联进程
  • Java网络编程1 - 介绍网络编程、网络编程三要素
  • STM32设计防丢防摔智能行李箱-分享
  • ReactNative的环境搭建
  • POI和easyExcel的讲解和使用
  • 最少前缀操作问题--感受不到动态规划,怎么办怎么办
  • 动态Tab导航
  • STM32G4的数模转换器(DAC)功能介绍
  • Linux-shell实例手册-服务操作