Shell命令——文件目录
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命令——文件目录的更多相关文章
- hadoop入门:hadoop使用shell命令总结
第一部分:Hadoop Bin后面根据项目的实际需要Hadoop Bin 包括:Hadoop hadoop的Shellhadoop-config.sh 它的作用是对一些变量进行赋值 HAD ...
- Hadoop学习记录(2)|HDFS shell命令|体系结构
HDFS的shell 调用文件系统(FS)shell命令使用hadoop fs的形式 所有的FS shell命令使用URI路径作为参数. URI格式是scheme://authority/path.H ...
- Android 的独特shell命令
Android本来就是一个linux操作系统,所以大部分都是linux的命令,如mkdir,ls,netstat,mount,ps 等,这里就不具体介绍了, 主要介绍几个Android特有的. get ...
- 了解基本的bash shell命令
本节内容主要介绍如何使用bash shell提供的基本命令处理Linux文件和目录: 1.启动shell shell是一个可以交互访问的Linux系统程序,它的运行与普通程序相同,系统启动的shell ...
- Shell记录-Shell命令(find)
Linux中的find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提供了相当多的查找条件,功能很强大.由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花 ...
- 常用shell命令实战
#!/bin/sh ################### #### 环境变量 ### ################### #主程序目录 #APP_HOME=/apps/svr/apache-to ...
- 晦涩难懂的shell命令
初学shell脚本,过程中发现许多不易于理解的脚本语言,网上各种查找学习之后,择优精简一番,做出以下总结,方便以后遗忘了回顾,也为像我一样的初学者提供方便——推荐给初学者的一本书:<Linux ...
- Linux常见的Shell命令
1.具体的shell命令用法可以通过help或man命令进入手册来查询其具体的用法.2.终端本质上对应着linux上的/dev/tty设备,linux的多用户登录就是通过不同的/dev/tty设备完成 ...
- Shell命令整理
Shell命令 一.认识Shell 在Linux系统中,Shell充当着用户与Linux内核的桥梁,俗称壳保护着Linux内核,同时也负责完成用户与内核之间的交互. 当用户需要与内核交互时,将命令传递 ...
随机推荐
- 【转】常见的Web实时消息交互方式和SignalR
https://www.cnblogs.com/Wddpct/p/5650015.html 前言 1. Web消息交互技术1.1 常见技术1.2 WebSocket介绍1.3 WebSocket示例 ...
- 二,ESP8266 GPIO和SPI和定时器和串口(基于Lua脚本语言)
https://www.cnblogs.com/yangfengwu/p/7514336.html 我们写lua用这个软件 如果点击的时候提示安装,,安装就行,,如果没有提示呢可以,按照下面链接的提示 ...
- 转自:strcmp函数实现及详解
strcmp函数是C/C++中基本的函数,它对两个字符串进行比较,然后返回比较结果,函数形式如下:int strcmp(constchar*str1,constchar*str2);其中str1和st ...
- 在AspNetCore 中 使用Redis实现分布式缓存 (转载)
文章概念描述 分布式缓存描述:分布式缓存重点是在分布式上,相信大家接触过的分布式有很多中,像分布式开发,分布式部署,分布式锁.事物.系统 等有很多.使我们对分布式本身就有一个很明确的认识,分布式就是有 ...
- 20155232《网络对抗》Exp3 免杀原理与实践
20155232<网络对抗>Exp3 免杀原理与实践 问题回答 1.基础问题回答 (1)杀软是如何检测出恶意代码的? 基于特征码的检测 特征码:一段特征码就是一段或多段数据. 如果一个可执 ...
- 20155338 《网络攻防》 Exp7 网络欺诈防范
20155338 <网络攻防> Exp7 网络欺诈防范 基础问题回答 通常在什么场景下容易受到DNS spoof攻击 在一些公共场所,看到有免费的公用WIFI就想连的时候就容易受到 在日常 ...
- 20155339 Exp8 Web基础
Exp8 Web基础 基础问题回答 (1)什么是表单 表单在网页中主要负责数据采集功能. 一个表单有三个基本组成部分: 表单标签,这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方 ...
- 分类-MNIST(手写数字识别)
这是学习<Hands-On Machine Learning with Scikit-Learn and TensorFlow>的笔记,如果此笔记对该书有侵权内容,请联系我,将其删除. 这 ...
- SSIS 连接数据
通常情况下,ETL方案需要同时访问两个或多个数据源,并把结果合并为单个数据流,输出到目标表中.为了向目标表中提供统一的数据结构,需要把多个数据源连接在一起.数据连接的另外一种用法,就是根据现有的数据, ...
- Merge:解析on子句和when not match子句的陷阱
在细节上,体现编程的修养.每一位大师,master,其基础必定夯实.废话不多说,直接上干货,Merge子句用于对两个数据表执行数据同步,On子句指定匹配(when matched)条件,When子句指 ...