Skip to content

Commit d3e7224

Browse files
committed
touch&&cat
1 parent 9e23274 commit d3e7224

File tree

1 file changed

+75
-25
lines changed

1 file changed

+75
-25
lines changed

文件目录操作.md

Lines changed: 75 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,13 @@
33

44
## ls
55

6-
-R –recursive 同时列出所有子目录层
7-
8-
-h, –human-readable 以容易理解的格式列出文件大小 (例如 1K 234M 2G)
9-
10-
-t 以文件修改时间排序
11-
12-
-r, –reverse 依相反次序排列
13-
14-
-a, –all列出目录下的所有文件,包括以.开头的隐含文件
15-
16-
-l 每行只列出一个文件
17-
18-
-d, –directory 将目录象文件一样显示,而不是显示其下的文件。
6+
- -R –recursive 同时列出所有子目录层
7+
- -h, –human-readable 以容易理解的格式列出文件大小 (例如 1K 234M 2G)
8+
- -t 以文件修改时间排序
9+
- -r, –reverse 依相反次序排列
10+
- -a, –all列出目录下的所有文件,包括以.开头的隐含文件
11+
- -l 每行只列出一个文件
12+
- -d, –directory 将目录像文件一样显示,而不是显示其下的文件。
1913

2014
### Centos 设置别名
2115

@@ -34,26 +28,28 @@ cd [~] <!==> cd /
3428

3529
## pwd
3630

37-
-P 显示出实际路径,而非使用连接(link 软连接)路径
31+
- -P 显示出实际路径,而非使用连接(link 软连接)路径
3832

3933
## mkdir
4034

41-
-p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;(递归创建多个目录)
42-
43-
mkdir -p test1/tests2
44-
ls -R test1
45-
46-
-m, --mode=模式,设定权限<模式> (类似 chmod)
35+
- -m, --mode=模式,设定权限<模式> (类似 chmod)
36+
- -p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;(递归创建多个目录)
4737

4838
创建权限为777的目录
39+
```sh
4940
mkdir -m 777 test2
5041

42+
mkdir -p test1/tests2
43+
ls -R test1
44+
```
45+
5146
## rm
5247

53-
-f, --force 忽略不存在的文件,从不给出提示。
54-
-r, -R, --recursive 指示rm将参数中列出的全部目录和子目录均递归地删除。
48+
- -f, --force 忽略不存在的文件,从不给出提示。
49+
- -r, -R, --recursive 指示rm将参数中列出的全部目录和子目录均递归地删除。
5550

56-
```shell
51+
删除前备份
52+
```sh
5753
[root@JD My_Test]# myrm(){ D=/tmp/$(date +%Y%m%d%H%M%S); mkdir -p $D; mv "$@" $D && echo "moved to $D ok"; }
5854

5955
[root@JD My_Test]# alias rm='myrm'
@@ -67,7 +63,7 @@ rmdir命令。rmdir是常用的命令,该命令的功能是删除空目录
6763

6864
## mv
6965

70-
-t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。
66+
- -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。
7167

7268
重命名
7369
```sh
@@ -128,4 +124,58 @@ cp -a test.log test2.log
128124

129125
```sh
130126
cp -s log.log log_link.log
131-
```
127+
```
128+
129+
## touch 命令
130+
131+
用来修改文件时间戳,或者新建一个不存在的文件。
132+
133+
- -r, 把指定文档或目录(已存在情况下)的日期时间,统统设成和参考文档或目录的日期时间相同。
134+
- -t, 使用指定的日期时间戳,而非现在的时间戳。
135+
- -d, 使用指定的日期时间,而非现在的时间。
136+
137+
更新log_touch.log的时间和log.log时间戳相同
138+
```sh
139+
touch -r log.log log_touch.log
140+
```
141+
142+
设定文件的时间戳
143+
```sh
144+
touch -t 201808192233.50 log.log
145+
touch -d 20180819 log.log
146+
```
147+
>[[CC]YY]MMDDhhmm[.SS]
148+
149+
150+
## cat 命令
151+
152+
cat命令的用途是连接文件或标准输入并打印
153+
154+
- 一次显示整个文件:cat filename
155+
- 从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件(创建后直接进入编辑状态,输入完后按Ctrl+C保存)
156+
- 将几个文件合并为一个文件:cat file1 file2 > file
157+
158+
- -n, --number 对输出的所有行编号,由1开始对所有输出的行数编号
159+
- -b, --number-nonblank 对非空输出行编号
160+
161+
把 log2012.log 的文件内容加上行号后输入 log2013.log
162+
```sh
163+
cat -n log2012.log log2013.log
164+
```
165+
166+
不会真正写入到log2013.log中,需要写入log2013.log
167+
```sh
168+
cat -n log2012.log > log2013.log
169+
```
170+
171+
把 log2012.log 和 log2013.log 的文件内容加上行号(空白行不加)之后将内容附加到 log.log 里。
172+
```sh
173+
cat -b log2012.log log2013.log log.log
174+
cat -b log2012.log log2013.log > log.log
175+
```
176+
177+
tac (反向列示)
178+
179+
>tac 是将 cat 反写过来,所以他的功能就跟 cat 相反, cat 是由第一行到最后一行连续显示在萤幕上,而 tac 则是由最后一行到第一行反向在萤幕上显示出来!
180+
181+
**tail:只显示结尾几行**

0 commit comments

Comments
 (0)