复制文件
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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话