第2课 20191113
- echo 打印
[root@JD ~]# echo "www.ruozedata.com"
www.ruozedata.com
环境变量名称 $PATH
[root@JD ~]# echo $PATH
/usr/java/jdk1.8.0_121/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
c PATH=''
[root@JD ~]# echo $PATH
[root@JD ~]#ls
-bash: ls: No such file or directory
[root@JD ~]#
查看命令所属的路径在哪 去$PATH找 找到第一个就返回
[root@JD ~]# which ls
alias ls='ls --color=auto'
[root@JD ~]# which lsl
/usr/bin/which: no lsl in (/usr/java/jdk1.8.0_121/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
- 环境变量
全局: /etc/profile 所有人都使用
个人: ~/.bash_profile 和 ~/.bashrc 不给其他人。
生效文件:source ~/.bash_profile;source ~/.bashrc
个人优先使用 ~/.bashrc 为什么? 切换用户时带-或者不带-,对.bashrc都没区别。脚本远程登录时,对 .bashrc 都生效。
- 安装java:
rz #上传本地文件到远程linux主机
yun install -y unzip #安装解压软件
yun install -y zip #顺手安装压缩软件
unzip jdk1.8.0_121 -d /usr/java/
vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_121
export PATH=\$JAVA_HOME/bin:\$PATH
source /etc/profile
which java
chown -R root:root /usr/java/*
总结:
- command not found
可能的原因:没有部署安装包,部署了没有配置(配对)环境变量,配置好没有生效。 - 习惯
当我们以后部署一个软件,bin目录的可执行文件 比如java
习惯 当生效环境变量文件,习惯用which java确认配置是否正确
- 别名
[root@JD ~]# 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@JD ~]#
常用复杂命令简化操作
alias cc='cd /home/cong/tmp'
- history 查看命令历史
history -c清空历史命令
登录主机常见的几种类型:
- 直连
- 跳板机 没有关系 A–》B 没有web界面的可视化的
- 堡垒机 log文件 记录 xxx A–》B web界面的可视化的 有审计
[root@JD ~]# history
1 history
2 ll
3 ls
4 which
5 history
[root@JD ~]# !2 # 执行历史指定的命令
黑客入侵主机后常常通过history查看命令历史,可能发现password。比如mysql -udemo -p123456。密码避免直接在命令里面
- 删除:删除文件和删除文件夹
文件:
rm xxx.log删除文件,会有交互
rm -f xxx.log不管文件是否存在都会直接删除,无交互
文件夹: mkdir
rm -rf testdir直接删除文件夹及文件夹下所有内容
- 风险:
rm -rf /跑路 高危命令
什么场景会发生?;
敲太快,加空格了 ,如rm -rf /home/cong/tmp敲成了rm -rf / home/cong/tmp
shell脚本拼接路径时,如
K='/home/cong'
K=''
#未判断 $K 是否存在
rm -rf $K/*
另外一种情况生产上要格外注意 :
rm 删除路径时,路径使用了*号或者?匹配,且匹配符前后有字符但是有空格
如 rm /tmp/ttt*.txt 写成了 rm /tmp/ttt * .txt ,那就相当于 rm /tmp/ttt;rm *;rm .txt; 三个命令
linux主机没有回收站的概念。需要的话可以自己制定一个"回收站目录",需要清理文件时转使用转移文件到"回收站目录",
定时任务清理回收站目录过期文件
本文深入探讨Linux环境变量的设置与使用,包括$PATH的配置和个人环境变量的区别。同时,介绍了常见命令的优化,如使用alias简化复杂命令,以及rm命令的安全使用技巧。

被折叠的 条评论
为什么被折叠?



