day8:文件管理-命令
cp
cp [option] source... dest
-r 递归复制,可复制目录;不加r,默认仅可复制file
-v:显示,拷贝的过程
-p 保持文件属性
-a:相当于-rp,既可以拷贝目录,又可以保持文件属性
若dest不存在(最后dest不存在),则为复制并改名;
若dest存在:
1、dest is dirctory,则将源文件复制到该目录下,不改名
2、dest is file,则提示是否要覆盖 -y覆盖,-n不覆盖
test01 test04(test01复制到/test02/test03,并改名test04) 这两个文件一样 ,只是名字不一样
注意: /a/b/c/d/name 必须是/a/b/c/d目录都存在是才复制到d下并改名为name,若最后一个/之前的路径不存在,则报错:cp: target ‘/a/b/c/d/name’ is not a directory。
不使用i 功能,可有2种方式
1、\转移符
2、使用命令的绝对路径来使用命令
注意:当拷贝文件有多个源文件的情况下,最后一个必须是目录,不能是普通文件,也不能不存在,否则报错。
cp: target ‘/test02/test03/test04’ is not a directory
‘1.txt’ -> ‘/test02/test03/1.txt’
‘2.txt’ -> ‘/test02/test03/2.txt’
‘3.txt’ -> ‘/test02/test03/3.txt’
‘4.txt’ -> ‘/test02/test03/4.txt’
rm
默认,只能删除普通文件
rm: cannot remove ‘uuu’: Is a directory
rm -r 删除目录
rm: remove directory ‘uuu’?
rm -f 强制删除,没有提示(最好不用)。
cat
cat [option] file...
一次显示整个文件
-n:number 打印行号,显示行号
-E:end ,查看文件每一行的结尾,以$符表示
1 TYPE="Ethernet"$
2 PROXY_METHOD="none"$
3 BROWSER_ONLY="no"$
4 BOOTPROTO="none"$
5 DEFROUTE="yes"$
6 IPV4_FAILURE_FATAL="no"$
7 IPV6INIT="yes"$
8 IPV6_AUTOCONF="yes"$
9 IPV6_DEFROUTE="yes"$
10 IPV6_FAILURE_FATAL="no"$
11 IPV6_ADDR_GEN_MODE="stable-privacy"$
12 NAME="ens33"$
13 UUID="ebffba71-9559-4a17-a0c1-eee34f8b460b"$
14 DEVICE="ens33"$
15 ONBOOT="yes"$
16 IPADDR="10.0.0.100"$
17 PREFIX="24"$
18 GATEWAY="10.0.0.2"$
19 DNS1="223.5.5.5"$
20 IPV6_PRIVACY="no"$
-T:Tab,查看文件中每一行内容是否含有制表符。以^I表示一个制表符
1 ^I^I^I$
2 ^I^I^I$
3 nsj$
4 ^I^I$
5 $
-A:既显示制表符,又显示文件的结尾
功能 = -TE
将几个文件内容合并为一个文件:cat file1 file2 > file3
cat cjk.txt zls1.txt > heiheihei.txt
与重定向组合创建新文件
cat >> /oldboy/0602/zls1.txt << EOF
tail\head\more\less
tail [option] 文件名
默认显示文件的后10行
-n:指定查看文件末尾的后N行,n可以省略
Mar 23 17:01:01 xtt systemd: Started Session 30 of user root.
Mar 23 17:11:51 xtt systemd: Starting Cleanup of Temporary Directories...
Mar 23 17:11:51 xtt systemd: Started Cleanup of Temporary Directories.
-f-f:follow,跟踪,动态跟踪一个文件的末尾(重要,可作为动态监控功能)
Mar 23 16:42:15 xtt systemd-logind: New session 29 of user root.
Mar 23 17:01:01 xtt systemd: Started Session 30 of user root.
Mar 23 17:11:51 xtt systemd: Starting Cleanup of Temporary Directories...
Mar 23 17:11:51 xtt systemd: Started Cleanup of Temporary Directories.
Mar 23 17:55:37 xtt systemd: Started Session 31 of user root.
Mar 23 17:55:37 xtt systemd-logind: New session 31 of user root.
Mar 23 17:55:48 xtt systemd: Started Session 32 of user root.
Mar 23 17:55:48 xtt systemd-logind: New session 32 of user root.
Mar 23 17:55:50 xtt systemd: Started Session 33 of user root.
Mar 23 17:55:50 xtt systemd-logind: New session 33 of user root.
---------------------------Mar 23 17:56:23 xtt systemd: Started Session 34 of user root.
Mar 23 17:56:23 xtt systemd-logind: New session 34 of user root.
Mar 23 17:56:25 xtt systemd: Started Session 35 of user root.
Mar 23 17:56:25 xtt systemd-logind: New session 35 of user root.
head 文件名
默认显示一个文件的前10行内容
-数字 显示一个文件前X行内容
Mar 22 17:01:01 xtt systemd: Started Session 4 of user root.
Mar 22 17:07:52 xtt kernel: perf: interrupt took too long (2554 > 2500), lowering kernel.perf_event_max_sample_rate to 78000
Mar 22 17:52:40 xtt kernel: e1000: ens33 NIC Link is Down
more 文件名
按回车,一行一行向下显示
按空格,一页一页向下显示
Ctrl + b:向上查看
Ctrl + f:向下查看
less 文件名
Ctrl + b:向上查看
Ctrl + f:向下查看
按回车,一行一行向下显示
按空格,一页一页向下显示
输入/关键字,高亮显示,所有匹配到的内容
按n,查找下一个关键字
Shift + n 查找上一个关键字
创建新文件的方式
touch filename
vi filename
echo 'contest' >filenme
cat >> filename << EOF
