技术为解决问题而产生,技术优化即为了偷懒。
linux文件属性可用‘ls -l’查看
[权限] [连接] [拥有者] [用户组] [文件大小] [修改时间] [文件名]
数据默认b单位,加上-h参数能以人易阅读的方式识别出来
-a可以查看隐藏文件,隐藏文件以.开头
chgrp:改变文件所属组
chown:改变拥有者,‘chown own:group filename’
chmod:修改权限。r4,w2,x1
决定用户进入目录的是x属性,不是r
linux文件种类:普通文件(regular file),纯文本文件(ASCII),二进制文件(binary),数据格式文件(date)
目录(diretory),[d]
连接文件(link),[l]
设备,设备文件(device),/dev目录下。块设备文件[b],字符设备文件[c]
套接字(sockets),[s]
管道(FIFO,pipe),[p]。FIFO:first-in-first-out
/(root,根目录):与开机系统有关
/usr(unix software resource):软件安装/执行有关
/var(variable):与系统运作过程有关,主要针对常态性变动文件
/lost+found:当文件系统发生错误时,丢失的片段会存放在此目录下。如果不慎删除,mklost+found创建目录
pwd显示当前目录
mkdir创建目录,“-p”递归创建(其他大多命令的递归参数是“-r”)
echo $PATH:查看文件路径。有些因为路径问题无法执行的命令,可以通过绝对路径来执行
本目录(.)最好不要放到PATH中
ls -F给文件附加数据结构。*:可执行文件,/:目录,=:socket文件,|:FIFO文件
-n:列出UID,GID
-r:反向输出
-R:子目录也一起输出
-S:文件大小排序
-t:文件时间(默认是内容修改时间,mtime。权限属性修改时间,ctime。读取时间,atime)
mv:移动文件,目录,或更名。rename用于大量更改文件名
cat:查看文件。-b:列出行号,空白行忽略。-n:列出行号,空白行显示。
od:查看非纯文本文件
head:以行选取数据。-n后接显示的行数。同理,tail是选取尾行数
umask:用户新建文件或目录的默认权限。umask执行后的数据是四个数字,后三位依次是777去减,得到之后的结果是默认的权限。第一位数字是特殊权限。SUID=4,SGID=2,SBIT=1。
SUID:执行者在执行的时候暂时拥有所有者的权限x。如:/etc/shadow存放用户密码,但这个目录权限是-r——– 1 root root。但是普通用户可以用passwd修改自己密码。按理说一般用户是不可以对/etc/passwd进行操作,但用户对/usr/bin/passwd有x权限,能执行写的操作,即用户暂时获得了root的权限。[s]
SGID:用户组暂时获得了root的x权限。[s]
SBIT:用户对此目录具有w,x(写入)权限;用户在该目录创建文件或目录时,只有自己和root可以删除。即SBIT标记下的内容,别人无法删除。[t]
查询命令:
which:寻找执行文件
whereis,locate:文件名查找,较快捷。
locate是从/var/lib/mlocate的数据库中查找。不是直接从硬盘空间,所以不够详细,但是速度很快。
updatedb:手动更新数据库
find:功能强大,耗时长
chattr:设置文件隐藏属性
lsattr:查看文件隐藏属性
whatis==man -f
apropos==man -k