本系列会将《鸟哥的Linux私房菜-基础版》中的一些个人觉得比较有用的命令行单独摘出来,方便查阅
-
/etc/passwd记录系统用户 -
/etc/shadow记录密码 -
/etc/group记录群组 -
whoami查看当前登录人信息 -
w查看当前登录用户有哪些以及这些家伙在干嘛 -
ls -al对应的列说明:
权限|连接数|所属用户|所属群组|文件大小(byte)|最后修改时间|名称 -
权限字符串对应说明:
文件类型|owner权限|group权限|others权限|
- 文件类型说明:
[d]:目录
[-]:文件
[l]:链接文件(link file)
[b]:硬件存储接口设备
[c]:硬件串口设备,如键盘、鼠标等
- 权限字符串说明:
[r]:可读
[w]:可写
[x]:可执行
[s]:???
-
文件名前面有“.”的属于隐藏文件!
-
chgrp改变文件所属群组 -
chown改变文件拥有者 -
chmod改变文件权限 -
以上三个命令都可以加上 -R 参数进行递归变更 chgrp -R xxx
-
chown可以直接连带组名 chown -R suolongga:huli xxxfile
- 文件权限的数字代号:
[r]: 4
[w]: 2
[x]: 1
-
权限分数累加(每一位都是0和1两种状态,相当于3位二进制码转成10进制)
[rwx]: 7
[rw-]: 6
[r-x]: 5
[r--]: 4
[-wx]: 3
[-w-]: 2
[--x]: 1
[---]: 0 -
当不知道原文件权限属性时:
- 减去全部人员的可执行权限:
chmod a-x xxxfile - 增加全部人员的可执行权限:
chmod a+x xxxfile
- 减去全部人员的可执行权限:
-
权限对文件的控制:
[r]: 可读取文件中的文字内容
[w]: 可修改文件中的文字内容(不含删除该文件)
[x]: 可以对该文件进行执行 -
权限对目录的控制:
-
权限对目录的控制:
[r]: 具有读取目录下文件列表的权限(read contents in directory)
[w]: 可以在该目录下进行创建、删除、搬动、更名等操作(modify contents in directory)
[x]: 是否能进入该目录(access directory) -
文件种类:
[regular file]: 包括:ASCII、binary、data,属性为[-]
[directory]: 就是目录,属性为[d]
[link]: 快捷方式,属性为[l]
[device]: 设备与驱动文件,包括:block硬盘设备文件(如/dev/sda)属性为[b]、character字符设备文件(如鼠标键盘等)属性为[c]
[sockets]: 网络通信接口文件,承接网络数据,属性为[s]
[FIFO,pipe]: 特殊文件,用以解决多个程序同时存取一个文件所造成的错误问题,属性为[p] -
Linux目录配置
- static
/usr软件放置处(shareable)/opt第三方软件(shareable)/etc配置文件(unshareable)/boot开机与核心文档(unshareable)
- variable
/var/mail使用者邮件信箱(shareable)/var/spool/news新闻组(shareable)/var/run程序相关(unshareable)/var/lock程序相关(unshareable)
- static
-
static: 跟随distribution,不会经常变动。如库函数、文件说明、主机服务配置等 -
variable: 经常变动的数据,如登录文件 -
shareable: 可以分享给其他系统挂载使用的目录,如可执行文件 -
unshareable: 仅与自身及其有关,不适合分享给其它主机,如驱动 -
FHS规范:
/根目录,与开机有关/usr(unix software resource)与软件安装/执行有关/var(variable)与系统运作过程有关
-
根目录:包含系统开机时需要的特定软件、核心文件、开机所需程序、库函数、系统修复程序等等
#FHS分区建议:根目录所在的分区槽应该越小越好,且应用程序所安装的软件最好不要与根目录放在同一个分区槽内,这样可以保证根目录所在的文件系统不容易发生错误
-
Linux下的目录说明(必须存在的):
- 必须存在的:
/bin: 单人维护模式下可被操作的指令
/boot: 开机使用的文件,包括内核文件及开机选单、配置文件等(linux常用内核文件名vmlinuz)
/dev: 任何驱动和接口设备都是以文件形态存于此目录中
/etc: 系统的主要配置文件几乎都在此目录内,例如账号密码、各种服务初始化文件等,通常只有root可改
/etc/opt: 存放第三方软件/opt的相关配置文件
/lib: 存放开机时用到的库函数,以及/bin或/sbin下指令依赖的库函数
/lib/modules: 主要用于存放自定义内核相关模块
/media: 软盘、光盘、DVD等设备都挂载于此
/mnt: 用于存放临时挂载的某些设备,早年与/media用处相同
/opt: 用于存放第三方软件
/run: 存放开机后产生的各项信息
/sbin: 开机过程中需要的各类系统指令,如开机、修复、还原等
/usr/sbin: 服务器软件程序的可执行文件
/usr/local/sbin: 本机自行安装的软件所产生的可执行文件
/srv: 一些网络服务启动后,这些服务所需要取用的数据目录,如/srv/www
/tmp: 临时文件,任何人都可以存取
/usr: (单独说明)
/var: (单独说明) - 建议存在的:
/home: 用户家目录
/lib<qual>: 用来存放与lib不同格式的二进制库函数
/root: 系统管理员的家,通常root目录会和根目录在一个分区槽中,单人维护模式时可访问 - 约定俗成的:
lost+found: 使用ext2/ext3/ext4文件系统格式时才会产生的目录(xfs没有),存放出错时的遗失片段
proc: 一个“虚拟文件系统”,里面的数据都在内存中(不占硬盘),如系统内核、进程信息、设备状态及网络状态等
sys: 与proc非常相似,也是一个虚拟文件系统,记录的内容也类似,同样不占硬盘
- 必须存在的:
-
/usr的意义与内容:- 必须存在:
/usr/bin: 所有一般用户能够使用的指令都在此,在CentOS7中包含全部用户指令(把/bin链接于此),此目录下不能有子目录
/usr/lib: 基本上与/lib相同,/lib链接于此
/usr/local: 系统管理员在本机自行安装的自己下载的软件,该目录下也有bin,etc,include,lib等次目录
/usr/sbin: 基本与/sbin类似,也是链接到这儿
/usr/share: 主要放置只读架构的数据文件,也包括共享文件,几乎都是文本文件,man,doc为常见次目录 - 建议存在:
/usr/games: 与游戏相关的数据
/usr/include: c/c++等程序语言的头文件,使用tarball方式安装时会用到这里的文件
/usr/libexec: 不太被一般使用者管用的执行文件或脚本
/usr/lib<qual>: 与/lib功能相同,被链接了进来
/usr/src: 通常用来放置源码,kernel源码建议放到/usr/src/linux目录下
- 必须存在:
-
/var的意义与内容:
/var/cache: 应用程序运行过程中产生的缓存
/var/lib: 程序执行过程中需要用到的数据文件,不同软件均有各自子目录,如/var/lib/mysql
/var/lock: 进程的资源锁,目前已挪到/run/lock/目录中了!
/var/log: 非常重要!登录文件放置的目录!重要文件如:/var/log/messages,/var/log/wtmp记录登入这信息等
/var/mail: 放置个人电子信箱的目录,与/var/spool/mail互为链接文件
/var/spool: 通常放一些队列数据,被使用后通常会被删除 -
Centos7与之前版本不同:(设置链接,指向/usr和/run)
/bin->/usr/bin
/sbin->/usr/bin
/lib->/usr/lib
/lib64->/usr/lib64
/var/lock->/run/lock
/var/run->/run
本文详细介绍了Linux系统中关键的命令行操作,包括用户、群组管理,文件权限设置,以及目录配置的重要细节。涵盖了/etc/passwd, /etc/shadow, /etc/group的用途,ls-al的详细解析,chgrp, chown, chmod命令的使用,以及Linux目录结构的全面解读。
296

被折叠的 条评论
为什么被折叠?



