- | - | 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 test.txt \ grep -n “内容” |
- | 查找内容并统计行数 | 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 |
- | 获取文件的 md5值 | - | md5sum 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 |
- | 安装 | - | rpm -ivh xxx |
- | 显示执行过的shell命令 | - | sh -x test.sh |
- | 获取pid(进程ID) | - | $$ |
文档更新时间: 2024-04-19 15:11 作者:lee