linux 常用指令

// 获取文件大小 ,并去除后面的换行
stat -c %s 1.txt | tr -d '\n'
// 使用ffmpeg指令 获取视频播放时长
ffmpeg -i test.mp4 2>$1 | grep 'Duration' | cut -d ' ' -f 4 | sed s/...,//
// 按空格切割,获取第四列
cut -d '  ' -f 4
docker ps -a | awk '{print $1}'
docker ps -a | cut -d ' ' -f 1
//sed 替换 .代表任意字符
sed s/...,//  // 00:06:09.80, 字符替换后为 00:06:09

// ffmpeg 
参考地址:https://www.cnblogs.com/tinywan/p/6120995.html

find指令

// 查找tmp目录
find /tmp
// 根据名称查找
find /tmp -name sys*
// 忽略大小写
find /tmp -iname Sys*
// 查找目录
find / -type d -name tmp
// 查找文件
find / -type f -name test.php

// 根据权限查找
// 查找777权限的文件
find /root -type f -perm 777
// 查找非777权限的文件
find /root -type f ! -perm 777
// 查找只读文件
find /root -perm /u=r
// 查找可执行文件
find /root -perm /a=x
// 查找删除单个、或文件
find /root -type f -name test*.txt -exec rm -f {} \;
// 查找所有空文件
find /root -type -f -empty
// 查找所有空目录
find /root -type d -empty
// 查找基于用户的的文件
find /root -user root -name test.txt
// 查找基于组的文件
find /root -gropu root

// 根据日期查找
// 查找50天后修改的文件
find /root -mtime 50
// 查找最近50天访问的文件
find /root -atime 50
// 最近50 到 100天修改的文件
find /root -mtime 50 -mtime 100
// 查找过去1小时内修改的文件
find /root -cmin -60
// 查找一小时内访问过的文件
find /root -amin -60

// 根据大小查找文件和目录
// 查找50MB的文件
find / -size 50M
// 查找50M 到 100M的文件
find / -size +50M -size -100M
// 查找大于1G的文件,并删除
find / -size +1024M -exec rm {} \;

SUID 和 SGID

  1. 概念
    SUID 是 Set User ID,
    SGID 是 Set Group ID

linux权限

ls -l 命令来看到文件的权限
类似这样的:-rwxr-xr-x 。这种表示方法一共有十位
9 8 7 6 5 4 3 2 1 0
- r w x r - x r - x

  1. 第9位表示文件类型,可以为p、d、l、s、c、b和-
    p表示命名管道文件
    d表示目录文件
    l表示符号连接文件
    -表示普通文件
    s表示socket文件
    c表示字符设备文件
    b表示块设备文件
  2. 第8-6位、5-3位、2-0位分别表示文件所有者的权限,同组用户的权限,其他用户的权限,其形式为rwx:
    r表示可读,可以读出文件的内容
    w表示可写,可以修改文件的内容
    x表示可执行,可运行这个程序
    没有权限的位置用-表示
    例如: ls -l myfile显示为:
    -rwxr-x— 1 foo staff 7734 Apr 05 17:07 myfile
    所有者foo对文件有读写执行权限,
    staff组的成员对文件有读和执行权限,
    其他的用户对这个文件没有权限。
  3. 如果一个文件被设置了SUID或SGID位,会分别表现在所有者或同组用户的权限的可执行位上。例如:
    1、-rwsr-xr-x 表示SUID和所有者权限中可执行位被设置
    2、-rwSr–r– 表示SUID被设置,但所有者权限中可执行位没有被设置
    3、-rwxr-sr-x 表示SGID和同组用户权限中可执行位被设置
    4、-rw-r-Sr– 表示SGID被设置,但同组用户权限中可执行位没有被设置

UNIX权限

其实在UNIX的实现中,文件权限用12个二进制位表示,如果该位置上的值是
1,表示有相应的权限:
11 10 9 8 7 6 5 4 3 2 1 0
S G T r w x r w x r w x
第11位为SUID位,第10位为SGID位,第9位为sticky位,第8-0位对应于上面的三组rwx位。

  1. 给文件加SUID和SUID的命令如下:
    chmod u+s filename 设置SUID位
    chmod u-s filename 去掉SUID设置
    chmod g+s filename 设置SGID位
    chmod g-s filename 去掉SGID设置
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • `系统信息arch 显示机器的处理器架构uname -m 显示机器的处理器架构uname -r 显示正在使用的内核...
    执着_7fb1阅读 1,369评论 0 0
  • 本文内收集许多与 Linux 相关的指令,提供大家查询。 系统信息 arch 显示机器的处理器架构(1)uname...
    Ryuusouei阅读 1,814评论 0 0
  • 一、基本命令1.1 关机和重启关机shutdown -h now 立刻关机shutdown -h 5...
    MMMMrhan阅读 5,069评论 0 0
  • 一.用户管理 1用户操作 用户添加 删除用户 查询用户信息 切换用户 2用户组 类似于角色,用于管理用户,赋予特定...
    pengyuyancode阅读 3,169评论 0 2
  • Linux指令中文说明传送入口 整理自Linux指令中文说明 man Linux 帮助文档手册 man命令 是L...
    释闲人阅读 4,724评论 0 2

友情链接更多精彩内容