【Linux第七课】管道、环境变量与常用命令

简介: 【Linux第七课】管道、环境变量与常用命令

7.1 管道

概念


管道类似于文件重定向,可以将前一个命令的stdout重定向到下一个命令的stdin。


要点


管道命令仅处理stdout,会忽略stderr。

管道右边的命令必须能接受stdin。

多个管道命令可以串联。

与文件重定向的区别


文件重定向左边为命令,右边为文件。

管道左右两边均为命令,左边有stdout,右边有stdin。

举例


统计当前目录下所有python文件的总行数,其中find、xargs、wc等命令可以参考常用命令这一节内容。


find . -name '*.py' | xargs cat | wc -l

1

7.2 环境变量

概念


Linux系统中会用很多环境变量来记录配置信息。


环境变量类似于全局变量,可以被各个进程访问到。我们可以通过修改环境变量来方便地修改系统配置。


查看


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


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

输出某个环境变量的值:


echo $PATH

修改


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


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


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


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


每次启动bash,都会先执行~/.bashrc。

每次ssh登陆远程服务器,都会启动一个bash命令行给我们。

每次tmux新开一个pane,都会启动一个bash命令行给我们。

所以未来所有新开的环境都会加载我们修改的内容。

常见环境变量


HOME:用户的家目录。

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

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

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

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

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

JAVA_HOME:jdk的安装目录。

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


7.3 常用命令

Linux命令非常多,本节讲解几个常用命令。其他命令依赖于大家根据实际操作环境,边用边查。


系统状况


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


打开后,输入M:按使用内存排序


打开后,输入P:按使用CPU排序


打开后,输入q:退出


df -h:查看硬盘使用情况


free -h:查看内存使用情况


du -sh:查看当前目录占用的硬盘空间


ps aux:查看所有进程


kill -9 pid:杀死编号为pid的进程


传递某个具体的信号:kill -s SIGTERM pid


netstat -nt:查看所有网络连接


w:列出当前登陆的用户


ping www.baidu.com:检查是否连网


文件权限


chmod:修改文件权限


chmod +x xxx:给xxx添加可执行权限


chmod -x xxx:去掉xxx的可执行权限


chmod 777 xxx:将xxx的权限改成777


chmod 777 xxx -R:递归修改整个文件夹的权限


注:ll显示当前目录下所有权限。总共十位:drwxrwxrwx,其中第一位表示当前文件类型d表示目录,-表示文件,l表示链接(例如快捷方式);二到四位表示当前用户权限,五到七位表示同组用户权限,八到十位表示其他用户权限。


文件检索


find /path/to/directory/ -name '.py’:搜索某个文件路径下的所有.py文件


grep xxx:从stdin中读入若干行数据,如果某行中包含xxx,则输出该行;否则忽略该行。


wc:统计行数、单词数、字节数


既可以从stdin中直接读入内容;也可以在命令行参数中传入文件名列表;

wc -l:统计行数

wc -w:统计单词数

wc -c:统计字节数

tree:展示当前目录的文件结构

tree /path/to/directory/:展示某个目录的文件结构

tree -a:展示隐藏文件

ag xxx:搜索当前目录下的所有文件,检索xxx字符串


cut:分割一行内容


从stdin中读入多行数据

echo $PATH | cut -d ‘:’ -f 3,5:输出PATH用:分割后第3、5列数据

echo $PATH | cut -d ‘:’ -f 3-5:输出PATH用:分割后第3-5列数据

echo $PATH | cut -c 3,5:输出PATH的第3、5个字符

echo $PATH | cut -c 3-5:输出PATH的第3-5个字符

sort:将每行内容按字典序排序

可以从stdin中读取多行数据

可以从命令行参数中读取文件名列表

xargs:将stdin中的数据用空格或回车分割成命令行参数

find . -name '.py’ | xargs cat | wc -l:统计当前目录下所有python文件的总行数

查看文件内容


more:浏览文件内容

回车:下一行

空格:下一页

b:上一页

q:退出

less:与more类似,功能更全

回车:下一行

y:上一行

Page Down:下一页

Page Up:上一页

q:退出

head -3 xxx:展示xxx的前3行内容

同时支持从stdin读入内容

tail -3 xxx:展示xxx末尾3行内容

同时支持从stdin读入内容

用户相关


history:展示当前用户的历史操作。内容存放在~/.bash_history中


工具


md5sum:计算md5哈希值

可以从stdin读入内容

也可以在命令行参数中传入文件名列表;

time command:统计command命令的执行时间


ipython3:交互式python3环境。可以当做计算器,或者批量管理文件。


! echo “Hello World”:!表示执行shell脚本

watch -n 0.1 command:每0.1秒执行一次command命令


tar:压缩文件


tar -zcvf xxx.tar.gz /path/to/file/*:压缩

tar -zxvf xxx.tar.gz:解压缩

diff xxx yyy:查找文件xxx与yyy的不同点

安装软件


sudo command:以root身份执行command命令


apt-get install xxx:安装软件


pip install xxx --user --upgrade:安装python包

目录
打赏
0
1
0
0
4
分享
相关文章
linux命令—tree
tree是一款强大的Linux命令行工具,用于以树状结构递归展示目录和文件,直观呈现层级关系。支持多种功能,如过滤、排序、权限显示及格式化输出等。安装方法因系统而异常用场景包括:基础用法(显示当前或指定目录结构)、核心参数应用(如层级控制-L、隐藏文件显示-a、完整路径输出-f)以及进阶操作(如磁盘空间分析--du、结合grep过滤内容、生成JSON格式列表-J等)。此外,还可生成网站目录结构图并导出为HTML文件。注意事项:使用Tab键补全路径避免错误;超大目录建议限制遍历层数;脚本中推荐禁用统计信息以优化性能。更多详情可查阅手册mantree。
linux命令—tree
linux命令—cd
`cd` 命令是 Linux/Unix 系统中用于切换工作目录的基础命令。支持相对路径与绝对路径,常用选项如 `-L` 和 `-P` 分别处理符号链接的逻辑与物理路径。实际操作中,可通过 `cd ..` 返回上级目录、`cd ~` 回到家目录,或利用 `cd -` 在最近两个目录间快速切换。结合 Tab 补全和 `pwd` 查看当前路径,能显著提升效率。此外,需注意特殊字符路径的正确引用及脚本中绝对路径的优先使用。
|
26天前
|
Linux命令拓展:为cp和mv添加进度显示
好了,就这样,让你的Linux复制体验充满乐趣吧!记住,每一个冷冰冰的命令背后,都有方法让它变得热情起来。
92 8
Linux环境下必备的基础命令概览
以上就是Linux系统中的基本命令和工具,掌握它们就能帮你在Linux世界里游刃有余。这其实就像是学习驾驭一辆新车,熟悉了仪表盘,调整好了座椅,之后的旅程就只需要享受风驰电掣的乐趣了。
48 4
linux命令—pwd
`pwd` 是 Linux/Unix 系统中的基础命令,用于显示用户当前所在的工作目录路径,帮助确认在文件系统中的位置。其核心功能包括打印逻辑路径(默认,-L 选项)和物理路径(-P 选项)。典型应用场景涵盖确认当前位置、调试符号链接问题及脚本编程中动态获取与操作路径。使用时需注意符号链接的区别、参数选择以及特殊字符处理,确保命令正确执行并满足需求。
|
2月前
|
Linux命令大全:echo与tail实现输出重定向。
这样,我们实现了使用echo和tail命令进行输出重定向的目的。在实际应用中,输出重定向技巧可节省时间,提高工作效率。希望本文内容对您了解和掌握Linux系统中echo与tail命令以及输出重定向的操作有所帮助。
122 27
linux命令使用消费kafka的生产者、消费者
linux命令使用消费kafka的生产者、消费者
138 16
linux命令—ls
`ls` 是 Linux 系统中用于列出目录内容的基础命令,功能强大且使用频率极高。它可以帮助用户查看文件、分析磁盘空间及检查权限等。常用选项如 `-l` 显示详细信息,`-a` 包含隐藏文件,`-h` 以易读格式展示大小,`-t` 按修改时间排序等。通过组合选项,可实现复杂需求,如递归遍历目录(`-R`)、显示 inode 号(`-i`)或结合正则过滤特定文件。注意权限限制、特殊字符处理及大规模目录操作可能带来的性能问题。掌握 `ls` 是高效使用 Linux 的关键一步。
linux文件重命名命令
本指南介绍Linux文件重命名方法,包括单文件操作的`mv`命令和批量处理的`rename`命令。`mv`可简单更改文件名并保留扩展名,如`mv old_file.txt new_name.txt`;`rename`支持正则表达式,适用于复杂批量操作,如`rename 's/2023/2024/' *.log`。提供实用技巧如大小写转换、数字序列处理等,并提醒覆盖风险与版本差异,建议使用`-n`参数预览效果。
Linux wget 常用命令详解
wget 是一款强大的命令行下载工具,支持 HTTP/HTTPS/FTP 协议。本文详细介绍其基础用法、高效下载参数、高级应用场景及参数速查。内容涵盖断点续传(-c)、后台下载(-b)、限速下载(--limit-rate)、递归下载(-r)、整站镜像(-mk)等实用功能,同时提供文件管理、网络优化与安全下载配置方法,助您高效完成各类下载任务。
AI助理
登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问

你好,我是AI助理

可以解答问题、推荐解决方案等