linux文件权限和文件查找

1、文件权限

(1) 执行 echo pwd >> pwd.sh,然后使用 ls -al 查询一下,发生了什么事?

执行结果:您在 /var/spool/mail/lll 中有新邮件

在本文件夹下生成一个pwd.sh文件

(2)以两种方式查看系统中新建文件或目录的默认权限

1.ls -l可以查看所有文件的权限,可以先mkdir file新建一个目录,在使用ls -l去查看此文件的权限,得到的就是该系统新建目录的默认权限。

2.同1类似,可以先cat > file2 新建一个文本,回车之后不会显示[lll@myWMware 文档]$ 现在是要求你在文档中输入内容,可以使用Ctrl+d退出编辑,在使用ls -l去查看此文件的权限,得到的就是该系统新建文件的默认权限。(注意我的空格)

3.ls -l filename 可以查看指定文件名的权限

(1)例如;ls -l pwd.sh可以查看pwd.sh的权限

4.当我们在系统中新建一个文件或目录时,系统会自动赋予该文件或目录一个初始访问权限,我们称为默认权限,默认权限与文件系统的umask值有关。可以在终端下 直接输入 umask来查看当前系统的umask值。

(1)例如:我的就是0002.

(2)其中第一位是特殊字符,不做考虑,我的后三位是002,一般系统默认设置的权限为:新建文件的权限是-rw-rw-rw-,权限值是666;新建目录的权限是drwxrwxrwx,权限值是777。所以我的系统的新建文件权限是666-002=664(-rw-rw-r--),新建目录的权限是777-002=775(drwxrwxr-x)

(3)新建文件 test1 和目录 test2,查看它们的权限是否与(2)中的默认权限相符

①新建文件[lll@myWMware 文档]$ cat > test1

②不添加内容,Ctrl+d退出编辑

③查看新建文件的权限[lll@myWMware 文档]$ ls -l test1

④新建文件权限:-rw-rw-r--. 1 lll lll 0 3月 1 19:58 test1,符合我的预测

⑤新建目录[lll@myWMware 文档]$ mkdir test2

⑥查看新建目录的权限:ls -l test2

⑦结果:总用量 0(这个表明这个目录里面为空),我们可以右击这个目录,在权限里面查看。

(4)修改 pwd.sh 文件权限为 r-xr--r--。

①查看pwd.sh的权限,ls -l pwd.sh

②初始权限展示:-rw-rw-r--. 1 lll lll 4 3月 1 19:19 pwd.sh

③修改权限:[lll@myWMware 文档]$ chmod u-w,u+x,g-w pwd.sh

④结果展示:-r-xr--r--. 1 lll lll 4 3月 1 19:19 pwd.sh

(5)执行 pwd.sh。(提示:执行本路径下文件的命令是 ./文件名)。

①执行:[lll@myWMware 文档]$ ./pwd.sh

②结果:/home/lll/文档(根目录)

(6)添加用户 stu,修改密码为 12345678。

①权限不够请退出更换为root,重新进行操作。

②终端输入su,回车,输入密码,切换为root

③添加用户:[root@myWMware 文档]# useradd -m stu

④修改密码:[root@myWMware 文档]# passwd stu

⑤输入密码提示:无效的密码: 密码未通过字典检查 - 过于简单化/系统化,重新输入一个复杂密码即可。或者不用理会。

⑥passwd:所有的身份验证令牌已经成功更新。出现这个就说明修改成功。

(7)修改文件 test1 的属主为 stu,test1 所属的组为 stu。

①可以使用chown命令来修改文件的属主,例如:chown username:groupname filename。例如:[root@myWMware 文档]# chown stu:stu test1

(8)增加 test1 的属主具有可执行的权限。

①[root@myWMware 文档]# chmod u+x test1

②查看:[root@myWMware 文档]# ls -l test1

③结果:-rwxrw-r--. 1 stu stu 0 3月 1 19:58 test1

2、文件查找

(1) 查看文件/root/.bashrc 的类型

输入:file /root/.bashrc

结果:/root/.bashrc: ASCII text

(2) 查询 ifconfig 和 cd 命令的完整文件名

输入:which ifconfig

输出:/usr/sbin/ifconfig

输入:which cd

输出:/usr/bin/cd

(3) 只找出跟 passwd 有关的“说明文件”文件名

输入:whereis -m passwd

输出:passwd: /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz

(4) 找出系统中所有与 passwd 相关的文件名

输入:locate passwd

输出:所有与 passwd 相关的文件名,数量太多,不粘贴了

(5) 将过去系统上面 3 天前的 24 小时内有改动(mtime)的文件列出

输入:find / -mtime 3

(6) 使用 find 查找当前目录下比 man_db.config(manpath.config)新的文件,并存储到 man.config.new 文件。

输入:find root/270830914 -newer manpath.config >man.config.new

输出:find: ‘man_db.config’: 没有那个文件或目录

(7) 列出/etc 下比/etc/man_db.config 新的文件

输入:find /etc -newer /etc/man_db.config

输出:find: ‘/etc/man_db.config’: 没有那个文件或目录

解决方法:

输入:find /etc -newer /etc/passwd(列出/etc 下比/etc/passwd 新的文件)

输出:/etc

/etc/group

/etc/resolv.conf

/etc/gshadow

/etc/cups

/etc/cups/subscriptions.conf.O

/etc/cups/subscriptions.conf

/etc/shadow

/etc/tuned/profile_mode

/etc/tuned/active_profile

(8) 查找系统中所有属于 root 的文件及不属于任何人的文件

输入:find / -user root

输出:结果太长不粘贴

输入::find / -nouser

输出:结果太长不粘贴

(9)使用 find 查找/下面所有名称为 man_db.config 的文件。

输入:find / -name man_db.config

输出:没有结果,没有这个文件

输入:find / -name file1.txt

输出:/home/lll/文档/file1.txt

(10) 使用 locate 查找所有名称为 file1.txt 的文件。

输入:没有结果

(11) 9 步和 10 步的结果一样么?为什么?

不一样,locate 更加详细与之相关联的也都列出来

(12) 找出/etc 下文件类型为 f 的文件

输入:find /etc -type f

输出:结果太长不粘贴

(13)找出系统中大于 1M 的文件

输入:find / -size +1000k

输出:结果太长不粘贴

3、crontab 定时任务:每周一的凌晨 2:00 重启服务器

cat /etc/crontab(创建一个脚本)

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

0 2 * * * root cd / && run-parts --report /etc/cron.hourly

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux文件查找与压缩干货 云计算干货 Linux系统配置及服务管理文件查找 文件查找 简介 which :命令查找 find: 文件查找,针对文件名 locate:文件查找,依赖数据库 一、命令文件查找 一、查找ls 命令的位置 # which ls //从PATH环境变量 或者 # whereis vim 二、任意文件 find 语法 find [path...] [options] [expression] [action] 命令 路径 选项 表达式 动作 ①按文件名: [root@qianfeng ~]# find /etc -name "hosts" [root@qianfeng ~]# find /etc -iname "hosts" find /etc -iname "HOSTS" -i忽略大小写 i可以忽略大小写来查找 [root@qianfeng ~]# find /etc -iname "hos*" 心中有爱(i),什么都找得到 结果输出 /etc/hosts 文件查找成功 ②按文件大小: [root@qianfeng ~]# find /etc -size +5M 文件>5M 这里“size”是大小意思 [root@qianfeng ~]# find /etc -size 5M 文件=5M [root@qianfeng ~]# find /etc -size -5M 文件<5M ③指定查找的目录深度: [root@qianfeng ~]# find / -maxdepth 3 -a -name "ifcfg-en*" 这里maxdepth是深度 后面的数字是几级目录 [root@qianfeng ~]# find / -maxdepth 4 -a -name "ifcfg-en*" ④按文件属主、属组找: [root@qianfeng ~]# find /home -user aaa // 属主是aaa的文件 [root@qianfeng ~]# find /home -group hr // 属组是hr组的文件 ⑤按文件类型: [root@qianfeng ~]# find /tmp -type f f普通文件 文件type关键词 [root@qianfeng ~]# find /dev -type b b块设备文件 ⑥按文件权限: [root@qianfeng ~]# find . -perm 644 -ls 关键词perm -ls 是find的动作之一,精确权限 ⑦找到后处理的动作 ACTIONS: 找到后删除 # find /etc -name "qwer.txt" -delete 找到后复制 # find /etc -name "ifcfg*" -ok cp -rvf {} /tmp \; cp -rvf {} /tmp 对比cp /etc/passwd /tmp/etc1 找到的文件 连接符 前面找到的文件 结束符 文件打包及压缩 tar命令是Unix/Linux系统中备份文件的可靠方法, 几乎可以工作于任何环境中,它的使用权限是所有用户。 建议针对目录 打包,压缩 语法:tar 选项 压缩包名称 源文件 ===打包,压缩=== # tar -cf etc.tar /etc # tar -czf etc-gzip.tar.gz /etc/ //z是gzip # tar -cjf etc-bzip.tar.bz /etc/ //j是bzip # tar -cJf etc-xzip.tar.xz /etc/ //J是xzip 观察三个包的体积。 # ll -h etc* -rw-r--r--. 1 root root 11M 10月 14 10:07 etc-gzip.tar.gz -rw-r--r--. 1 root root 8.9M 10月 14 10:08 etc-bzip.tar.bz -rw-r--r--. 1 root root 7.6M 10月 14 10:08 etc-xzip.tar.xz 压缩速度和压缩体积成反比。 解压,解包 查看,并没有解压 # tar -tf etc.tar //t查看f文件名 解压缩 # tar xf etc3.tar.xz # tar -xvf etc2.tar.bz2 -C /tmp //-C重定向到//tmp目录

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值