1. 根目录下常见目录
/bin | 存放二进制可执行文件,常用命令都在这儿 |
/etc | 存放系统管理和配置文件,比如网卡配置,用户名配置等 |
/home | 存放所有用户文件的根目录 |
/usr | 存放用户安装的程序和系统程序 |
/tmp | 存放正在执行的程序的临时文件 |
/root | 超级用户的主目录 |
/sbin | 存放二进制可执行文件,但是只有root用户才可以访问 |
/var | 存放运行时需要改变数据的文件,比如数据库。 |
/mnt | 临时挂载文件系统 |
/dev | 外部设备 |
2. 目录与文件操作
2.1 目录操作
2.1.1 mkdir 创建目录 参数 -p
通过-p创建层级目录
mkdir abc
mkdir -p abc/acb/asd
2.1.2 查看目录 pwd 参数-p / ls -a / ls - l = ll
pwd命令显示当前所在目录,参数-p显示绝对路径
pwd
pwd -p # 显示实际路径
ls -a 查看隐藏的目录与文件
ls -a
ls -l 查看目录与文件的属性,可以缩写成 ll
ls -l
ll
2.1.3 cd 切换目录
cd 切入目录
cd abc
cd - 返回上次目录
cd -
cd 什么都不加返回root目录
cd
2.1.4 rmdir 删除目录 参数 -p
rmdir只能删除空白目录,如果需要删除上层空目录,添加-p即可
rmdir abc
rmdir -p abd/abd
2.2 文件操作
2.2.1 touch 创建文件 -d
通过touch命令可以创建一个空白文件,也可以设置文件属性 -d 参数修改创建时间
touch abc.txt
touch -d "2017-03-30 16:41" abc.txt
2.2.2 cat / more / less / head / tail / grep 查看文件
cat 适用于查看内容较少的文件 参数 -n 显示行号
cat /etc/hosts
cat -n /etc/hosts
示例:
[root@redis01 ~]# cat -n /etc/hosts
1 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
2 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
more 适合查看较长的文件,通过空格查看下一页,通过 b 返回上一页
more /etc/profile
less 可以用pageup,pagedown与键盘方向键来上下翻看文件,按q退出
less /etc/profile
head 可以查看文件前几行内容 参数 -n 显示文件的前n行
# 查看profile文件的前10行
head -10 /etc/profile
[root@redis01 ~]# head -10 /etc/profile
# /etc/profile
# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc
# It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# /etc/profile.d/ to make custom changes to your environment, as this
# will prevent the need for merging in future updates.
tail 查看文件后几行内容 参数 -n 表示查看文件后n行
# 查看profile文件的后五行
tail -5 /etc/profile
fi
done
unset i
unset -f pathmunge
grep 可以对文件进行内容过滤,比如文件内含有root的行
grep 'root' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
2.2.3 cp 复制文件
使用cp命令可以复制文件,格式如下
cp [源文件] [目标文件]
2.2.4 mv 移动文件
mv [源文件] [目标文件]
2.2.5 rm 删除文件
rm命令可以删除文件 参数 -r 用于删除目录, 参数-f 用于跳过验证直接删除
rm -rf [文件/目录]
3. 用户管理
3.1 创建用户useradd/组groupadd
useradd 用于创建用户
useradd wangziliang
groupadd 用于创建组
groupadd project
可以在创建用户的时候就把用户添加到组中 -G
# 在创建用户abc的时候添加到project组中
useradd abc -G project
3.1.1 id查看用户属性
如果不指定用户名,id
将显示当前登录用户的 UID、GID 以及附加组信息。
id root
uid=0(root) gid=0(root) 组=0(root)
uid=1000(testuser)
:当前用户的 UID 和用户名。gid=1000(testgroup)
:用户的主组 GID 和组名。groups=...
:用户所属的所有组。
3.1.2 可以使用usermod 将用户添加到组中
usermod -aG <组1,组2,...> <用户名>
usermod -aG group1,group2,group3 username
3.2 删除用户userdel /组 groupdel
userdel 用来删除用户。 参数 -r 可以同时删除 /home 和 mail spool中的信息。
userdel -r username
删除一个组可以使用 groupdel 命令。如果某个初始用户正在使用该组则无法删除。此时需要修改用户GID或者删除这个用户
groupdel groupname
3.3 修改用户密码 passwd
任何用户都可以使用 passwd 来修改自己的密码,root用户可以修改其他用户的密码。
普通用户修改密码需要提供原密码,root用户修改密码不需要提供原密码
密码需要八位+
passwd username
3.3.1 su 切换用户
su 命令可以切换用户
su username
3.3.2 sudo 提权命令
加入wheel组的用户可以使用sudo来执行系统相关操作,用户使用sudo必须输入密码,然后会有五分钟有效时间。超过限制将会重新输入密码。
useradd user13 -G wheel
4. 文件权限
4.1 概要解释
这一章比较复杂,简单介绍一下。
Linux 的文件权限系统基于以下三个核心原则:
- 所有者(Owner):文件或目录的创建者,通常是它的所有者。
- 所属组(Group):文件或目录关联的用户组,组中的成员可能共享某些访问权限。
- 其他人(Others):除所有者和所属组外的所有用户。
文件权限分为三种:
- 读(Read,r):可以查看文件内容或列出目录内容。
- 写(Write,w):可以修改文件内容或在目录中添加、删除文件。
- 执行(Execute,x):可以运行文件(如脚本或程序)或进入目录。
ls -l 可以查看文件权限。
-rwxr-xr--
解释:
- 第一个字符:文件类型
-
:普通文件d
:目录l
:符号链接- 其他:特殊类型(设备文件等)
- 接下来的九个字符:分成三组,每组三个字符,表示权限:
rwx
:所有者的权限r-x
:所属组的权限r--
:其他人的权限
- 每个字符的含义:
r
:读权限(Read)w
:写权限(Write)x
:执行权限(Execute)-
:无权限
-rwxr-xr--
-:普通文件
rwx:所有者有读、写、执行权限。
r-x:所属组有读和执行权限。
r--:其他人只有读权限。
4.2 chmod 修改文件或目录的权限
格式:
chmod [用户类别][操作符][权限] 文件名
- 用户类别:
u
:所有者(user)g
:所属组(group)o
:其他人(others)a
:全部用户(all)
- 操作符:
+
:增加权限-
:移除权限=
:直接赋值权限
- 权限:
r
、w
、x
# 给文件myfile的所有者增加执行权限
chmod u+x myfile
每种权限对应一个数字:
r
= 4w
= 2x
= 1- 无权限 = 0
chmod [数字权限] 文件名
chmod 755 myfile
- 7(rwx):所有者有读、写、执行权限。
- 5(r-x):所属组有读和执行权限。
- 5(r-x):其他人有读和执行权限。
4.3 chown 修改文件的所有者/属组
chown [新所有者] 文件名
# 将文件 myfile 的所有者改为 john。
chown john myfile
# 将文件 myfile 的所属组改为 developers。
chown :developers myfile
# 同时修改所有者和数组
chown [用户名]:[属组] 文件名/目录名
# 示例
chown join:developers myfile
修改所属组。仅修改组的话 使用chgrp命令
chgrp [组名] 文件名
chgrp developers myfile
4.4 基本权限ACL
4.4.1 ACL的基本用法
4.4.1.1 getfacl 查看ACL权限
显示内容与ll查看到的相差无几。如下
[root@redis01 dir10]# ll /etc/profile
-rw-r--r--. 1 root root 1819 4月 1 2020 /etc/profile
[root@redis01 dir10]# getfacl /etc/profile
getfacl: Removing leading '/' from absolute path names
# file: etc/profile
# owner: root
# group: root
user::rw-
group::r--
other::r--
明天再写