了解 Linux重定向 + 管道命令 + 环境变量PATH


前言

本篇了解 Linux重定向 + 管道命令 + 环境变量PATH,如有错误,请在评论区指正,让我们一起交流,共同进步!



本文开始

1. FHS

FHS:一套规定Linux的目录结构,规定各个目录都有它特点的功能;

2. 重定向

  • 人机交互,默认打开3个文件:
    1)标准输入 - stdin - 0
    2)标准输出 - stdout - 1
    3)标准错误输出 - stderr - 2

  • 重定向:
    1)一个大于号 > : echo “hello word” > file.txt
    #> 输出重定向:本来输出到显示器上的,结果输出到文件中;① 写入到指定文件 ② 覆盖写 ;
    2)两个大于号 >>:echo "hello " >> file.txt
    #>> 追加重定向,会在文件结尾,追加内容;
    3)一个小于号 < :cat < file.txt
    #< : 将文件打开,作为程序的数据源;

【注】大于号 只重定向标准输出!
例如:find /home -name test.c > msg.txt - > 标准错误会输出到显示器上, 标准输出放入了msg.txt文件;
find /home -name test.c > msg.txt 2>&1 ->将标准错误也放入msg.txt文件中
#/dev/null -> 信息黑洞,丢弃不要的内容;
例:find /home -name test.c 2> /dev/null

3. 管道

  • last 命令 -> last | head -5
    last : 显示历史登录信息
    head -5 : 将文本行的前5行内容进行显示;
    | -> 管道: 传输数据

last | grep zhang | wc -l -> zhang: 是用户 ->显示历史登录用户zhang一共登录了多少回;
grep: 按照行为单位,进行关键字过滤
wc -l:统计行数

4. 环境变量 - PATH

可执行程序:命令、程序、工具都统称 可执行程序;
一条命令执行过程本质:
① 找到 - 找到命令路径 -》通过PATH查找
② 执行

  • PATH
    在系统中,可执行程序的搜索路径保存在一个 全局 变量 PATH中;
    -》PATH给系统提供命令的搜索路径;
    -》 PATH保存了多条路径,路径之间用 “ :” 隔开;
    -》路径搜索从左往右开始查找;

touch mycmd.c -> vim mycmd.c
前提:不是系统命令,执行需要./mycmd才能执行;系统命令 mycmd就可以执行;现在修改命令,让mycmd达到系统命令的程度,这样之间输入mycmd就可以直接执行;
1)sudo cp mycmd /usr/bin -》将mycmd命令拷贝到系统命令目录中;- 不推荐
2)将当前路径添加到环境变量中:export PATH=$PATH:/home/zhang -> 冒号后面为添加的命令;

  • which 命令 -》查找路径的
    which mycmd -> 找mycmd的路径

5. 权限管理

Linux两种用户:
超级用户:命令提示符是 - # - 无限制
普通用户:命令提示符是 - $ - 有限制

  • 用户切换
  1. su / su - : 都是转为root用户; su 使用当前路径,su - 跳转到root的家目录(/root); -》 输入的root的密码
  2. sudo -s : 输入的是自己的密码
    3)普通用户 -》 root用户:su / su -
    root用户 -》普通用户:exit / ctrl + d
  • 文件的权限
    1)属性:读,写,执行
    2)人:文件拥有者,文件的所属组,文件的其他

  • 文件类别:linux 是开头标识的
    1)d:目录
    2)-:普通文件
    3)b:块设备
    4)c:字符设置
    5)p:管道
    6)s:socket 文件
    7)l:链接文件

  • 认识权限
    例:d rwx rwx r-x : d是标识目录;后面9个字符三个三个为一组,分别对应之前的 拥有者,所属组,其他;r - 读权限,w - 写权限,x - 执行权限;

  • chmod命令 - 修改权限
    1)chmod + u… + g… + o…
    加一个权限 chmod u+x file.txt;
    删除文件有的全部权限:chmod g-rw file.txt;
    加上全部权限:chmod o+rwx file.txt
    chmod u-x,g+rwx,o-rwx file.txt -> 拥有者减去权限x, 所属组权限加上全部, 其他人权限减去rwx;
    【注】u : 拥有者, g:所属组,o:其他;
    所属文件类型 + 3组权限 + 拥有者名称 + 所属组名称 + 文件大小 + 最后修改时间;
    2)chmod + 八进制 + file_name
    666 <=> -rw-rw-rw-
    866 <=> -rwx-rw-rw-

修改拥有者名称:sudo chown root file.txt
修改所属组名称:sudo chgrp root file.txt
一起修改:sudo chown zhang:zhang file.txt

【注】进入一共目录需要权限 x -> 执行权限;

  • echo写内容:echo “hello” >> file.txt

总结

✨✨✨各位读友,本篇分享到内容如果对你有帮助给个👍赞鼓励一下吧!!
感谢每一位一起走到这的伙伴,我们可以一起交流进步!!!一起加油吧!!!

  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值