每天学一点linux(三)

本文深入探讨了Linux文件的权限与目录配置,详细解释了文件属性、改变文件属性与权限的方法,包括使用ls、chgrp、chown、chmod等命令的操作流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

linux的文件权限与目录配置

linux一般将文件可存取的身份分为三个类别,分别是owner/goup/others,且三种身份各有read/write/execute等权限。

1、linux文件属性

ls -al //列出所有文件的详细属性和权限
//例如                                                                                                                              
drwxr-xr-x 2 coding coding 4096 Oct 30 22:53 test 
[1]        [2]  [3]   [4]   [5]      [6]      [7]
[权限][连结][拥有者][群组][容量][修改日期][文件名]

[权限]

drwxr-xr-x
[1][2][3][4][5][6][7][8][9][10]
[1]:第一个字符表示该文件为(目录、文件或连接文件等)
    * d :目录
    * - :文件
    * | :连接文件(link file)
    * b :可供存储的接口设备(可随机存储装置)
    * c :串行端口设备,例如键盘、鼠标(一次性读取装置)
[2][3][4] : 三个一组,该组为文件所有者的权限
[w][r][x] : 分别表示可写(write),可读(read),可执行(execute),顺序不变,没有权限用“-”表示。
[5][6][7] : 该组为同群组的权限
[8][9][10] : 该组为非本群组的权限

[连结数]
表示有多少文件名连结到此节点(i-node)
每个档案都会将他的权限与属性记录到文件系统的i-node中

[拥有者]
表示文件的拥有者名

[群组]
表示文件所属的群组

[容量]
表示文件的大小

[修改日期]
表示文件的建立日期或者最近修改日期

ls -l --full-time//显示完整时间格式
//例如
drwxr-xr-x 2 coding coding 4096 2015-11-02 22:27:24.779824461 +0800 test 

[文件名]
即文件名

2、改变文件属性与权限

  • chgrp : 改变文件所属群组
  • chown : 改变文件拥有者
  • chmod : 改变文件的权限
chmod
可以通过数字或符号改变权限
数字:r:4 w:2 x:1
符号:user(u),group(g),others(o),all(a),+(增加),-(去除),=(设定)
chmod 777 filename //数字
chmod u=rwx,go=rx filename //符号
chmod a+w filename //user,group,others都增加写的权限

chgrp

ls -al //列出所有文档的详细属性和权限
//结果为:-rw-r--r-- 1 coding root     61 Nov  3 23:40 text.txt
chgrp coding text.txt //修改文件所在的群组
//结果:-rw-r--r-- 1 coding coding   61 Nov  3 23:40 text.txt 
//如果群组不存在时,会出错
chgrp code text.txt  
//结果:chgrp: invalid group: ‘code’ 

chown

ls -al
//-rw-r--r-- 1 root   coding   61 Nov  3 23:40 text.txt
sudo chown coding text.txt
//结果:-rw-r--r-- 1 coding coding   61 Nov  3 23:40 text.txt 
sudo chown root:root test //同时修改拥有者和群组
<think>嗯,用户想从零开始Linux,我得好好想想怎么组织这个回答。首先,用户可能完全没接触过Linux,所以需要从最基础的讲起。得先介绍什么是Linux,它的优点,为什么值得,对吧? 然后,应该分步骤来,让用户知道习路径是怎样的。第一步可能是安装Linux系统,但用户可能不知道怎么选择发行版。这时候需要推荐几个适合新手的,比如Ubuntu、Linux Mint,可能还要提到双系统或者虚拟机安装,这样用户不会担心搞坏现有的系统。 接下来,用户需要熟悉命令行,这是Linux的核心。得解释终端是什么,基本命令如ls、cd这些,还有帮助文档man命令的使用。这部分可能需要详细一点,但也要避免太深入让新手感到压力。 然后是文件系统结构,像/bin、/etc这些目录的作用,用户可能对Windows的结构比较熟悉,所以得对比解释,或者至少说明每个目录的用途。权限管理也很重要,chmod、chown这些命令得提到,但可能得用简单的例子,比如修改文件权限。 软件包管理部分,不同的发行版有不同的工具,比如apt和yum,这里需要分开说明,可能还要举几个安装软件的例子,让用户有实际操作的感觉。Shell脚本编写可能对新手来说有点挑战,但可以建议从简单的自动化任务开始,比如备份脚本,逐步习变量和条件判断。 网络配置部分,像ifconfig、ping这些命令,用户可能需要知道如何检查网络状态。远程连接ssh也是常用功能,应该包含进去。系统管理命令如top、ps、systemctl,这些对于监控和管理服务很重要,但得简明扼要地介绍,避免信息过载。 习资源方面,推荐书籍和在线平台是必要的,比如《鸟哥的Linux私房菜》和Coursera的课程。实践部分建议虚拟机或树莓派,这样用户可以安全地实验。社区支持如Stack Overflow和中文论坛,能帮助解决问题。 最后,注意事项里要提醒谨慎使用sudo,定期备份,避免生产环境直接操作,这些对新手来说都是容易犯错的地方。整个回答结构要清晰,逐步引导,让用户感觉有明确的路径,不会感到迷茫。同时,保持语言口语化,避免技术术语过多,用例子和实际场景帮助理解。可能还需要检查是否有遗漏的重要知识点,比如图形界面和命令行的区别,或者常用工具如vim的基本使用,但考虑到是基础习,可能点到为止即可,后续用户可以根据兴趣深入。</think>以下是为零基础习者整理的Linux入门指南,内容分为基础概念、习路径和实践建议部分: 一、基础认知(先理解后操作) 1. Linux本质 - 开源操作系统内核(1991年林纳斯·托瓦兹开发) - 衍生发行版:Ubuntu/CentOS/Debian等 - 特点:$$ \text{稳定性} \propto \frac{1}{\text{系统崩溃概率}} $$ 2. 习价值 - 服务器领域占比超90%(2023年W3Tech数据) - 开发/运维/网络安全必备技能 - 命令行效率:$$ \text{操作速度} \geq 3\times \text{图形界面} $$ 二、分阶段习路线 ▌第一阶段:环境搭建(1-3天) 1. 选择发行版 - 新手推荐:Ubuntu > Linux Mint > Fedora - 虚拟机方案:VirtualBox + Ubuntu镜像 - 双系统方案:使用Etcher制作启动U盘 2. 初识终端 ```bash $ ls -al # 查看详细文件列表 $ sudo apt update # 更新软件源(注意权限管理) ``` ▌第二阶段:核心技能(2-4周) 1. 文件系统导航 - 路径结构:/bin(二进制文件)、/etc(配置文件)、/home(用户目录) - 权限机制: $$ \text{chmod 755 file} \Rightarrow \begin{cases} \text{用户:rwx} \\ \text{组:r-x} \\ \text{其他:r-x} \end{cases} $$ 2. 软件管理 - APT(Debian系): ```bash $ sudo apt install neofetch $ apt search ^python3 ``` - YUM(RedHat系): ```bash $ yum install epel-release ``` 3. 文本处理剑客 - grep筛选:`$ ps aux | grep ssh` - sed替换:`$ sed 's/old/new/g' file` - awk分析:`$ awk '{print $1}' access.log` ▌第阶段:系统管理(1-2月) 1. 进程监控 ```bash $ top -d 1 # 实时监控 $ lsof -i:80 # 查看端口占用 ``` 2. 定时任务 ```bash $ crontab -e # 每天3点备份 0 3 * * * tar -zcf /backup/$(date +\%F).tar.gz /data ``` 、高效习策略 1. 实践工具推荐 - 在线实验:https://overthewire.org(闯关式习) - 本地环境:VS Code + Remote SSH插件 2. 知识巩固方法 - 每日挑战:通过Shell脚本自动化重复工作 ```bash #!/bin/bash # 自动清理7天前日志 find /var/log -name "*.log" -mtime +7 -exec rm {} \; ``` - 项目驱动:搭建LNMP网站环境 3. 避坑指南 - 慎用`rm -rf /`(删除根目录) - 修改配置文件前备份:`$ cp httpd.conf{,.bak}` - 使用`--dry-run`参数测试危险命令 四、延伸习方向 1. 容器技术:Docker基础操作 ```bash $ docker run -d -p 80:80 nginx ``` 2. 配置管理:Ansible基础剧本 ```yaml - hosts: webservers tasks: - name: 确保Apache运行 apt: name: apache2 state: present ``` 建议每天投入1-2小时实践,配合《Linux命令行与Shell脚本编程大全》等教材系统习。遇到问题可优先查看`man`手册(例:`$ man grep`),其次参考Stack Overflow社区案例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值