linux命令基础02

本文详细介绍了Linux系统中find,locate,whereis,sort,wc和cp命令的使用方法,包括文件搜索、排序、统计和文件复制,以及权限、时间戳和链接处理的高级技巧。
摘要由CSDN通过智能技术生成

目录

find命令(搜索文件系统中的文件)

locate命令(在后台数据库中按文件名全盘搜索,速度比find快得多,但是对于刚创建的文件还没有被收录到数据库,可能搜不到)

whereis命令

sort命令(将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出)

wc命令(统计文件中的字节数、字数、行数等并将结果输出到输出设备上)

cp命令(复制文件(目录)和创建链接)


find命令(搜索文件系统中的文件)

按照文件名搜索

  • find / - name filename(从根目录开始搜索 ,遍历整个文件系统,查找名为filename的文件)

  • find / -name “*.str”(从根目录开始搜索 ,遍历整个文件系统,查找后缀名为“.str”的文件,这里使用了正则表达式)

  • find . -name “*.str”(在当前目录下搜索后缀名为“.str”的文件)

  • find /dir -name “str*”(在dir目录下搜索文件开头名为“str”的文件)

  • find /dir -name "[a-z]*”( 在dir目录下搜索a-z小写字母开头的文件,换成"[A-Z]*"是大写)

  • find / -name filename -delete (从根目录开始,搜索名为 filename的文件,并删除找到的所有匹配文件)

  • find /dir -iname "STR" ( 在dir目录下搜索STR字母开头的文件但是忽略STR大小写)

  • 按照大小搜索
    • find /root -size +50k(搜索文件大小大于50k的文件)
    • find /root -size -50k(搜索文件大小小于50k的文件)
    • find /root -size 50k (搜索文件大小等于于50k的文件)
  • 其他单位, b(字节)、M(兆字节)、这里是k代表KB(千字节)。
  • 按照文件类型搜索
    • f:普通文件
    • d:目录文件
    • l:链接文件
    • b:块设备文件
    • c:字符设备文件
    • p:管道文件
    • s:套接字文件

  • 按照时间进行搜索
    • 修改时间(mtime[天]/mmin[分钟]/):最后一次文件内容有过更改的时间点
    • 访问时间(atime[天]/amin[分钟]/):最后一次文件有被读取过的时间点
    • 变更时间(ctime[天]/cmin[分钟]/):最后一次文件有被变更过的时间点,包括内容更改、权限更改等
    • find /dir -type f -mtime 2(/dir目录中2天前被修改过的普通文件)
    • find /dir -type f -mtime +50 -mtime -100(/dir下50到100天之前修改过的普通文件)
    • find /dir -type f -mtime 2 -atime 1(2天前被修改过且1天前被访问过的普通文件)
    • find /dir -type f -mmin 5 -amin 2(5分钟前被修改过且2分钟前被访问过的普通文件)
    • find / -cmin -30(文件系统中30分钟内被变更过的文件)
    • find / -newer file1 ! -newer file2(文件系统中更改时间比file1新,比file2旧的文件)
  • 按照权限搜索
    • find /dir -perm u=rwx,g=rx,o=r
      在 /dir 目录下搜索那些权限设置为用户(u)读写执行、组(g)读执行、其他(o)只读的文件。简单来说,它查找那些权限设置为 764 的文件。
    • find /dir -perm 644
      在 /dir 目录下搜索那些权限设置为 644 的文件。这意味着用户(u)有读写权限,而组(g)和其他(o)只有读权限。
    • find / -user "username"
      在整个文件系统中搜索所有者为 "username" 的文件和目录。
    • find / -uid "1001"
      在整个文件系统中搜索用户ID为 "1001" 的文件和目录。这与上一个命令类似,但它是通过UID而不是用户名来查找的。
    • find / -group "gname"
      在整个文件系统中搜索属于 "gname" 组的文件和目录。
    • find / -gid "1002"
      在整个文件系统中搜索组ID为 "1002" 的文件和目录。这与上一个命令类似,但它是通过GID而不是组名来查找的。

还有以下搜索方式(了解就行,不用掌握)

  • 综合搜索
    • 反向搜索
    • 忽略某个文件或目录
    • 限制目录的遍历层数
    • 逻辑组合and、or
    • 对搜索结果执行命令
      • 删除:-delete
      • 执行:-exec
      • 显示:-ls

locate命令(在后台数据库中按文件名全盘搜索,速度比find快得多,但是对于刚创建的文件还没有被收录到数据库,可能搜不到)

需要注意的是,为了使 locate 命令能够找到最新的文件,你需要定期更新其数据库。这通常可以通过 cron 任务或其他调度工具自动完成,或者使用 updatedb 命令手动执行

  • updatedb更新数据库(注意这个命令需要超级用户权限来执行)

  • locate filename(会在 mlocate 的数据库中查找名为 filename 的文件,并输出所有匹配的结果)
  • locate -n 10 filename(会在 mlocate 的数据库中查找名为 filename 的文件但限制了输出结果为最多10个匹配项)

whereis命令

  • 查找指定命令的二进制文件、源文件和帮助文件。例如,使用命令whereis ls可以查找ls命令的相关信息。

  • 在数据库中搜索二进制文件(-b)、man说明文件/帮助页面(-m)和源代码文件(-s)
  • 只搜索帮助页面或源代码。例如,whereis -m cp只显示cp命令的帮助页面路径,whereis -s cp只显示cp命令的源代码路径。

sort命令(将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出)

  • 默认
    文件里可以有字符,也可以有数字,如果是纯数字则会默认按照字符顺序排列sort不改变源文件,只起到排序数据显示结果功能

  • -u:去掉重复项

  • -n:依照数值大小排序即按照整数类型比较排序

  • -r:以反向顺序来排序(sort默认为升序排列)

  • -b:忽略每行前面出现的空格
    只有sort情况下,前面有空格的默认排到最前面,然后是大写字母排到小写字母前面
  • -c:检查文件是否已经按照顺序排序
  • -f:排序时,将小写字母视为大写字母
  • -m:将几个排序好的文件进行合并
  • -M:将前面三个字母按照月份缩写进行排序
  • -t <分隔符>:以指定分隔符分割栏位
  • -k:如果有多栏数据,-k用于指定要排序的栏位(列,默认栏位是空格分割的也可以使用-t来指定分隔符分割栏位)
  • sort -k 3 score.txt(将score.txt文件的第三列进行排序,默认升序)
    但是我们发现并没有按照第三列的分数进行升序排列。
    默认情况下,sort会将所有字段视为字符串进行排序。这意味着它会按照字符的ASCII值进行排序,而不是按照数字值。因此排序结果不是按照第三列的数字值进行排序的原因。

  • sort -k 3,3n score.txt(指定score.txt文件的第三列并按照数字值进行排序,默认升序)

  • sort -k 2.2 score.txt(指定按照score.txt文件的第一个字段第一个字符进行排序)

  • -o outfile:将排序后的结果写入指定文件

  • -R:随机排序(仅GNU支持)

wc命令(统计文件中的字节数、字数、行数等并将结果输出到输出设备上)

  • 默认(显示的分别是:行数、字数、字节数、文件名)

  • -c:统计字节数

  • -l:统计行数

  • -m : 统计字符数

  • -w:统计字数

  • -L:统计最长行的长度

  • 也可以和其他的命令组合使用
    • 输出当前目录的文件数(ls -l 长格式输出文件信息,也就是每个文件占一行,然后利用管道符统计输出的行数)

cp命令(复制文件(目录)和创建链接)

  • 默认

  • -f:强制复制,若目标文件存在且无法开启,删除后再次尝试
  • -i:覆盖前询问

  • -p:复制文件并复制其所有属性

演示一下属性复制的变化

  • 使用user0账户新建一个文件user0file,查看其属性ls -l user0file

  • 使用root账户将刚才创建的user0file文件复制到另一个目录,并查看其属性

  • 使用-p属性,则会连同属性一起复制

以上就是-p的作用

  • -r:递归复制,用于目录复制
  • -s:创建符号链接(软链接、快捷方式)

  • -l:创建硬链接

  • -d:若文件为链接文件,则复制链接文件属性而非文件本身

  • 7
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值