文件操作

grep-搜索文件内容

功能说明:搜索文件内容,在文件中查找指定的字符序列(字符串)

执行权限:所有用户

基本语法:

#两种写法完全等价
 grep [选项] 待查找的字符序列 文件路径
 grep [选项] '待查找的字符序列' 文件路径
常用选项
选项 功能说明
-n 显示行号
-c 统计搜索到的行的数量(返回数值,不能跟-n配套使用)
-i 忽略大小写搜索(主要针对英文)a→a + A
-v 反向搜索,显示不包含匹配内容的行

正则表达式

行首匹配(^)

功能:匹配以指定字符序列开头的行

语法:

 grep -n '^字符序列' 文件路径

行尾匹配($)

功能:匹配以指定字符序列结尾的行

语法:

grep -n '字符序列$' 文件路径

find-查找文件或目录

功能说明:查找文件或目录(递归查找),从磁盘查找,精确性高,性能较低

适用场景:适合在需要精确查找文件时使用,但由于是遍历磁盘,所有速度较慢

执行权限:所有用户

基本语法:

find 检索路径 [选项] 参数
常用选项
选项 功能说明 参数
-name 按名称查找(英文默认区分大小写) 文件名模式
-iname 按名称查找(英文忽略大小写) 文件名模式
-size 按照文件大小搜索 +/-大小[单位]
-type 按照文件类型查找 d(目录),f(文件),l(链接)等
-mtime 按照修改时间查找 +/-天数
单位说明
  • 默认单位1单位=512字节(Byte/Char)

  • k:1kb=1024B

  • M:1MB=1024K

  • G:1GB=1024MB

locate-快速查找文件

功能说明:快速查找文件或目录,从数据库查找,准确性较低,性能高

特点:从文件系统数据库中查找,新创建的文件可能找不到(数据库未更新)

执行权限:所有用户

基本语法:

locate [选项] 文件或目录
常用选项
选项 功能说明
-c 统计文件个数,返回数字
-i 忽略大小写
 #####   注意事项
  • 默认情况下updatedb每天自动更新一次

  • 新创建的文件需要手动更新数据库才能被locate找到

which-查找指令位置

功能说明:快速检索指令的位置

执行权限:所有用户

基本语法:

which 指令名

echo-输出字符串

功能说明:将指定字符串输出到设备上,常用与将内容写入文件

执行权限:所有用户

基本语法:

echo "字符串" > | >> 文件路径

(管道)-命令组合

功能说明:将前一个指令执行的结果作为后一个指定执行的条件

执行权限:所有用户

用户和用户组基础概念

基本概念

####    用户(user)
  • 计算机系统通过用户名和密码识别用户身份

  • 每个用户都有唯一用户id(UID)

  • Linux系统中,新建用户后,必须设置密码才能使用

  • 密码输入时默认不可见,确保安全性

    超级用户(root)
  • 系统内置的最高权限用户

  • 拥有对系统的完全控制权

  • 默认存在,但首次使用时需要设置密码

  • 可以执行任何命令,修改任何文件

    用户组(Group)
  • 将多个用户归类管理的机制

  • 每个用户组由唯一的组ID(GID)

  • 用于批量设置文件权限

  • 每个用户至少属于一个主组,可属于多个附属组

用户类型

####    超级用户(root)
  • 用户名:root

  • UID: 0

  • 拥有系统最高权限

    普通用户(user)
  • 安装系统时创建的用户(如st,这个一般掌握在领导手中)

  • 由超级用户创建的用户(如lucymike

  • UID 范围:1000~65535

  • 权限受限制,需要sudo获取临时权限

用户管理

超级用户密码设置

修改root用户密码:

sudo password root

操作步骤:

1.输入命令后按回车

注意:密码输入时没有任何提示,这是正常的安全机制

用户切换

普通用户→root用户:

#方式1:使用sudo -i(推荐:不需要root密码,适合从登录账户st,直接切root)
 sudo -i
 ​
 #方式2:使用su root(需要root密码)
 su root

root用户→普通用户:

su 用户名

查看当前用户:

whoami

用户创建

执行权限:root用户

基本语法:

 sudo useradd [选项] 用户名

常用选项:

  • -d:指定用户主目录(我们可以在创建用户的同时,给该用户在/home下创建一个文件夹)

  • -m:自动创建用户组

  • -g:指定用户组

  • -G指定附属用户组

用户密码管理

设置用户密码:

sudo passwd 用户名

选项说明:

  • -l:锁定用户账号

  • -u:解锁用户账号

  • -d:删除用户密码(不建议)

  • -e:强制用户下次登录修改密码

用户信息查看

查看用户所属组:

groups 用户名

查看所有用户信息:

#查看用户基本信息
 cat /etc/passwd
 #查看用户密码信息(加密)
 sudo cat /etc/shadow

用户修改

基本语法:

sudo usermod [选项] 用户名

常用选项:

  • -c:修改用户备注信息

  • -g:修改主用户组

  • -G:修改附属用户组

用户删除

基本语法:

sudo userdel [选项] 用户名

常用选项:

  • -f:强制删除,即使用户已登录

  • -r:同时删除用户主目录及相关文件

用户组管理

组创建

基本语法:

 sudo groupadd [选项] 组名

用户说明:

  • -g:指定组ID(GID)

组信息查看

查看所有用户组:

 #方法1:查看组信息
 cat /etc/group
 ​
 #方法2:查看组密码信息
 sudo cat /etc/gshadow
 ​
 #方法3:查看特定组信息
 grep '组名' /etc/group
 getent group 组名

组修改

基本语法:

sudo groupmod [选项] 组名

常用选项:

  • -g:修改组ID(GID)

  • -n:修改组名

组删除

基本语法:

 sudo groupdel 组名

注意:不能删除用户的主组,需要先修改用户的主组

权限管理

权限基础概念

权限类型:

  • r读权限:查看文件内容(cat,less,head,tail等),列出目录内容(ls)

  • w写权限:修改文件内容(touch,vim等),创建删除目录(mkdir,rmdir,rm等)

  • x执行权限:执行文件(./文件名),进入目录(cd等)

    权限对应表:

    权限类型 权限数字 操作文件 操作目录
    r:读 4 cat、more、less、head、tail、grep等 ls(查看目录内容)
    w:写 2 >(覆盖写入)、>>(追加写入)、touch、rm、编辑文件内容 mkdir、rm、rmdir、mv(重命名)、创建/删除文件
    x:执行 1 ./文件名(执行可执行程序) cd(计入目录)、cp、mv(移动)
    -:无权限 0 无操作 无操作

    权限对象:

  • u:user,文件所有者

  • g:group,文件所属组

  • o:other,其他用户

权限表示方法:

权限组合 数字表示 含义说明
rwx 7=4+2+1 读、写、执行权限
rw- 6=4+2+0 读、写权限
r-x 5=4+0+1 读、执行权限
r-- 4=4+0+0 只读权限
-wx 3=0+2+1 写、执行权限
-w- 2=0+2+0 只写权限
--x 1=0+0+1 只执行权限
--- 0=0+0+0 无权限

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐