- 开发无止境 -
Data: 2015-06-14 17:44:43Form: JournalClick: 9
Linux
目录和文件管理ll
显示当前目录下的内容,详细列出# 查看当前目录
ll
# 查看根目录
ll /
# 查看框架文件
ll /www/laravel
pwd
打印当前工作目录语法:pwd [-P]
编号 | 参数 | 说明 |
---|---|---|
1 | -P | 显示出真实的路径,而非使用连结 (link) 路径。 |
cd /sbin
# 打印当前工作目录
pwd
# 打印当前工作真实目录
pwd -P
mkdir
创建空目录语法:mkdir [-p] 目录名称
编号 | 参数 | 说明 |
---|---|---|
1 | -p | 用于递归创建空目录 |
# 创建目录
mkdir ouyangke
# 创建多级目录,报错
mkdir a/b/c/d
# 创建多级目录
mkdir -p a/b/c/d
rmdir
删除空目录语法:rmdir [-p] 目录名
编号 | 参数 | 说明 |
---|---|---|
1 | -p | 用于递归删除空目录 |
# 删除空目录
rmdir ouyangke
# 删除多级空目录
rmdir -p a/b/c/d
cp
复制文件和目录语法:cp [-idpra] 源文件 目标文件
编号 | 参数 | 说明 |
---|---|---|
1 | -i | 询问,如果目标文件已经存在,则会询问是否覆盖 |
2 | -d | 如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接 |
3 | -p | 复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间) |
4 | -r | 递归复制,用于复制目录 |
5 | -a | 相当于 -d、-p、-r 选项的集合 |
6 | -l | 把目标文件建立为源文件的硬链接文件,而不是复制源文件 |
7 | -s | 把目标文件建立为源文件的软链接文件,而不是复制源文件 |
8 | -u | 若目标文件比源文件有差异,则使用该选项可以更新目标文件,此选项可用于对文件的升级和备用 |
cd /www/laravel
# 复制文件到public目录
cp laravel.sql public/
# 复制多个文件到public目录
cp composer.json composer.lock public/
# 复制app目录到public目录,会报错,需要增加参数
cp app public/
# 复制app目录到public目录
cp -r app public/
# 复制config目录到public目录,会提示是否覆盖,覆盖就y,加i参数一样效果
cp -a config public/
# 复制文件时改名
cp laravel.sql public/l.sql
备:源文件可以有多个,但这种情况下,目标文件必须是目录才可以
rm
删除文件或目录语法:rm [选项] 文件或目录
编号 | 选项 | 说明 |
---|---|---|
1 | -f | 强制删除(force),和 -i 选项相反,使用 -f,系统将不再询问,而是直接删除目标文件或目录 |
2 | -i | 和 -f 正好相反,在删除文件或目录之前,系统会给出提示信息,使用 -i 可以有效防止不小心删除有用的文件或目录 |
3 | -r | 递归删除,主要用于删除目录,可删除指定目录及包含的所有内容,包括所有的子目录和文件 |
cd /www/laravel/public
# 删除文件
rm laravel.php
# 删除多个文件
rm l.sql composer.json composer.lock
# 删除目录,会报错,需要增加参数
rm app
# 删除目录,会提示是否要删除
rm -r app/
# 删除目录,不提示
rm -rf config/
备:rm 命令是一个具有破坏性的命令,使用 rm 命令将其删除,将无法恢复,要慎之又慎
mv
移动文件或改名语法:mv [选项] 源文件 目标文件
编号 | 选项 | 说明 |
---|---|---|
1 | -f | 强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖 |
2 | -i | 交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项) |
3 | -n | 如果目标文件已经存在,则不会覆盖移动,而且不询问用户 |
4 | -v | 显示文件或目录的移动过程 |
5 | -u | 若目标文件已经存在,但两者相比,源文件更新,则会对目标文件进行升级 |
cd /www/laravel
# 移动文件
mv laravel.sql public/
# 移动多个文件
mv composer.json composer.lock public/
# 移动app目录到public目录
mv app public/
# 移动config目录到public目录,询问覆盖,显示移动过程
cp package.json public/
mv -v package.json public/
# 移动文件时改名
mv server.php public/ser.php
touch
创建文件及修改文件时间戳语法:touch [选项] 文件名
编号 | 选项 | 说明 |
---|---|---|
1 | -a | 只修改文件的访问时间 |
2 | -c | 仅修改文件的时间参数(3 个时间参数都改变),如果文件不存在,则不建立新文件。 |
3 | -d | 后面可以跟欲修订的日期,而不用当前的日期,即把文件的 atime 和 mtime 时间改为指定的时间 |
4 | -m | 只修改文件的数据修改时间 |
5 | -t | 命令后面可以跟欲修订的时间,而不用目前的时间,时间书写格式为 YYMMDDhhmm |
cd /www/laravel/public/
# 创建文件,文件如果存在,修改文件时间戳
touch index.php
# 创建多个文件
touch 1.php 2.php
# 修改文件时间戳,不创建新文件
touch -c index1.php
# 文件时间修改
touch -d "2000-11-11" index.php
编号 | 第一个字符 | 文件类型 |
---|---|---|
1 | - | 普通文件,包括纯文本文件、二进制文件、各种压缩文件等。 |
2 | d | 目录,类似 Windows 系统中的文件夹。 |
3 | b | 块设备文件,就是保存大块数据的设备,比如最常见的硬盘。 |
4 | c | 字符设备文件,例如键盘、鼠标等。 |
5 | s | 套接字文件,通常用在网络数据连接,可以启动一个程序开监听用户的要求,用户可以通过套接字进行数据通信。 |
6 | p | 管道文件,其主要作用是解决多个程序同时存取一个文件所造成的错误。 |
7 | l | 链接文件,类似 Windows 系统中的快捷方式。 |