文件目录操作
# pwd 当前工作目录的绝对路径
基本语法
- pwd
功能描述
- 显示当前工作目录的绝对路径
[root@hadoop100 home]# pwd
/home
1
2
2
# ls 列出目录内容
列出目录内容
基本语法
- ls [选项] [目录或者文件]
常用选项
选项 | 功能 |
---|---|
-a | 全部文件,连同隐藏文件(开头为. 的文件)罗列出来 |
-l | 长数据串列出,包含文件的属性和权限数据 |
[root@hadoop100 usr]# ls -al
总用量 168
# 每列信息依次是:
# 文件类型与权限 连接数 文件属性 文件属组 文件大小byte 建立与更新时间 名称
drwxr-xr-x. 13 root root 4096 2月 27 07:35 .
dr-xr-xr-x. 25 root root 4096 3月 3 16:17 ..
dr-xr-xr-x. 2 root root 36864 3月 3 04:48 bin
drwxr-xr-x. 2 root root 4096 9月 23 2011 etc
drwxr-xr-x. 2 root root 4096 9月 23 2011 games
drwxr-xr-x. 37 root root 4096 2月 27 07:37 include
dr-xr-xr-x. 32 root root 4096 2月 27 07:47 lib
...
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
可以使用 ll 代替 ls -al 两者含义相同
1
# cd 切换目录
切换目录
基本语法
- cd [参数]
参数说明
参数 | 功能 |
---|---|
cd 绝对路径 | 切换路径 |
cd 相对路径 | 切换路径 |
cd ~ 或者 cd | 切换到自己的家目录 |
cd - | 回到上一次所在的目录 |
cd .. | 回到上一级目录 |
cd -P [路径] | 跳转到实际的物理路径,非快捷键方式路径 |
示例
- 使用绝对路径切换到root目录
- cd /root
- 使用相对路径到 /root 目录
- 需要知道该用户目录下哪个目录下,才能完成这个指令,如在/usr/lib
- cd ../../root
- 回到当前目录的上一级目录
- cd ..
- 回到家目录
- cd ~
- cd
# mkdir 创建一个新目录
创建一个新的目录
基本语法
- mkdir [选项] 要创建的目录
选项
参数 | 说明 |
---|---|
-p | 创建多层目录 |
[root@hadoop100 home]# mkdir test01
[root@hadoop100 home]# ll
总用量 4
drwxr-xr-x. 2 root root 4096 3月 6 23:26 test01
[root@hadoop100 home]# mkdir -p test01/test02/test03
1
2
3
4
5
2
3
4
5
# rmdir 删除一个空的目录
remove directory 删除一个空的目录,注意,目录中没有文件可以删除
基本语法
- rmdir [选项] 要删除的空目录
[root@hadoop100 home]# rmdir test01/
rmdir: 删除 "test01/" 失败: 目录非空
1
2
2
rmdir 删除的是空目录,如果目录下有内容时是无法删除的,如果要删除非空目录,需要使用rm -rf 命令删除
# touch 创建空文件
创建空文件,可以同时创建多个
基本语法
- touch 文件名称
touch test.txt
touch test01.txt test02.text
1
2
2
# cp 复制文件或目录
拷贝文件到指定目录
基本语法
cp [选项] source dest
复制source文件到dest
选项
- -r 递归复制整个文件夹
参数说明
参数 | 功能 |
---|---|
source | 源文件 |
dest | 目标文件 |
# 复制文件
cp test.txt test01/test02/
# 递归复制整个文件夹
cp -r test01/ test03/
# 强制不提示覆盖的方式使用 \cp
1
2
3
4
5
2
3
4
5
# rm 移除文件或目录
基本语法
- rm [选项] 要删除的文件或目录
选项
选项 | 功能 |
---|---|
-r | 递归删除目录中的所有内容 |
-f | 强制执行删除命令,而不提示用户用于确认 |
-v | 显示指令的详细过程 |
rm test.txt
rm:是否删除普通空文件 "test.txt"?yes
rm -rfv test03
已删除目录:"test03/test02/test02"
已删除"test03/test02/test.txt"
已删除目录:"test03/test02"
已删除目录:"test03"
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# mv 移动文件与目录或重命名
mv 移动文件 与 目录或重命名
基本语法
- mv oldNameFile newNameFile
- 重命名
- mv /temp/movefile /targetFolder
- 移动文件
# cat 查看内容
cat 查看文件内容,以只读的方式打开
基本语法
- cat [选项] fileName
常用选项
- -n 显示所有行号,包括空行
示例:以cat指令打开文件,并分页显示
cat -n houge.txt | more
1
注意
- cat只能浏览文件,而不能修改文件,为了浏览方便,一般会带上管道命令 | more
- cat 文件名 | more [分页浏览]
# more 文件内容分屏查看
more 是基于vi编辑器的文本过滤器,以全屏的方式按页显示文本文件的内容 more 内置了若干快捷键
基本语法
- more 要查看的文件
快捷键
操作 | 功能说明 |
---|---|
space | 向下翻页 |
enter | 向下翻一行 |
Ctrl+f | 向下滚动一屏 |
Ctrl+b | 向上滚动一屏 |
= | 输出当前行的行号 |
:f | 输出文件名和当前行的行号 |
q | 退出 |
[root@hadoop100 ~]# more smartd.conf
1
# less 分屏显示文件内容
用于分屏查看文件内容,比more功能强,less指令在显示文件内容时,不是一次将整个文件加载之后再显示,而是根据需要显示要加载的内容,对于显示大型文件具有较高的效率
基本语法
- less 要查看的文件
快捷键
操作 | 说明 |
---|---|
space | 向下翻动一页 |
pagedown | 向下翻动一页 |
pageup | 向上翻动一页 |
/字符串 | 向下搜索“字符串”,n:向下查找;N:向上查找 |
?字符串 | 向上搜索“字符串”,n:向上查找;N:向下查找 |
q | 退出 |
[root@hadoop100 ~]# less smartd.conf
1
# 覆盖 > 与 追加 >>
将显示的文本信息写入到文件中
>
输出重定向,将原来的文件内容覆盖
>>
追加,不会覆盖原来的内容,追加到文件的尾部
基本语法
- ls -l > fileName
- 将显示的内容覆盖写入到fileName文件中,如果该文件不存在,则创建文件
- ls -al >> fileName
- 将文件内容追加到fileName文件中
- cat file1 > file2
- 将文件1的内容覆盖文件2
- echo “content” >> fileName
- 将字符串追加到fileName文件中
案例
- 将/home目录下的文件列表写入到/home/info.txt中
- ls -l /home/ > /home/info.txt
- 将当前日历信息追加到/home/mycal 文件中
- cal >> /home/mycal
# echo 输出内容到控制台
基本语法
- echo [选项] [输出内容]
选项
- -e 开启转义
控制字符
\\
输出\本身\n
换行符\t
制表符,Tab键"
表示双引号\a
发出警告声\b
删除前一个字符\f
换行但光标仍旧停留在原来的位置
示例
# 显示字符串
echo “hello world”
hello world
# 可以去除引号
echo hello world
# 显示转义符
echo "\"hello world\""
"hello world"
# 在shell中读取变量名
touch test.sh
# 在test.sh 添加如下内容
read name
echo $name is test echo
# 执行test.sh
sh test.sh
hello world # 输入
hello world is test echo # 输出
# 显示换行
echo "hello \n world"
hello \n world
echo -e "hello \n world"
hello
world
# 将结果指定到文件
echo "hello world" > hello.txt
# 显示原始字符串,不进行转义,使用单引号
echo '$name\"'
$name\"
# 显示命令执行的命令
echo `date` # 显示日期
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
30
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
30
# head 显示文件头部信息
用于显示文件开头部分内容,默认情况下显示文件的前10行内容
基本语法
- head 文件
- 查看文件头10行内容
- head -n 5 文件
- 查看文件头5行内容
参数
- -n 指定显示头部内容的行数
# tail 显示文件尾部信息
用于输出文件中尾部的内容,默认情况下显示文件的后10行内容
基本语法
- tail fileName
- 查看文件后10行内容
- tail -n 5 fileName
- 查看文件后5行内容
- tail -f fileName
- 实时追踪该文档的更新
参数
- -n 指定显示头部内容的行数
- -f 显示文件最新追加的内容,监视文件的变化
# ln 软连接
符号连接,类似于快捷方式,主要存放了链接的其他文件的路径
基本语法
- ln -s [源文件或目录] [软链接名]
- 给原文件创建一个软链接
示例
>ln -s test01 lntest01
>ll
lrwxrwxrwx. 1 root root 6 3月 12 08:54 lntest01 -> test01
>cd -P lntest01/ # 进入软链接实际的物理路径
>rm -rf lntest01
1
2
3
4
5
2
3
4
5
删除一个软连接
rm -rf linkName
# 删除一个软链接,注意不是linkName/ 否则删除软链接下的文件
# 通过ll查看文件属性,第一个属性是l,表示是软链接
1
2
3
2
3
当使用pwd指令查看目录时,仍然看到的是软链接所在的目录
# history 查看已经执行过历史命令
查看已经执行过的历史命令,也可以执行历史指令
基本语法
- history
应用实例
>history
1
显示最近用过的10个指令
history 10
1
执行历史编号为5的指令
!5
1
Last Updated: 2022/03/20, 10:04:55