余晖落尽暮晚霞,黄昏迟暮远山寻
本站
当前位置:网站首页 > 编程知识 > 正文

Linux运维——解析Path环境变量、基础命令、bash使用、重定向

xiyangw 2023-05-14 11:53 12 浏览 0 评论

Linux

Linux运维——解析Path环境变量、基础命令、bash使用、重定向

path设置:环境变量path,命令搜索路径

vi /root/.bashrc

path=$path:路径

export path=$path:/usr/local/apache/bin export可有可无

export path=/usr/local/mysql/bin:$path

echo "export PATH=\$PATH:/usr/local/mysql/bin" > /etc/profile.d/mysql.sh

animals=pig

animals=$animals:goat 追加goat到变量animals中

mkdir:创建目录

mkdir -v (verbose) 详细信息

mkdir -p /mnt/test/{x/m,y} {}:命令行展开

目录管理:

ls、cd、pwd、mkdir、rmdir、tree

文件管理:

touch、stat、file、rm、cp、mv、nano

日期时间:

date、clock、hwclock、cal

查看文本:

cat、tac、more、less、head、tail

bash:

shell自身也是一个可执行文件,输入用户名和密码之后启动了shell

type bash:bash自身是外部命令,是一个进程,但带有内部命令

bash有子bash之称,在终端中输入两次bash,用pstree即可查看到,退出当前bash,用exit

bash:

1、命令历史、命令补全

2、管道、重定向

3、命令别名

4、命令行编辑

5、命令行展开

6、文件名通配

7、变量

8、编程(shell 脚本)

命令行编辑:

光标跳转:

ctrl+a命令行首

ctrl+e命令行尾

ctrl+u删除光标至命令行首的内容

ctrl+k删除光标至命令行尾的内容

ctrl+l清屏

命令历史:bash会自动记录过去执行过的命令,会保存在内存的一段缓存history中

history -c 删除历史

history -d 500 删除第500个

history -d 500 10删除第500以后的10个

history -w保存命令历史至历史文件

histsize 命令历史缓存区大小,echo $HISTSIZE,进程结束了,内存缓存区就会没了。正常关机的时候,缓存会被保存到家目录的.bash_history隐藏文件中

!n执行命令历史中的第n条命令

!-n执行命令历史中的倒数第n条命令

!!执行上一条命令

!字符串:表示执行命令历史中以指定字符串开头的命令

!$引用前一个命令的最后一个参数

按下esc,在按点:表示引用前一个命令的最后一个参数

ctrl+点:表示引用前一个命令的最后一个参数

tab补全:

命令补全:在path环境变量搜索补全的

路径补全:在给的字符串打头路径中搜索

命令别名:给命令起另外一个名字,别名只在shell进程的生命周期有效;为了永久有效,可以在shell的配置文件中写明,作用范围设置可以全局有效

alias:显示系统的所有别名

alias cmdalias=’command [options] [arguments]’

alias cls=clear

type alias:显示alias为shell内部命令

unalias+别名:撤销别名

\别名:使用命令本身

echo "alias mysqlroot='mysql -uroot -hlocalhost -p'" >> /etc/rc.d/rc.local

echo "alias mysqlroot='mysql -uroot -hlocalhost -p'" >> /root/.bashrc

命令替换:把命令的某个子命令替换其执行结果的过程$(command)=反引号(左边波浪线的)`command`

echo “the current directory is $(pwd)”

touch ./file-$(date +%Y-%m-%d_%H:%M:%S).txt

bash支持的引号:

``命令替换

“”弱引用,可以实现变量替换,变量替换:本来是变量名,把它替换成变量中的值

‘’强引用,不完成变量替换

命令行展开机制:

~~

{}展开

名称展开:又称文件名通配(globbing):

*匹配任意长度的任意字符

?匹配任意单个字符

[]匹配指定范围内的单个任意字符[a-za-z] ls a*

[^]:匹配指定范围之外的任意单个字符

[:space:]空白字符

[:punct:]标点符号

[:lower:]小写字母

[:upper:]大写字母

[:alpha:]大小写字母

[:digit:]数字

[:alnum:]数字和大小写字母

[[:alpha:]]*[[:space:]]*[^[:alpha:]]

man 7 glob

bash的配置文件:

全局配置:

/etc/profile /etc/profile.d/*.sh /etc/bashrc

个人配置:

~/.bash_profile ~/.bashrc

profile类的文件:

设置环境环境

运行命令或脚本(一登录就显示什么信息等)

bashrc:

设置本地变量

定义命令别名

登录式shell如何读取配置文件?

/etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc

非登录式shell如何读取配置文件?

~/.bashrc --> /etc/bashrc --> /etc/profile.d/*.sh

定义别名永久生效(只对本用户生效):下次登录有效

vi ~/.bashrc

alias cls=clear

定义登录进来显示一些信息(只对本用户生效)

vi ~/.bash_profile

echo “hello,hive,welcome to our system it is `date`”

定义登录时umask为027(默认为002,在/etc/bashrc中定义了)

vi ~/.bash_profile

umask 027

系统设定:

默认输出设备:标准输出:stdout 文件描述符 1 显示器

默认输入设备:标准输入:stdin 0 键盘

标准错误输出(与标准输出是不同的数据流):stderr 2 显示器

io重定向:改变输入来源和输出设备

< 输入重定向 cat < /etc/fstab tr 'a-z' 'a-z' < /etc/fstab

<< 在此处生成文档 cat << end/eof

> 输出重定向ls /var > /home/zhoudizhuang/1,覆盖输出(原有内容覆盖掉)

>> 追加输出,在文件尾部在添加,不覆盖原有内容

2> 重定向错误输出

2>> 追加方式重定向错误输出

&> 重定向标准输出或错误输出到同一件文件

cat >> /home/mozhuang/1.txt << end 输入内容放到1.txt中,end为结束标志

set -c 不准覆盖,这种情况下强制覆盖输出,使用 >| +c允许覆盖

2>&1 表示2的输出重定向等同于1

1>&2 啥输出都没有

1>/dev/null 首先表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,说白了就是不显示任何信息。

command > filename 2>&1 把标准输出和标准错误一起重定向到filename文件中(覆盖)

command < filename >filename2 把标准输入重定向到filename文件中,把标准输出重定向到filename2文件中

管道:前一个命令的输出当做后一个命令的输入

命令1 | 命令2 :命令1的输出作为命令2的输入

echo &ldquo;hello&rdquo; | tee /home/mozhuang/1.txt

tee :既能将数据保存到文件中,又能输出到屏幕

相关推荐

辞旧迎新,新手使用Containerd时的几点须知

相信大家在2020年岁末都被Kubernetes即将抛弃Docker的消息刷屏了。事实上作为接替Docker运行时的Containerd在早在Kubernetes1.7时就能直接与Kubelet集成使...

分布式日志系统ELK+skywalking分布式链路完整搭建流程

开头在分布式系统中,日志跟踪是一件很令程序员头疼的问题,在遇到生产问题时,如果是多节点需要打开多节点服务器去跟踪问题,如果下游也是多节点且调用多个服务,那就更麻烦,再者,如果没有分布式链路,在生产日志...

Linux用户和用户组管理

1、用户账户概述-AAA介绍AAA指的是Authentication、Authorization、Accounting,即认证、授权和审计。?认证:验证用户是否可以获得权限,是3A的第一步,即验证身份...

linux查看最后N条日志

其实很简单,只需要用到tail这个命令tail-100catalina.out输入以上命令,就能列出catalina.out的最后100行。...

解决linux系统日志时间错误的问题

今天发现一台虚拟机下的系统日志:/var/log/messages,文件时间戳不对,跟正常时间差了12个小时。按网上说的执行了servicersyslogrestart重启syslog服务,还是不...

全程软件测试(六十二):软件测试工作如何运用Linux—读书笔记

从事过软件测试的小伙们就会明白会使用Linux是多么重要的一件事,工作时需要用到,面试时会被问到,简历中需要写到。对于软件测试人员来说,不需要你多么熟练使用Linux所有命令,也不需要你对Linux...

Linux运维之为Nginx添加错误日志(error_log)配置

Nginx错误日志信息介绍配置记录Nginx的错误信息是调试Nginx服务的重要手段,属于核心功能模块(nginx_core_module)的参数,该参数名字为error_log,可以放在不同的虚机主...

Linux使用swatchdog实时监控日志文件的变化

1.前言本教程主要讲解在Linux系统中如何使用swatchdog实时监控日志文件的变化。swatchdog(SimpleWATCHDOG)是一个简单的Perl脚本,用于监视类Unix系统(比如...

syslog服务详解

背景:需求来自于一个客户想将服务器的日志转发到自己的日志服务器上,所以希望我们能提供这个转发的功能,同时还要满足syslog协议。1什么是syslog服务1.1syslog标准协议如下图这里的fa...

linux日志文件的管理、备份及日志服务器的搭建

日志文件存放目录:/var/log[root@xinglog]#cd/var/log[root@xinglog]#lsmessages:系统日志secure:登录日志———————————...

运维之日志管理简介

日志简介在运维过程中,日志是必不可少的东西,通过日志可以快速发现问题所在。日志分类日志分类,对不同的日志进行不同维度的分析。操作系统日志操作系统是基础,应用都是在其之上;操作系统日志的分析,可以反馈出...

Apache Log4j 爆核弹级漏洞,Spring Boot 默认日志框架就能完美躲过

这两天沸沸扬扬的Log4j2漏洞门事件炒得热火朝天:突发!ApacheLog4j2报核弹级漏洞。。赶紧修复!!|Java技术栈|Java|SpringBoot|Spring...

Linux服务器存在大量log日志,如何快速定位错误?

来源:blog.csdn.net/nan1996jiang/articlep/details/109550303针对大量log日志快速定位错误地方tail/head简单命令使用:附加针对大量log日志...

Linux中查看日志文件的正确姿势,求你别tail走天下了!

作为一个后端开发工程师,在Linux中查看查看文件内容是基本操作了。尤其是通常要分析日志文件排查问题,那么我们应该如何正确打开日志文件呢?对于我这种小菜鸡来说,第一反应就是cat,tail,vi(或...

分享几款常用的付费日志系统,献给迷茫的你!

概述在前一篇文章中,我们分享了几款免费的日志服务器。他们各有各的特点,但是大家有不同的需求,有时免费的服务器不能满足大家的需要,下面推荐几款付费的日志服务器。1.Nagios日志服务器Nagio...

取消回复欢迎 发表评论: