Linux指令

妖狐艹你老母 2022-11-28 15:09 258阅读 0赞
  1. find

基本查找

find base_path -name ‘xxxx’ -print #根据文件名和正则表达式进行搜索,使用选项 -name或

find base_path -iname ‘xxxx’ -print # 根据文件名和正则表达式进行搜索,使用选项 -iname(忽略大小写)

find的-mtime参数

*-mtime n 按照文件的更改时间来找文件,n为整数。*

  • n 表示文件更改时间距离为n天
  • -n 表示文件更改时间距离在n天以内
  • +n 表示文件更改时间距离在n天以前

find的-exec参数

应用背景:使用find找到某个文件后,一般会有对这个文件的进一步操作,这个时候-exec的作用就显现出来了

形式:-exec command {} \; 该命令以分号作为结束标志,考虑到系统中分号的含义不同,一般前面加“\”反斜杠转义,{}括号表示前面查找出的文件名

  1. route 打印和操作ip路由表

route print #显示路由信息

route add 目标网络 mask 子网掩码 网关 #添加路由

route -p add 目标网络 mask 子网掩码 网关 #添加永久路由

route delete 目的网络 mask 子网掩码 #删除路由

  1. ls 显示文件

ll -trl #按文件修改顺序(早—>晚)显示

ll -a #显示所有文件,包括以.开头的隐藏文件

ls —full-time #文件的时间也显示出来,如:-rw———-. 1 root root 2000 2017-09-15 10:46:05.131999449 +0800 anaconda-ks.cfg

  1. rm删除命令

rm -rf \ * #删除当前目录下的所有文件,删除便不可恢复了

选项:

-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
-f:强制删除文件或目录;
-i:删除已有文件或目录之前先询问用户;
-r-R:递归处理,将指定目录下的所有文件与子目录一并处理;
—preserve-root:不对根目录进行递归操作;
-v:显示指令的详细执行过程。

参数:

指定被删除的文件列表,如果参数中含有目录,则必须加上-r或者-R选项

  1. date 输出日期
  • 输出当前日期:

date +”%Y%m%d” #输出20200824形式的日期

date +”%Y-%m-%d %H:%M:%S” #输出2020-08-24 14:34:01形式的时间

  • 输出n天的日期:

date +”%Y%m%d” ‘-10 day’ #输出10天前的日期

  • 输出n天的日期:

date +”%Y%m%d” ‘+10 day’ #输出10天后的日期

  • 输出n小时之前的时间:

date +”%Y-%m-%d %H:%M:%S” ‘-1 hour’

  • ….相应可输出n分钟orn秒**之前or之后时间**
  • date -d datastr +’%Y%m%d’ #按照’%Y%m%d’的形式输出指定datastr的日期
  • date
  1. << EOF 表示后续的输入作为子命令或子Shell的输入,直到遇到EOF为止,再返回到主调Shell。EOF可以替换成所定义的任何字符串

用法说明:

  • 在shell脚本中,通常将EOF与 << 结合使用,表示后续的输入作为子命令或子Shell的输入,直到遇到EOF为止,再返回到主Shell。
  • EOF只是一个分界符,当然也可以用abcde替换。
  • 当shell遇到<<时,它知道下一个词是一个分界符。在该分界符以后的内容都被当作输入,直到shell又看到该分界符(位于单独的一行)。
  • 此分界符可以是所定义的任何字符串,其实,不一定要用EOF,只要是“内容段”中没有出现的字符串,都可以用来替代EOF,完全可以换成abcde之类的字符串,只是一个起始和结束的标志罢了。
  1. 与 >> 重定向输出

> file #是输出到文件file中, 如果文件存在, 则原来的内容被清空, 不存在则创建文件

> > file #是把输出追加到文件中, 如果文件存在, 追加到末尾, 不存在则创建文件

  1. if-else-fi 语句中 -e的使用

一、文件比较运算符

  1. -e filename 如果 filename存在,则为真 如: [ -e /var/log/syslog ]
  2. -d filename 如果 filename为目录,则为真 如: [ -d /tmp/mydir ]
  3. -f filename 如果 filename为常规文件,则为真 如: [ -f /usr/bin/grep ]
  4. -L filename 如果 filename为符号链接,则为真 如: [ -L /usr/bin/grep ]
  5. -r filename 如果 filename可读,则为真 如: [ -r /var/log/syslog ]
  6. -w filename 如果 filename可写,则为真 如: [ -w /var/mytmp.txt ]
  7. -x filename 如果 filename可执行,则为真 如: [ -L /usr/bin/grep ]
  8. filename1-nt filename2 如果 filename1比 filename2新,则为真 如: [
    /tmp/install/etc/services -nt /etc/services ]
  9. filename1-ot filename2 如果 filename1比 filename2旧,则为真 如: [
    /boot/bzImage -ot arch/i386/boot/bzImage ]

二、字符串比较运算符(请注意引号的使用,这是防止空格扰乱代码的好方法)

  1. -z string 如果 string长度为零,则为真 如: [ -z “$myvar” ]
  2. -n string 如果 string长度非零,则为真 如: [ -n “$myvar” ]
  3. string1= string2 如果 string1与 string2相同,则为真 如: [“$myvar” = “one two three”]
  4. string1!= string2 如果 string1与 string2不同,则为真 如: [“$myvar” != “one two three”]

三、算术比较运算符

  1. num1-eq num2 等于 如: [ 3 -eq $mynum ]
  2. num1-ne num2 不等于 如: [ 3 -ne $mynum ]
  3. num1-lt num2 小于 如: [ 3 -lt $mynum ]
  4. num1-le num2 小于或等于 如:[ 3 -le $mynum ]
  5. num1-gt num2 大于 如:[ 3 -gt $mynum ]
  6. num1-ge num2 大于或等于 如: [ 3 -ge $mynum ]

四、查看磁盘、文件大小

  1. df -h 查看磁盘占用情况
    2、du -sm ./* 查看当前目录下文件大小,单位M

参考:https://blog.csdn.net/nmjhehe/article/details/83038531

  1. | 和 || 和 & 和 &&的用法

| :表示管道,上一条命令的输出作为下一条命令的输入

||:上一条命令执行失败后,才执行下一条命令

&:表示任务在后台执行

&&:上一条命令执行成功后,才执行下一条命令

  1. cut
  • -b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
  • -c :以字符为单位进行分割。
  • -d :自定义分隔符,默认为制表符。
  • -f :与-d一起使用,指定显示哪个区域。
  • -n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的
    范围之内,该字符将被写出;否则,该字符将被排除

11.$?

  • $#:传入脚本的参数个数;
  • $0: 脚本自身的名称;  
  • $1: 传入脚本的第一个参数;
  • $2: 传入脚本的第二个参数;
  • $@: 传入脚本的所有参数;
  • $*:传入脚本的所有参数;
  • $$: 脚本执行的进程id;
  • $?: 上一条命令执行后的状态,结果为0表示执行正常,结果为1表示执行异常;

其中$@与$*正常情况下一样,当在脚本中将$*加上双引号作为“$*”引用时,此时将输入的所有参数当做一个整体字符串对待。比如输入参数有a b c三个参数,则“$*”表示“a b c”一个字符串。

参考:https://www.cnblogs.com/quxiangxiangtiange/p/10290715.html

  1. shell 脚本以set -e开头

set -e的作用

这句话告诉bash,如果任何语句的执行结果不是true,则应该退出,这样的好处是防止错误像滚雪球一样累积成致命的错误,而这些错误在之前就应该被处理掉。

  1. export与source的使用

参考:https://blog.csdn.net/qq_39759656/article/details/83547582

发表评论

表情:
评论列表 (有 0 条评论,258人围观)

还没有评论,来说两句吧...

相关阅读

    相关 LinuxLinux基本指令

    > `Linux`是一个开源的操作系统(更高效、更稳定、更安全) > > 登录:`ssh root@IP地址` 概念、定位 > 使计算机更好用!这是操作系统的根本要义

    相关 Linux 基本指令

      貌似好久没有更新博客了,今天先随便写写。   1. 查看服务语言设置    Unbantu系统的话,因为语言不同可能会导致编码的错误,出现乱码,或者文件?.class文

    相关 Linux指令--alias

    Linux指令–alias > 我们在使用Linux中使用较长的命令而且要经常要使用时,总是会使用别名,这里就简单的介绍一下别名alias 指令:alias 设置