■Linux基本命令
进入当前目录下的文件夹
cd 文件夹名
进入从根目录算起的文件夹
cd /home/文件夹名
返回上一级
cd ..
显示当前文件夹
pwd
给文件夹赋予访问权限
chmod 777 文件夹名
把windows文件转成unix文件(将windows的\r\n替换成\n)
dos2unix 文件名
显示文件一览
dir ll ls
清屏
clear
创建文件夹
mkdir
创建文件
touch 文件名
复制文件
cp 源文件名 新文件名
执行shell脚本
bash xx.sh
■Shell
变量定义
str=abcd
变量使用
str1=$str
If判断(-d是判断文件夹是否存在 rm -rf是强制删除文件夹)
if [ -d $folder ];
then
rm -rf $old_folder
fi
For循环(循环5次,从1到5,每次的值保存在num中,touch 是创建文件)
for num in `seq 1 5`
do
touch $old_folder/CSV_OLD_${num}.csv
done
文件读取
#!/bin/bash
for i in `cat name.txt`;
do
echo $i
done
逐行读取放到变量数组里
cat property.ini |while read line
do
array=($line)
done
输出控制台
echo 'hello world'
字符串拼接
${str1}"abcd"${str2}
使用指定的分割符来分割字符串
#!/bin/bash
string="hello,shell,haha"
array=(${string//,/ })
for var in ${array[@]}
do
echo $var
done
#!/bin/bash
string="hello,shell,haha"
OLD_IFS="$IFS"
IFS=","
array=($string)
IFS="$OLD_IFS"
for var in ${array[@]}
do
echo $var
done
把文件复制到另一个文件夹中并重命名
#!/bin/sh
#定义复制源文件夹和目标文件夹名字变量
old_folder=old_folder
new_folder=new_folder
#测试用文件做成,如果源文件夹不存在,新建文件夹
if [ -d $old_folder ];
then
rm -rf $old_folder
fi
mkdir $old_folder
#新建5个测试文件,文件名是CSV_OLD_1~5
for num in `seq 1 5`
do
touch $old_folder/CSV_OLD_${num}.csv
done
#创建目标文件夹
if [ -d $new_folder ];
then
rm -rf $new_folder
fi
mkdir $new_folder
#读取property文件,内容是新旧文件名的对照关系
#这里把windows的文件转成unix风格文件,主要是处理回车换行符
dos2unix property.ini
#逐行读取property文件
cat property.ini |while read line
do
array=($line);
#拆分成新旧文件名
old_fileName=${array[0]}
new_fileName=${array[1]}
echo "ファイルコピー中:"${new_folder}"/"${new_fileName}
#把旧文件复制到新文件夹中,文件名字用property中读进来的名字
cp ${old_folder}"/"${old_fileName} ${new_folder}"/"${new_fileName}
done
来源:CSDN
作者:gui41021
链接:https://blog.csdn.net/gui41021/article/details/104678725