【面向就业的Linux基础】从入门到熟练,探索Linux的秘密(十二)-管道、环境变量、常用命令

大致介绍了一下管道、环境变量、一些常用的基本命令,可以当作学习笔记收藏学习一下!!!

文章目录
前言

一、管道

二、环境变量

1.概念

2.查看

3.修改

4.常用环境变量

三、系统状况

总结


前言

大致介绍了一下管道、环境变量、一些常用的基本命令,可以当作学习笔记收藏学习一下!!!


提示:以下是本篇文章正文内容,下面案例可供参考

一、管道

文件重定向输入,以及重定向输出到文件。Shell 还有一种功能,就是可以将两个或者多个命令(程序或者进程)连接到一起,把一个命令的输出作为下一个命令的输入,以这种方式连接的两个或者多个命令就形成了管道(pipe)

连接多个命令,这被称为管道符。Linux 管道的具体语法格式如下:

复制代码
command1 | command2
command1 | command2 [ | commandN... ]

当在两个命令之间设置管道时,管道符|左边命令的输出就变成了右边命令的输入。只要第一个命令向标准输出写入,而第二个命令是从标准输入读取,那么这两个命令就可以形成一个管道。大部分的 Linux 命令都可以用来形成管道。

这里需要注意,command1 必须有正确输出,而 command2 必须可以处理 command2 的输出结果;而且 command2 只能处理 command1 的正确输出结果,不能处理 command1 的错误信息。

要点:

  • 管道命令仅处理stdout,会忽略stderr。
  • 管道右边的命令必须能接受stdin
  • 多个管道命令可以串联。

与文件重定向的区别:

  • 文件重定向左边为命令,右边为文件
  • 管道左右两边均为命令,左边有stdout,右边有stdin。

统计当前目录下所有python文件的总行数。

复制代码
find . -name '*.py' | xargs cat | wc -l

xargs将标准输入变成文件参数

wc -l 统计标准输入得内容的总行数

二、环境变量

1.概念

环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。 环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。

Linux系统中会用很多环境变量来记录配置信息。
环境变量类似于全局变量,可以被各个进程访问到。我们可以通过修改环境变量来方便地修改系统配置。

2.查看

列出当前环境下的所有环境变量:

java 复制代码
env  # 显示当前用户的变量
set  # 显示当前shell的变量,包括当前用户的变量;
export  # 显示当前导出成用户变量的shell变量

输出某个环境变量的值:

java 复制代码
echo $PATH

3.修改

环境变量的定义、修改、删除操作可以参考shell语法------变量这一节的内容

为了将对环境变量的修改应用到未来所有环境下,可以将修改命令放到~/.bashrc文件中。

修改完~/.bashrc文件后,记得执行source ~/.bashrc,来将修改应用到当前的bash环境下。

为何将修改命令放到~/.bashrc,就可以确保修改会影响未来所有的环境呢?

  • 每次启动bash,都会先执行~/.bashrc。
  • 每次ssh登陆远程服务器,都会启动一个bash命令行给我们。
  • 每次tmux新开一个pane,都会启动一个bash命令行给我们。
  • 所以未来所有新开的环境都会加载我们修改的内容。

4.常用环境变量

HOME:用户的家目录。

PATH:可执行文件(命令)的存储路径。路径与路径之间用:分隔。当某个可执行文件同时出现在多个路径中时,会选择从左到右数第一个路径中的执行。下列所有存储路径的环境变量,均采用从左到右的优先顺序。

LD_LIBRARY_PATH:用于指定动态链接库(.so文件)的路径,其内容是以冒号分隔的路径列表。

C_INCLUDE_PATH:C语言的头文件路径,内容是以冒号分隔的路径列表。

CPLUS_INCLUDE_PATH:CPP的头文件路径,内容是以冒号分隔的路径列表。

PYTHONPATH:Python导入包的路径,内容是以冒号分隔的路径列表。

JAVA_HOME:jdk的安装目录。

CLASSPATH:存放Java导入类的路径,内容是以冒号分隔的路径列表。

三、系统状况

top:查看所有进程的信息(Linux的任务管理器)

  • 打开后,输入M:按使用内存排序
  • 打开后,输入P:按使用CPU排序
  • 打开后,输入q:退出

查看硬盘使用情况

java 复制代码
df -h

查看内存使用情况

java 复制代码
free -h

查看当前目录占用的硬盘空间

java 复制代码
du -sh

查看所有进程

java 复制代码
ps aux

杀死编号为pid的进程

java 复制代码
kill -9 pid
  • 传递某个具体的信号
java 复制代码
kill -s SIGTERM pid

查看所有网络连接

java 复制代码
netstat -nt

列出当前登陆的用户

java 复制代码
w

检查是否连网

java 复制代码
ping www.baidu.com

总结

上述大致就是Linux的管道、环境变量和一些常用命令,可以当作笔记收藏一下!!!

相关推荐
寂柒1 小时前
线程同步与互斥——生产者、消费者模型
linux
雾岛听蓝1 小时前
C文件操作与系统IO
linux·c语言·开发语言·经验分享·笔记·算法
coderwei1231 小时前
Ubantu服务器构建openclaw并接入飞书
运维·服务器
开开心心就好2 小时前
跨平台高速下载工具,支持浏览器功能强大
运维·服务器·windows·pdf·旅游·媒体·1024程序员节
心易行者2 小时前
别再说“在我的机器上能跑”了!Docker 入门指南,专治各种环境不服
运维·人工智能·docker·容器
盐焗西兰花2 小时前
鸿蒙学习实战之路-Share Kit系列(7/17)-自定义分享面板操作区
linux·学习·harmonyos
Keanu-2 小时前
Redis 主从复制及哨兵模式配置
服务器·数据库·redis
Yupureki2 小时前
《C++实战项目-高并发内存池》3.ThreadCache构造
服务器·c语言·c++·算法·哈希算法
zhim002 小时前
【保姆级教程】使用 Docker 部署 PostgreSQL + pgvector(含踩坑指南)
linux·docker
开朗觉觉2 小时前
将json字符串转换为json对象
linux·服务器·python