前言
Linux 的学习对于一个程序员的重要性是不言而喻的。前端开发相比后端开发,接触 Linux
机会相对较少,因此往往容易忽视它。但是学好它却是程序员必备修养之一。今天两万字总结Linux常用指令 !
1…ls及常用选项
语法:ls [选项] [目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
结果如下
可以看到,我当前目录下有gdb、install.sh、lesson3、lesson4、lesson5五个文件。
这个指令就相当于Windows下双击一个目录进入后展示出所有的文件,只不过在Windows下这一过程时自动的。
(1)-l选项
ls -l 指令可以列出文件的详细信息,也可简写成ll
可以看到,该指令执行后每个文件前都多出了多条信息,每条信息的具体含义在之后的文章中会介绍到。
(2)-a选项
ls -a指令会列出目录下的所有文件,包括以 . 开头的隐藏文件
可以看到,白色框起来的是之前出现过的文件,剩余的文件都是以.开头的。
在Linux中,以.开头的文件是隐藏文件,它们默认是隐藏的,通过 ls -a选项可以把它们显示出来。
选项也可以组合使用,如下图-al一起使用。
这里关注最上面两个很奇怪的文件,它们的名称是一个点(.)和两个点(. .)。
Linux中任何目录下都默认存在两个目录,即上面提到的两个文件,一个点(.)的文件代表当前目录,两个点(. .)的文件代表上级目录。
可以看到,刚开始处在lesson5目录,通过cd . .进入父目录yh,而cd .进入当前目录(cd即进入某一目录,下文会提到)。
(3)-t选项
对文件以时间进行排序。
(4)-d选项
将一个目录像文件一样显示,而不是显示其下的文件。
这里虽然lesson5下还有其他文件,但这里并不显示它包含的文件的属性,而是显示lesson5这个文件本身的属性。
2.clear
清空当前屏幕,该指令执行后,屏幕中的信息全部清空。
3.pwd
pwd指令显示用户当前所在的目录。
可以看到当前所在的目录是home下的yh目录,/home/XXX也称为XXX用户的主工作目录。
当用root账户登录时,pwd指令执行后就会显示当前在root目录下。
这一指令就相当于Windows下进入目录后上面显示的这一段路径。在这里插入图片描述
这里注意,Linux中路径分隔符是/,而Windows中路径分隔符是\。
4.cd
语法:cd [目录名]
功能:改变工作目录。将当前工作目录改变到指定的目录下。
原本目录下有5个文件,通过cd lesson5进入了lesson5目录下,可通过pwd验证。
Windows双击进入一个目录就相当于Linux中先cd进入目录再ls显示所有文件。
(1)-选项
用cd -可以跳转到之前所在的目录。
原来在lesson5目录,通过cd /进入根目录,再用cd -直接跳转回lesson5目录。
(2)~选项
cd ~可以直接进入当前用户的主工作目录。
5.tree
Linux的目录结构和文件的组织形式是以多叉树的形式组织的,也即一个目录可以包含多个目录,同时它也被某一目录包含(根目录除外)。
Linux中可以用tree指令来看目录的树形结构。
由树形图可以看出lesson5下面包含三个文件,显示的结构非常清晰、直观。
实际上几乎所有操作系统组织目录文件时都是树形,那么原因是什么呢?
这样安排是为了方便查找,所有的文件都有从根目录到被查找目录唯一的标识路径(因为每个目录的父目录只有一个)。
6.mkdir
语法:mkdir [选项] dirname
功能:默认在当前目录下创建一个名为 “dirname”的目录,想要在其它目录新建目录可在最后跟上对应路径
-p选项
后面可以跟上一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
7.touch
语法:touch [选项] 文件
功能:touch命令参数可新建一个文件,或更改文件或目录的日期时间(很少用)
对应选项
touch的选项主要是和时间有关,但实际很少用touch来更改文件或目录的日期时间,此处仅列出选项及对应功能。
-a 或–time=atime或–time=access或–time=use只更改存取时间。
-c 或–no-create 不建立任何文档。
-d 使用指定的日期时间,而非现在的时间。
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m 或–time=mtime或–time=modify 只更改变动时间。
-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t 使用指定的日期时间,而非现在的时间
8.rm及rmdir
相当于Windows中的删除。
rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。
语法:rmdir 文件名称
功能:删除空目录
rm命令可以删除文件,也可以删除目录
微信搜索公众号:架构师指南,回复:架构师 领取资料 。
语法:rm [选项] 文件名称
功能:删除文件或目录
rm的选项
-r选项:删除目录及其下所有文件。
-f选项:即使文件属性为只读(即写保护),亦直接删除;不加该选项时系统会询问是否删除,加上以后不询问、直接删除。
这里介绍一个通配符*的概念
9.man
语法:man [选项] 命令
功能:Linux的命令有很多,不可能全记住,需要时可以通过查看联机手册获取帮助。访问Linux手册页的命令是man。
既然如此,就先用man命令查一下man命令怎么使用(命令行中输入man man),结果如下。
下面的数字1-9选项是man命令的选项,常用的是1-3。
当man后面不跟选项时,默认在1中查找。
10.cp
相当于Windows中的复制。
语法:cp [选项] 源文件或目录 目标文件或目录
功能:复制文件或目录
说明:cp指令用于复制文件或目录,可同时指定两个以上的文件或目录,且会把前面指定的所有文件或目录复制到最后一个目录中。
(1)-r选项
-r递归处理,将指定目录下的文件与子目录一并处理。
(2)-f选项
强行复制文件或目录, 不论目的文件或目录是否已经存在。
11.mv
相当于Windows中的剪切、重命名。
语法: mv [选项] 源文件或目录 目标文件或目录
选项
-f :如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件已经存在时,会询问是否覆盖
12.cat、tac
语法:cat [选项] [文件]
功能:查看目标文件的内容,注意不是查看目标文件的属性
选项:-n显示行号
tac与cat用法相同,但是tac将内容倒序打印且不能使用-n选项。
13.more、less
现在有一个十万行内容的文本文件,如果用cat来查看其内容,那么显示器上就会不停地刷屏直至结束,这样不利于观察细节。
(1)more
语法:more [选项][文件]
功能:cat,但是没次打印满显示器后会停止打印,且可以通过回车键进行下翻。
常用选项:
-n 对输出的所有行编号
-q 退出more
(2)less
less命令与more命令很像,但是less可以通过↑和↓方向键进行上翻和下翻。
more和less都适用于查看具有海量内容的文本,但是more仅支持下翻,而less支持上翻、下翻。
14.head、tail
head、tail分别用来显示开头、结尾某数量的文字区块,head 用打印文本的开头至标准输出中,而 tail打印文本的末尾至标准输出中,默认打印其相应文件的开头或末尾10行。
微信搜索公众号:架构师指南,回复:架构师 领取资料 。
tail的使用与head同理。
15.echo
用于字符串的输出。
注意:echo重定向到文件时是覆盖的,会清除原来的内容,用新输入的内容覆盖之前的内容。
追加重定向,即在原文本内容之后继续追加内容。
16.|
管道符|可以连接两条命令,|的左边产生数据,通过管道符|把数据传输给|的右边。
如取出十万行文本的第1000行至第1010行,则可如下操作。
17.date
通过date可以显示系统当前的时间。
但直接使用date得到的结果看起来不方便,所以通过选项来控制格式化输出。
18.cal
cal命令可以用来显示公历(阳历)日历。
格式:cal [参数][月份][年份]
功能:用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份。
-3选项可以显示系统前一个月,当前月,下一个月的月历。
注意只能-3,不能是其它的数字。
19.find
Linux下find命令在目录结构中搜索文件,并执行指定的操作。find命令提供了相当多的查找条件,功能很强大。
find -name即可查找文件名为name的文件。
20.grep
grep是行过滤工具。
语法:grep [选项] 待搜寻的字符串 文件
功能:在文件中搜索某一字符串,将包含这一字符串的行打印出来
如查找十万行文本中带有"9999"字符串的文本。
(1)-n选项
-n选项可以输出对应文本所在的行。
(2)-v选项
反向选择,即打印不包含待搜索字符串的文本行。
(3)-i选项
加上-i后搜索字符串时会忽略大小写。
加上-i后最后一行多打印出一个"hello WORLD"的字符串,因为忽略了大小写。
21.zip、unzip
zip、unzip分别是压缩和解压缩指令。
将其余的文件删除,仅留下压缩包来测试unzip指令。
这里dir2消失仍是因为没有加上-r选项,没有对dir1下的目录进行处理,在压缩和解压缩时都加上-r选项即可解决。
22.tar
同样是打包和解包,但它可以不打开压缩包,直接查看其包含的文件和目录。
选项
-c :建立一个压缩文件的参数指令
-x :解开一个压缩文件的参数指令
-t :查看 tarfile 里面的文件
-z:即是否需要用 gzip 压缩
-j :即是否需要用 bzip2 压缩
-v :压缩的过程中显示文件(常用)
-C :解压到指定目录
23.bc
bc命令可以很方便的进行运算,相当于Linux中的计算器。
24.shutdown
关机指令
语法:shutdown [选项] 常见选项
选项
-h :将系统的服务停掉后,立即关机
-r :在将系统的服务停掉之后重新启动
-t sec :-t 后面加秒数,即sec秒之后关机
黑客&网络安全如何学习
今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。
1.学习路线图
攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。
2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。
内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。
(都打包成一块的了,不能一一展开,总共300多集)
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
【点击免费领取】CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》
3.技术文档和电子书
技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
4.工具包、面试题和源码
“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。
还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。
这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。
参考解析:深信服官网、奇安信官网、Freebuf、csdn等
内容特点:条理清晰,含图像化表示更加易懂。
内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
![](https://i-blog.csdnimg.cn/blog_migrate/5f370fcb868da795b58e2dca6b68327a.png)