【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详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称。


完。

相关推荐
内核程序员kevin2 小时前
TCP Listen 队列详解与优化指南
linux·网络·tcp/ip
朝九晚五ฺ6 小时前
【Linux探索学习】第十四弹——进程优先级:深入理解操作系统中的进程优先级
linux·运维·学习
自由的dream6 小时前
Linux的桌面
linux
xiaozhiwise7 小时前
Makefile 之 自动化变量
linux
谭震鸿8 小时前
Zookeeper集群搭建Centos环境下
分布式·zookeeper·centos
意疏9 小时前
【Linux 篇】Docker 的容器之海与镜像之岛:于 Linux 系统内探索容器化的奇妙航行
linux·docker
BLEACH-heiqiyihu9 小时前
RedHat7—Linux中kickstart自动安装脚本制作
linux·运维·服务器
一只爱撸猫的程序猿9 小时前
一个简单的Linux 服务器性能优化案例
linux·mysql·nginx
我的K840911 小时前
Flink整合Hudi及使用
linux·服务器·flink