首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >2024全网最为详细的红帽系列【RHCSA-(9)】初级及进阶Linux保姆级别骚操作教程;学不费来砍我[就怕你日后学成黑客了]

2024全网最为详细的红帽系列【RHCSA-(9)】初级及进阶Linux保姆级别骚操作教程;学不费来砍我[就怕你日后学成黑客了]

作者头像
盛透侧视攻城狮
发布2024-10-22 10:42:30
发布2024-10-22 10:42:30
24900
代码可运行
举报
运行总次数:0
代码可运行

文件的其他操作命令

1.文件上传下载

1.1如何使用xftp工具进行文件操作

1.2 sftp是一个交互式文件传输程式

简介:
  • 它类似于ftp传输协议,属于ssh, 但它进行加密传输,相对FTP来讲有更高的安全性。
  • 如果有服务器的端口不是默认的22,要在sftp后面加-P 端口号
示例:
代码语言:javascript
代码运行次数:0
运行
复制
# 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目录:
代码语言:javascript
代码运行次数:0
运行
复制
sftp> get /var/www/renwole.txt /home/
将223.5.5.5服务器文件上传到223.6.6.6服务器的mnt目录:
代码语言:javascript
代码运行次数:0
运行
复制
sftp> put /home/renwole.txt /mnt/
如果你想了解远程主机的目录是什么样, ls命令可以列出223.6.6.6服务器的当前目录列表:
代码语言:javascript
代码运行次数:0
运行
复制
sftp> ls

//和查看本地操作命令一样

sftp> pwd

//查询223.6.6.6的当前工作目录
如果想知道本地主机(223.5.5.5)的目录是什么样
代码语言:javascript
代码运行次数:0
运行
复制
sftp> lls

sftp> lpwd 
如果想退出
代码语言:javascript
代码运行次数:0
运行
复制
exit 

//退出机器,返回你原始机器界面。

2.shell-命令解释器

简介:

shell:
  • 壳,命令解释器,负责解析用户输入的命令。
命令分两类:
  • 内置命令 (shell内置),shell为了完成自我管理和基本的管理,不同的shell内置不同的命令,但是大部分都差不多
  • 外置命令,在文件系统的某个目录下,有个与命令名称相同的文件
type 命令查看命令是file、alias还是builtin
代码语言:javascript
代码运行次数:0
运行
复制
type -a 

列出当前命令可以如何执行

type -t 

仅列出命令按照哪种方式执行

那这时候有些同学就提问:

那shell如何知道命令的可执行文件在哪个路径下呢?

在众多环境变量里面有一个环境变量叫做PATH,当用户每次执行外部命令的时候都会去该变量所记录的路径下搜索和命令同名的二进制文件

如果有则执行该二进制文件,如果没有则提示命令找不到。

代码语言:javascript
代码运行次数:0
运行
复制
# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

3.Linux 中的特殊符号

3.1Linux 中的特殊符号功能详解说明表 Linux 中的特殊符号功能详解说明表 特殊符号功能 说明 ;

  • 可使用分号分隔多条命令
  • 在一行上输入和执行多条较短的命令,可使用分号来分隔命令

*

  • 匹配任意零个或者多 个字符
  • 不能用于创建文件

?

  • 匹配任意单个字符
  • 不能用于创建文件

[]

  • 匹配方括号中的任意 一个字符
  • 表示范围可以用"-”
  • 不能用于创建文件

[^]或者[!]

  • 匹配方括号中的任意一个字符或数字后进行取反
  • 用于查找和删除文件,不用于创建文件

{string,string}

  • 匹配括号中的任意一 个字符串,
  • 表示一个范围时,字符串之间 个".."
  • 可用于创建、查看、删除文件

\

  • 使\后面的特殊字符失 效
  • 例如:可以在命令行后面加一个\,再按回车键时并 不表示执行该命令,而是表示换行
  • 通过此方式将一 个较长的命令分成多行表达,增强命令的可读性。换 行后系统自动显示提示符 >

`

  • 反引号,一般用于引用命令
  • 执行的时候 反引号里面的命令会被执行,与$()作用相 同

'

  • 单引号,将单引号内的所有内容都原样输出
  • 所有特殊字符在单引号里面都会失去特殊含义

"

  • 双引号,除了几个特殊字符外,将双引号内的几乎所有内容都原样输出
  • ”$“和“\”以及“ ` ”在双引号里面仍然保留自己的特殊 含义

4.命令别名

简介:

  • 别名是命令的快捷方式。对于需要经常执行,并需要很长时间输入的长命令创建快捷方式很有用。

语法格式:

代码语言:javascript
代码运行次数:0
运行
复制
alias 别名=’原命令 [选项]…… [参数]……’

示例:

查看设置的别名
代码语言:javascript
代码运行次数:0
运行
复制
[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'
……
删除别名:
代码语言:javascript
代码运行次数:0
运行
复制
[root@node13 ~]#unalias 别名

在命令行中使用alias命令设置的别名仅在该次登入有效

如果重新开启一个 Shell,或者重新登录系统,则这些alias将无法使用

在linux中提供alias永久化的方法:

(1)若要让某个用户使用该别名,则把别名加在如下文件中:
代码语言:javascript
代码运行次数:0
运行
复制
~/.bash_profile 或 ~/.bashrc 

然后 source

代码语言:javascript
代码运行次数:0
运行
复制
~/.bashrc 或者 source ~/.bash_profile 
(2)若要让每一位用户都使用该别名,则把别名加在如下文件中:
代码语言:javascript
代码运行次数:0
运行
复制
etc/bashrc 或者 /etc/profile 

然后

代码语言:javascript
代码运行次数:0
运行
复制
source /etc/bashrc 或者 source /etc/profile

5.命令历史

简介:

  • history 命令可以查阅命令历史记录 ,也可在命令行利用向上或向下光标键来进行查询

语法格式:

代码语言:javascript
代码运行次数:0
运行
复制
history [选项] [参数]


选项:

number:显示最近number条命令历史
-c:清空当前历史命令
-a [file]:后面没跟文件时,默认将缓冲区中历史命令写入~/.bash_history中
-r [file]:将历史命令文件中的命令读入当前历史命令缓冲区中
-w:将当前历史命令缓冲区命令写入历史命令文件中;
示例:
代码语言:javascript
代码运行次数:0
运行
复制
[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 ~]# !!    // 执行上一条命令

命令行中的其他快捷键:

代码语言:javascript
代码运行次数:0
运行
复制
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文件中加入以下内容
代码语言:javascript
代码运行次数:0
运行
复制
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
代码语言:javascript
代码运行次数:0
运行
复制
[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
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-10-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文件的其他操作命令
  • 1.文件上传下载
    • 1.2 sftp是一个交互式文件传输程式
      • 简介:
      • 示例:
      • 如果想知道本地主机(223.5.5.5)的目录是什么样
  • 2.shell-命令解释器
    • 简介:
      • shell:
      • 命令分两类:
      • type 命令查看命令是file、alias还是builtin
    • 那这时候有些同学就提问:
  • 3.Linux 中的特殊符号
  • 4.命令别名
    • 简介:
    • 语法格式:
    • 示例:
      • 查看设置的别名
      • 删除别名:
    • 在linux中提供alias永久化的方法:
      • (1)若要让某个用户使用该别名,则把别名加在如下文件中:
      • (2)若要让每一位用户都使用该别名,则把别名加在如下文件中:
  • 5.命令历史
    • 简介:
    • 语法格式:
      • 示例:
    • 命令行中的其他快捷键:
    • 实验: 生产环境中,history命令记录操作时间、操作用户、操作IP
      • (1)/etc/profile文件中加入以下内容
      • (2)执行:source /etc/profile
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档