【Linux】(14)重定向的基础知识和使用

目录

一、解释型语言和编译型语言

        1.1 python解释器

        1.2 下载软件

        1.2.1 wget

        1.2.2 curl

        1.2.3 区别

二、判断用户是否存在

        2.1 id

        2.2 cat /etc/passwd

        2.2.1 grep

        2.3 用户的家目录

        2.3.1【用户可以没有家目录】

        2.3.2【用户的家目录不在/home】

        2.3.3 删除用户

        2.3.4 切换用户的注意事项

三、【前提】重定向

        3.1 标准输入和标准输出

        3.2 设置用户密码

        3.3 脚本练习

        3.3.1 if和$/p>

        3.2.1 shell完成

        3.3 输入输出重定向

        3.3.1 &>

        3.3.2 Linux操作系统的理论知识

        3.3.3 交互式硬件设备

        3.3.4 终端(w)

        3.3.5 利用重定向从一个终端输出到另一个终端

        3.3.6 ulimit 查看Linux内核的限制参数

四、练习(补充:kill)

         4.1 kill:踢出其他非法登录Linux系统的用户

        4.2 ssh远程登录

五、【使用】重定向

        5.1 标准正确输出重定向 >

        5.2 标准输出追加重定向 >>

        5.2.1 复制文件内容粘贴到另一个文件

        5.2.2 合并两个文件内容

        5.3 标准错误输出重定向 2>

        5.4 同时使用1>和2>

        5.5 清空文件但不删除

        5.6 正确和错误输出重定向

        5.7 标准的输入重定向

        5.8 here document(即

        5.8.1 将键盘输入的内容重定向到一个文件里

        5.8.2 生成一个指定内容的文件

        5.9 tee

六、设备文件

        6.1 /dev/null

        6.2 /dev/zero

七、read隐藏输入的密码


一、解释型语言和编译型语言

c语言–编译型:一次性编译成二进制文件,然后执行二进制文件,跟源代码文件无关。

        如果c语言源代码文件进行了修改,必须要重新编译,生成新的二进制文件,然后去执行新的二进制文件。

python–解释型:一行一行代码的去解释执行,只要源代码有更新就会重新根据源代码一行一行解释

【c的速度要比python快】

        1.1 python解释器

pypy、Cpython(用c语言写的)、Ipython、Jpython、Ironpython

        1.2 下载软件

        1.2.1 wget

【安装wget】yum install wget -y

        wget是Linux下的下载文件,类似于Linux里的迅雷。默认下载的软件存放在当前文件夹下。

【使用】wget + 链接地址

        1.2.2 curl

        curl是Linux下的字符界面的浏览器,也可以下载软件

【使用】curl -O +链接地址

        1.2.3 区别

wget:纯下载软件,需要自己安装

curl:Linux里的浏览器,默认就有,无需安装

二、判断用户是否存在

        2.1 id

查看用户的信息,可以用来判断用户是否存在

        2.2 cat /etc/passwd

一行一个用户

        2.2.1 grep

文本过滤,会根据字符串去匹配内容,如果一行里有匹配的字符串,就将整行输出到屏幕,如果没有找到就不输出。

        2.3 用户的家目录

        2.3.1【用户可以没有家目录】

useradd -r hanmeimei

-r 新建这个用户属于系统用户,不建立家目录

        2.3.2【用户的家目录不在/home】

useradd -d /beijin xiaolihua

如此,用户xiaolihua的家目录就在/beijin

-d 指定家目录的位置,默认是放在/home下,可以放到其他地方

        2.3.3 删除用户

userdel -r xiaolihua

删除用户xiaolihua,并且删除用户的家目录

        2.3.4 切换用户的注意事项

su – lihua

会加载新用户的环境变量,不使用上一个用户的环境变量

三、【前提】重定向

重新定义了他的输出方向。

改变命令的输出方向,本来标准输出往屏幕输出,重定向后命令就输出到文件。

不会影响命令的返回值

        3.1 标准输入和标准输出

标准输入(STDIN):standard input ==》接受从键盘输入

给计算机输入内容的方式:键盘输入、语言、图形图像(生物信息识别)、文件

标准输出(STDOUT):standard output ==》都是输出到屏幕

        其他输出方式:文件

        1.正确的标准输出

        2.错误的标准输出

标准输入和标准输出都是人和计算机在沟通交流方式上的确定。

常见的进程都会涉及标准输入和标准输出(系统调用和内核里的内容可能就没有标准输入和标准输出)

        3.2 设置用户密码

echo 123456 是在屏幕上输出123456

| 管道符号:是将前面一个命令的标准输出送给后面的一个命令作为标准输入

–stdin 是passwd命令的选项:作用是告诉passwd 管道符号传来的内容是可以作为标准输入使用的

【非交互式设置密码】

【交互式设置密码】

(在编写脚本时,常用非交互式设置密码,给用户设置密码)

        3.3 脚本练习

题目:接受用户输入的用户名和密码,帮助新建用户,并且设置密码。

(v2版本)(添加功能)如果用户名存在,就提醒用户重新输入,如果用户名不存在就新建。

可以使用shell或者python

        3.3.1 if和$/h3>

1.【if语句的语法】

2.echo $/strong>

输出上一条命令的返回值。为0时,表示执行成功;非0时,表示执行失败。

常见的非0返回值:1,2,127

                                127 表示命令不存在

                                1 表示命令执行失败,参数或者选项不对

                                2 表示命令执行失败,选项不对

        3.2.1 shell完成

【需求分析】

        接受用户输入:read

        新建用户:useradd

        设置密码:passwd

        脚本名字:create_user_pwd.sh

??shell脚本在执行的时候时从上而下,一条一条执行,中间某条命令执行失败,后面的命令依然会执行。

??python脚本在执行的时候时从上而下,一条一条执行,中间某条命令执行失败,后面的命令不会执行。

【v2版本】


  1. 来源:南昀晞

    声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年3月3日
下一篇 2022年3月3日

相关推荐