目录
一、列出目录内容(ls)
1.命令格式
--- ls [选项] 源文件或目录 目标文件或目录
2.命令选项及功能
命令选项 | 功能 |
---|---|
ls -l | 以长格式显示目录内容 |
ls -ltr | 按时间排序以长格式显示目录内容(最新的文件在最后) |
ls -AF | 以长格式显示目录内容,并对不同类型的文件添加标记符号 |
3.命令案例
1:列出某目录,比如/home/peidachang 文件夹下的所有文件和目录的详细资料
命令:ls -l /home/peidachang
2:列出当前目录中所有以“t”开头的目录的详细内容,可以使用如下命令:
命令:ls -l t*
3:列出目前工作目录下所有名称是 s 开头的档案:
命令:ls -ltr s*
4:列出目前工作目录下所有档案及目录;目录于名称后加"/", 可执行档于名称后加 " * "
命令:ls -AF
二、切换目录(cd)
1.命令格式
-- cd 【目录路径】
2.命令选项以及功能
命令选项 | 功能 |
---|---|
cd .. | 返回上一级目录 |
cd ..// | 返回上一级目录,并忽略连续的斜杠(/) |
cd / | 进入根目录 |
cd !$ | 将上一条命令的最后一个参数作为当前目录路径 |
!$解释:
在 shell 中,"!"是一个特殊的变量,表示上一个命令的最后一个参数。具 体来说,"!"是一个历史扩展符号,用于引用之前执行过的命令或参数。而"" 是一个特殊的变量,表示上一个命令的最后一个参数。具体来说,"!"是一个 历史扩展符号,用于引用之前执行过的命令或参数。而""是一个特殊变量符 号,用于引用变量的值。
3.命令案例
1:进入系统根目录
命令: cd .. 或者 cd ..//
2:进入系统根目录可以使用“ cd .. ”一直退,就可以到达根目录
命令: cd ../.. //
3:跳转到指定目录
命令: cd 目录地址
三、显示当前目录路径(pwd)
1.命令格式
pwd
2.命令案例
1.查看”当前工作目录“的完整路径
命令:pwd
四、以树状结构显示目录内容(tree)
1.命令格式
--tree [命令选项]
2.命令选项以及功能
命令选项 | 功能 |
---|---|
tree -L 1 | 以树状结构显示当前目录下的一级子目录 |
tree -d | 以树状结构显示当前目录及其子目录(仅显示目录) |
3.命令案例
1. 输出当前目录的下一级目录
命令:tree -L 1
2:输出当前目录以及子目录
命令: tree -d
五、创建新目录(mkdir)
1.命令格式
---mkdir [选项] 目录名
2.命令选项以及功能
命令选项 | 功能 |
---|---|
mkdir -v | 创建目录时显示详细信息 |
mkdir -p | 递归创建目录,即使父目录不存在也可以创建 |
mkdir -m | 设置新创建目录的权限模式(文件权限模式) |
3.命令案例
1:创建一个空目录
命令: mkdir test1
2:递归创建多个目录
命令: mkdir -p test2/test22
3:创建权限为 777 的目录
命令: mkdir -m 777 test3
4.实例 4:创建新目录都显示信息
命令: mkdir -v test4
六、复制文件或目录(cp)
1.命令格式
---cp [选项] 文件
2.命令选项以及功能
命令选项 | 功能 |
---|---|
cp -r | 递归地复制目录及其内容到指定的目标位置 |
3.命令案例
1.将test文件备份一份到桌面
命令:cp test .
2.将d2文件内容 复制到 d1文件内容
命令:cp -r d1 d2
七、移动文件或目录(mv)
1.命令格式
---mv [选项] 源文件或目录 目标文件或目录
2.命令选项以及功能
命令选项 | 功能 |
---|---|
mv -f | 强制移动文件或目录,若目标位置已有同名文件则覆盖之 |
视 mv 命令中第二个参数类型的不同(是目标文件还是目标目录),mv 命令将文件 重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv 命令完成文件重 命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命 名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以 有多个,mv 命令将各参数指定的源文件均移至目标目录中。
3.命令案例
1.文件改名
命令:mv test.log test1.txt
2.移动文件
命令:mv test1.txt test3 这里的 test3 是目录
3:将文件 log1.txt,log2.txt,log3.txt 移动到目录 test3
命令: mv log1.txt log2.txt log3.txt test3
mv -t /opt/soft/test/test4/ log1.txt log2.txt log3.txt
4:将文件 file1 改名为 file2,如果 file2 已经存在,则询问是否覆盖
命令: mv -i log1.txt log2.txt
5:将文件 file1 改名为 file2,即使 file2 存在,也是直接覆盖掉。
命令: mv -f log3.txt log2.txt
说明: log3.txt 的内容直接覆盖了 log2.txt 内容,-f 这是个危险的选项,使用的时候一定要 保持头脑清晰,一般情况下最好不用加上它。
6:目录的移动
命令: mv dir1 dir2
说明: 如果目录 dir2 不存在,将目录 dir1 改名为 dir2;否则,将 dir1 移动到 dir2 中。
7:移动当前文件夹下的所有文件到上一级目录
命令: mv * ../
8:把当前目录的一个子目录里的文件移动到另一个子目录里
命令: mv test3/*.txt test5
9:文件被覆盖前做简单备份,前面加参数-b
命令: mv log1.txt -b log2.txt
说明: -b 不接受参数,mv 会去读取环境变量 VERSION_CONTROL 来作为备份策略。 --backup 该选项指定如果目标文件存在时的动作,共有四种备份策略: 1.CONTROL=none 或 off : 不备份。 2.CONTROL=numbered 或 t:数字编号的备份 3.CONTROL=existing 或 nil:如果存在以数字编号的备份,则继续编号备份 m+1...n: 执行mv操作前已存在以数字编号的文件log2.txt.~1~,那么再次执行将产生log2.txt~2~, 以次类推。如果之前没有以数字编号的文件,则使用下面讲到的简单备份。 4.CONTROL=simple 或 never:使用简单备份:在被覆盖前进行了简单备份,简单备份只 能有一份,再次被覆盖时,简单备份也会被覆盖。
八、删除文件或目录(rm)
1.命令格式
---rm [选项] 文件…
2.命令选项以及功能
命令选项 | 功能 |
---|---|
rm -f | 忽略不存在的文件,从不给出提示 |
rm -i | 进行交互式删除 |
rm -r, -R, --recursive | 指示 rm 将参数中列出的全部目录和子目录均递归地删除 |
rm -v, --verbose | 详细显示进行的步骤 |
rm --help | 显示帮助信息并退出 |
rm --version | 输出版本信息并退出 |
3.命令案例
实例一:删除文件 file,系统会先询问是否删除。
命令: rm 文件名
说明: 输入 rm log.log 命令后,系统会询问是否删除,输入 y 后就会删除文件,不想删除则数据 n。
实例二:强行删除 file,系统不再提示。
命令: rm -f log1.log
实例三:删除任何.log 文件;删除前逐一询问确认
命令: rm -i *.log
实例四:将 test1 子目录及子目录中所有档案删除
命令: rm -r test1
实例五:rm -rf test2命令会将 test2 子目录及子目录中所有档案删除,并且不用一 一确认
命令: rm -rf test2
注意:rm 不设防!Linux 不设防!Linux 不设防,默认使用者都不是外行, windows 处处设防,认 为使用者都可能出问题。 所以,尽量不用 rm,如果用,先备份,如果用,则用程序代替人工,人是非常不靠谱的! 怎么代替人工?更安全的方法,定时任务或者某脚本