前言
Linux系列,主要是学习在工作中所必须的 Linux
命令及shell
编程,只涉及常用命令及参数。如果有对Linux
不熟悉的同学,或者想要更加深入学习Linux
的同学,可以点击这里。本篇文章首先来学习文件操作相关命令。
cd
命令格式
命令描述
示例
1
2
3
4
5
|
cd # 进入用户主目录;
cd / # 进入根目录
cd ~ # 进入用户主目录;
cd .. # 返回上级目录(若当前目录为“/“,则执行完后还在“/";".."为上级目录的意思);
cd ../.. # 返回上两级目录;
|
ls
命令格式
命令描述
ls
就是list的缩写,用来显示目标列表,在Linux中是使用率较高的命令。
常用选项
- -a: 显示所有文件,包括隐藏文件
- -l: 详细信息显示
- -h: 人性化显示,文件大小以B、K、M显示
- -i: 显示Linux对于每个文件的id
- -t: 按时间信息排序
- -d: 显示目录属性
示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
# 组合使用多个命令
[root@VM-0-5-centos redis-6.2.4]# ls -alhit
总用量 348K
131900 drwxrwxr-x 3 root root 12K 9月 20 11:14 src
131082 drwxrwxr-x 7 root root 4.0K 6月 19 14:16 .
132726 -rw-r--r-- 1 root root 92K 6月 19 14:15 my.conf
131140 drwxrwxr-x 7 root root 4.0K 6月 19 14:04 deps
131117 -rw-rw-r-- 1 root root 28K 6月 1 22:03 00-RELEASENOTES
131120 -rw-rw-r-- 1 root root 51 6月 1 22:03 BUGS
131123 -rw-rw-r-- 1 root root 5.0K 6月 1 22:03 CONDUCT
131126 -rw-rw-r-- 1 root root 3.4K 6月 1 22:03 CONTRIBUTING
131129 -rw-rw-r-- 1 root root 1.5K 6月 1 22:03 COPYING
# 使用 -d,输出目录属性,而不是列出其中的文件
[root@VM-0-5-centos redis-6.2.4]# ls -lhd /opt
drwxr-xr-x. 4 root root 4.0K 6月 19 14:03 /opt
|
命令输出第二列,有字符串"-rw-r–r–",这是对文件的权限描述,具体如下图所示:
其中第一个字符表示文件类型:'-‘表示二进制文件,’d’表示目录 ‘l’表示软链接文件
后面三组分别表示所有者、所属组、其他用户对该文件的权限:r表示可读、w表示可写、x表示可执行
mkdir
命令格式
命令描述
常用选项
- -m: 建立目录的同时设置目录的权限
- -p: 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录;
示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
[root@VM-0-5-centos /]# cd home
[root@VM-0-5-centos home]# ls
# -p,新建父子目录
[root@VM-0-5-centos home]# mkdir -p hello/world
[root@VM-0-5-centos home]# ls
hello
# -m,新建时指定权限
[root@VM-0-5-centos home]# mkdir -m 700 test
[root@VM-0-5-centos home]# ls -l
总用量 8
drwxr-xr-x 3 root root 4096 9月 20 12:06 hello
drwx------ 2 root root 4096 9月 20 12:07 test
|
rmdir
命令格式
命令描述
常用选项
- -p:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除;
示例
1
2
3
4
5
6
7
|
[root@VM-0-5-centos home]# ls
hello test
# 使用 -p 参数删除空目录
[root@VM-0-5-centos home]# rmdir -p hello/world/
[root@VM-0-5-centos home]# ls
test
|
touch
命令格式
命令描述
创建新的空文件
示例
1
2
3
|
[root@VM-0-5-centos home]# touch a.txt
[root@VM-0-5-centos home]# ls
a.txt hello test
|
rm
命令格式
命令描述
删除文件或目录
常用选项
- -f:强制删除,没有提示是否确认删除
- -r:递归删除,在删除目录时使用
- -i:删除已有文件或目录之前先询问用户
慎重使用rm
命令,不小心删除后无法找回
示例
1
2
3
|
[root@VM-0-5-centos home]# rm test2.txt
rm:是否删除普通空文件 "test2.txt"?y
[root@VM-0-5-centos home]#
|
cp
命令格式
命令描述
常用选项
- -r 递归复制,用于复制目录
- -p 保留原有文件属性
示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
# 1. 不使用 -p 参数,可以看到两个文件夹中,文件的创建时间不同
[root@VM-0-5-centos home]# touch test1.txt
[root@VM-0-5-centos home]# touch test2.txt
[root@VM-0-5-centos home]# mkdir hello
[root@VM-0-5-centos home]# ls -l
总用量 4
drwxr-xr-x 2 root root 4096 9月 20 12:31 hello
-rw-r--r-- 1 root root 0 9月 20 12:29 test1.txt
-rw-r--r-- 1 root root 0 9月 20 12:29 test2.txt
# 等一分钟后再复制
[root@VM-0-5-centos home]# cp test1.txt test2.txt hello
[root@VM-0-5-centos home]# ls -l hello/
总用量 0
-rw-r--r-- 1 root root 0 9月 20 12:31 test1.txt
-rw-r--r-- 1 root root 0 9月 20 12:31 test2.txt
# 2. 使用 -p 参数,文件属性会保留
[root@VM-0-5-centos home]# mkdir test
[root@VM-0-5-centos home]# cp -p test1.txt test2.txt test
[root@VM-0-5-centos home]# ls -l test
总用量 0
-rw-r--r-- 1 root root 0 9月 20 12:29 test1.txt
-rw-r--r-- 1 root root 0 9月 20 12:29 test2.txt
# 3. 使用-r,复制目录
[root@VM-0-5-centos home]# cp -r test hello/
[root@VM-0-5-centos home]# ls hello/
test test1.txt test2.txt
|
mv
命令格式
命令描述
移动文件或者重命名
示例
1
2
3
4
5
|
# 重命名
[root@VM-0-5-centos home]# mv test1.txt test3.txt
# 移动文件到另一个文件夹
[root@VM-0-5-centos home]# mv test3.txt hello/
|
cat
命令格式
命令描述
显示文件内容
常用选项
示例
1
2
3
4
|
[root@VM-0-5-centos home]# cat -n /etc/issue
1 \S
2 Kernel \r on an \m
3
|
tac
命令格式
命令描述
与cat相反,反向显示文件内容
示例
1
2
3
4
|
[root@VM-0-5-centos home]# tac /etc/issue
Kernel \r on an \m
\S
|
more
命令格式
命令描述
分页显示文件内容
操作
运行命令进入查看页面后,可以进行如下操作:
- 空格 或 f:向下翻页
- b:向上翻页
- Enter:换行
- q或Q:退出
示例
1
|
[root@VM-0-5-centos home]# more /etc/services
|
less
命令格式
命令描述
与more
分页显示文件内容类似,但是less
可以搜索关键字,比more
更强大
操作
运行命令进入查看页面后,可以进行如下操作:
- 空格 或 f:向下翻页
- b:向上翻页
- 上下键:换行
- Enter:换行
- q或Q:退出
- 输入 “/内容 “,搜索内容,按
n
寻找下一个(n表示next)
示例
1
|
[root@VM-0-5-centos home]# less /etc/services
|
head
命令格式
命令描述
显示文件前几行,默认显示前10行
常用选项
-n:指定显示行数
示例
1
2
3
4
5
6
|
[root@VM-0-5-centos home]# head -n 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
命令格式
命令描述
显示文件最后几行,默认显示最后10行
常用选项
- -n:指定显示行数
- -f:动态显示文件内容(不会退出命令,监听新的数据,文件中有新的数据增加后,会自动打印出来,按 control + c 退出)
示例
1
|
[root@VM-0-5-centos home]# tail -f /var/log/messages
|
总结
本文介绍了Linux文件操作的相关命令,包括:
更多
微信公众号:CodePlayer