04-文件目标及核心命令

1.知识点回顾
pwd		#查看当前路径
cd		#切换目录
	cd
	cd .
	cd ..
	cd -
	cd ~
	cd /root
ls		#查看文件 目录
	ls -l
	ls -a
touch		#创建普通文件
mkdir		#创建目录
	mkdir -p 	#递归创建
tree		#树形结构显示目录
	tree -L 1n
cat		#查看文件内容
	cat -n #显示行号
clear		#清屏 shell编程使用
##快捷键
ctrl+c
ctrl+l
ctrl+a
ctrl+e
ctrl+u
ctrl+y
2.Linux目录的作用
linux 根目录下的一级目录的作用:
bin		#二进制系统命令所在
boot	#系统内核所在位置 引导程序所在位置
dev		#硬件设备所在位置
etc		#配置文件所在目录 默认的系统配置文件在/etc目录
home	#普通用户的家目录 贫民窟
mnt		#临时挂载点 硬件的入口文件。不用随时umount
opt		#第三方程序默认安装的位置
proc	#内存的映射文件
root	#root用户家目录
sbin	#超级管理员命令所在目录
tmp		#临时目录,类似Windows的回收站
usr		#用户程序文件所在目录
var		#日志文件所在目录

挂载流程

挂载点可以是任意空目录

1.虚拟机中必须插入ISO镜像文件,设置如下图示
2.给cdrom创建一个入口,或者系统中已经存在的任意空的目录都可以
3.使用系统中的/mnt作为入口
[root@oldboyedu ~]# mount /dev/cdrom /mnt/       #给/dev/cdrom 创建一个入口为/mnt
mount: /dev/sr0 is write-protected, mounting read-only   ##提示挂载只读

##挂载:/dev/sr0 写保护
注意:sr0就是cdrom的名字

4.进入cdrom 查看镜像中的内容
[root@oldboyedu ~]# cd /mnt/
[root@oldboyedu mnt]# ll /mnt/
total 696
-rw-r--r--.  3 root root     14 Oct 30  2020 CentOS_BuildTag
drwxr-xr-x.  3 root root   2048 Oct 27  2020 EFI
-rw-rw-r--. 21 root root    227 Aug 30  2017 EULA
-rw-rw-r--. 21 root root  18009 Dec 10  2015 GPL
drwxr-xr-x.  3 root root   2048 Oct 27  2020 images
drwxr-xr-x.  2 root root   2048 Nov  3  2020 isolinux
drwxr-xr-x.  2 root root   2048 Oct 27  2020 LiveOS
drwxr-xr-x.  2 root root 673792 Nov  4  2020 Packages
drwxr-xr-x.  2 root root   4096 Nov  4  2020 repodata
-rw-rw-r--. 21 root root   1690 Dec 10  2015 RPM-GPG-KEY-CentOS-7
-rw-rw-r--. 21 root root   1690 Dec 10  2015 RPM-GPG-KEY-CentOS-Testing-7
-r--r--r--.  1 root root   2883 Nov  4  2020 TRANS.TBL
[root@oldboyedu mnt]# 

5.查看磁盘的信息
[root@oldboyedu mnt]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        980M     0  980M   0% /dev
tmpfs           991M     0  991M   0% /dev/shm
tmpfs           991M  9.6M  981M   1% /run
tmpfs           991M     0  991M   0% /sys/fs/cgroup
/dev/sda3        18G  2.0G   16G  11% /
/dev/sda1       197M  110M   88M  56% /boot
tmpfs           199M     0  199M   0% /run/user/0
/dev/sr0        4.4G  4.4G     0 100% /mnt
[root@oldboyedu mnt]#

6.卸载挂载点
[root@oldboyedu /]# umount /mnt/
[root@oldboyedu /]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        980M     0  980M   0% /dev
tmpfs           991M     0  991M   0% /dev/shm
tmpfs           991M  9.6M  981M   1% /run
tmpfs           991M     0  991M   0% /sys/fs/cgroup
/dev/sda3        18G  2.0G   16G  11% /
/dev/sda1       197M  110M   88M  56% /boot
tmpfs           199M     0  199M   0% /run/user/0
[root@oldboyedu /]#

1

3.Linux系统命令
cp		#复制文件
语法结构:
	cp 源文件 目标文件		#复制
	cp 源文件 新文件的名称  #改名
	cp file1 file2 /目录	#复制
	cp 目录 目标目录
	cp -r 复制目录,递归拷贝目录及其子目录中的所有文件
	\cp -r 目录 目标目录 和cp -rf #强制进行复制目录不提示

案例1:复制oldboy.txt 到/opt目录下名称不变
[root@oldboyedu ~]# cp oldboy.txt /opt/
[root@oldboyedu ~]# ll /opt/
total 0
-rw-r--r--. 1 root root 0 Mar  5 17:50 oldboy.txt
[root@oldboyedu ~]# 

案例2:复制当前的oldboy.txt 到当前的位置名字为oldboy.txt.bak
[root@oldboyedu ~]# cp oldboy.txt oldboy.txt.bak
[root@oldboyedu ~]# ll
total 8
-rw-------. 1 root root 1522 Feb 29 19:41 anaconda-ks.cfg
-rw-r--r--. 1 root root    0 Mar  5 17:50 oldboy.txt
-rw-r--r--. 1 root root    0 Mar  5 17:51 oldboy.txt.bak
-rw-r--r--. 1 root root  938 Mar  5 15:39 passwd
drwxr-xr-x. 5 root root   40 Mar  5 14:59 test
[root@oldboyedu ~]#

案例3:复制当前的oldboy.txt 和test.txt 到/tmp目录下
[root@oldboyedu ~]# cp oldboy.txt test.txt /tmp
[root@oldboyedu ~]# ll /tmp/
total 4
-rwx------. 1 root root 836 Feb 29 19:41 ks-script-yJLtsF
-rw-r--r--. 1 root root   0 Mar  5 17:52 oldboy.txt
-rw-r--r--. 1 root root   0 Mar  5 17:52 test.txt
drwx------. 2 root root   6 Mar  1 10:34 vmware-root_819-4290101131
drwx------. 2 root root   6 Feb 29 19:47 vmware-root_832-2730693535
-rw-------. 1 root root   0 Feb 29 19:37 yum.log
[root@oldboyedu ~]# 

案例4:拷贝oldboy目录到/tmp目录下
[root@oldboyedu ~]# cp -r oldboy /tmp/
[root@oldboyedu ~]# ll /tmp/
total 4
-rwx------. 1 root root 836 Feb 29 19:41 ks-script-yJLtsF
drwxr-xr-x. 2 root root   6 Mar  5 17:53 oldboy
-rw-r--r--. 1 root root   0 Mar  5 17:52 oldboy.txt
-rw-r--r--. 1 root root   0 Mar  5 17:52 test.txt
drwx------. 2 root root   6 Mar  1 10:34 vmware-root_819-4290101131
drwx------. 2 root root   6 Feb 29 19:47 vmware-root_832-2730693535
-rw-------. 1 root root   0 Feb 29 19:37 yum.log
[root@oldboyedu ~]#
案例5:强制覆盖目录及目录下的文件,不需要手动输入y (强制覆盖不提示)
[root@oldboyedu ~]# cp -rf oldboy /tmp/
[root@oldboyedu ~]# 
[root@oldboyedu ~]# ll /tmp/
total 4
-rwx------. 1 root root 836 Feb 29 19:41 ks-script-yJLtsF
drwxr-xr-x. 2 root root   6 Mar  5 17:53 oldboy
-rw-r--r--. 1 root root   0 Mar  5 17:52 oldboy.txt
-rw-r--r--. 1 root root   0 Mar  5 17:52 test.txt
drwx------. 2 root root   6 Mar  1 10:34 vmware-root_819-4290101131
drwx------. 2 root root   6 Feb 29 19:47 vmware-root_832-2730693535
-rw-------. 1 root root   0 Feb 29 19:37 yum.log
[root@oldboyedu ~]#
另外一种实现方式:
[root@oldboyedu ~]# tree oldboy
oldboy
├── 1.txt
├── 2.txt
└── 3.txt

0 directories, 3 files
[root@oldboyedu ~]# 
[root@oldboyedu ~]# 
[root@oldboyedu ~]# cp -r oldboy /tmp/
[root@oldboyedu ~]# cp -r oldboy /tmp/
cp: overwrite ‘/tmp/oldboy/1.txt’? y
cp: overwrite ‘/tmp/oldboy/2.txt’? y
cp: overwrite ‘/tmp/oldboy/3.txt’? y
[root@oldboyedu ~]# 
[root@oldboyedu ~]# 
[root@oldboyedu ~]# \cp -r oldboy /tmp/
[root@oldboyedu ~]# ll /tmp/
total 4
-rwx------. 1 root root 836 Feb 29 19:41 ks-script-yJLtsF
drwxr-xr-x. 2 root root  45 Mar  5 17:56 oldboy
-rw-r--r--. 1 root root   0 Mar  5 17:52 oldboy.txt
-rw-r--r--. 1 root root   0 Mar  5 17:52 test.txt
drwx------. 2 root root   6 Mar  1 10:34 vmware-root_819-4290101131
drwx------. 2 root root   6 Feb 29 19:47 vmware-root_832-2730693535
-rw-------. 1 root root   0 Feb 29 19:37 yum.log
[root@oldboyedu ~]# 

##使用\cp 强制覆盖不提示
[root@oldboyedu ~]# \cp -r oldboy /tmp/

### \ 取消别名 还原本意

mv命令

mv  移动 move 
语法结构:
	mv 源文件 目标位置		#移动
	mv file1 file2 目标目录	#移动
	mv 源文件名称 新文件名称	#改名
案例1.移动.bak文件到/tmp
[root@oldboyedu ~]# mv oldboy.txt.bak /tmp
[root@oldboyedu ~]# ll /tmp/
total 4
-rwx------. 1 root root 836 Feb 29 19:41 ks-script-yJLtsF
drwxr-xr-x. 2 root root  45 Mar  5 17:56 oldboy
-rw-r--r--. 1 root root   0 Mar  5 17:52 oldboy.txt
-rw-r--r--. 1 root root   0 Mar  5 17:51 oldboy.txt.bak
-rw-r--r--. 1 root root   0 Mar  5 17:52 test.txt
drwx------. 2 root root   6 Mar  1 10:34 vmware-root_819-4290101131
drwx------. 2 root root   6 Feb 29 19:47 vmware-root_832-2730693535
-rw-------. 1 root root   0 Feb 29 19:37 yum.log
[root@oldboyedu ~]#

案例2.移动多个文件到/tmp
[root@oldboyedu ~]# mv oldboy.txt test.txt /tmp/
[root@oldboyedu ~]# ll /tmp/
total 0
-rw-r--r--. 1 root root 0 Mar  5 17:50 oldboy.txt
-rw-r--r--. 1 root root 0 Mar  5 19:09 test.txt
[root@oldboyedu ~]#

案例3.强制覆盖不提示    #\mv oldboy.txt /tmp/
[root@oldboyedu ~]# mv oldboy.txt /tmp/
mv: overwrite ‘/tmp/oldboy.txt’? y
[root@oldboyedu ~]# touch oldboy.txt
[root@oldboyedu ~]# \mv oldboy.txt /tmp/
[root@oldboyedu ~]#
案例4.移动目录
[root@oldboyedu ~]# mv oldboy/ test/ /tmp/
[root@oldboyedu ~]#
案例5.移动/tmp/所有的文件到当前目录,使用. 和..
[root@oldboyedu ~]# mv /tmp/* .
[root@oldboyedu ~]# ll
total 4
-rw-------. 1 root root 1522 Feb 29 19:41 anaconda-ks.cfg
drwxr-xr-x. 2 root root   45 Mar  5 17:56 oldboy
-rw-r--r--. 1 root root    0 Mar  5 19:11 oldboy.txt
drwxr-xr-x. 5 root root   40 Mar  5 14:59 test
-rw-r--r--. 1 root root    0 Mar  5 19:09 test.txt
[root@oldboyedu ~]#
案例6.复制hosts文件到当前目录
[root@oldboyedu ~]# cp /etc/hosts .
[root@oldboyedu ~]# ll
total 8
-rw-------. 1 root root 1522 Feb 29 19:41 anaconda-ks.cfg
-rw-r--r--. 1 root root  158 Mar  5 19:13 hosts
drwxr-xr-x. 2 root root   45 Mar  5 17:56 oldboy
-rw-r--r--. 1 root root    0 Mar  5 19:11 oldboy.txt
drwxr-xr-x. 5 root root   40 Mar  5 14:59 test
-rw-r--r--. 1 root root    0 Mar  5 19:09 test.txt
[root@oldboyedu ~]#

案例7.拷贝/etc/passwd 到上一层目录
[root@oldboyedu ~]# cp /etc/passwd ../

rm命令

在企业中使用mv代替rm ,相当于先放回收站但是不清空
rm		#文件或者目录 remove
语法结构:
	rm 文件
	rm file1 file2
	rm 目录
	rm -f 强制删除文件不提示
	rm -rf 强制删除目录不提示

案例1.删除当前的bak文件
[root@oldboyedu ~]# rm -f hosts.bak 
[root@oldboyedu ~]# ll
案例2.删除多个文件
[root@oldboyedu ~]# rm -f oldboy.txt test.txt 
[root@oldboyedu ~]#
案例3.删除目录oldboy
[root@oldboyedu ~]# rm -rf oldboy/
案例4.强制删除不提示
[root@oldboyedu ~]# ll /opt/
total 0
-rw-r--r--. 1 root root 0 Mar  5 17:50 oldboy.txt
[root@oldboyedu ~]# rm -rf /opt/*
[root@oldboyedu ~]#

vim命令

vim 		#文件编辑器vi的高级版本
语法结构:
	vim 文件名		 #文件不存在则创建
	vim 目录/文件名	#路径必须存在

vim编辑文件的流程:
第一步: vim 文件名称 进入到视图模式 只能看
第二步: 按a或者i 进入到编辑模式 可以输入内容
第三步: esc 返回到视图模式
第四步: 输入:wq

vim快捷键

G:	快速到行尾
	10G 快速到第10行
gg: 快速到行首
	1g 快速到第1行

:set nu 显示行号
$:	快速到行尾,相当于End
数字0 快速到行首

/搜索内容 :	搜索文本内容,#按n查找下一个 按N查找上一个
:q!		强制退出不保存

剪切/删除:
	dd	快速剪切光标所在行
	3dd 快速剪切光标往下3行
	d+End 快速删除光标所在到行尾
	d+0  快速删除光标所在到行首
	u   撤销操作
	d+G  快速删除光标所在到文件末尾
	dw  删除光标所在后边的字母,删除整个单词的话需要光标在单词首字母
	D   删除光标所在行
	x 光标往后字符删除
	X 光标往前字符删除
粘贴:
	p  粘贴所剪切内容。p粘贴到光标的下一行
	3p 快速粘贴3次
	P 粘贴到光标的上一行
复制:
	yy  复制光标所在行
	3yy 复制光标所在的下3行.按 p将内容粘贴站光标所在的下一行。
	
进入编辑模式:i o a
o		#在光标所在的下一行
O(大写字母)		#在光标所在的上一行
C(大写)		#删除光标所在行并进入编辑模式
A			#到行尾开始编辑


:		低行模式
:wq		保持并退出
:q!		强制退出不保存
:x		保存退出
:set nu 显示行号
:set nonu 去掉显示行号
vim中的替换
:s/把谁/替换成谁/		#只替换光标所在行的第一个单词
:s/把谁/替换成谁/g  #只替换光标所在行的整行的单词
:%s/把谁/替换成谁/g		#替换文中所有
:%s/root//g		#删除所有的root单词
视图模式下:
ZZ		快速保存并退出

vim ctrl+v 按方向键 按x删除  #批量选择删除
vim shift+v 按方向键    #批量选行

echo命令

echo		#输出字符串到屏幕上或者文件中 测试时候使用
语法格式:
	echo 字符串		#输出到屏幕
	echo 字符串 > 文件名 #输出到文件

案例1:echo 输出姓名到屏幕上
[root@oldboyedu ~]# echo 姓名
姓名
[root@oldboyedu ~]# echo -e "aaa\nbbb"
aaa
bbb
[root@oldboyedu ~]#
[root@oldboyedu ~]# echo -e "aaa\t\tccc"
aaa		ccc
[root@oldboyedu ~]#

案例2:序列的使用方法
[root@oldboyedu ~]# echo {1..5}
1 2 3 4 5
[root@oldboyedu ~]# echo {1..10..2}
1 3 5 7 9
[root@oldboyedu ~]#
案例3:字母序列
[root@oldboyedu ~]# echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z
[root@oldboyedu ~]# echo {a..z..2}
a c e g i k m o q s u w y
[root@oldboyedu ~]#

案例4:拼接
[root@oldboyedu ~]# echo Q{1..4}
Q1 Q2 Q3 Q4
[root@oldboyedu ~]#

案例5:批量创建文件
[root@oldboyedu ~]# touch {1..4}.txt
[root@oldboyedu ~]# ll
total 8
-rw-r--r--. 1 root root    0 Mar  5 19:47 1.txt
-rw-r--r--. 1 root root    0 Mar  5 19:47 2.txt
-rw-r--r--. 1 root root    0 Mar  5 19:47 3.txt
-rw-r--r--. 1 root root    0 Mar  5 19:47 4.txt
-rw-------. 1 root root 1522 Feb 29 19:41 anaconda-ks.cfg
-rw-r--r--. 1 root root  158 Mar  5 19:13 hosts

[root@oldboyedu ~]# mkdir A{1..3}
[root@oldboyedu ~]# ll
total 8
-rw-r--r--. 1 root root    0 Mar  5 19:47 1.txt
-rw-r--r--. 1 root root    0 Mar  5 19:47 2.txt
-rw-r--r--. 1 root root    0 Mar  5 19:47 3.txt
-rw-r--r--. 1 root root    0 Mar  5 19:47 4.txt
drwxr-xr-x. 2 root root    6 Mar  5 19:49 A1
drwxr-xr-x. 2 root root    6 Mar  5 19:49 A2
drwxr-xr-x. 2 root root    6 Mar  5 19:49 A3
-rw-------. 1 root root 1522 Feb 29 19:41 anaconda-ks.cfg
-rw-r--r--. 1 root root  158 Mar  5 19:13 hosts
drwxr-xr-x. 5 root root   40 Mar  5 14:59 test

案例6:序列和目录的拼接
[root@oldboyedu ~]# touch test/{1..3}.txt
[root@oldboyedu ~]# ll test/
total 0
-rw-r--r--. 1 root root 0 Mar  5 19:50 1.txt
-rw-r--r--. 1 root root 0 Mar  5 19:50 2.txt
-rw-r--r--. 1 root root 0 Mar  5 19:50 3.txt
drwxr-xr-x. 2 root root 6 Mar  5 14:59 bbs
drwxr-xr-x. 2 root root 6 Mar  5 14:59 blog
drwxr-xr-x. 2 root root 6 Mar  5 14:59 www
案例7:在test目录下同时创建oldboy1 oldboy2 oldboy3目录
[root@oldboyedu ~]# mkdir test/oldboy{1..3}
[root@oldboyedu ~]# ll test/
total 0
-rw-r--r--. 1 root root 0 Mar  5 19:50 1.txt
-rw-r--r--. 1 root root 0 Mar  5 19:50 2.txt
-rw-r--r--. 1 root root 0 Mar  5 19:50 3.txt
drwxr-xr-x. 2 root root 6 Mar  5 14:59 bbs
drwxr-xr-x. 2 root root 6 Mar  5 14:59 blog
drwxr-xr-x. 2 root root 6 Mar  5 19:52 oldboy1
drwxr-xr-x. 2 root root 6 Mar  5 19:52 oldboy2
drwxr-xr-x. 2 root root 6 Mar  5 19:52 oldboy3

案例8:在test目录下创建bbs blog www目录
[root@oldboyedu ~]# echo {bbs,blog,www }
{bbs,blog,www }
[root@oldboyedu ~]# echo test/{bbs,blog,www}
test/bbs test/blog test/www
[root@oldboyedu ~]# 
[root@oldboyedu ~]# mkdir test/{bbs,blog,www}
[root@oldboyedu ~]# ll test/
total 0
-rw-r--r--. 1 root root 0 Mar  5 19:50 1.txt
-rw-r--r--. 1 root root 0 Mar  5 19:50 2.txt
-rw-r--r--. 1 root root 0 Mar  5 19:50 3.txt
drwxr-xr-x. 2 root root 6 Mar  5 19:54 bbs
drwxr-xr-x. 2 root root 6 Mar  5 19:54 blog
drwxr-xr-x. 2 root root 6 Mar  5 19:52 oldboy1
drwxr-xr-x. 2 root root 6 Mar  5 19:52 oldboy2
drwxr-xr-x. 2 root root 6 Mar  5 19:52 oldboy3
drwxr-xr-x. 2 root root 6 Mar  5 19:54 www

案例9:echo 将结果重定向到文件中
[root@oldboyedu ~]# echo hahahah > 1.txt
[root@oldboyedu ~]# cat 1.txt 
hahahah
[root@oldboyedu ~]# echo 呵呵呵 >> 1.txt
[root@oldboyedu ~]# cat 1.txt 
hahahah
呵呵呵
[root@oldboyedu ~]## > 先清空后写入 # >> 追加内容到文件末尾)

```sh

注:

**1>1>> 直接收正确的结果(默认1不写 )**

**2>2>> 只接收错误的结果**

log
drwxr-xr-x. 2 root root 6 Mar  5 19:52 oldboy1
drwxr-xr-x. 2 root root 6 Mar  5 19:52 oldboy2
drwxr-xr-x. 2 root root 6 Mar  5 19:52 oldboy3
drwxr-xr-x. 2 root root 6 Mar  5 19:54 www

案例9:echo 将结果重定向到文件中
[root@oldboyedu ~]# echo hahahah > 1.txt
[root@oldboyedu ~]# cat 1.txt 
hahahah
[root@oldboyedu ~]# echo 呵呵呵 >> 1.txt
[root@oldboyedu ~]# cat 1.txt 
hahahah
呵呵呵
[root@oldboyedu ~]## > 先清空后写入 # >> 追加内容到文件末尾)
  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

atomLg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值