Linux只有一个文件系统树,不同的硬件设备可以挂载在不同目录下。 
文件或目录有两种表示方式: 
 - 绝对路径:从根目录”/”开始 
 - 相对路径:从工作目录开始,使用”..”指向父目录,”.”指向当前目录。在大多数情况下”./”可以省略。 
隐藏文件:以”.”开头的文件

命令 作用
pwd 显示当前工作目录
cd 切换工作目录
ls 列出目录的内容
file 打印文件类型的说明
mkdir 新建目录
cp 复制文件或目录
mv 移动文件或目录
rm 删除文件或目录
ln 创建链接
locate 通过查找路径名数据库搜寻文件(updatedb命令用来更新数据库,一般一天更新一次)
find 查找文件
xargs 从标准输入中建立、执行命令
touch 更改文件日期时间
stat 显示文件或文件系统的详细信息

cd

cd:切换到主目录 
cd -:切换到先前工作目录 
cd ~user:切换到user的主目录

ls

参数可用文件或目录,可接多个参数。

短选项 长选项 含义
-a –all 列出所有文件,包含隐藏文件和当前目录、父目录(默认不列出)
-d –directory 列出目录本身而不是目录的内容,常和-l一起使用
-F –classify 在所列项后加上类型指示符,如用”/”指示目录
-h –human-readable 在用长格式”-l”列出时,使用可读格式显示大小。默认使用字节数。
-l   使用长格式显示结果
-r –reverse 以相反的顺序显示结果。默认使用字母升序显示。
-S   以文件大小顺序显示结果。从大到小。文件夹大小是所有目录项的大小,一般是4K。
-t   以修改时间顺序显示结果。从新到旧。

列出隐藏文件和隐藏目录: 
ls -d .[!.]* 以点开头,第二个字符不是点。(书中的模式.[!.]?*会忽略”.a”的情况) 
ls -d .* 会列出隐藏文件和目录以及本目录和父附录的所有内容

mkdir

mkdir directory… 
可同时新建多个目录

cp

默认情况下不能拷贝目录 
拷贝文件:cp file1 file2 
拷贝目录:cp -a(-r) dir1 dir2 
  - 拷贝dir1及dir1中的所有内容。 
  - 若dir2存在,拷贝到dir2下,即dir2/dir1。 
  - 若dir2不存在,新建dir2并复制dir1的内容到dir2下。 
拷贝到指定目录下:cp item… directory 
  - 拷贝文件到指定目录下,此时directory必须存在。 
  - 若要拷贝目录,需指定-a或-r选项

选项 长选项 含义
-a –archive 复制文件或目录的所有内容及属性,包含所有者信息和权限。默认情况下,不能拷贝目录,拷贝后使用拷贝者设定的的默认信息。
-i –interactive 如果目标文件已存在,给出提示信息请求确认。默认情况下,直接覆盖文件。
-r –recursive 复制目录
-u –update 拷贝目录时,只复制目标目录中不存在或对应更新的文件。
-v –verbose 显示提示信息

mv

移动文件或者目录,参数和cp类似,但移动目录时不需要-a(-r)选项。 
移动文件或目录:mv item1 item2 
  若移动文件,直接覆盖item2。 
  若移动目录,item2存在时,item1移动到item2下,即item2/item1。 
    若item2不存在,新建item2并移动item1的所有内容到item2,然后删除item1。 
移动到指定目录下:mv item… directory 
  移动文件或目录到指定目录,此时directory必须存在

选项 长选项 含义
-i –interactive 如果目标文件或目录已存在,给出提示信息请求确认。默认情况下,直接覆盖文件。
-u –update 移动目录时,只移动目标目录中不存在或对应更新的文件。
-v –verbose 显示提示信息

rm

删除文件或者目录,和cp类似,删除目录时需要-r选项。当文件或目录不存在时,会给出提示信息:”No such file or directory”。 
删除文件:rm file… 
删除文件和目录:rm -r file… dir…

选项 长选项 含义
-i –interactive 如果文件或目录存在,给出提示信息请求确认。默认情况下,直接删除文件。
-r –recursive 删除目录及子目录。
-f –force 文件不存在时不给出提示信息,也忽略-i选项的确认信息。
-v –verbose 显示提示信息

ln

创建硬链接:ln file link 
  不能引用不同磁盘分区的文件,不能引用目录 
  建立不同的目录项,指向同一个数据inode块(ls -i查看inode编号) 
  ls查看时,与目标文件没有区别 
  删除时,只是删除硬链接,文件不变。当文件的所有硬链接都删除时,才会删除文件

创建软链接(符号链接):ln -s item link 
  创建一个特殊文件,包含一个指向文件或目录的指针 
  符号链接大小是指针字符串的大小 
  ls查看时,是l类型,有”->”号指向目标文件或目录。目标不存在时(坏链接),一般会反色显示。 
  item可以是绝对路径,也可以是相对路径 
  大部分操作时以链接目标为对象,但rm命令是删除符号链接 
  符号文件的权限都是”伪权限”,真实权限由符号链接指向的文件确定

find

find命令包含test选项、action选项和options选项,实现高级文件搜索。 
操作符:-and[-a](默认)、-or[-o]、-not[-!]、括号()。-and和-or按照短路规则执行,括号需要用反斜杠()

test选项: 
  文件类型(-type):f-普通文件、d-目录、l-符号链接、b-块设备文件、c-字符设备文件 
  文件名(-name):-name “*.jpg”,一般用引号防止shell扩展 
  大小(-size):+1M-超过1M,-1M-小于1M,1M-等于1M。支持的单位:b-512字节块(默认)、c-字节、w-两个字节、k-KB(1024字节),M-MB,G-GB

action选项: 
  -delete:删除 
  -ls 
  -print:打印匹配项(默认操作),-print0可以识别文件名中的空格,配合xargs –null用来处理空格文件名。 
  -quit 
  -exec[-ok] command {} ; :自定义操作,{}表示当前路径,;做分隔符表示命令结束。{}和;需要用单引号防止shell识别。

option选项: 
  -depth 
  -maxdepth levels 
  -mindepth levels 
  -mount

Shell命令——文件目录的更多相关文章

  1. hadoop入门:hadoop使用shell命令总结

    第一部分:Hadoop Bin后面根据项目的实际需要Hadoop Bin  包括:Hadoop  hadoop的Shellhadoop-config.sh 它的作用是对一些变量进行赋值     HAD ...

  2. Hadoop学习记录(2)|HDFS shell命令|体系结构

    HDFS的shell 调用文件系统(FS)shell命令使用hadoop fs的形式 所有的FS shell命令使用URI路径作为参数. URI格式是scheme://authority/path.H ...

  3. Android 的独特shell命令

    Android本来就是一个linux操作系统,所以大部分都是linux的命令,如mkdir,ls,netstat,mount,ps 等,这里就不具体介绍了, 主要介绍几个Android特有的. get ...

  4. 了解基本的bash shell命令

    本节内容主要介绍如何使用bash shell提供的基本命令处理Linux文件和目录: 1.启动shell shell是一个可以交互访问的Linux系统程序,它的运行与普通程序相同,系统启动的shell ...

  5. Shell记录-Shell命令(find)

    Linux中的find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提供了相当多的查找条件,功能很强大.由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花 ...

  6. 常用shell命令实战

    #!/bin/sh ################### #### 环境变量 ### ################### #主程序目录 #APP_HOME=/apps/svr/apache-to ...

  7. 晦涩难懂的shell命令

    初学shell脚本,过程中发现许多不易于理解的脚本语言,网上各种查找学习之后,择优精简一番,做出以下总结,方便以后遗忘了回顾,也为像我一样的初学者提供方便——推荐给初学者的一本书:<Linux ...

  8. Linux常见的Shell命令

    1.具体的shell命令用法可以通过help或man命令进入手册来查询其具体的用法.2.终端本质上对应着linux上的/dev/tty设备,linux的多用户登录就是通过不同的/dev/tty设备完成 ...

  9. Shell命令整理

    Shell命令 一.认识Shell 在Linux系统中,Shell充当着用户与Linux内核的桥梁,俗称壳保护着Linux内核,同时也负责完成用户与内核之间的交互. 当用户需要与内核交互时,将命令传递 ...

随机推荐

  1. 利用WebHook实现PHP自动部署Git代码

    平时项目代码都托管在Coding,然后每次提交了代码之后都要SSH到服务器上去git pull一次,很是繁琐,在看了OverTrue的<使用PHP脚本远程部署git项目>后就尝试在自己服务 ...

  2. opencv---JPEG图像质量检测代码

    参考:http://blog.csdn.net/trent1985/article/details/50904173 根据国外一篇大牛的文章:No-Reference Perceptual Quali ...

  3. Hadoop集群nodes unhealthy解决方法

    在搭建好Hadoop集群之后,所有服务均可正常启动,但是在运行MapReduce程序的时候,发现任务卡在7/09/07 22:28:14 INFO mapreduce.Job: Running job ...

  4. 自研后端HTTP请求参数验证器服务ParamertValidateService

    好处:方便了后端对HTTP请求中参数进行核验,只需一次编写效验器,一行代码便可对所有参数的pojo进行参数核验!而且更改效验逻辑时只需要更改效验器类即可,实现了解耦合. 只需要程序员按照规范开发一个P ...

  5. Please restart this script from an administrative PowerShell

    问题 在上一篇<MSBUILD : error MSB3428: 未能加载 Visual C++ 组件"VCBuild.exe">,安装时失败了,提示: 解决办法 1. ...

  6. 测试leader职责

    一. 负责软件产品/项目测试工作的组织 参加软件产品开发前的需求调研和分析 根据需求规格说明书,概要设计和开发计划编写项目总体测试计划,详细测试计划,测试大纲和测试文档结构表[测试计划 a.已上线产品 ...

  7. 【ORACLE】oracle数据库用户密码复杂度配置

    -- 设置密码复杂度 SQL> @ /u01/app/oracle/product/11.2.0/db_1/rdbms/admin/utlpwdmg.sql -- 测试 SQL> alte ...

  8. 设计模式 笔记 工厂方法 Factory Methon

    //---------------------------15/04/09---------------------------- //factory method 工厂方法-------对象创建型模 ...

  9. winform 保存文件 打开文件 选择文件 字体样式颜色(流 using System.IO;)

    string filePath = ""; private void 保存SToolStripMenuItem_Click(object sender, EventArgs e) ...

  10. 阿里云ECS 固定带宽变为按量付费的方式

    阿里云ECS 固定带宽变为按量付费的方式 阿里云控制台 2.升降配置-降低配置-降低至最低配置 3.为按量带宽设置一个峰值,例如100M. 4.过几分钟,就自动变为按量付费的带宽了.