linux shell 命令(随时补充)

文件

1. 将目录下的文件复制到另一个目录下

如果 dir2 目录不存在

cp -r dir1 dir2

如果dir2目录已存在,则需要使用,否则会将 dir1 目录复制到 dir2 中

cp -r dir1/. dir2

2. 批量移动文件/目录到目录下

mv  a.dir  2.txt  -t  dir

3. 递归修改目录权限(子目录、文件)

chmod -R 777 dir

4. 读写

读取文件

cat a.txt

输出文本

echo "something"

写入(覆盖)文件

echo "something" > a.txt

写入(追加)文件

echo "something" >> a.txt

5. 换行符修改

设置文件格式为 unix 类型,即换行符为 \n。
ff还可以设置为 dos(换行符为 \r\n) mac(换行为 \r)

set ff=unix

6. 脚本所在目录路径

设置文件格式为 unix 类型,即换行符为 \n。
ff还可以设置为 dos(换行符为 \r\n) mac(换行为 \r)

$0 # 脚本所在路径

# dirname 输出路径可能绝对,也可能相对
dirname /usr/bin/something # 输出 /usr/bin
dirname config.log # 输出 .

# 获取脚本所在目录路径
SHELL_FOLDER=$(dirname "$0")
# 获取脚本所在目录绝对路径
SHELL_FOLDER=$(cd "$(dirname "$0")";pwd)



时间、随机数

日期

date
# Thu Dec 10 14:29:31 CST 2020

时间戳

date +%s
# 1607581759

格式化日期

date "+%Y-%m-%d %H:%M:%S"
# 2020-12-10 14:32:31

随机数

echo $RANDOM
# 2020-12-10 14:32:31



字符串

1、拼接

#!/bin/bash

foo="asd"
bar="reheh"

str1=$foo$bar #多个变量直接拼接,简单粗暴
str2=$foo": "$bar #字符串也是直接拼接
str3="$foo: $bar" #双引号也可以统一包裹在最外层
str4="${foo}some str, ${bar}blablabla"  #给变量名加上大括号,以示变量名边界

echo $str1
echo $str2
echo $str3
echo $str4



函数

参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。 return后跟数值n(0-255

#!/bin/bash

funWithParam(){
    echo "第一个参数为 $1 !"
    echo "第二个参数为 $2 !"
    echo "第十个参数为 $10 !"
    echo "第十个参数为 ${10} !"
    echo "第十一个参数为 ${11} !"
    echo "参数总数有 $# 个!"
    echo "作为一个字符串输出所有参数 $* !"
}
funWithParam 1 2 3 4 5 6 7 8 9 34 73

输出结果:

第一个参数为 1 !
第二个参数为 2 !
第十个参数为 10 !
第十个参数为 34 !
第十一个参数为 73 !
参数总数有 11 个!
作为一个字符串输出所有参数 1 2 3 4 5 6 7 8 9 34 73 !



进程

1. 后台不挂断地执行进程

nohup:不挂断地运行命令

&:在后台运行

一般两个一起用:

nohup command &

2. 查找进程

ps -def | grep <command>

3. 杀死进程

kill <pid>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值