Linux 系统常用指令与文件权限管理指南
目录操作与路径概念
在 Linux 文件系统中,所有目录都源自根目录 /,呈现树状结构。在操作文件前,必须理解两种路径表示法:
- 绝对路径:从根目录开始的完整路径。例如:
/etc/nginx/conf.d。 - 相对路径:相对于当前工作目录的路径。例如,若当前在
/var,访问log目录可以写成./log。
核心目录管理命令
以下是维护目录结构最常用的指令:
ls(List files):列出目录内容。常用参数-a显示隐藏文件,-l显示详细信息。cd(Change Directory):切换当前工作目录。pwd(Print Working Directory):显示当前绝对路径。mkdir(Make Directory):创建新目录。使用-p参数可递归创建多级目录。rmdir(Remove Directory):删除空目录。cp(Copy):复制文件或目录。递归复制目录需加-r。rm(Remove):删除文件或目录。-f为强制删除,-r用于删除目录及其内容。mv(Move):移动或重命名文件/目录。
# 目录操作示例
[admin@server ~]$ pwd
/home/admin
# 创建多级开发环境目录
[admin@server ~]$ mkdir -p workspace/java/project_01
# 切换到目标目录
[admin@server ~]$ cd workspace/java/project_01
# 返回上两级目录
[admin@server project_01]$ cd ../../
[admin@server workspace]$ pwd
/home/admin/workspace
# 回到用户家目录
[admin@server workspace]$ cd ~
文件基本属性与权限控制
Linux 是一种多用户安全系统,通过权限位保护文件访问安全。使用 ls -l 可以查看文件的详细属性。
# 查看属性示例
[admin@server ~]$ ls -l
drwxr-xr-x 3 root root 4096 May 20 10:00 data
-rw-r--r-- 1 root root 512 May 20 10:05 config.yaml
权限位解析
输出的首位代表文件类型:
d:目录 (Directory)-:普通文件l:符号链接 (Link)b/c:设备文件
随后的 9 个字符分为三组(属主权限、属组权限、其他用户权限),每组包含 r (读)、w (写)、x (执行)。
修改文件权限与归属
- chgrp:更改文件所属用户组。
chgrp -R dev_group /opt/app - chown:更改文件所有者或所属组。
chown -R user:group /var/www/html - chmod:更改权限。通常使用数字表示法:r=4, w=2, x=1。
# 设置属主全权限,组和其他人可读可执行 (755) chmod 755 run_script.sh
文件内容查看技术
根据文件大小和查阅需求,Linux 提供了多种内容读取工具:
cat:从第一行开始显示全量内容。tac:倒序显示内容(cat 的反向)。nl:显示内容并附带行号。more:分页显示,仅支持向下翻页。less:增强型分页工具,支持上下滚动与关键词搜索(推荐使用)。head:查看文件开头的若干行。使用-n指定行数。tail:查看文件结尾的若干行。常用-f实时追踪日志更新。
# 查看系统日志的前20行
[admin@server ~]$ head -n 20 /var/log/syslog
# 实时监控应用的错误日志
[admin@server ~]$ tail -f /var/log/app/error.log
链接文件:硬链接与软链接
Linux 系统中存在两种链接机制:
- 硬链接 (Hard Link):
多个文件名指向同一个物理索引节点 (Inode)。删除源文件后,只要硬链接还存在,内容就不会丢失。硬链接不能跨分区,也不能指向目录。
- 软链接 (Symbolic Link):
类似于 Windows 的快捷方式。它是一个独立的文件,内容是源文件的路径。若源文件被移动或删除,软链接将失效。
# 链接操作测试
[admin@server ~]$ touch src_file
[admin@server ~]$ ln src_file hard_link_file # 创建硬链接
[admin@server ~]$ ln -s src_file soft_link_file # 创建软链接
[admin@server ~]$ ls -li
1048577 -rw-r--r-- 2 admin admin 0 May 20 11:00 src_file
1048577 -rw-r--r-- 2 admin admin 0 May 20 11:00 hard_link_file
1048578 lrwxrwxrwx 1 admin admin 8 May 20 11:01 soft_link_file -> src_file
# 删除源文件后观察
[admin@server ~]$ rm src_file
[admin@server ~]$ cat hard_link_file # 正常读取
[admin@server ~]$ cat soft_link_file # 报错:No such file or directory