Linux shell基础
1、系统命令分类
(1)内建命令:命令位于shell内,不需要shell进行翻译可以直接交给内核处理,没有可执行程序
exit logout
(2)外部命名:位于shell以外,需要shell进行翻译,有对应的可执行程序
ls cd
# whereis 命令 ---查找命令可执行程序所在的路径
2、环境变量
(1)windows环境变量
C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;%SystemRoot%\system32;
%SystemRoot%;
%SystemRoot%\System32\Wbem;
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\
(2)linux环境变量
①常用的环境变量
PATH ---规定了命令的可执行程序的搜索路径
PS1 ---规定了命令提示符的显示格式
HOME ---当前用户的家目录
PWD ---当前用户所在的路径
SHELL ---当前用户使用的shell版本
②提取环境变量值
# echo $SHELL --- $ 变量提取符
[root@localhost ~]# echo $SHELL
/bin/bash
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost ~]#
③修改环境变量值
# PS1="{\u#\h \d \t \w}\\$"
[root@localhost ~]# echo $PS1
[\u@\h \W]\$
[root@localhost ~]# PS1="{\u#\h \d \t \w}\\$"
{root#localhost Wed Sep 22 17:23:25 ~}#
\u :用户名 \h:主机名 \d:当前系统日期 \t:当前系统时间
\W :相对路径 \w :绝对路径 \\$:身份提示符
3、命令修改环境变量值,注销或重启后失效,要永久生效写入配置文件
(1)系统环境变量配置文件:所有系统用户遵守
/etc/profile ---通常修改该文件
/etc/bashrc ---相关shell的设置,通常不修改
vi /etc/profile
最后一行追加
PS1="{\u#\h \t \W}\\$"
保存退出
使配置生效
source /etc/profile 或 使用xshell等工具重新连接 或reboot
(2)个人环境变量配置文件(可以理解为用户的个性化配置)
$HOME/.bash_profile
$HOME/.bashrc
注:当系统环境变量配置文件设置与个人的有冲突,将遵守个人设置
(3)命令别名
给一个长命令起一个简化的名字
# alias 别名="命令"
# alias ---查看当前shell中的所有别名设置
# unalias 别名 ---取消别名
[root@localhost ~]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@localhost ~]#
(4)shell中的保留字
具有特殊含义的符号
①* 通配符 :代表任意多个任意字符
# rm -rf /tmp/* ---清空/tmp
②\ 转义符:去掉特殊符号的特殊含义
# ls \*
③`` 反单引 :在反单引中的内容当做命令来执行
# echo time is date
# echo time is `date`
[root@localhost ~]# echo time is date
time is date
[root@localhost ~]# echo time is `date`
time is Wed Sep 22 17:30:21 CST 2021
[root@localhost ~]#
④ | 管道符 :命令 | 命令 ---将前一个命令的输出当做后一个命令的输入来用
# ll /etc | grep ^d ---抓取/etc下所有子目录
# history | less
⑤> >> 输出重定向 :改变原有输出方向,重定向到文件
# echo aaaaaaa > f1 ---覆盖
# echo bbbbbbb >>f1 ---追加
# echo > f1 ---清空f1 文件
⑥< 输入重定向 :改变原有的输入方式,本应该通过标准输入进行输入,重定向将文件的内容输入给命令
终端1,创建测试文件,写入内容
[root@localhost ~]# echo 'hello' > test.txt
[root@localhost ~]#
[root@localhost ~]# cat test.txt
hello
[root@localhost ~]#
终端2,打开本机8090端口
[root@localhost ~]# nc -l 8090
终端1,执行 nc 127.0.0.1 8090 < test.txt
[root@localhost ~]# nc 127.0.0.1 8090 < test.txt
[root@localhost ~]#
终端2,查看打印信息
[root@localhost ~]# nc -l 8090
hello
[root@localhost ~]#
⑦& 后台执行符
命令 &
⑧‘’ 和 ”“ 单引号和双引号的区别
日常工作中比较重要的一个区别就是当需要引用变量的值,一定要用双引号,不要用单引号
[root@localhost ~]# m='abc'
[root@localhost ~]# echo $m
abc
[root@localhost ~]#
[root@localhost ~]# echo '$m'
$m
[root@localhost ~]# echo "$m"
abc
[root@localhost ~]#
原文地址:https://www.cnblogs.com/ops-blog/p/15291091.html
- springboot入门教程(2)_Thymeleaf集成
- VList data structures in C#
- 编程思想 之「语言导论」
- 编程思想 之「对象漫谈」
- Github 项目推荐 | TensorFlow 概率推理工具集 —— probability
- Github 项目推荐 | 用于 C/C++、Java、Matlab/Octave 的特征选择工具箱
- Mercari Price 比赛分享 —— 语言不仅是算法和公式而已
- Github 项目推荐 | GAN 的 Keras 实现案例集合 —— Keras-GAN
- Github 项目推荐 | 微软开源 MMdnn,模型可在多框架间转换
- 半自动化运维之动态添加数据文件(一) (r5笔记第55天)
- 半自动化运维之动态添加数据文件(二) (r5笔记第56天)
- 11g Active DataGuard初探(r5笔记第54天)
- Github 项目推荐 | 用于构建端对端对话系统和训练聊天机器人的开源库 —— DeepPavlov
- 我身边的一些数据库事故 (r5笔记第52天)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Java的I/O类库的基本架构一句话介绍
- 树莓派综合项目1:智能温度测量系统实验
- 一句话ListenableFuture简介
- Google Guava Cache 使用
- Linux下安装maven3.6.2遇到的问题
- Unity3D网络通讯(五)--Socket通讯之Udp通讯
- IP不能作为rocketmq 的topic
- Unity3D网络通讯(六)-- UnityWebRequest实现WebService通讯
- Java Maven编译时没问题,运行时报java.lang.NoSuchMethodError
- 树莓派基础实验34:L298N模块驱动直流电机实验
- The consumer group[PushConsumer] has been created before, specify another name please
- 虚拟机系列 | JVM特点,基础结构与执行周期
- 报错 解决-bash: fork: retry: Resource temporarily unavailable
- 结构与算法(04):排序规则与查找算法
- 手把手教你在 TKE 集群中实现简单的蓝绿发布和灰度发布