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. 【转】常见的Web实时消息交互方式和SignalR

    https://www.cnblogs.com/Wddpct/p/5650015.html 前言 1. Web消息交互技术1.1 常见技术1.2 WebSocket介绍1.3 WebSocket示例 ...

  2. 二,ESP8266 GPIO和SPI和定时器和串口(基于Lua脚本语言)

    https://www.cnblogs.com/yangfengwu/p/7514336.html 我们写lua用这个软件 如果点击的时候提示安装,,安装就行,,如果没有提示呢可以,按照下面链接的提示 ...

  3. 转自:strcmp函数实现及详解

    strcmp函数是C/C++中基本的函数,它对两个字符串进行比较,然后返回比较结果,函数形式如下:int strcmp(constchar*str1,constchar*str2);其中str1和st ...

  4. 在AspNetCore 中 使用Redis实现分布式缓存 (转载)

    文章概念描述 分布式缓存描述:分布式缓存重点是在分布式上,相信大家接触过的分布式有很多中,像分布式开发,分布式部署,分布式锁.事物.系统 等有很多.使我们对分布式本身就有一个很明确的认识,分布式就是有 ...

  5. 20155232《网络对抗》Exp3 免杀原理与实践

    20155232<网络对抗>Exp3 免杀原理与实践 问题回答 1.基础问题回答 (1)杀软是如何检测出恶意代码的? 基于特征码的检测 特征码:一段特征码就是一段或多段数据. 如果一个可执 ...

  6. 20155338 《网络攻防》 Exp7 网络欺诈防范

    20155338 <网络攻防> Exp7 网络欺诈防范 基础问题回答 通常在什么场景下容易受到DNS spoof攻击 在一些公共场所,看到有免费的公用WIFI就想连的时候就容易受到 在日常 ...

  7. 20155339 Exp8 Web基础

    Exp8 Web基础 基础问题回答 (1)什么是表单 表单在网页中主要负责数据采集功能. 一个表单有三个基本组成部分: 表单标签,这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方 ...

  8. 分类-MNIST(手写数字识别)

    这是学习<Hands-On Machine Learning with Scikit-Learn and TensorFlow>的笔记,如果此笔记对该书有侵权内容,请联系我,将其删除. 这 ...

  9. SSIS 连接数据

    通常情况下,ETL方案需要同时访问两个或多个数据源,并把结果合并为单个数据流,输出到目标表中.为了向目标表中提供统一的数据结构,需要把多个数据源连接在一起.数据连接的另外一种用法,就是根据现有的数据, ...

  10. Merge:解析on子句和when not match子句的陷阱

    在细节上,体现编程的修养.每一位大师,master,其基础必定夯实.废话不多说,直接上干货,Merge子句用于对两个数据表执行数据同步,On子句指定匹配(when matched)条件,When子句指 ...