首页 > 代码库 > 笔记4
笔记4
文档查看cat、more、less、head、taid
cat
正序查看文件内容的。
tac倒序查看文件内容。
cat -A文字后边会有结束符$
cat -n显示行号
more
查看文件内容一屏一屏显示按空格键翻页
less
跟more相似也是查看文件内容一屏一屏显示按空格键翻页,单功能机快捷键多。
j:向下 k:向上 ctrl+b向上翻屏 ctrl+f向下翻屏 g:进入到首行 G:进入到末行
/aaa 搜索关键字 n:向下 N:向上
?aaa也可以搜索 n:向下 N:向上
head
查看一个文件的前十行
可以指定数字 例如:head -2 1.txt 只看前两行
tail
只看一个文件的最后十行
tail -3 只看最后三行
tail -f 可以动态的去查看一个文档默认的话只显示最后十行按空格向下 ctrl+c退出来
chmod命令
用来更改权限的
rwx r:可读 w:可写 x:可执行
r=4 w=2 x=1
rwx=7 r-x=5 r--=4 --x=1 rw-=6 例如:rwxr-xr-x=755
如何改,比如一个文件的权限为755把它改成744
用命令:chmod 744 1.txt(跟你要改的文件) drwxr-x-r-x(755) -rwxxr--r--(744)
用英文表示u:属主 g:属组 o:其他人
命令:chmod -R 以递归的方式更改所有文件及子目录
a 表示所有 chmod a+x 意思就是所有人加上可执行命令
umask
输入umask你会看到系统的umask
更改方法:例如系统的umask号为0022 我们要改成0002 用umask 002 更改
chown命令
用来更改属主属组的
useradd用来创建用户 groupadd创建组
!ls !意义是在命令历史里边以ls开头的离我们最近的命令 history:命令历史
例如:我们要改一下111.txt
chown users1 111.txt 改变用户主
chown :users1 111.txt 改变用户组
chown root:root 111.txt 一起改变
chown -R root:root 改变所有目录和文件的所属主和所属组
chgrp user1 改所属组
隐藏权限lsattr、chattr
chattr 给一个文件或目录增加权限
lsattr 查看一个文件或目录的权限
chattr +a +a你就不能对这个文件进行删除或者更改内容只能追加 >>表示追加重定向 >表示重定向
chattr +i 什么都不能更改更严谨 解除-i
lsattr -R逐层去查看子目录
lsattr-d只查看这个目录本身
特殊权限set_uid
当普通用户执行这个命令时它就会临时拥有root用户的身份
作用:保证普通用户临时拥有该命令所有者的身份临时拥有
要给一个文件设置set_uid前提这个文件得是一个二进制文件(例如ls、passwd、跟1.txt文件设置是毫无意义的)文件还得可执行
怎么跟一个文件去授权set_uid?
例如我想跟ls -l /usr/bin/ls 加一个 用命令:chmod u+s /usr/bin/ls 如下图:
我们先切换到普通用户下 su - aming whoami看一下,现在用ls /root/命令是不行的
用命令chmod u+s /usr/bin/ls 加上这个权限就可以查看了
但是权限没变还是原来的只是临时给予了root挺虎的身份也拥有了root用户的权限
取消命令:chmod u-s /usr/bin/ls
特殊权限set_gid
这个权限位作用在组权限位上,原来是普通用户拥有所有者的身份现在是普通用户拥有所属组的身份,它不仅可以作用在文件上还可以作用在目录上。
在设置了gid之后你在这个目录下边创建子文件目录的时候子文件和子目录的所属组会跟父级目录保持一致。
作用在文件上时跟set_uid类似,可以让执行这个文件的普通用户临时拥有所属组的身份。
作用在目录上时当你创建子目录或者子文件的时候,创建的子目录和文件的所属组和该目录的所属组保持一致。
软链接文件
软连接命令:ln -s 形式:ln -s 要做的文件 目标地址 例如:把tmp下yun.log放到root下的111目录 命令:ln -s /tmp/yum.log /root/111/yum.log 如下图:
形式:左边是源文件右边是软链接文件
不仅可以软连接文件也可以软连接目录
硬链接文件
含义:你创建了一个文件它与另一个文件的inode号一样这两个文件相互为硬链接文件
不支持对目录做硬连接,只支持对文件并且不能跨区
硬链接不会占用多余的空间,相当于一个文件的皮,每一张皮都指向了相同的inode号这个皮可以删掉但不能全删至少留一个
硬连接可以删除因为他还有其他的文件使用了ionde号
find命令
搜索文件的命令,还有一些相似的命令如which它是在echo $PATH环境变量里边找的
比如我想在etc下搜sshd_config
命令:find /etc/ -name "sshd_config"
也可以模糊搜索:find /erc/ -name "sshd*" 下图:
只要目录命令:find /etc/ -type d -name "sshd*"
只要文件命令:find /etc/ -type f -name "sshd*"
find后边跟路径路径后边跟条件选项
stat 命令用来查看文件详细信息的 如图:
-atime 最近访问时间
-mtime 最近更改时间
-ctime 最近改动时间
改文件的时间跟内容-mtime和-ctime都会跟着变动,只要你更改了文件的内容-ctime一定会变因为它记录着文件的大小、时间、权限、所有者、所属组。
如何看在一天内etc下发生过更改的文件?用命令:
find /etc/ -type f -mtime -1 +1是大于一天
本文出自 “12912638” 博客,请务必保留此出处http://12922638.blog.51cto.com/12912638/1939544
笔记4