Linux学习第四天
< 返回列表时间: 2020-02-21来源:OSCHINA
【围观】麒麟芯片遭打压成绝版,华为亿元投入又砸向了哪里?>>>
第3章管道符、重定向与环境变量
输入输出重定向
--标准输入重定向(STDIN,文件描述符为0);默认从键盘输入,也可从其他文件或命令中输入
--标准输出重定向(STDOUT,文件描述符为1);默认输出到屏幕
--错误输出重定向(STDERR,文件描述符为2);默认输出到屏幕

输入重定向
--将文件导入到命令中 命令 < 文件 将文件作为命令的标准输入 命令 < < 分界符 从标准输入中读入,直到遇见分界符(任意字符串)才停止 命令 < 文件1 > 文件2 将文件1作为命令的标准输入并将标准输出到文件2
wc -l 命令
--作用是统计文件中内容的行数 [root@linuxperbe ~]# wc -l < readme.txt 将文件信息内容灌输到命令里并统计内容行数 wc -l <readme.txt 等同于 cat readme.txt | wc -l
输出重定向
--将原显示到屏幕的内容输出到指定文件里
输出重定向分类
--标准输出重定向(清空写入模式)
--错误输出重定向(追加写入模式) =============================================我·是·分·割·线=============================================
管道命令符
--格式:命令A | 命令B
--作用是把前一个命令原本要输出到屏幕的标准正常数据当作是后一个命令的标准输入(任意门) [root@linuxprobe ~]# grep "/sbin/nologin" /etc/passwd | wc -l 33 ls -l /etc | more 分页查看
--管道符不仅只能在一个命令中使用一次,支持多命令组合使用
--格式:命令A | 命令B | 命令C
密码重置 echo 密码 | passwd --stdin 用户名
--stdin指定接收密码的参数,密码来自于管道符的标准输入 [root@linuxprobe ~]# echo "linuxprobe" | passwd --stdin root Changing password for user root. passwd: all authentication tokens updated successfully. =============================================我·是·分·割·线=============================================
命令行的通配符
--作用是通用的匹配信息符号 星号(*) 代表匹配零个或多个字符 问号(?) 代表匹配单个字符 [0-9] 代表匹配0~9之间的单个数字字符 [a-z] 代表匹配a~z之间的单个小写字母字符 [A-Z] 代表匹配A~Z之间的单个大写字母字符 [A,C,G] 精准匹配某个字母 [1,3,5] 精准匹配某个数字
--e.g [root@linuxprobe ~]# ls -l /dev/sda* brw-rw----. 1 root disk 8, 0 May 4 15:55 /dev/sda brw-rw----. 1 root disk 8, 1 May 4 15:55 /dev/sda1 brw-rw----. 1 root disk 8, 2 May 4 15:55 /dev/sda2
--e.g [root@linuxprobe ~]# ls -l /dev/sda? brw-rw----. 1 root disk 8, 1 May 4 15:55 /dev/sda1 brw-rw----. 1 root disk 8, 2 May 4 15:55 /dev/sda2
--e.g [root@linuxprobe ~]# ls -l /dev/sda[0-9] brw-rw----. 1 root disk 8, 1 May 4 15:55 /dev/sda1 brw-rw----. 1 root disk 8, 2 May 4 15:55 /dev/sda2 [root@linuxprobe ~]# ls -l /dev/sda[1,3,5] brw-rw----. 1 root disk 8, 1 May 4 15:55 /dev/sda1 =============================================我·是·分·割·线=============================================
常用的转义符
--作用是用来处理输入的特殊数据
--常用的分为4种 反斜杠(\):使反斜杠后面的一个变量变为单纯的字符串 单引号(''):转义其中所有的变量为单纯的字符串(全局转义) 双引号(""):保留其中的变量属性,不进行转义处理 反引号(``):把其中的命令执行后返回结果
注意:
--如果参数里由空格用“ "括起,如果没有空格,加与不加都可以
--$(命令) = `命令`
--$$作用是显示当前程序的进程ID号码 [root@linuxprobe ~]# echo "Price is $$PRICE" Price is 3767PRICE
--要想让" $ "作为美元符号,需要使用反斜杠( \ )来进行转义 [root@linuxprobe ~]# echo "Price is \$$PRICE" Price is $5 =============================================我·是·分·割·线=============================================
重要的环境变量
--命令在Linux中执行分4步 1:判断用户是否以绝对路径或相对路径的方式输入命令(如/bin/ls),如果是的话则直接执行 2:Linux系统检查用户输入的命令是否为“别名命令”,即用一个自定义的命令名称来替换原本的命令名称 3:Bash解释器判断用户输入的是内部命令还是外部命令 4:系统在多个路径中查找用户输入的命令文件,而定义这些路径的变量叫作PATH
alias命令
--用于创建一个属于自己的别名
--格式:alias 别名=命令
unalias
--用于取消一个命令的别名
--格式:unalias 别名
type命令
--作用是判断用户输入的命令是内部命令还是外部命令
PATH变量
--是由多个路径值组成的变量,每个路径值之间用冒号间隔,路径的增加和删除操作将影响到 bash 解释器对Linux命令的查找
env命令
--用来查看Linux系统中所有的环境变量
export命令
--作用是将变量提升为全局变量
--格式:export 变量
Linux系统中最重要的10个环境变量 HOME 用户的主目录(即家目录) SHELL 用户在使用的Shell解释器名称 HISTSIZE 输出的历史命令记录条数 HISTFILESIZE 保存的历史命令记录条数 MAIL 邮件保存路径 ★ LANG ★ 系统语言、语系名称 RANDOM 生成一个随机数字 PS1 Bash解释器的提示符 PATH 定义解释器搜索用户执行命令的路径 EDITOR 用户默认的文本编辑器
注意:
--远程服务器显示乱码,则检查 LANG 变量
--更换Bash解释器的提示符
--格式:PS1=# =============================================我·是·分·割·线=============================================
第4章 Vim编辑器与Shell命令脚本
Vim编辑器分为三种模式
--命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找等工作
--输入模式:正常的文本录入
--末行模式:保存或退出文档,以及设置编辑环境

--想要切换到输入模式,在命令模式中按 a,i,o 键就可以了
--按a,i 键效果相同,光标都在同一行
--按o 键,则光标换到下一行
--想要切换到末行模式,在命令模式中输入冒号“:”就可以了
Vim中常用的命令 dd 删除(剪切)光标所在整行(剪切) 5dd 删除(剪切)从光标处开始的5行 yy 复制光标所在整行(复制) 5yy 复制从光标处开始的5行 n 显示搜索命令定位到的下一个字符串 N 显示搜索命令定位到的上一个字符串 u 撤销上一步的操作 p 将之前删除(dd)或复制(yy)过的数据粘贴到光标后面(粘贴) /top 找关键词(命令模式)
末行模式中的可用命令 :w 保存 :q 退出 :q! 强制退出(放弃对文档的修改内容) :wq! 强制保存退出 :set nu 显示行号 :set nonu 不显示行号 :命令 执行该命令 :整数 跳转到该行 :s/one/two 将当前光标所在行的第一个one替换成two :s/one/two/g 将当前光标所在行的所有one替换成two :%s/one/two/g 将全文中的所有one替换成two ?字符串 在文本中从下至上搜索该字符串 /字符串 在文本中从上至下搜索该字符串
以上是今天学习到的内容,有很多,难度有所提升,需要多练习
复习:第3章,Vim编辑器
预习:第4章

热门排行