Linux

Linux

1.vim命令

image-202205081533542961.1 一般模式

  • yy 复制光标当前一行
  • 数字yy 复制一段(从第几行到第几行)
  • p 粘贴
  • u 撤销上一步
  • o 往下一行插入数据
  • w 切换到下一个词
  • dd 删除光标当前行
  • shirt+d 删除当前光标行
  • 数字dd 删除包含光标后多少行
  • x 剪切一个字母 相当于del
  • X 剪切一个字母 相当于Backspace
  • yw 复制一个词
  • dw 删除一个词
  • shirt+4 移动到行尾
  • shirt+6 移动到行头
  • 数字+shirt+g 移动到目标行

1.2 编辑模式

  • i 当前光标前
  • a 当前光标后
  • o 当前光标行的下一行
  • I 光标所在行最前
  • A 光标所在行最后
  • O 当前光标行的上一行

1.3 命令模式

  • :w 保存
  • :q 退出
  • :! 强制退出
  • /要查找的词 n查询下一个 N往上查找
  • :noh 取消高亮显示
  • :set nu 显示行号
  • :set nonu 关闭行号
  • :%s/old/new/g 替换内容 /g 替换匹配到的所有内存

2.文件目录篇

  • pwd 查询当前文件的绝对路径

  • ls 查看当前目录下所有的文件和文件夹

  • cd - 返回上一次操作的路径

  • ls-l 查询当前目录文件的权限

  • mkdir-p 创建多级文件夹

  • rmdir-p 删除多级文件夹

  • rm -rf /* 删除跑路

  • touch 创建文件

  • cp -r 递归复制整个文件夹

  • mv 移动文件位置(可以重命名)

  • cat 查看文件内容

  • less 分屏显示文件内容

  • echo[内容] >> 文件 将内容写入文件

  • tail -n [行数] 查看文件末尾多少行

  • tail -f 实现监控文件

  • ln -s [原文件] [文件名] 软连接 类似于windows中的快捷方式

  • cal -y 查看今年日历

  • date +“%Y-%m-%d %H:%M:%S” 获取时间 年月日时分秒的格式

3.用户管理篇

  • useradd -g [组名] [用户名] 添加用户到哪个组

  • sudo 设置普通用户具有root权限

  • chown -R 777 [文件] 修改文件读写执行权限

  • chown -R 用户 文件或目录 修改所有者

  • chgrp -R 组 文件或目录 修改所属组

4.搜索查找类

  • find [搜索范围] -name [文件名] 查找文件或者目录

  • locate [文件] 快速定位文件路径

5.压缩

  • tar -zcvf [文件名tar.gz] [文件名] 压缩多个文件
  • tar -zxvf -C [路径] 解压

6.磁盘管理篇

  • du --max-depth=1 -ah 查看文件和目录占用磁盘空间

  • df -h 查看磁盘空间使用情况

7.进程管理类

  • ps -ef 查看当前系统进程信息
  • systemctl status [进程] 查看进程状态
  • kill [pid] 杀死进程
  • pstree 查看进程树
  • top 实时查看进程信息
  • netstat -anp | grep [进程号] 查看网络进程信息
  • netstat -nlp | grep [端口号] 查看网络端口占用情况
  • crontab -e 系统定位任务

8.shell脚本

1.入门

1.创建helloworld.sh 文件
2.编辑文件
#!/bin/zsh
echo "hello world"
3.运行
./helloworld.sh 

2.变量

1.声明局部变量
liubo@lb scripts % new_var=HelloWorld
liubo@lb scripts % echo $new_var
2. 将局部变量改为系统变量
liubo@lb scripts % export new_var
3. helloworld.sh引用变量
echo $new_var

3.特殊变量

3.1 $0

# $0为脚本名称 $1-$9为传参
#!/bin/zsh
echo '=====$n======'
echo sricptname: $0
echo  parameter: $1
echo  parameter: $2

3.2 $#

# 获取输入参数个数
echo parametercount: $#

3.3 $* $@

# 获取参数 *把参数看成一个整体 @把每个参数区分对待 循环遍历使用
echo $*
echo $@

echo '========$*=========='
for par in "$*"
do
   echo $par
done

echo '========$@========='
for par in "$@"
do
   echo $par
done

# 结果
========$*==========
a b c d e f g
========$@=========
a
b
c
d
e
f
g

3.4 $?

# 最后一次命令返回的状态 如果返回0证明上一个命令执行成功
liubo@lb scripts % echo $?

4.运算符

# 括号里面做运算
echo $[] 

5.条件判断

[ 'hello' = 'hello' ] 
# 前后需要有空格
# 整形用lt gt le ge 
[ 20 -lt 30 ]

6.流程控制

# if
if [条件式]
then 
程序
elif [条件式]
then
程序
fi

#case
case $变量名 in
"值1")
程序
;;
"值2")
程序2
;;
*) # default 
程序3
;;
esac

# for1
for 变量 in 值1 值2
do
程序
done
#for2
for((初始值;循环控制条件;变量变化))
do
程序
done

liubo@lb scripts % for i in {1..100}; do sum=$[$sum+$i]; done; echo $sum

#while
while [条件控制]
do
程序
done

a=1
while [ $a -le $1 ]
do
sum=$[ $sum + $a ]
a=$[ $a + 1 ]
# let sum+=a
# let a++
done
echo $sum

7.读取控制台输入

read -t 10  -p "请输入您的大名:" name
echo  $name

8.函数

8.1系统函数
#basename 获取脚本名
# helloworld.sh 最后得到helloworld
echo sricptname: $(basename $0 .sh)
#dirname 获取脚本路径名
echo sricptname: $(cd  $(dirname $0); pwd )
8.2 自定义函数
#!/bin/zsh
funtion aa(){
   s=$[ $1 + $2 ]
   echo $s
}

read -p "请输入第一个值:" a
read -p "请输入第二个值:" b

sum=$(add $a $b)
echo "和为:" $sum
echo "和的平方:" $sum * $sum

# 小案例 日志归档

#!/bin/bash

# 首先判断输入参数个数是否为1
if [ $# -ne 1 ]
then
	echo "参数个数错误!应该输入一个参数,作为归档目录名"
	exit
fi

# 从参数中获取目录名称
if [ -d $1 ]
then
	echo
else
	echo
	echo "目录不存在!"
	echo
	exit
fi

DIR_NAME=$(basename $1)
DIR_PATH=$(cd $(dirname $1); pwd)

# 获取当前日期
DATE=$(date +%y%m%d)

# 定义生成的归档文件名称
FILE=archive_${DIR_NAME}_$DATE.tar.gz
DEST=/root/archive/$FILE

# 开始归档目录文件

echo "开始归档..."
echo

tar -czf $DEST $DIR_PATH/$DIR_NAME

if [ $? -eq 0 ]
then
	echo
	echo "归档成功!"
	echo "归档文件为:$DEST"
	echo
else
	echo "归档出现问题!"
	echo
fi

exit

9.正则匹配

#  ^:以什么开头
cat log | grep ^a
# $:以什么结尾
cat log | grep t$
# .:匹配任意一个字符
cat log | grep r..t
# *:匹配上一个字符0次或者n次
cat log | grep ro*t 
# [] : 表示匹配某个范围内的字符
# \ : 转义,匹配某一特殊字符
cat log | grep 'a\$b' #需要用‘’将表达式引起来
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值