Linux指令和权限

1. 目录与文件基本操作

1.1 查看与切换 (ls, pwd, cd)

  • ls: 列出目录内容。
    • -a: 显示所有文件(含隐藏文件,以.开头)。
    • -l: 显示详细信息(权限、大小、时间等)。
    • -d: 显示目录本身而非其内容。
  • pwd: 显示当前所在路径。
  • cd: 切换目录。
    • cd ..: 返回上级。
    • cd ~: 进入家目录。
    • cd -: 返回最近访问的目录。

1.2 创建与删除 (touch, mkdir, rmdir, rm)

  • touch filename: 创建空文件或更新文件时间戳。
  • mkdir dirname: 创建目录。-p 递归创建多级目录。
  • rmdir dirname: 删除 目录。-p 连带父目录删除。
  • rm filename: 删除文件或目录(非常重要)。
    • -f: 强制删除,不询问。
    • -r: 递归删除(用于删除非空目录)。

1.3 复制与移动 (cp, mv)

  • cp src dst: 复制。-r 递归复制目录,-f 强制。
  • mv src dst: 移动或重命名。如果 dst 是存在的目录,则移动;如果是文件名,则重命名。

2.文件内容查看指令

  • cat: 查看文件内容。-n 显示行号。
  • more: 分页显示,只能向后翻。
  • less: 分页显示,支持前后翻页、搜索(/向下搜,?向上搜),推荐使用。
  • head -n X: 查看文件前 X 行(默认10行)。
  • tail -n X: 查看文件后 X 行。
    • tail -f filename: 循环读取,常用于实时监控日志。

3. 时间、帮助与辅助指令

  • date: 显示或设置时间。
    • 格式化显示:date +%Y-%m-%d
    • 时间戳转换:date +%s (时间转时间戳), date -d @1508749502 (时间戳转时间)。
  • cal: 查看日历。cal -y 2018 显示整年。
  • man: 查看命令手册。man 3 printf (查库函数),man 2 open (查系统调用)。
  • bc: 浮点运算计算器。
  • 热键:
    • Tab: 命令补全。
    • Ctrl + c: 终止程序。
    • Ctrl + d: 输入结束 (EOF) 或 退出。

4. 查找与搜索指令

  • find path -options: 在目录树中查找文件。
    • find . -name "test.c": 按文件名查找。
  • grep: 在文件中搜索字符串。
    • -i: 忽略大小写。
    • -n: 输出行号。
    • -v: 反向选择(显示不包含字符串的行)。

5. Linux 权限管理 (核心)

5.1 用户与角色

  • 超级用户 (root): 提示符 #,不受限制。
  • 普通用户: 提示符 $,受限。
  • 切换用户: su [user] (切换到root需输入密码)。
  • Sudo: sudo command 暂时以 root 权限执行指令(需配置 /etc/sudoers)。

5.2 文件属性与权限位

执行 ls -l 看到的信息:-rwxr-xr--

  • 第1位 (文件类型): d(目录), -(普通文件), l(链接), p(管道), b(块设备), c(字符设备)。
  • 第2-10位 (权限): 分为三组:拥有者(u)、所属组(g)、其他用户(o)。
  • 权限值:
    • r (Read, 4): 读。对目录为浏览信息。
    • w (Write, 2): 写。对目录为删除/移动文件。
    • x (Execute, 1): 执行。对目录为进入权限 (cd)。

5.3 修改权限 (chmod, chown, chgrp)

  • chmod: 修改权限。
    • 符号法: chmod u+w,o-x file
    • 数字法: chmod 755 file (rwx=7, rx=5)。
  • chown user:group file: 修改拥有者。
  • chgrp group file: 修改所属组。

5.4 默认权限与 umask

  • 新建文件默认权限 666,目录 777。
  • 实际权限 = 默认权限 & (~umask)。
  • 普通用户 umask 默认为 0002,root 为 0022。

5.5 目录权限与粘滞位

  • 目录权限悖论: 只要用户对目录有写权限 (w),就能删除目录下的任何文件,即使该用户对文件本身没有写权限。
  • 粘滞位 (Sticky Bit): chmod +t dir。设置后,该目录下的文件只能由:超级管理员、目录所有者、或文件所有者删除。
相关推荐
jiayong232 小时前
DevOps体系详解01-核心概念与价值
运维·devops
jiayong233 小时前
DevOps体系详解02-技术架构与工具链
运维·架构·devops
pride.li3 小时前
开发板和Linux--nfs服务挂载
linux·运维·服务器
looking_for__3 小时前
【Linux】应用层协议
linux·服务器·网络
BB_CC_DD4 小时前
Linux截图工具(ubuntu18.04+flameshot(火焰截图))
linux
云泽8085 小时前
不止是命令:Linux 高频指令实战 + 芯片架构底层逻辑
linux·运维·服务器
j_xxx404_5 小时前
Linux:基础IO
linux·运维·服务器
wdfk_prog5 小时前
[Linux]学习笔记系列 -- [drivers][i2c]i2c-dev
linux·笔记·学习
angushine6 小时前
银河麒麟V10创建用户
运维
Trouvaille ~7 小时前
【Linux】网络编程基础(二):数据封装与网络传输流程
linux·运维·服务器·网络·c++·tcp/ip·通信