【Linux网络编程】--- Linux基本指令(下)

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选项可以用来扩展选项为正则表达式:

  1. 表示匹配文件末尾,字符需要在之前表示以字符结尾 a$表示以a结尾。

  2. ^表示匹配文件开始,字符需要在^之后表示以字符起始 ^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详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称。


完。

相关推荐
小和尚同志1 小时前
29.4k!使用 1Panel 来管理你的服务器吧
linux·运维
帽儿山的枪手1 小时前
为什么Linux需要3种NAT地址转换?一探究竟
linux·网络协议·安全
就叫飞六吧9 天前
基于keepalived、vip实现高可用nginx (centos)
python·nginx·centos
shadon1789 天前
回答 如何通过inode client的SSLVPN登录之后,访问需要通过域名才能打开的服务
linux
小米里的大麦9 天前
014 Linux 2.6内核进程调度队列(了解)
linux·运维·驱动开发
算法练习生9 天前
Linux文件元信息完全指南:权限、链接与时间属性
linux·运维·服务器
忘了ʷºᵇₐ9 天前
Linux系统能ping通ip但无法ping通域名的解决方法
linux·服务器·tcp/ip
浩浩测试一下9 天前
渗透测试指南(CS&&MSF):Windows 与 Linux 系统中的日志与文件痕迹清理
linux·运维·windows·安全·web安全·网络安全·系统安全
敏叔V5879 天前
大模型Text2SQL之在CentOS上使用yum安装与使用MySQL
linux·mysql·centos
小生云木9 天前
Linux离线编译安装nginx
linux·运维·nginx