linux常用操作指令4 —— 文件操作相关命令(mkdir、touch、rm、mv、cp、cat 、 find 、tar、chmod)

文件操作相关命令

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命令的参数:

  • 1)path:要查找的目录路径。
    • ~ 表示$HOME目录
    • . 表示当前目录
    • / 表示根目录
  • 2)print:表示将结果输出到标准输出。
  • 3)exec:对匹配的文件执行该参数所给出的shell命令。 形式为command {} \;,注意{}与\;之间有空格
  • 4)ok:与exec作用相同,区别在于,在执行命令之前,都会给出提示,让用户确认是否执行
  • 5)|xargs 与exec作用相同 ,起承接作用区别在于 |xargs 主要用于承接删除操作 ,而 -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中修改文件或者目录权限的命令,通过修改权限可以让指定的人对文件可读、可写、可运行,极大地保证了数据的安全性。

命令名称:  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组。

  • 第1个字符有两种情况:如果是“d”则代表这是一个文件夹,如果是“—”代表这是一个文件;
  • 第2、3、4个字符:这3个字符共同代表的是文件的拥有者,可以用u来表示,拥有四个权限:r:读权限 ,
    w:写权限,x:执行权限,—:无权限;
  • 第5、6、7个字符:这3个字符代表的是文件所属群组,可以用g来表示,拥有四个权限:r:读权限 , w:写权限,x:执行权限,—:无权限;
  • 第8、9、10个字符:这3个字符代表的是除拥有者和所属群组之外的其他所有的用户,可以用o来表示,拥有四个权限:r:读权限 ,w:写权限,x:执行权限,—:无权限。
  • 注意:后面9个字符除了u,g,o外,还有一个a,代表了所有用户。
    在这里插入图片描述
    实例
-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、https://www.cnblogs.com/fu-yong/p/9061829.html
2、https://blog.csdn.net/l_liangkk/article/details/81294260
3、https://blog.csdn.net/weixin_45794138/article/details/104861602
4、https://blog.csdn.net/jerrytomcat/article/details/81744860

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值