Linux重定向和管道符

2023-05-16

Linux重定向和管道符

    • 1.Uid、gid是什么?
    • 2. linux中设置环境变量的几种方法
    • 3. 管道命令符和通配符
    • 4.输入输出重定向

1.Uid、gid是什么?

1.1 用户组、UID以及GID概念
用户组:将同一类用户设置为同一个组
如可将所有的系统管理员设置为admin组,便于分配权限,将某些重要的文件设置为所有admin组用户可以读写,这样可以进行权限分配。每个用户都有一个唯一的用户id,每个用户组都有一个唯一的组id。
GID为GroupId,即组ID,用来标识用户组的唯一标识符
UID为UserId,即用户ID,用来标识每个用户的唯一标示符

1.2 passwd配置文件中各个字段含义
账号:用户密码 用户ID 用户组ID 用户名全称 用户主目录 用户使用的shell

root : x : 0 : 0 : root : /root : /bin/bash

用户密码文件: 只有root用户可以读取保存在 / etc/shadow的配置文件;
用户组账号文件: 用户组帐号信息保存在 / etc/group 配置文件中,任何用户均可以读取。用户组的真实密码保存在 / etc/shadow 配置文件中;
添加用户:useradd [option] username;如不适用-d指令指定用户所在文件夹,默认创建在/home文件夹下面;
1.3 设置账号属性
(1)改变用户账号名 usermod -l 新用户名 原用户名
(2)锁定账户 usermod -L 要锁定的账户
(3)解锁账户 usermod -U nsj0820
(4)删除账户:userdel -r 账户名
(5)设置用户登录密码:passwd 用户名
(6)创建账户组:groupadd -r 用户组名
注:若命令带有 - r 参数,则创建系统用户组,该类用户组的 GID 值小于 500;若没有 - r 参数,则创建普通用户组,其 GID 值大于或等于 500

  groupadd -g 101 group2 

2. linux中设置环境变量的几种方法

2.1 在/etc/profile文件中添加变量(对所有用户生效)
添加变量,如export CLASSPATH=./JAVA_HOME/lib;$ CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib。修改完文件后如果想立即生效,需执行source /etc/profile,否则只能在下次重新进入此用户时生效;
2.2 修改.bash_profile文件(对单一用户生效)
编辑某用户目录下的.bash_profile文件,如
vi /home/antl/.bash_profile,添加环境变量
修改完文件后如果想立即生效,需执行source /home/profile/antl/.bash_profile,否则只能在下次重新进入此用户时生效。
2.3 直接在当前shell下设置变量
这种方法仅仅是临时使用,以后换shell的时候需要重新设置。在终端输入export JAVA_HOME=/usr/share/jdk1.6.0_14 即可。

3. 管道命令符和通配符

在bash中,管道符|用来连接多条命令,如命令1|命令2,即将命令1的正确输出作为命令2的输入对象。

 netstat -an | grep "ESTABLISHED"

netstat查询本地所有的网络连接,提取包含ESTABLISHED建立连接的行

netstat -an | grep "ESTABLISHED" | wc-l

按部就班地,前面为已建立连接的行,后面统计行数,所以此命令统计已建立链接的行数。
注:grep为文本搜索命令,grep 关键词 文本文件
在这里插入图片描述

4.输入输出重定向

1)
在这里插入图片描述
2)在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux重定向和管道符 的相关文章

  • 通过 Visual Studio 2017 使用远程调试时 Linux 控制台输出在哪里?

    我的Visual Studio 2017 VS2017 成功连接Linux系统 代码如下 include
  • 在centos中安装sqlite3 dev和其他包

    我正在尝试使用 cpanel 在 centos 机器上安装 sqlite dev 和其他库 以便能够编译应用程序 我对 debian 比 centos 更熟悉 我知道我需要的库是 libsqlite3 dev libkrb5 dev lib
  • 如何在linux中以编程方式获取dir的大小?

    我想通过 C 程序获取 linux 中特定目录的确切大小 我尝试使用 statfs path struct statfs 但它没有给出确切的大小 我也尝试过 stat 但它返回任何目录的大小为 4096 请建议我如何获取 dir 的确切大小
  • 尽管 if 语句,Visual Studio 仍尝试包含 Linux 标头

    我正在尝试创建一个强大的头文件 无需更改即可在 Windows 和 Linux 上进行编译 为此 我的包含内容中有一个 if 语句 如下所示 if defined WINDOWS include
  • 从 Xlib 转换为 xcb

    我目前正在将我的一个应用程序从 Xlib 移植到 libxcb 但在查找有关我有时使用的 XInput2 扩展的信息时遇到了一些麻烦 libxcb 中有 XInput2 实现吗 如果是的话 在哪里可以找到文档 目前我在使用此功能时遇到问题
  • 为什么opencv videowriter这么慢?

    你好 stackoverflow 社区 我有一个棘手的问题 我需要你的帮助来了解这里发生了什么 我的程序从视频采集卡 Blackmagic 捕获帧 到目前为止 它工作得很好 同时我用 opencv cv imshow 显示捕获的图像 它也工
  • 如何查找哪个 Yocto 项目配方填充图像根文件系统上的特定文件

    我经常与 Yocto 项目合作 一个常见的挑战是确定文件为何 或来自什么配方 包含在 rootfs 中 这有望从构建系统的环境 日志和元数据中得出 理想情况下 一组命令将允许将文件链接回源 即配方 我通常的策略是对元数据执行搜索 例如gre
  • 绕过 dev/urandom|random 进行测试

    我想编写一个功能测试用例 用已知的随机数值来测试程序 我已经在单元测试期间用模拟对其进行了测试 但我也希望用于功能测试 当然不是全部 最简单的方法是什么 dev urandom仅覆盖一个进程 有没有办法做类似的事情chroot对于单个文件并
  • linux下如何从文本文件中获取值

    我有一些文本格式的文件 xxx conf 我在这个文件中有一些文本 disablelog 1 当我使用 grep r disablelog oscam conf 输出是 disablelog 1 但我只需要值1 请问你有什么想法吗 一种方法
  • 如何使用Android获取Linux内核的版本?

    如何在 Android 应用程序中获取 Linux 内核的版本 不是 100 确定 但我认为调用 uname r 需要 root 访问权限 无论如何 有一种不太肮脏的方法可以做到这一点 那就是 System getProperty os v
  • 检查已安装的软件包,如果没有找到则安装

    我需要检查已安装的软件包 如果未安装则安装它们 RHEL CentOS Fedora 示例 rpm qa grep glibc static glibc static 2 12 1 80 el6 3 5 i686 如何在 BASH 中进行检
  • 如何让 Node.js 作为后台进程运行并且永不死掉?

    我通过 putty SSH 连接到 linux 服务器 我尝试将其作为后台进程运行 如下所示 node server js 然而 2 5 小时后 终端变得不活动 进程终止 即使终端断开连接 我是否也可以使进程保持活动状态 Edit 1 事实
  • ansible unarchive 模块如何查找 tar 二进制文件?

    我正在尝试执行一个 ansible 剧本 该剧本的任务是利用unarchive模块 因为我是在 OSX 上执行此操作 所以我需要使用它gnu tar 而不是bsd tar通常与 OSX 一起提供 因为BSD tar 不受官方支持 https
  • 研究缓冲区溢出时应该使用哪些版本的 GCC 或标志?

    最近 作为计算机工程专业的本科生 我一直在研究缓冲区溢出 出于兴趣 我开始研究缓冲区溢出 但在尝试在我的计算机上用 GCC 4 9 1 在 Debian Jessie 中 编译的我自己的 C 程序中实现它们时遇到了困难 我听说较新的编译器中
  • [A-Z] 表示 [A-Za-z] 是怎么回事?

    我已经注意到 至少在我使用的一些基于 Unix 的系统上 ls A Z 已经给了我预期的结果ls A Za z 让我无法轻松获得以大写字母开头的该死的文件列表 我刚刚遇到了同样的事情grep 我无法让它停止与小写字母匹配 A Z 直到我最终
  • 在运行时检查 GCC 版本

    我需要找出 C 程序执行过程中 运行时 可用的 系统中安装的 GCC 版本 主要版本和次要版本 意思是 以编程方式提取可用 gcc 的版本 就像我在 shell 中输入 gcc version 一样 但在 c 程序中 The GNUC an
  • 如何在文件中搜索多行模式?

    我需要找到包含特定字符串模式的所有文件 我想到的第一个解决方案是使用find管道与xargs grep find iname py xargs grep e YOUR PATTERN 但是 如果我需要查找跨越多行的模式 我就会陷入困境 因为
  • 如何在shell脚本中给出密码?

    在 shell 脚本文件中 我使用一些命令 例如scp and make install要求我输入密码 我运行一个 shell 脚本来编译一个大项目 一段时间后它会要求我输入密码才能使用scp 我需要等待该过程并在此之后提供密码 我只想通过
  • 在 scp 的简单函数包装中使用波形符 ~ 时出现问题

    我想放置一个简单的bash功能在我的 bashrc围绕着scp通过接受 源 参数和 目标 参数来命令 到目前为止已经尝试过 function send eval scp 1 user annoyingly long server name
  • 为 OpenWrt 编写和编译程序

    我有一个在 OpenWRT 下运行的具有 MIPS 架构的嵌入式设备 系统类型 MediaTek MT7628AN ver 1 eco 2机器 WRTnode2P 处理器 0CPU型号 MIPS 24KEc V5 5 我想通过我的电脑 ub

随机推荐

  • 电路设计——发光二极管限流电阻

    0 序 最近在设计电路画板子了 xff0c 画完发现 xff0c 这电阻电容咋用啊我去 于是来学一下电阻和电容的使用 1 限流电阻作用 限流电阻主要是为了防止电流过大损坏器件 这里的限流其实还起到分压的作用 xff0c 比如我们单片机出来的
  • stm32cubeMX+FreeRTOS(4)—— main函数while循环

    0 发现 想在主函数中打印一下串口数据 xff0c 发现一直打印不出来 xff0c 试了下开关小灯 xff0c 发现没有进main函数的while循环 xff0c 阿西吧 xff0c 我大概要重新看一下CubeMX的rtos架构了 本来打算
  • Docker常见操作

    记录docker使用过程中的常用操作 1 xff0c 拉取镜像 docker pull image name image tag such as ubuntu 18 04 2 xff0c 列出所有镜像和容器 docker images do
  • stm32cubeMX+FreeRTOS(5)—— 串口打印

    0 序 cubeMX的FreeRtos和hal库的打印方式一样 本文基于CubeMX6 1 1版本编写 xff0c 此时CubeMX6 3 1已经无法使用此代码 xff08 2022 1 17 xff09 1 CubeMX配置串口 点一下串
  • HLK-B36 WIFI/BLE 二合一透传沙雕按键说明

    模块如下 沙雕说明如下 实际操作如下 恢复出厂设置 xff1a 插usb上电 xff0c 长按ES0 6秒以上 xff0c WIFI灯和STA灯同时灭掉然后亮起 xff0c STA开始闪烁 进入AT模式方式1 xff1a 插上USB xff
  • VScode下载安装及使用教程

    0 序 1 下载 官网下载速度特别慢 xff0c 需要用国内镜像 官网 xff1a Visual Studio Code Code Editing Redefined国内 点进去之后会过慢慢打开下载链接 xff0c 速度非常慢 跳转到这个界
  • 再探C语言链表—TypeDef Struct模式声明链表节点

    0 序 之前看到的网上的书上的都是Struct直接创建节点 我记得typedef struct是大学时候数据结构课本上用来声明链表结点的方法 xff0c 这个方法让人容易操作链表 后来书本扔了 xff0c 再买了盗版书不知道是版本问题还是什
  • STM32CubeMX(6)——Printf导致程序卡死

    0 序 换电脑 xff0c 新安装的cubemx 6 3 0 xff0c vs2019 xff0c minGW7 0 xff0c 不晓得什么原因 xff0c 可能是他们使用了安全函数printf s和scanf s xff0c 导致keil
  • 字符串链式队列入队出队

    include 34 queue h 34 include 34 stdio h 34 include 34 malloc h 34 64 brief 链式队列数据结构定义 typedef struct QueueStruct char v
  • AD21几个容易忘记的快捷键

    CTRL 43 D 打开透明模式 适合等长操作 CTRL 43 M 测量距离 SHIFT 43 R 推挤走线 D 43 K 打开层叠管理器 t 43 v 43 g 从板框选择铺铜 设置鼠标滑过显示高亮 取消自动闭合回路 xff0c 用于打多
  • C字符队列

    链式队列数据结构定义 typedef struct QueueStruct char value struct QueueStruct next queueStruct void QueueInit brief 链式队列初始化 void E
  • QT+OpenGL(1)——包含头文件

    关于智能提示建议放弃Cmake生成 xff0c 直接包含头文件 xff0c 包含方法如下 如果找不到头文件 xff0c 直接用everything搜相应文件 xff0c 再给包含进去 需要新建文件夹 xff0c 新建文件 c cpp pro
  • 2d激光雷达(rplidar_s1)与双目摄像头联合标定

    前段时间由于项目需要使用摄像头 xff08 realsense d435i xff09 与单线激光雷达进行融合 xff0c 于是就对这两个传感器进行了标定 xff0c 使用的是CamLaserCalibraTool xff0c 这是别人开源
  • ubuntu生成&设置core文件,调试段错误

    在用ubuntu系统编码c 43 43 程序时 xff0c 经常遇到段错误 xff0c 以下介绍ubuntu系统下如何生成core文件 xff0c 设置core文件路径 xff0c 并进行调试core文件 xff0c 找到段错误原因 1 允
  • ECharts仪表盘设置主题文字颜色

    设置仪表盘中显示字体样式 xff1a 方式如下 xff1a eChartA setOption tooltip formatter 34 a lt br gt b c 34 toolbox show true feature mark sh
  • 【LWC】Resource not found异常的一个可能原因

    Resource not found异常的一个可能原因 场景 在我当前项目中 xff0c 有一个用来创建记录的LWC组件 创建记录的流程大致为以下三步 xff1a 用户输入信息用户点击保存 xff0c 后台处理数据 xff0c 创建记录记录
  • 使用apt-get update命令卡在waiting for headers

    今天 xff0c 想在自己的debian系统里面装下java8 xff0c 添加了一个源update的时候出现的点问题就ctrl c了 没想到之后再update就不行了 一直卡在100 正在读报头waiting for headers 网上
  • 四轴飞行器基本组成及其飞行原理详解

    近日 xff0c 自己组装了一台 四轴飞行器 xff1b 组装完后 xff0c 便想深究其原理 xff1b 避免只是 知其然 xff0c 却不知其所以然 xff1b 查阅资料后 xff0c 便在其他文章的基础上 xff0c 将此文 归纳整理
  • ubuntu20.04分区方案 for deeplearning

    一共分出4个系统分区 1 设置efi引导 因为是u盘的uefi启动 xff0c 因此设置一个efi引导项 具体参数 xff1a 大小 500到1024mb即可 xff08 视自身的存储空间而定 xff09 新分区的类型 xff1a 逻辑分区
  • Linux重定向和管道符

    Linux重定向和管道符 1 Uid gid是什么 xff1f 2 linux中设置环境变量的几种方法3 管道命令符和通配符4 输入输出重定向 1 Uid gid是什么 xff1f 1 1 用户组 UID以及GID概念 用户组 xff1a