随笔 - 54, 文章 - 0, 评论 - 4, 阅读 - 8402
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

复制文件,移动文件,删除文件,vi/vim编辑器

Posted on   ~sang  阅读(1485)  评论(0编辑  收藏  举报

复制文件

copy的缩写cp

格式:cp [参数] [被复制文件的路径] [复制到的新路径]

参数(-r:递归复制  -a:保证某些属性不变)

案例:

  1、将/root目录下anaconda-ks.cfg复制到/tmp目录

    [root@localhost ~]# cp /root/anaconda-ks.cfg /tmp

  2、将/root目录下的test文件夹及其内部的文件复制到/tmp中

    [root@localhost ~]# cp -r /root/test /tmp

补充:在linux中,文件夹是不可以直接复制的

  3、将/etc/hosts和/etc/resolv.conf复制到/tmp目录中

    [root@localhost ~]# cp /etc/hosts /etc/resolv.conf /tmp

注意:在linux没有提示就是最好的结果

补充:Esc + . :上一条命令的最后一个元素

  ls -l 等价于 ll

[root@localhost ~]# ls
1.txt  anaconda-ks.cfg  test
[root@localhost ~]# touch test/1.txt
[root@localhost ~]# echo "Hello World" > test/1.txt
[root@localhost ~]# echo "Hello China" >> test/1.txt
[root@localhost ~]# cat test/1.txt
Hello World
Hello China

 

知识储备:

  linux中的链接相当于快捷方式

  stat:查看文件详细属性

复制代码
[root@localhost ~]# ll /root/
total 4
-rw-r--r--. 1 root root    0 Dec 10 10:52 1.txt
-rw-------. 1 root root 1687 Dec  8 17:03 anaconda-ks.cfg
drwxr-xr-x. 2 root root   19 Dec 10 17:01 test
[root@localhost ~]# stat /root/test/
  File: ‘/root/test/’
  Size: 19            Blocks: 0          IO Block: 4096   directory
Device: fd00h/64768d    Inode: 18093233    Links: 2
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2021-12-10 17:07:44.994235905 +0800
Modify: 2021-12-10 17:01:29.406216165 +0800
Change: 2021-12-10 17:01:29.406216165 +0800
 Birth: -
[root@localhost ~]# stat /tmp/test/
  File: ‘/tmp/test/’
  Size: 19            Blocks: 0          IO Block: 4096   directory
Device: fd00h/64768d    Inode: 18093271    Links: 2
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:user_tmp_t:s0
Access: 2021-12-10 17:14:17.688256544 +0800
Modify: 2021-12-10 17:07:44.994235905 +0800
Change: 2021-12-10 17:07:44.994235905 +0800
 Birth: -
[root@localhost ~]# cp -a /root/test/ /opt/
[root@localhost ~]# stat /opt/test/
  File: ‘/opt/test/’
  Size: 19            Blocks: 0          IO Block: 4096   directory
Device: fd00h/64768d    Inode: 33666795    Links: 2
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2021-12-10 17:07:44.994235905 +0800
Modify: 2021-12-10 17:01:29.406216165 +0800
Change: 2021-12-10 17:20:57.442277555 +0800
 Birth: -
复制代码

移动文件

移动文件相当于剪切

格式:mv [移动文件的原路径] [移动文件的新路径]

案例:

  1、将/root目录下的1.txt移动到/opt目录中

    [root@localhost ~]# mv /root/1.txt /opt

    # 移动文件夹

    [root@localhost ~]# mv test/ /mnt/

删除文件

删除文件有两种方式:

  1、物理删除:直接删除文件

  2、逻辑删除:将文件隐藏,没有直接删除

rm 是一个物理删除的命令

格式:rm [参数] [需要删除文件的路径]

参数:

  -f:不提示直接删除

  -r:递归删除目录及其内容

  -i:每次移除前提示

案例:

  1、将/root目录下的1.txt删除

    [root@localhost ~]# rm 1.txt

    [root@localhost ~]# rm -f 2.txt

  2、删除/root目录下的test文件夹及其内部所有的文件

    [root@localhost ~]# rm -r /root/test/

    [root@localhost ~]# rm -rf /root/test

补充:

  在linux系统中,不能够直接删除文件夹

  linux系统中禁止使用:rm -rf /*

解决rm命令误操作

  将rm命令改一个名称

知识储备:

  查看命令存放路径:which [命令]

[root@localhost ~]# which rm
alias rm='rm -i'
    /usr/bin/rm
[root@localhost ~]# cd /usr/bin
[root@localhost bin]# ls

系统别名

alias

格式:

  alias xxx='命令'

  alias:查看系统别名

复制代码
[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 ~]# 
复制代码

  alias rm='xxx':设置系统别名

不适用别名,就在命令之前增加\

  [root@localhost ~]# \rm 1.txt

vi/vim编辑器

vim是vi的升级版编辑器

1、安装vim

  yum install vim -y

2、打开编辑文件

  [root@localhost ~]# vim 1.txt

3、vi编辑器中有三种模式(命令模式,末行模式,编辑模式)

4、进入编辑模式

  i:在光标之前输入

  o:在光标处新创建一行

  a:在光标之后输入

5、保存并退出

  1.进入末行模式

  2.操作(:q!强制退出)

    w:保存

    q:退出

    !:强制(编写的内容全部放弃)

6、解决vim编辑异常

  1.删除.1.txt.swp

  2.继续编辑(-r)

    [root@localhost ~]# vim -r 1.txt

  3.放弃编辑(-n)

    [root@localhost ~]# vim -n 1.txt

7、光标快速移动快捷方式

  快速切换光标到底行:G

  快速切换光标到首行:gg

  快速跳转到行首:0

  快速跳转到行尾:$

  快速跳转到指定行:(1.进入末行模式  2.输入跳转的行数  3.回车)

  快速复制文本内容信息:(yy  nyy:向下复制n行)

  快速粘贴文本内容:(p:在光标的下一行粘贴  P:在光标的上一行粘贴)

  删除文本内容:(dd:删除光标所在行  ndd:向下删除n行)

  回撤:u

  撤回回撤:ctrl+r

  显示行号:(1.进入末行模式  2.输入set nu 3.回车)

  取消行号:(1.进入末行模式  2.输入set nonu 3.回车)

  搜索内容:(1.进入命令模式  2.输入/  3.输入搜索的内容  4.回车)n:下一个  N:上一个(:setic:忽略大小写)

  可视化编辑:(1.ctrl+v  2.编辑:shift+i  3.按Esc键退出即可)

        1.进入末行模式

        2.输入要操作的指定行数

          1,n 指定的是操作1到n行,%代表的是文本的最后一行的行号

          s/被替换的内容/替换的新内容/g

            :1,10 s/\(.*\)/# \1/g

  进入编辑模式:aio

知识储备

  实时监控文件内容变化:tail -f [要监控的文件]

  演示vim编辑异常

    1、查看vim进程

      [root@localhost ~]# ps -ef | grep vim

    2、kill  vim进程

      [root@localhost ~]# kill -9 2088

[root@localhost ~]# ps -ef | grep vim
root       2088   1795  0 19:40 pts/0    00:00:00 vim 1.txt
root       2107   2089  0 19:41 pts/1    00:00:00 grep --color=auto vim
[root@localhost ~]# kill -9 2088

  批量复制

    [root@localhost ~]# while true;do echo "Hello World" >> 1.txt;done

编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示