每日几个linux命令

66 阅读1分钟

6月2日

基础

1· 表达式计算

  • 方式1: "$((3 * 8))"

  • 方式2: "$[3 * 8]"

2· 时间date

    date :显示当下时间
    date +%Y  :显示年
    date +%m  :显示月
    date +%d  :显示日
    date +%H  :显示时
    date +%M  :显示分
    date +%M  :显示秒
    date  “+%Y-%m-%d %H:%M:%S”

    cal 查看日历

3· 文件查找

find:
	find [查找范围] [选项]
	
	选项:
		
		-name<查询方式>	 按照指定的文件名查找模式查找文件 
		-user<用户名>	 查找属于指定用户名所有文件
	
	例如 : find ./ -name a.txt
	
locate:
	locate 文件名
	
	
grep 和 |

	grep 选项 查找内容 源文件
	
	选项:
		-n	显示匹配行及行号
which :
    
        例如  which   java
	

4· 压缩和解压

gzip 和 gunzip

	特点:
		(1)只能压缩文件不能压缩目录
		(2)不保留原来的文件
		(3)同时多个文件会产生多个压缩包
		
zip 和 unzip


	zip 
		-r	压缩目录
	unzip 
		
		-d<目录>	指定解压后文件的存放目录
	
	
tar	

	-zxvf
	-C  :指定解压到哪个文件夹
	

5· 脚本中常用

		test 条件判断
		
			特别地:条件为假返回 1,条件为真返回 0
			
		
	条件语句:
			
	if [ $1 -eq 1 ];then
			echo "cc.txt 文件存在"

	elif [ $1 -eq 2 ];then
			echo "为什么要输入no"

	else
			echo "我下班了"

	fi

	疑问: 如何判断字符串相等?		if [ "$1"x = "yes"x ]
		

6月6日

进阶

1· case语句,类似java中的switch语句

case  "${item}"   in
     1)
   		 echo "item = 1"
      ;;
     2|3)
    		echo "item = 2 or item = 3"
	      ;;
	      *)
    		echo "default (none of above)"
	      ;;
esac

	

2· for 语句

方式1 :

	for((i=0;i<"$1";i++));do

		echo $i
	done
方式2:
	for i  in {a..z} ; do 

			echo $i
	done

3· while语句

while [ $i -le $1 ];do
	echo $i
	i=$[$i+1]
done;

4· 从控制台接收输入

read  -t  10  -p  "10秒内输入自己的名字:"  name       

5· 常见的系统函数

basename   : basename命令会删掉所有的前缀包括最后一个(‘/’)字符,然后将字符串显示出来

dirname   :从给定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩下的路径(目录的部分)

6· 自定义函数

  • 有参情况

    function add() {
              echo "$(($1+$2)))"       
      }  
      read -t 5 -p "亲输入第一个参数:" first
      read -t 5 -p "亲输入第二个参数:" second
      add  $first $second
    
  • 关于函数的返回值

          返回 return  一般用于返回执行状态布尔值,有中断函数执行的作用
    
  • 外部调用函数

          首先要用 . 命令source一下  : .   func.sh
          
          再调用函数 : add
          
     
    

7· 数组

1) Shell 数组用括号来表示,元素用"空格"符号分割开

2) 在shell语句中,使用、遍历数组的时候,数组格式要写成 {arr[@]} 或arr[@]或{arr[*]}

image.png

    3) 数据类型可以是混合类型
    

image.png

    4)获取数组的长度
    
        ${#数组名[@]} 或者  ${#数组名[*]}

8· linux中的三剑客

正则表达式(略)

  • grep : 对文本数据进行处理

  • sed : 对文本数据进行处理

    -n:取消默认输出

    -i:直接将修改内容写入文件

    -e:多次编辑

    -r: 支持正则扩展

  • awk : 将文本内容进行格式化


6月7日

定时任务

  1. 查看 crond : systemctl status crond

  2. at 定时任务工具,适用于执行一次就结束的定时任务

图片.png

3· crontab

  • /etc/crontab是一个文件,root可以通过这个文件来维护系统级的调度任务。

  • 一般情况下,不建议将所有的全局性的调度任务都维护在/etc/crontab这一个文件中,那样会很混乱,因此有了/etc/cron.d/

图片.png