命令名 | 使用举例 | 功能描述 |
---|---|---|
mkdir | mkdir dirname | 创建一个目录 |
rmdir | rmdir dirname | 删除一个目录 |
mvdir | mvdir dir1 dir2 | 移动或重命名一个目录 |
cp | cp -r sourcedir destdir | 复制文件夹(-r递归) |
rm | rm -rf dirname | 删除文件或目录(-r递归 -f强制) |
cd | cd dirname | 改变当前目录 |
ls | ls -la | 显示当前目录的内容 |
pwd | pwd | 显示当前目录的路径名 |
du | du -sh dirname | 查看目录/文件占用空间大小 |
# examples
cp -r ../package1 ./packages/ # 拷贝package1文件夹到packages文件夹下
命令名 | 使用举例 | 功能描述 |
---|---|---|
cat | cat filename | 显示文件 |
echo | echo 'hello world' > ./testfile.txt | 打印或新建文件 |
touch | touch filename | 新建文件 |
mv | cat filename | 显示或连接文件 |
命令名 | 使用举例 | 功能描述 |
---|---|---|
clear | clear | 清除屏幕或窗口内容 |
env | env | 显示当前所有设置过的环境变量 |
date | date | 显示系统的当前日期和时间 |
cal | cal | 显示日历 |
curl | curl [option] url | http命令行工具 |
grep | grep 'keyword' file | 过滤文本 |
wc | wc [option] file | wordcount以及行数 |
head/tail | head/tail file | 查看前/后几行文本 |
ps | ps -A | 查看所有命令,可配合grep |
管道:Linux系统中的命令可以将标准输入读取数据,还能将这些数据送到标准输出中去,这种功能被系统进一步的利用,从而产生出一种新的特性,称之为管道符“|”,这个符号可以将一个命令的标准输出管道为另外一个命令的标准输入。比如:echo "hello world" | grep -i "HELLO"
~/.zshrc:存放快捷配置;/etc/hosts: host配置;/usr/local/etc/nginx/(MACOS)/etc/nginx(Docker);
# run: sh depoly.sh 123 123
# 变量定义
str='test' # 注意赋值不需要空格
str2="this is $str" # 双引号可以直接写入变量
str3="this is ${str}"
arr=('1' '2') # 数组
# echo打印
echo this is test # this is test # 被默认为字符串,不会报错
echo $str # test # 变量引用需要家$符号
echo $str2 # this is test
echo $str3 # this is test
echo ${arr[1]} # 2 # 数组切割
# if判断
if [ $str == "test" ] # if条件需要在方括号中,并且注意需要空格
then
echo 'successed'
fi
a='10'
b='20'
if [ $a != $b ]
then
echo "a 不等于 b"
fi
# 获取参数
echo $1 # 123 #第一个参数
echo $# # 2 # 参数个数
echo $* # 123 123 所有参数
都是用来做命令替换用aaa=1
bbb=2
echo $aaa == ${aaa} # 1==1
echo $(git remote -v)
echo `date`
if [ -z "$(git status --porcelain)" ]; then
echo "Deploying gh-pages..."
else
echo "Uncommitted git changes! Deploy failed."
fi
VERSION=$(cat package.json | grep version | head -1 | awk -F: '{ print $2 }' | sed 's/[",]//g');
要求:把main.txt文件内容,所有“[data-v-*]”内容,替换为空字符串
sed -i '' 's/\[data-v-.*\]//g' main.txt
说明:
sed -i '' 's/oldValue/newValue/g' file.txt
-i ''
,因为不加的表示备份,加上则直接替换原文件。要求:对文件夹中的markdown文件,批量转换为同名的docx文件。
pandoc命令:该命令需要安装homebrew install pandoc
cd ./docs/vue1;
for file in ./*\.md;
do
echo $file;
# 格式:${string//substring/replacement} 使用$replacement, 代替所有匹配的$substring
# filename=${file//'.md'/''}; # 替换普通文字
# echo $filename;
# 根据basename函数获取文件名
filename=$(basename $file);
echo $filename;
filenameNoSuffix=$(basename $file .md)
echo $filenameNoSuffix;
# 执行命令
echo "pandoc -f markdown -t docx "$file" -o "$filenameNoSuffix".docx";
pandoc -f markdown -t docx "$file" -o "$filenameNoSuffix".docx
## (cd "$dir" && echo '111');
done
进入编辑模式
: 在默认模式下按 i/a/o
i
insert,光标到当前位置后。I,当前位置前a
append,光标到末尾。A,到行首。o
open a new line,光标在新行后。O,往上新行。编辑模式下输入
:
进入默认模式
: 在非指令模式下按 ESC/ctrl + c/ctrl + [默认模式下
进入指令模式
:w
保存当前文件:q
退出编辑,如果文件为保存需要用强制模式:q!
强制退出不保存修改:wq
组合指令, 保存并退出ZZ
保存并退出。ZZ不需要输入冒号并回车