Welcome to 9ilk's Code World
(๑•́ ₃ •̀๑) 个人主页: 9ilk
(๑•́ ₃ •̀๑) 文章专栏: Linux网络编程
🏠 echo
📌 关于echo的认识
- echo + 内容 可以将指定内容打印在显示器。
- Linux下一切皆文件。比如键盘和显示器都可以当作键盘文姬爱你,显示器文件对待。因此我们调用printf向显示器打印可以理解为向显示器文件写入;而调用scanf从键盘输入数据可以理解为从键盘文件中读取数据。
- echo向显示屏文件打印时是默认带换行的。
📌 重定向
📒 输出重定向
先看现象 :
我们可以得到以下结论:
1. >是输出重定向符号,原本echo要输出的字符串是要写入到显示器文件中,经过输出重定向之后,写入到data.txt文件中。
2. 如果要输出重定向的目标文件不存在就会新建。
- 输出重定向 > 未存在文件可以用来新建文件。
- 输出重定向 > 已存在文件可以完成文件清空。
- 每次输出重定向,都要从头写入并且将老的内容清空,然后再写入。
📒 追加重定向
输出重定向会覆盖原来文件的内容重新写入,如果我们不想覆盖在原文件内容末尾继续写入的话,此时我们可以利用追加重定向。
注 : 追加重定向<<的<之间不能有空格,同时追加重定向本质也是向文件写入!
📒 输入重定向
输出重定向是原本默认向显示器文件写入,更改为向其他文件写入;那么输入重定向就是本来默认向键盘读取数据,但是更改为从指定文件中读取数据。
🏠 more && less
cat适合打印小文件的内容,如果文件内容太多就会刷屏,不便我们观察。此时我们可以使用more命令。
📌 more
语法 : more [选项] [文件]
功能 : 功能类似cat
- -n 选项 : 对输出的所有行编号
- q退出more
- more命令把一屏内容打满就不会继续往下翻,按回车就能逐行下翻,按q退出more,但不能上下翻了。
📌 less
- less工具也是对文件或其他输出进行分页显示的工具,应该说是Linux正统查看文件内容的工具,功能极其强大。
- less的用法比起more更加的有弹性。在more的时候,我们并没有办法向前翻,只能往后面看
- 若使用了less,就可以使用[pageup][pagedown]等按键的功能来往前往后翻看文件。
- less里头还有更多的搜索功能,不止向下还能向上搜。
语法 : less [参数] 文件
功能 : less与more类似,但使用less可以随意浏览文件,而more仅能向前移动(向下翻),却不能向后移动,而且less在查看之前不会加载整个文件。
- less文件之后回车,按上下键可以向前向后移动查看,退出可以按q
- less支持搜索匹配,输入搜索结果之后回车会跳转到第一个匹配的地方,后续按n可以跳转到后续匹配的结果。
🏠 head && tail
head和tail就如他们名字一样浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head用来显示文件的开头至标准输出中,而tail当然就是看文件的结尾。
📌 head
语法 : head [参数] [文件]
功能 : head用来显示文件的开头至标准输出中,默认head命令打印其相应文件的开头10行。
📌 tail
tail命令从指定开始将文件写到标准输出。使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容。
语法 : tail [参数] [文件]
功能 : 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志选项。
- head和tail默认查看开头和结尾10行内容
- -n 选项可以指定显示的行数,且n可以省略直接-数字。
- 指定显示文件一定范围的内容
比如:显示文件50~60行的内容。
指定显示指定范围的文件内容我们还可以使用管道。
📌 管道
先看怎么用:
说明:
这里管道相当于一个数据的桥梁,左侧命令执行的数据输出到管道进行流通,同时这些数据通过管道作为右侧命令执行的输入数据源。
注 : 管道也可以连接多个命令,它就像流水线一样进行数据加工。
🏠 有关时间命令
📌 date
- date命令可以直接用来查看系统时间。
- date在显示方面,使用者可以设定想要显示的格式,格式设定为一个加号后接数个标记,其中常用的标记如下:
%H : 小时
%M : 分钟
%S : 秒
%X : 相当于%H:%M:%S
%d : 日
%m : 月份
%Y : 完整年份
%F : 相当于%Y-%m-%d
使用示范 :
注 : 分隔符可以自己指定。
- 时间戳
bash
date +%s
时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数 。date +%s显示的就是时间戳,时间戳永远在线性递增,由操作系统在维护。
时间戳->时间 : date -d @时间戳
📌 cal
cal命令可以用来显示公历(阳历)日历。公历现在使国际通用的历法,又称格列历,通称阳历。"阳历"又名"太阳历",系以地球绕行太阳一周为一年,为西方各国所通用,故又名"西历"。
语法 : cal [参数] [月份] [年份]
功能 :用于查看日历等时间信息,如果只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份。
- cal + 年份 : 显示该年份的日历。
- cal : 显示当前日期
- cal -3:显示本年份当月的前一个月和后一个月。
🏠 find
语法 : find pathname -选项
功能 : 用于在文件树中查找文件,并做出相应的处理(可能访问磁盘)。
- Linux下find命令在目录结构中搜索文件,并执行指定的操作,它会真正在树状结构中按照dfs和bfs去找指定文件。
- 即使系统中含有网络文件系统(NFS),find命令在该文件系统中同样有效,只要你具有相应的权限。
- 在运行一个非常消耗资源的find命令时,很多人倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长时间(这里是指30G字节以上的文件系统)。
- find + 路径 + -name选项 + 文件 : 在指定路径按照文件名查找文件。
- -o选项:在指定路径下找多个文件,o其实就是或(or)的意思。
- find在结合通配符进行模糊匹配查找文件时需要带上双引号。
注 : ? 通配符代表一个字符。
find功能很强大,我们可以自行查阅它的其他选项进行使用。find选项
🏠 which
which命令可以用来查找指定命令。
📌 理解指令
通过which查找指令时,我们发现他们都在/bin目录下。
结论 : 指令就是一个可执行程序,也就是一个文件。
我们也可以使用文件的方式来执行命令:
我们的指令都在/bin目录下,也就是说我们命令行输入指令时,系统会在/bin目录下找对应的可执行程序并执行,如果对应可执行程序不在/bin目录下就会报错。
删除之后此时在/bin目录找不到对应可执行程序此时会报错:
🏠 alias
在使用which查找对应命令时我们发现对于ls和ll他们会出现alias。
alias是用来给指令取别名的,在这里系统默认给"ls -l"取别名为ll,给ls带上了显示颜色的选项。
别名是内存级的,我们关闭Xshell之后就不能使用该别名了,而像ll是登录之后系统自动生成的"ls -l"的别名。
🏠 grep && ps && top
📌 grep
语法 : grep [选项] + 搜寻的字符串 + 文件
功能 : 在文件中搜索字符串,将找到的行打印出来。
- grep能根据所给字符串来进行过滤打印。
- grep过滤内容是区分大小写的。
- -i 选项忽略大小写的不同,所有大小写视为相同。
- -v 选项是过滤打印出不匹配我们所给字符串的内容。
- -n 选项是带行号过滤。
- grep选项组合
- -E选项
grep选项中,-E选项可以用来扩展选项为正则表达式:
表示匹配文件末尾,字符需要在之前表示以字符结尾 a$表示以a结尾。
^表示匹配文件开始,字符需要在^之后表示以字符起始 ^a表示以a起始。
📌 ps -axj && top
- ps -axj可以用来查看Linux的进程相关信息。
- top命令用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况。
- 用ps命令和grep命令利用管道可以查看特定进程的信息。
🏠 zip/unzip
语法 : zip 压缩文件.zip 目录/文件
unzip dst.zip [-d yourdir]
功能 :将目录或文件压缩成zip格式。
- zip默认只打包目录本身。
- -r 递归式处理:把目录及其里面内容打包。
- -d 选项:解包到指定目录。
- 安装zip/unzip
bash
yum install -y zip unzip
🏠 tar
tar : 打包/解包,不打开直接查看内容。
- tar [-cxtzjvf] 文件与目录 ...参数
-c :建立一个压缩文件的参数指令(create 的意思)。
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
-C : 解压到指定目录。
- tar czf 目标.tgz 源文件/目录
- -x解包。 xvzf --> tar xzf 目标.tgz 【-C 目标目录】 -C解包到指定目录
🏠 bc
- bc指令可以用来简便地进行浮点运算(相当于是一个命令行计算器)。
- 可以使用bc来完成批量化计算。
🏠 uname-r
语法 : uname [选项]
功能 : uname可以用来获取linux主机所用的操作系统的版本,硬件的名称等基本信息。
常用选项:-a或-all详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称。
完。