linux文件系统命令
基本常用目录
1、文件及目录
1.1、文件/文件夹权限
用法:
(1) chgrp group_name dir_name/file_name,
(2) chown user_name:group_name dir_name/file_name
(3) chmod 777 dir_name/file_name ,-R 可以递归
说明:【1】中4为r,2为w,1为x,最末尾的+_号为是否有ACL链接
以.开头的文件默认为隐藏文件
1.2、目录及文件查看/操作
Cd、pwd、mkdir、rmdir、rm、cp、mv、ls、umask、touch、chattr/lsattr、file、which、groupadd、useradd/usermod、su、passwd
./为当前目录,../为上层目录
【1】 cd(change directroy): 进入/切换到某个目录
基本用法:cd /home/test 进入test文件夹
(1)cd - :返回操作之前的目录
(2)cd ~:返回到登录账户的家目录/直接 cd
(3)cd . 进入当前目录
(4)cd ..进入上一级目录
【2】pwd :查看当前目录的绝对路径
基本用法:pwd ,查看当前目录绝对路径
(1) pwd [-P] :返回真实文件名(在有软硬链接的情况下)
【3】mkdir :建立目录
基本用法:mkdir folder ,在当前工作目录建立folder文件夹
(1) mkdir –m 711 path : 新建path目录并授予711权限
(2) mkdir –p folder1/folder2/folder3 :如果folder1不存在,递归建立目录
【4】rmdir:删除空目录
基本用法: rmdir null_ folder删除空目录 null_folder
(1)rmdir –p folder1/folder2/folder3 :如果folder1为空目录,递归删除目录
【5】rm :删除文件/ 加上-r可以删除文件夹
基本用法:rm file_name 删除当前工作目录下文件名为file_name的文件
(1) rm –f file 删除file文件并不提示
(2) rm –i file 删除file文件并做提示是否确认要删除
(3) rm –r folder 删除该文件夹及其下所有文件及文件夹
【6】cp:复制文件
基本用法:cp 源文件 目标路径/目标文件
(1) -a 其实就是 -rpd 一起
(2) -i 确认提醒,以防生成的目标文件覆盖现有同名文件
(3) -r 递归复制/复制目录
(4) -p 连同文件的权限、属性、用户等信息全部复制过去
(5) -d 若源文件是链接文件,则复制链接属性
【7】mv :移动文件
基本用法:mv 源文件 目标路径/目标文件
同cp,有-r 、-i
【8】ls :查看当前目录
基本用法:ls 查看当前目录下非隐藏文件
(1)-a 显示出所有文件(包括隐藏和非隐藏)
(2)-l 显示出非隐藏文件的详细信息(包括权限、归属等)
(3)-h 显示成人能看懂的格式 比如原本文件大小是没有单位的,加上-h就有了
(4)-d 显示目录权限,一般ls -ld /ect/ 类似于这样使用
(5)-i 显示文件的id号
【9】umask:查看当前工作目录的预设权限
基本用法:
(1) umask ,会返回一串字符 如0022 (2)umask 002改变权限。
分析:
(1)中4位数字,第1位代表指令权限,不用管,后面3位分别代表owner,group,other,并且这个数字表达出的意思是没有的权限,比如这个022,那么换成权限就是 rwxr-xr-x,就是说group和other缺少w(换成数字就是2)权限。
(2)把权限改成002,就是变成rwxrwxr-x,也就是说只少other的w权限
【权限0022 第1位是代表特殊权限如1.3,4代表SUID,2代表SGID,1代表SBIT】
(3)umask –S 可以以rwx的形式展现当前工作陌路的预设权限
【10】touch:创建空文件、修改时间 基本用法:touch file_name
【11】chattr/lsattr 隐藏属性
基本用法 chattr +i/+a folder/file , lsattr folder/file
分析:
(1)chattr +i/+a folder/file ,
【+i】 会让文档无法被删除、改名、软连接、写入、修改
【+a】 会让该文档无法删除和修改,只能进行追加操作
设置了chattr +i属性后,可以用chattr -i 文件名 的方式取消i属性,取消后就还原了。
(2)lsattr
显示文档的隐藏属性
【12】file folder/file:查看文件属性
【13】which 命令(如ls):查看该命令在哪个
【14】groupadd newGroupNmae:新建一个群组
【15】useradd/usermod:新建用户/用户属性改变
(1)useradd -g 主组 -G 副组(逗号区分) 用户名
比如useradd -g oinstall -G dba,oper oracle 就是创建oracle用户。主组为oinstall 副组为dba和oper
(2)usermod -G groupname username
将存在的用户名加入到一个存在的组中去
(3)修改用户名:
usermod -l 新用户名 老用户名 -d /home/新用户名 -m 老用户名
【16】id username:查看用户属性
例:id guochaoqun
uid=500(guochaoqun) gid=500(guochaoqun) groups=500(guochaoqun),501(test)
【17】su - username :切换用户
【18】passwd username :修改用户密码(注意只有当前为root才能修改其他用户否则只能修改当前用户的密码)
1.3、文件特殊权限SUID,SGID,SBIT
4代表SUID,2代表SGID,1代表SBIT】
注意,SUID与SGID、SBIT都会显示在X权限的为止
SUID:执行该文件时,拥有该文件own的权限(在777权限中以own中的s表示)
SGID:与SUID相同,只是own变成group(在777权限中以group中的s表示)
SBIT:如果甲于A目录有group和other的w权限,这表示【甲可以对A目录下任何人建立的文件和目录进行 删除/移动/更名 等操作】,如果A目录加上了SBIT的权限项,则甲只能对自己建立的文件进行w操作,而无法对其他人建立的文件和目录进行w操作。(在777权限中,以oher位置的t表示),如图:
权限设定:chmod 4755
大写的S S T
附录
基本:cd,more,less,cat,vi,mkdir,rmdir,rm,cp,mv,grep,ls,head,tail,sort,uniq,diff,file,find,bzip2,bzcat/bunzip2,tar -cvf 文件1 文件2, tar -xvf 文件.tar,
进入目录:cd 目标文件夹
返回上层目录:cd ../
同级目录:cd ./
显示内容:cat 文件名 /more 文件名/less 文件名
创建并编辑文件:vi
创建删除目录:mkdir/rmdir 目标文件夹
删除文件:rm 目标文件 / -i 删除前询问 / -f 直接删除 / -r 删除目录及目录中所有文件
复制:cp 源文件 目标位置新文件名
移动:mv 源文件 目标位置新文件名
文件中内容模糊匹配:grep '匹配字符' 文件名 / cat 文件名 |grep '匹配字符'
查看目录:ls
显示文件头部:head 文件名(默认10行)head -x 文件名(显示前X行)
显示文件尾部:tail 文件名(默认10行 tail -x 文件名(显示后X行)
按照字符排序:sort 文件名 / sort -u 文件名 (去掉重复行显示)
去掉文件内相邻重复行:uniq 文件名,
查看两文件的区别:diff 文件1 文件2 / -u 合并查询,无符号为共有,-号为文件1独有,+号为文件2
查看文件状态信息:file 文件名(查看文件编码/大小等信息)/file 文件1 文件2 文件3
查找的目录:find 后接查找的目录,-name指定需要查找的文件名称,名称可以使用*表示所有。
find /home -name “*.txt” ;查找/home目录下,所有以.txt结尾的文件或者目录。
系统:who,w,finger,write,mesg,date,echo,pwd,ACL
显示当前连接用户信息:who/w
发送信息给连接用户: write 用户 回车 输入发送信息 回车 按ctrl+c结束。
关闭开启信息发送接收:mesg y/n
显示当前日志:date
复制自身参数并在屏幕上显示:echo 数据
查看当前目录所在位置:pwd
ACL使用:
[root@zyq-server data]# setfacl -m u:zyq:rwx test.sh
[root@zyq-server data]# getfacl -c test.sh
ctrl+w:去掉当前单词组
ctrl+u: 行删除
ctrl+h: 单个单词删除