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. redis安装及常用命令

    查看redis版本 redis-server -v或者redis-cli -v 安装redis 硬件要求 查看版本 uname -a  内存32G 8核CPU 查看内存大小 cat /proc/mem ...

  2. 关于EL表达式中requestScope和param区别

    今天演示EL表达式的时候发现自己jsp的基础实在是薄弱,在这个很简单的问题上迷惑了很久. 首先在看遇到的问题: 在浏览器地址输入,表示传入一个参数test,值为123 http://localhost ...

  3. jdbc获取blob类型乱码

    一.使用场景: mysql数据库字段类型为longblob,在数据库里看中文字符正常,java读取字串的时候发现中文乱码 使用到了activeMq 二.排查: (1)修改eclipse的环境编码为ut ...

  4. Asp.Net_Form验证跟授权

    配置文件的<system.web></system.web>结点下添加如下代码: <!--身份验证方式--> <authentication mode=&qu ...

  5. kubernetes 集群新增node 节点并将应用分配到新增节点

    第一章 1.重新安装一台kubernetes node节点,新增节点:192.168.1.192 网址:https://www.cnblogs.com/zoulixiang/p/9504324.htm ...

  6. ECS centos7 使用外部邮件服务商的465加密端口

    ECS centos7 使用外部邮件服务商的465加密端口发送邮件. 1.修改/etc/mail.rc 文件中添加以下的 set smtp="smtps://smtp.163.com:465 ...

  7. LABVIEW串口通信基础

    写这一篇串口通信基础的契机是最近刚刚完成一个温箱的仪器控制程序,LABVIEW通过串口与温箱单片机通讯,我打算将过程中遇到的一些问题和收获列在这里方便有需求的网友比对.寻找答案. 学LABVIEW时间 ...

  8. 基于神念TGAM的脑波小车(1)

    作者声明:此博客是作者的毕设心得,拿来分享. 拿到模块,在网上查了一圈,发现基本没什么有用的资料,有也是一些废话,经过我几个月的攻克,现在已初步搞定,分享给大家. 废话不多说,直接步入正题. 这是通过 ...

  9. Codejam Qualification Round 2019

    本渣清明节 闲里偷忙 做了一下codejam 水平不出意外的在投稿之后一落千丈 后两题的hidden test竟然都挂了 A. Foregone Solution 水题,稍微判断一下特殊情况(比如10 ...

  10. EOS开发基础之二:使用cleos命令行客户端操作EOS(钱包wallet基础操作)

    不知道下边这一段英文你们是不是能看懂,如果看不懂那就算了,我就是转过来随便看看的. 总之你记住nodeos.cleos和keosd这三个工程十分重要就行了,回头咱们的研究都从这三个工程杀进去. EOS ...