欢迎各位彦祖与热巴畅游本人专栏与博客
你的三连是我最大的动力
以下图片仅代表专栏特色
专栏跑道一
➡️ MYSQL REDIS Advance operation
专栏跑道二
➡️ 24 Network Security -LJS
专栏跑道三
➡️HCIP;H3C-SE;CCIP——LJS[华为、华三、思科高级网络]
专栏跑道四
➡️RHCE-LJS[Linux高端骚骚操作实战篇]
专栏跑道五
➡️数据结构与算法[考研+实际工作应用+C程序设计]
上节回顾https://netsecur-cloud-ljs.blog.csdn.net/article/details/142624265
目录
专栏跑道一 ➡️ MYSQL REDIS Advance operation
专栏跑道二➡️ 24 Network Security -LJS
➡️HCIP;H3C-SE;CCIP——LJS[华为、华三、思科高级网络]
专栏跑道四➡️RHCE-LJS[Linux高端骚骚操作实战篇]编辑
上节回顾https://netsecur-cloud-ljs.blog.csdn.net/article/details/142624265
将223.6.6.6服务器文件下载到223.5.5.5的home目录:
将223.5.5.5服务器文件上传到223.6.6.6服务器的mnt目录:
如果你想了解远程主机的目录是什么样, ls命令可以列出223.6.6.6服务器的当前目录列表:
type 命令查看命令是file、alias还是builtin
(2)若要让每一位用户都使用该别名,则把别名加在如下文件中:
实验: 生产环境中,history命令记录操作时间、操作用户、操作IP
文件的其他操作命令
1.文件上传下载
1.1如何使用xftp工具进行文件操作
1.2 sftp是一个交互式文件传输程式
简介:
- 它类似于ftp传输协议,属于ssh, 但它进行加密传输,相对FTP来讲有更高的安全性。
- 如果有服务器的端口不是默认的22,要在sftp后面加-P 端口号。
示例:
# sftp root@223.6.6.6 The authenticity of host ‘223.6.6.6 (223.6.6.6)’ can’t be established. ECDSA key fingerprint is SHA256:Hl/dKTFzL4lOlF8DIG5itaV4OAsZunC2AWlFGLjLfsg. Are you sure you want to continue connecting (yes/no)? yes【输入yes回车】 Warning: Permanently added ‘223.6.6.6’ (ECDSA) to the list of known hosts. root@223.6.6.6’s password:【输入223.6.6.6的root密码并回车】 Connected to 223.6.6.6. sftp>
将223.6.6.6服务器文件下载到223.5.5.5的home目录:
sftp> get /var/www/renwole.txt /home/
将223.5.5.5服务器文件上传到223.6.6.6服务器的mnt目录:
sftp> put /home/renwole.txt /mnt/
如果你想了解远程主机的目录是什么样, ls命令可以列出223.6.6.6服务器的当前目录列表:
sftp> ls //和查看本地操作命令一样 sftp> pwd //查询223.6.6.6的当前工作目录
如果想知道本地主机(223.5.5.5)的目录是什么样
sftp> lls sftp> lpwd
如果想退出
exit //退出机器,返回你原始机器界面。
2.shell-命令解释器
简介:
shell:
- 壳,命令解释器,负责解析用户输入的命令。
命令分两类:
- 内置命令 (shell内置),shell为了完成自我管理和基本的管理,不同的shell内置不同的命令,但是大部分都差不多
- 外置命令,在文件系统的某个目录下,有个与命令名称相同的文件
type 命令查看命令是file、alias还是builtin
type -a 列出当前命令可以如何执行 type -t 仅列出命令按照哪种方式执行
那这时候有些同学就提问:
那shell如何知道命令的可执行文件在哪个路径下呢?
- 在众多环境变量里面有一个环境变量叫做PATH,当用户每次执行外部命令的时候都会去该变量所记录的路径下搜索和命令同名的二进制文件
- 如果有则执行该二进制文件,如果没有则提示命令找不到。
# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
3.Linux 中的特殊符号
3.1Linux 中的特殊符号功能详解说明表
Linux 中的特殊符号功能详解说明表
特殊符号 功能 说明 ;
- 可使用分号分隔多条命令
- 在一行上输入和执行多条较短的命令,可使用分号来分隔命令
*
- 匹配任意零个或者多 个字符
- 不能用于创建文件
?
- 匹配任意单个字符
- 不能用于创建文件
[]
- 匹配方括号中的任意 一个字符
- 表示范围可以用"-”
- 不能用于创建文件
[^]或者[!]
- 匹配方括号中的任意一个字符或数字后进行取反
- 用于查找和删除文件,不用于创建文件
{string,string}
- 匹配括号中的任意一 个字符串,
- 表示一个范围时,字符串之间 个".."
- 可用于创建、查看、删除文件
\
- 使\后面的特殊字符失 效
- 例如:可以在命令行后面加一个\,再按回车键时并 不表示执行该命令,而是表示换行
- 通过此方式将一 个较长的命令分成多行表达,增强命令的可读性。换 行后系统自动显示提示符 >
`
- 反引号,一般用于引用命令
- 执行的时候 反引号里面的命令会被执行,与$()作用相 同
'
- 单引号,将单引号内的所有内容都原样输出
- 所有特殊字符在单引号里面都会失去特殊含义
"
- 双引号,除了几个特殊字符外,将双引号内的几乎所有内容都原样输出
- ”$“和“\”以及“ ` ”在双引号里面仍然保留自己的特殊 含义
4.命令别名
简介:
- 别名是命令的快捷方式。对于需要经常执行,并需要很长时间输入的长命令创建快捷方式很有用。
语法格式:
alias 别名=’原命令 [选项]…… [参数]……’
示例:
查看设置的别名
[root@node13 ~]# 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' ……
删除别名:
[root@node13 ~]#unalias 别名
- 在命令行中使用alias命令设置的别名仅在该次登入有效
- 如果重新开启一个 Shell,或者重新登录系统,则这些alias将无法使用。
在linux中提供alias永久化的方法:
(1)若要让某个用户使用该别名,则把别名加在如下文件中:
~/.bash_profile 或 ~/.bashrc
然后 source
~/.bashrc 或者 source ~/.bash_profile
(2)若要让每一位用户都使用该别名,则把别名加在如下文件中:
etc/bashrc 或者 /etc/profile
然后
source /etc/bashrc 或者 source /etc/profile
5.命令历史
简介:
- history 命令可以查阅命令历史记录 ,也可在命令行利用向上或向下光标键来进行查询。
语法格式:
history [选项] [参数] 选项: number:显示最近number条命令历史 -c:清空当前历史命令 -a [file]:后面没跟文件时,默认将缓冲区中历史命令写入~/.bash_history中 -r [file]:将历史命令文件中的命令读入当前历史命令缓冲区中 -w:将当前历史命令缓冲区命令写入历史命令文件中;
示例:
[root@node13 ~]# history 5 1871 ls -l 1872 ls -l / 1873 touch a 1874 touch b 1875 history 5 [root@node13 ~]# !1871 //将1871条命令再执行一遍 ls -l [root@node13 ~]# !! // 执行上一条命令
命令行中的其他快捷键:
ctrl+d 输入已结束;也可当做exit ctrl+c 键盘中断请求,终止当前的命令 Ctrl+a 移动到当前行的开头 Ctrl+e 移动到当前行的结尾 Ctrl+l 清屏==clear Ctrl+u 剪切命令行中光标所在处之前的所有字符(不包括自身) Ctrl+k 剪切命令行中光标所在处之后的所有字符(包括自身) ctrl+←/→ 光标在命令行中按照单词跳转 引用上一条命令的最后一个参数 方法1:!$ 方法2:先按Alt再输入. 方法3:先按Esc在输入.
实验: 生产环境中,history命令记录操作时间、操作用户、操作IP
(1)/etc/profile文件中加入以下内容
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'` export HISTTIMEFORMAT="[%F %T][`whoami`][${USER_IP}] " # 获取当前用户的 IP 地址 USER_IP=`who -u am i 2>/dev/null | awk '{print $NF}' | sed -e 's/[()]//g'` # 将当前用户的历史记录时间格式设置为包含日期、时间、用户名和用户 IP export HISTTIMEFORMAT="[%F %T][`whoami`][${USER_IP}] "
(2)执行:source /etc/profile
[root@VM-8-15-centos ~]# history 1 [2020-12-25 18:10:27][root][111.18.44.17] 2 [2020-12-20 10:35:16][root][111.18.44.17] cat /etc/redhat-release 3 [2020-12-20 14:02:20][root][111.18.44.17] exit 4 [2020-12-24 09:39:17][root][111.18.44.17] cat /etc/redhat-release 5 [2020-12-24 10:06:17][root][111.18.44.17] awk 'NR==5' /etc/passwd 6 [2020-12-24 10:08:31][root][111.18.44.17] whereis ifconfig