- - dos与shell常用命令对比 -
类型 描述 dos shell
盘符操作 查看当前目录 cd pwd
- 上级目录 cd .. cd ..
- 进入目录 cd /d c:\test cd /home/test
- 回退一步 cd -
- 家目录 cd /d %USERPROFILE% cd ~
环境变量 查看 path echo $PATH
查看文件/文件夹 包含隐藏文件 dir /a ls -lah
文件权限操作 只读 attrib +r 文件 chmod 0444 文件
- 可读可写 attrib +a 文件 chmod 0666 文件
- 隐藏 attrib +h 文件
- 显示隐藏文件 attrib -h 文件
- 递归操作 attrib /s xx 目录 chmod -R xxxx 目录
文件/文件夹操作 创建文件 echo. > test.txt touch test.txt
- 创建文件夹 md a\b\c mkdir -p a/b/c
- 复制文件 copy /y a.txt a.txt.back \cp -a a.txt a.txt.back
- 合并文件内容 copy a.txt+b.txt c.txt sed ‘$r b.txt’ a.txt > c.txt
- 输入多行内容到文件 copy con 文件(按ctl+z按回车结束) cat > 文件 <<hh \ 内容 \ hh
- 复制文件夹 xcopy /y /e /q dir1 dir2 \cp -a dir1/. dir2
- 删除文件 del /s /f /q test.txt rm -rf test.txt
- 删除文件夹 rd /s /q dir1 dir2 rm -rf dir1 dir2
- 移动/重命名 move /y a.txt b.txt mv -f a.txt b.txt
- 批量改名 ren *.txt *.exe rename aa bb *.txt
链接文件/文件夹 软链接 mklink 链接 原文 ln -s 原文件 链接
- 硬链接 mklink /h 链接 原文件 ln 原文件 链接
- 目录软链接 mklink /d 链接 目录 ln -s 原文件 链接
- 目录硬链接 mklink /d /h 链接 目录 ln 目录 链接
文件内容操作 查找内容并显示行号 find /n “内容” test.txt cat -n test.txt \ grep “内容”
- 查找内容并统计行数 find /c “内容” test.txt cat test.txt \ grep “内容” \ wc -l
- 比较文件差异 fc /n a.txt b.txt vimdiff a.txt b.txt
- 查看文件内容 type test.txt cat test.txt
- 查看文件内容(空格:显示下一页,q:退出) more test.txt more test.txt
- 在指定文件中查找内容 find /n /i “内容” * grep -r “内容” *
压缩/解压缩 压缩 rar a test.zip 文件/文件夹 tar -czf test.tar.gz 文件/文件夹 –remove-files
- 解压缩 rar e test.zip 路径 tar -xzf test.tar.gz -C 路径
关机/重启 关机 shutdown /s /t 时间 shutdown -h +时间
- 重启 shutdown /r /t 时间 shutdown -r +时间
- 取消操作 shutdown /a shutdown -c
网络命令 测试ip地址 ping 0.0.0.0 ping 0.0.0.0
- 查看网卡信息 ipconfig ip addr
- 查看局域网ip arp /a arp -a
- 查看进程 tasklist \ find /i “httpd” ps -aux \ grep “httpd”
- 关闭进程 taskkill /f /im httpd;taskkill /f /pid 进程id pkill httpd;kill -9 进程id
- 开启服务 net start httpd systemctl start httpd
- 关闭服务 net stop httpd systemctl stop httpd
- 查看端口号 netstat /ano \ find /i “80” netstat -nutlp \ grep “80” 或 lsof -i:80
- 解析域名 nslookup www.baidu.com nslookup www.baidu.com
- 查看网关 route print /4 route -n
变量操作 显示已定义变量 set set
- 定义变量 set var=abc var=abc
- 提示输入变量 set /p var=提示字符 read -p 提示字符 var
- 获取变量的长度 len=${#var}
- 替换:把变量var中的a替换成b set var1=%var:a=b% var1=${var//a/b}
- 截取:截取变量var的前3位 set var1=%var:~0,3% name=`echo $name \ cut -c 1-3`
- 合并:把变量a和变量b的内容合并为变量c set c=%a%%b% c=${a}${b}
- 计算:b=a+2 set /a b=%a%+2 b=$((a+2))
数组 定义 arr[0]=值;arr=(1 2 3)
- 取值 echo ${arr[0]}
- 列出数组中所有的元素 echo ${arr[*]}
- 求数组的长度 echo ${#arr[*]}
- 求数组下标的长度 echo ${#arr[0]}
脚本操作 调用脚本 test.bat . test.sh
- 在脚本中调用另外一个脚本 @b.bat 参数1 参数2 . b.sh 参数1 参数2
- 查看脚本目录 echo %~dp0% pwd
- - 条件 -
- 字符串相等 “%var%” == “str” [ “${var}” == “str” ]
- 字符串不相等 not “%var%” == “str” [ “${var}” != “str” ]
- 数值相等 %var% equ num [ ${var} -eq num ]
- 数值不相等 %var% neq num [ ${var} -ne num ]
- 判断文件/目录是否存在 exist 文件/目录 [ -e 文件/目录 ]
- 判断变量是否已定义 defined var [ -n “${var}” ]
- 判断上一条语句是否执行成功 %errorlevel% equ 0 [ $? -eq 0 ]
- - 表达式 -
- 等于 equ eq
- 大于 gtr gt
- 大于或等于 geq ge
- 小于 lss lt
- 小于或等于 leq le
- 不等于 neq ne
延迟扩展 语法 setlocal EnableDelayedExpansion
- 复合语句 setlocal EnableDelayedExpansion;set a=1 && echo !a!
其它 清屏 cls ctl + l
- 修改日期 date 2018-05-30 date -s “2018-05-30 05:40:00”;hwclock -w
- 修改时间 time 05:40:00 date -s “2018-05-30 05:40:00”;hwclock -w
- 查看日期 date /t date “+%F”
- 查看时间 time /t date “+%T”
- 查看命令历史 doskey /history history
- 设置历史记录保存条数 doskey /histsize=100 sed -i ‘/^HISTSIZE.*/s//HISTSIZE=100/g’ /etc/profile
- 脚本退出码 exit /b 1 exit 1
- 查看退出码 echo %errorlevel% echo $?
- 查看帮助文档 dir /?;help dir ls –help;man ls
- 注销 logoff logout
- 暂停程序执行 pause sleep 2
- 修改提示字符 prompt $p$g echo ‘export PS1=”[\u@\h \W]$“‘ >> /etc/profile
- 排序(正序) sort test.txt sort test.txt
- 排序(倒序) sort /r test.txt sort -r test.txt
- 输出所有信息到日志中 - ./test.sh &> test.log
- 输出信息到不同日志 - ./test.sh 1>info.log 2>error.log
- 执行字符串中的命令 - echo “环境变量:${PATH} ; 当时时间:`date ‘+%F %T’`“
- 脚本执行命令 xxx.bat sh xxx.sh
- 后台执行命令 - nohup 命令 &
- 查看在后台执行的任务 - jobs -l
文档更新时间: 2020-11-22 20:37   作者:lee