文件操作相关命令
文件操作相关命令 1、创建文件夹mkdir
# mkdir a 创建一个名为a的文件夹
2、创建文件touch
# touch a.txt 创建一个名为a.txt的文件
3、移动文件夹mv(类似于剪切)
# mv b sm/ 将文件夹b 移动到当前目录下的sm目录下
4、删除rm
# rm -rf a 删除 a文件 -rf为参数-r -f 的简写
-r 递归删除
-f 强制删除
5、重命名mv
# mv b sm/c 将文件(夹)吧b移动到当前目录下的sm目录下并重命名为c
6、复制cp
# cp sm.log .. 将sm.log复制到上级目录中
# cp sm.log ../sm01.log 将sm.log复制到上级目录中,并重命名为sm01.log
7、查看文件(cat、head、tail…)
# cat sm.log //查看sm.log文件内容
# head sm.log //查看sm.log文件内容的前10行
# head -n 20 sm.log //查看sm.log文件内容的前20行
# tail sm.log //查看sm.log文件内容的后10行
# tail -n 20 sm.log //查看sm.log文件内容的后20行
# tail -f sm.log //动态查看sm.log文件内容
# more sm.log //以翻页的形式查看sm.log的内容(按空格键下翻,不能上翻)
# less sm.log //以翻页的形式查看sm.log的内容(按上下键进行上下翻页,按q退出)
8、查找文件 find (重要)
find 命令格式:
find path -option 【 -print 】 【 -exec -ok |xargs |grep 】 【 command {} ; 】
find命令的参数:
2)print:表示将结果输出到标准输出。3)exec:对匹配的文件执行该参数所给出的shell命令。 形式为command {} ;,注意{}与;之间有空格4)ok:与exec作用相同,区别在于,在执行命令之前,都会给出提示中标linux,让用户确认是否执行5)|xargs 与exec作用相同linux格式化硬盘,起承接作用区别在于 |xargs 主要用于承接删除操作linux find -name 写入文件,而 -exec 都可用
如复制、移动、重命名等6)options :表示查找方式,包括如下参数
name filename #查找名为filename的文件
-perm #按执行权限来查找
-user username #按文件属主来查找
-group groupname #按组来查找
-mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime -n +n #按文件访问时间来查找文件,-n指n天以内,+n指n天以前
-ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-nogroup #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size n[c] #查长度为n块[或n字节]的文件
-mount #查文件时不跨越文件系统mount点
-follow #如果遇到符号链接文件,就跟踪链接所指的文件
-prune #忽略某个目录
文件类型包括: d 目录文件。
l 符号链接(指向另一个文件,类似于瘟下的快捷方式) 。
s 套接字文件。
b 块设备文件,二进制文件。
c 字符设备文件。
p 命名管道文件。
- 普通文件,或更准确地说,不属于以上几种类型的文件。
文件权限包括: r 读文件
w 写文件
x 执行文件操作
(1)按文件类型查找
find test1 -type d
test1 为路径 -type 类型 d:文件类型
(2)按文件名查找
find test1 -name test2
(3)按文件属主
find test1 -user wangmengting
(4)按文件所属组
find test1 -group wangmengting
(5)按文件修改时间
find test1 -mtime -1
更新详细请参考链接
更多查找补充
find / -name filename.txt 根据名称查找/目录下的filename.txt文件。
find . -name “*.xml” 递归查找所有的xml文件
find . -name “*.xml” |xargs grep “hello world” 递归查找所有文件内容中包含hello world的xml文件
grep -H ‘spring’ *.xml查找所以有的包含spring的xml文件
find ./ -size 0 | xargs rm -f & 删除文件大小为零的文件
ls -l | grep ‘.jar’ 查找当前目录中的所有jar文件
grep ‘test’ d* 显示所有以d开头的文件中包含test的行。
grep ‘test’ aa bb cc 显示在aa,bb,cc文件中匹配test的行。
grep ‘[a-z]{5}’ aa 显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
9、归档压缩tar
# tar -zcvf log.tar.gz log/ 将目录log归档并压缩,归档压缩后的名称为log.tar.gz
# tar -zxvf log.tar.gz 释放并解压log.tar.gz
10、修改文件权限chmod
chmod是Linux/Unix中修改文件或者目录权限的命令linux find -name 写入文件,通过修改权限可以让指定的人对文件可读、可写、可运行,极大地保证了数据的安全性。
命令名称: chmod
执行权限: 所有用户
功能描述: 改变文件或目录权限
语法: 第一种方法 chmod [{ugoa}{+-=}{rwx}] [文件或目录]
备注: u:所有者 g:所属组 o:其他人 a:所有人
+:为用户增加权限 -:为用户减少权限 =:为用户赋予权限
r:读权限 w:写权限 x:执行权限
第二种方法 chmod -R [mode=421] [文件或目录] ←(这种方法用的比较多)
备注: r:4 w:2 x:1
r为读权限,可以用4来表示,
w为写权限,可以用2来表示,
x为执行权限,可以用1来表示。
-R 递归修改(就是将嵌套在很多文件夹中的文件权限修改了,如果没有这个,只能到指定的文 夹下进行修改)
范例: chmod 777 /etc/hurenxiang 将hurenxiang这个文件夹权限改为对所有用户可读,可写,可执行
chmod 775 /etc/caiyao 将caiyao这个文件夹权限改为其他用户不可读
chmod命令结构详解
在Linux中输入ll,会出现指定目录下文件/目录的详细信息,本文重点讲解权限部分,也就是下图中红色框中的部分。
详解下图:权限一共是10个字符,第1个字符分为1组,后面9个字符分为3组。
-rw--wx--x //该文件的 拥有者有读取和写入的权限,但没有执行权限;
所在群组没有读取的权限,但有写入和执行的权限;
其他用户没有读取和写入的权限,但有执行的权限
d--xr-xrw- //该文件夹的 拥有者没有读取和写入的权限,但有执行的权限;
所在群组没有写入的权限,但有读取和执行的权限;
其他用户没有执行权限,但有读取和写入的权限
chmod u-w , g+r hurenxiang //对hurenxiang文件设置本人没有写入的权限,设置所在群组有读取的权限
chmod g+x , o+w hurenxiang //对hurenxiang文件设置群组有执行的权限,设置其他用户有写入的权限
chmod 777 hurenxiang //对hurenxiang文件所有的用户都有读取,写入,执行的权限
//111 + 111 + 111 = 7 7 7,若要rwx属性则4+2+1=7,即每一位对应1
chmod 751 hurenxiang //对hurenxiang文件群组中的人没有写入的权限,其他的用户没有读取和写入的权限
// 111 + 101 + 001 = 7 5 1
参考
1、
2、
3、
4、