0
点赞
收藏
分享

微信扫一扫

佳豪哥哥教你学Linux的第八天

文件管理命令

目录创建命令

复制命令

cp:copy
cp [option]... source dest
cp [选项] 源文件... 目标路径
默认,只能拷贝文件
## 选项
-t:目标路径 源文件
-p:保持文件属性
-r:递归复制,复制目录及目录下的所有文件
-a:相当于-rp,既可以拷贝目录,又可以保持文件属性
-i:提示
-v:显示,拷贝的过程
##用法
[root@wu /]# cp oldboy.txt /oldboy
[root@wu /]# cd oldboy
[root@wu /oldboy]# ll
total 4
drwxr-xr-x. 2 root root 77 Mar 23 17:38 0602
-rw-r--r--. 1 root root 40 Mar 23 17:44 oldboy.txt
## 复制并改名
[root@wu /]# cp oldboy.txt /oldboyedu/123
[root@wu /]# cd oldboyedu/
[root@wu /oldboyedu]# ll
total 8
-rw-r--r--. 1 root root 40 Mar 23 17:46 123
123是否存在
- 存在
1)存在,并且123是个目录:将oldboy.txt放到/oldboyedu/123目录下,不改名
2)存在,并且123是个普通文件:则提示是否要覆盖,输入y则覆盖,输入n则不覆盖
- 不存在:复制到/oldboyedu下,并且改名为123
## 提示
[root@wu /]# cp oldboy.txt oldboy
cp: overwrite ‘oldboy/oldboy.txt’? y
[root@wu /]#
## 报错
[root@wu /]# cp /oldboy/ oldboyedu/
cp: omitting directory ‘/oldboy/’
## 举例
# -p保持文件属性
[root@wu /]# cp -p /oldboy.txt oldboy
# 查看当前拷贝过来的文件属性
[root@wu /oldboy]# ll
total 4
drwxr-xr-x. 2 root root 77 Mar 23 17:38 0602
-rw-r--r--. 1 root root 40 Mar 23 16:51 oldboy.txt
# 查看源文件属性
[root@wu /]# ll
-rw-r--r--. 1 root root 40 Mar 23 16:51 oldboy.txt
# -r递归拷贝
[root@wu /]# cp -r /abc/ /oldboy/
[root@wu /]# ll
total 4
drwxr-xr-x. 2 root root 77 Mar 23 17:38 0602
drwxr-xr-x. 2 root root 6 Mar 23 18:32 abc
-rw-r--r--. 1 root root 40 Mar 23 16:51 oldboy.txt
[root@wu /]# cp -r /wjh/ /oldboy/
[root@wu /]# cd oldboy
[root@wu /oldboy]# ll
total 4
drwxr-xr-x. 2 root root 77 Mar 23 17:38 0602
drwxr-xr-x. 2 root root 6 Mar 23 18:32 abc
-rw-r--r--. 1 root root 40 Mar 23 16:51 oldboy.txt
drwxr-xr-x. 2 root root 6 Mar 23 18:33 wjh
# -a拷贝目录,保持目录属性
@wu /]# cp -a /abc/ /oldboy/
[root@wu /]# cd oldboy
[root@wu /oldboy]# ll
total 4
drwxr-xr-x. 2 root root 77 Mar 23 17:38 0602
drwxr-xr-x. 2 root root 6 Mar 23 18:31 abc
# -a拷贝目录,保持目录属性
@wu /]# cp -a /abc/ /oldboy/
[root@wu /]# cd oldboy
[root@wu /oldboy]# ll
total 4
drwxr-xr-x. 2 root root 77 Mar 23 17:38 0602
drwxr-xr-x. 2 root root 6 Mar 23 18:31 abc
# -i提示
[root@wu /]# cp -i oldboy.txt oldboy
cp: overwrite ‘oldboy/oldboy.txt’? y
[root@wu /]# cd oldboy
[root@wu /oldboy]# ll
total 4
drwxr-xr-x. 2 root root 77 Mar 23 17:38 0602
drwxr-xr-x. 2 root root 6 Mar 23 18:31 abc
-rw-r--r--. 1 root root 40 Mar 23 18:41 oldboy.txt
drwxr-xr-x. 2 root root 6 Mar 23 18:33 wjh
## 避免提示有两种方法
1.使用转义符:让转义符后面的内容
[root@wu /]# \cp -a /abc /wjh/
2.使用命令的绝对路径
2.使用命令的绝对路径
# -v显示拷贝的过程
[root@wu /]# \cp -av /abc/ /wjh/
[root@wu /]#
注意:当拷贝文件有多个源文件的情况下,最后一个必须是目录,也不能不存在

删除命令

rm:remove
默认,只能删除普通文件
## 语法
rm [OPTION]... FILE...
rm 选项... 文件...
## 选项
-i:提示
1
2
3
4
5
6
7
8
9
普通文件查看命令
-r:递归删除
-f:force 强制
------------------
-d:只能删除空目录
## 举例
# -r递归删除
# -f强制删除
## 报错
注意:
rm -r 删除目录
rm 删除文件

普通文件查看命令

cat 只能查看文件内容
## 语法
cat [OPTION]... [FILE]...
cat 选项... 普通文件...
## 选项
-n:number 打印行号,显示行号
-E:end ,查看文件每一行的结尾,以$符表示
-T:Tab,查看文件中每一行内容是否含有制表符。以^I表示一个制表符
-A:既显示制表符,又显示文件的结尾
## 报错
[root@wu /]# cat /tmp
cat: /tmp: Is a directory
## 举例
[root@wu /oldboy]# echo 1 > 1.txt
[root@wu /oldboy]# echo 2 > 2.txt
-rw-r--r--. 1 root root 2 Mar 23 18:52 1.txt
-rw-r--r--. 1 root root 2 Mar 23 18:52 2.txt
[root@wu /oldboy]# cat 1.txt
1
[root@wu /oldboy]# cat 1.txt 2.txt
1
2
# -n打印行号
[root@wu /]# cat -n /etc/passwd
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 adm:x:3:4:adm:/var/adm:/sbin/nologin
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8 halt:x:7:0:halt:/sbin:/sbin/halt
9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10 operator:x:11:0:operator:/root:/sbin/nologin
11 games:x:12:100:games:/usr/games:/sbin/nologin
12 ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
13 nobody:x:99:99:Nobody:/:/sbin/nologin
14 systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
15 dbus:x:81:81:System message bus:/:/sbin/nologin
16 polkitd:x:999:998:User for polkitd:/:/sbin/nologin
17 sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
18 postfix:x:89:89::/var/spool/postfix:/sbin/nologin
# -E 查看文件结尾
[root@wu /oldboy]# cat -E 1.txt
1 $
2$
3 $
4 $
5$
6$
7 81$
# -T 查看文件中的制表符
[root@wu /oldboy]# cat -T 1.txt
1^I^I
^I^I^I2
3
4 ^I^I
^I5
6
7^I^I81
# -A 既查看制表符,又查看文件结尾
[root@wu /oldboy]# cat -A 1.txt
1^I^I$
^I^I^I2$
3 $
4 ^I^I$
^I5$
6$
7^I^I81$
[root@wu /oldboy]#
## 搞难度用法(在文件不存在的情况下,创建文件并写入内容)
# 1.直接vi一个不存在的文件
[root@wu /oldboy]# vi 6.txt
[root@wu /oldboy]# cat 6.txt
1.txt
2.txt
3.txt
4.txt
5.txt
6.txt
# 2.echo内容重定向到一个文件中
[root@wu /oldboy]# echo 5 > 5.txt
[root@wu /oldboy]# cat 5.txt
5
[root@wu /oldboy]# ll
total 12
-rw-r--r--. 1 root root 2 Mar 23 19:05 5.txt
# 3.使用cat创建文件并写入内容
[root@wu /]# cat >> 6.txt <<EOF
> 6
> EOF
[root@wu /]# ll
total 28
-rw-r--r--. 1 root root 2 Mar 23 19:08 6.txt



[root@wu /]# cat >> /oldboy/wjh.txt << EOF
> 人生在生必须浪
> 游戏小说时常看
> 天生我材必有用
> 摸打鬼混样样通
> EOF

EOF:End Of 以....结尾,不是固定用法,规范用法
注意:cat查看文件时,会将文件所有内容全部加载到内存里

普通文件查看命令 扩展

# more
more 文件名
按回车,一行一行向下显示
按空格,一页一页向下显示
Ctrl + b:向上查看
Ctrl + f:向下查看

# less
less 文件名
Ctrl + b:向上查看
Ctrl + f:向下查看
按回车,一行一行向下显示
按空格,一页一页向下显示
输入/关键字,高亮显示,所有匹配到的内容
按n,查找下一个关键字
Shift + n 查找上一个关键字
------------

# head
head 文件名
默认显示一个文件的前10行内容

## 选项
-n:指定查看文件开头的前N行,n可以省略
[root@wu /]# head -n 3 /etc/services
# /etc/services:
# $Id: services,v 1.55 2013/04/14 ovasik Exp $
#

[root@wu /]# head -5 /etc/services
# /etc/services:
# $Id: services,v 1.55 2013/04/14 ovasik Exp $
#
# Network services, Internet style
# IANA services version: last updated 2013-04-10
# tail
tail 文件名
默认显示一个文件的后10行内容
[root@wu /]# tail /etc/services
3gpp-cbsp 48049/tcp # 3GPP Cell Broadcast Service Protocol
isnetserv 48128/tcp # Image Systems Network Services
isnetserv 48128/udp # Image Systems Network Services
blp5 48129/tcp # Bloomberg locator
blp5 48129/udp # Bloomberg locator
com-bardac-dw 48556/tcp # com-bardac-dw
com-bardac-dw 48556/udp # com-bardac-dw
iqobject 48619/tcp # iqobject
iqobject 48619/udp # iqobject
matahari 49000/tcp # Matahari Broker

## 选项
-n:指定查看文件末尾的后N行,n可以省略
-f:follow,跟踪,动态跟踪一个文件的末尾
[root@wu /]# tail -n 3 /etc/services
iqobject 48619/tcp # iqobject
iqobject 48619/udp # iqobject
matahari 49000/tcp # Matahari Broker

[root@wu /]# tail -3 /etc/services
iqobject 48619/tcp # iqobject
iqobject 48619/udp # iqobject
matahari 49000/tcp # Matahari Broker

[root@wu /]# tail -f /oldboy/wjh.txt
人生在生必须浪
游戏小说时常看
天生我材必有用
摸打鬼混样样通
举报

相关推荐

0 条评论