Linux系统学习之 三:新手必须掌握的Linux命令3
内容预览
1、输入输出重定向
2、管道命令符
3、命令行的通配符
4、常用的转义符号
5、重要的环境变量
一、输入输出重定向
重定向技术的5种模式:
1 标准覆盖输出重定向
标准追加输出重定向
错误覆盖输出重定向
错误追加输出重定向
输入重定向
标准输入重定向:(STDIN,文件描述符为):默认从键盘输入,也可从其他文件或命令中输入
标准输出重定向:(STDOUT,文件描述符为):默认输出到屏幕
错误输出重定向:(STDERR,文件描述符为):默认输出到屏幕
输入重定向中用到的符号及作用
1 命令 < 文件 //将文件作为命令的标准输入
命令 << 分界符 //从标准输入中读入,直到遇到分界符才停止
命令 < 文件1 > 文件2 //将文件1作为命令的标准输入并将标准输出到文件2
输出重定向中用到的符号及作用
1 命令 > 文件 //将标准输出重定向到一个文件中(清空原有文件的数据)
命令 >> 文件 //将标准输出重定向到一个文件中(追加到原有内容的后面)
命令 2> 文件 //将错误输出重定向到一个文件中(清空原有文件的数据)
命令 2>> 文件 //将错误输出重定向到一个文件中(追加到原有内容的后面) 命令 >> 文件 2>&1
或 //将标准输出与错误输出共同写入到文件中(追加到原有内容的后面)
6 命令 &>> 文件
二、管道命令符
三、命令行的通配符
(*):代表匹配0个或多个字符
(?):代表匹配单个字符
[0-9]:代表匹配0-9之间的单个数字的字符
[abc]:代表匹配a、b、c三个字符中的任意一个字符
四、常用的转义字符
4个最常用的转义字符:
1 反斜杠(\):使反斜杠后面的一个变量变为单纯的字符串
单引号(''):转义其中所有的变量为单纯的字符串
双引号(""):保留其中的变量属性,不进行转义处理
反引号(``):把其中的命令执行后返回结果
伍、重要的环境变量
命令在Linux中的执行分为4个步骤:
- 第1步:判断用户是否以绝对路径或相对路径的方式输入命令(如 /bin/ls ),如果是的话则直接执行。
- 第2步:检查用户输入的命令是否为“别名命令”,即用一个自定义的命令名称来替换原本的命令系统。
- 第3步:Bash解释器判断用户输入的是内部命令还是外部命令。
- 内部命令是解释器内部的指令,会被直接执行;
- 外部命令交由步骤4继续处理;
- 第4步:系统在多个路径中查找用户输入的命令文件
- 定义这些路径的变量叫作PATH,可以简单地理解成“解释器的小助手”;
- 作用是告诉Bash解释器待执行的命令可能存放的位置;
- 然后Bash解释器就会按照这些位置逐个查找;
env命令:查看系统中所有的环境变量
[root@centos110 opt]# env #查看系统中所有的环境变量
XDG_SESSION_ID=
HOSTNAME=centos110
TERM=xterm
SHELL=/bin/bash #用户在使用的Shell解释器名称
HISTSIZE=1000 #输出的历史命令记录条数
SSH_CLIENT=192.168.1.118
SSH_TTY=/dev/pts/
USER=root
LS_COLORS=rs=:di=;:ln=;:mh=:pi=;:so=;:do=;:bd=;;:cd=;;:or=;;:mi=;;;:su=;:sg=;:ca=;:tw=;:ow=;:st=;:ex=;:*.tar=;:*.tgz=;:*.arc=;:*.arj=;:*.taz=;:*.lha=;:*.lz4=;:*.lzh=;:*.lzma=;:*.tlz=;:*.txz=;:*.tzo=;:*.t7z=;:*.zip=;:*.z=;:*.Z=;:*.dz=;:*.gz=;:*.lrz=;:*.lz=;:*.lzo=;:*.xz=;:*.bz2=;:*.bz=;:*.tbz=;:*.tbz2=;:*.tz=;:*.deb=;:*.rpm=;:*.jar=;:*.war=;:*.ear=;:*.sar=;:*.rar=;:*.alz=;:*.ace=;:*.zoo=;:*.cpio=;:*.7z=;:*.rz=;:*.cab=;:*.jpg=;:*.jpeg=;:*.gif=;:*.bmp=;:*.pbm=;:*.pgm=;:*.ppm=;:*.tga=;:*.xbm=;:*.xpm=;:*.tif=;:*.tiff=;:*.png=;:*.svg=;:*.svgz=;:*.mng=;:*.pcx=;:*.mov=;:*.mpg=;:*.mpeg=;:*.m2v=;:*.mkv=;:*.webm=;:*.ogm=;:*.mp4=;:*.m4v=;:*.mp4v=;:*.vob=;:*.qt=;:*.nuv=;:*.wmv=;:*.asf=;:*.rm=;:*.rmvb=;:*.flc=;:*.avi=;:*.fli=;:*.flv=;:*.gl=;:*.dl=;:*.xcf=;:*.xwd=;:*.yuv=;:*.cgm=;:*.emf=;:*.axv=;:*.anx=;:*.ogv=;:*.ogx=;:*.aac=;:*.au=;:*.flac=;:*.mid=;:*.midi=;:*.mka=;:*.mp3=;:*.mpc=;:*.ogg=;:*.ra=;:*.wav=;:*.axa=;:*.oga=;:*.spx=;:*.xspf=;:
MAIL=/var/spool/mail/root #邮件保存路径
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin #定义解释器搜索用户执行命令的路径
PWD=/opt
LANG=en_US.UTF-8 #系统语言、语系名称
HISTCONTROL=ignoredups
SHLVL=
HOME=/root #用户的主目录(即家目录)
LOGNAME=root
XDG_DATA_DIRS=/root/.local/share/flatpak/exports/share/:/var/lib/flatpak/exports/share/:/usr/local/share/:/usr/share/
SSH_CONNECTION=192.168.1.118 192.168.1.110
LESSOPEN=||/usr/bin/lesspipe.sh %s
XDG_RUNTIME_DIR=/run/user/
_=/usr/bin/env
OLDPWD=/tmp
export命令:将局部变量提升为全局变量
[root@centos110 opt]# mkdir /home/workdir
[root@centos110 opt]# WORKDIR=/home/workdir
[root@centos110 opt]# cd $WORKDIR
[root@centos110 workdir]# pwd
/home/workdir
[root@centos110 workdir]# su md
[md@centos110 workdir]$
[md@centos110 workdir]$ cd $WORKDIR
[md@centos110 ~]$ pwd
/home/md
[md@centos110 ~]$ echo $WORKDIR [md@centos110 ~]$ exit
exit
[root@centos110 workdir]# export WORKDIR #将WORKDIR提升为全局变量
[root@centos110 workdir]# su md
[md@centos110 workdir]$ cd $WORKDIR
[md@centos110 workdir]$ pwd
/home/workdir
Linux系统学习之 三:新手必须掌握的Linux命令3的更多相关文章
- Linux系统学习笔记:文件I/O
Linux支持C语言中的标准I/O函数,同时它还提供了一套SUS标准的I/O库函数.和标准I/O不同,UNIX的I/O函数是不带缓冲的,即每个读写都调用内核中的一个系统调用.本篇总结UNIX的I/O并 ...
- 谈谈我对Linux系统学习的历程回顾
众所周知,Windows 和Linux 是目前最流行的2个操作系统.Windows系统适合普通用户,它的优势是图形化界面,简单易用,使用起来门槛很低,很容易上手,所以,windows占有了大多数普 ...
- Linux 系统学习梳理_【All】
第一部分---基础学习 00.Linux操作系统各版本ISO镜像下载 00.Linux系统下安装Vmware(虚拟机) 00.Linux 系统安装[Redhat] 00.Linux 系统安装[Cent ...
- Linux系统学习之文件管理
Linux目录分布通常是树形,所以它的结构又称为目录树. 一.文件和目录管理 [root@Cfhost-170820-UCNK /]# cd / [root@Cfhost-170820-UCNK /] ...
- Linux系统初学-第三课 Linux网络配置1
Linux系统初学-第三课 Linux网络配置 1.动态IP配置 配置文件路径 /etc/sysconfig/network-scripts/ ls查看网卡eth0,其中HWADDR值得获取:ifco ...
- Linux系统学习笔记(1)
学习地址:http://www.runoob.com/linux/linux-tutorial.html 1.学习Windows和Linux哪个比较难? 前期是Windows容易学习,后期是Linux ...
- Linux系统网络设备启动和禁止“ifconfig eth0 up/down”命令的跟踪
前面文章讲了Linux系统的ethtool框架的一些东西,是从用户空间可以直观认识到的地方入手.同样,本文从Linux系统绝大部分人都熟悉的“ifconfig eth0 up”命令来跟踪一下此命令在内 ...
- Linux系统中CPU使用率查询常用的5个命令
在程序开发中,我们一般都是在Linux系统上进行开发,因此对Linux系统的维护工作很重要.在Linux系统维护中,我们需要经常查看的就是cpu的使用率,分析系统的整体运行情况.那CPU使用率怎么查询 ...
- Docker学习(三)认识Docker和常用命令
Docker学习(三)认识Docker和常用命令 Docker体系结构 docker服务端,作为服务的提供方,核心进程 docker daemon,所有docker命令都是通过这个进程完成的 REST ...
随机推荐
- PHP项目的设计过程
过程说明: 1)产品部依据需求设计出原型图和需求文档. 2)产品部和需求方与技术一起过一遍需求. 这样能够让需求方确认需求:和所參与的技术(设计部,制作部,php,測试部等)对要设计的产品有一个大致的 ...
- Android 下使用opencv
两种方式: 1.java API 2.Native/C++ 方式,OpenCV.mk中默认使用动态库的方式链接opencv,设置OPENCV_LIB_TYPE:=STATIC 以静态库方式调用 htt ...
- jabberNet 修改花名册条目的昵称
修改昵称,这么简单的功能,在jabberNet里怎么实现? 翻遍了jabberNet里的代码,jabber.client.RosterManager也,JabberClient也,似乎都没有现成的方法 ...
- alsa 用户空间编程【转】
本文转载自:http://blog.csdn.net/sjin_1314/article/details/12872581 /**alsa play test *ALSA用户空间编译,ALSA驱动的声 ...
- C# 读取ini文件 百度问问学习文档
C# 读取ini文件 10 有多个section,现想读取整个ini文件和指定section下所有内容 补充: 发布答案可以,请对准题目啊,我不要指定节点的内容,我知道!我要的是读取指定区域的内容,假 ...
- 442C
贪心 感觉思路很奥妙 首先我们把那些比两边小的数删掉,因为不删的话两边的数就会选这个数,这样就成了先上升后下降的序列,很明显除了第一第二大的数都能选,然后统计就好了. #include<bits ...
- 利用html sessionStorge 来保存局部页面在刷新后回显,保留
转自:https://blog.csdn.net/u011085172/article/details/77320562 在一个页面里面,有个局部页面记录这当前session的任务记录,之前用的coo ...
- 80.用户管理 Extjs 页面
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" ...
- PCB Genesis增加轮廓字 实现原理
在Genesis增加汉字自带是不支持增加汉字的,如果需增加汉字需用到CAD 汉字库才可增加汉字,这里介绍一种脱离汉字库实现 Genesis增加轮廓字(如要变为实体,填空Surface可变为实体字) 一 ...
- ecshop类的解析1
前面写了一下我理解的ecshop数据库表,现在看一下我理解的ecshop的类. ecshop类,ECS是一个基础类,它的取得域名的函数我感觉是比较不错的. function get_domain() ...