Linux学习之三——操作档案与目录
一. 目录文档操作指令
1. pwd 显示目前所在目录
如果加上-P 的选项,则取得正确的目录名称,而不是以链接文件的路径来显示。 例如CentOS下,刚刚好/var/mail是/var/spool/mail的连结档
2. cd 变更工作路径
可以使用绝对路径和相对路径。
另外还有如下几种特别的路径代表方式:
1) . 代表此层目录
2) .. 代表上一层目录
3) - 代表前一个工作目录
4) ~ 代表『目前用户身份』所在的家目录
5) ~account 代表 account 这个用户的家目录(account是个账号名称)
3. ls 列出目录下的目录和档案
选项与参数:
-a :全部档案,包括隐藏档案一起列出
-A :全部档案,包括隐藏档,但不包括 . 与 .. 这两个目录
-d :仅列出目录
-f :直接列出结果,而不进行排序 (默认会以档名排序!)
-F :根据档案、目录等信息,给予附加数据结构,例如: *:代表可执行文件; /:代表目弽; =:代表 socket 档案; |:代表 FIFO 档案;
-h :将档案容量以人类较易读的方式(例如 GB, KB 等等)列出;
-i :列出 inode 号码;
-l :列表输出
-n :列出 UID 与 GID 而非使用者与群组的名称
-r :将排序结果反向输出,例如:原本档名由小到大,反向则为由大到小;
-R :连同子目录内容一起列出来;
-S :以档案容量大小排序;
-t :依时间排序。
--color=never :不要依据档案特性给予颜色显示;
--color=always :显示颜色
--color=auto :让系统自行依据设定来判断是否给予颜色
--full-time :以完整时间模式 (包括年、月、日、时、分) 输出
--time={atime,ctime} :输出 access 时间或改变权限属性时间,而非内容变更时间。
4. mkdir 建立新目录
选项和参数:
-m :配置文件夹权限,权限用三位0到7之间的数字组成。
-p :直接建立多层目录,如: mkdir -p test1/test2/test3
5. rmdir 删除空目录
选项和参数:
-p: 直接删除多层空目录,如: rmdir -p test1/test2/test3
6. cp 复制档案或目录
用法
1) cp 选项 源文件 目标文件
2) cp 选项 source1 source2 source3 .... directory
选项与参数:
-a :相当于 -pdr 的意思;
-d :若源文件为链接文件,则复制链接文件而非档案本身,默认复制链接文件时会将链接到的源文件复制过来;
-f :为强制复制,若目标档案已经存在无法复制,则移除后再尝试一次;
-i :若目标文件已经存在,在覆盖时会先询问动作的进, CentOS7默认询问
-l :进行硬式连结(hard link)的连结档建立,而非复制档案本身;
-p :连同档案的属性一起复制过去,而非使用默认属性(备份常用);
-r :递归复制,用于目录复制;
-s :复制成为符号链接文件 (symbolic link快捷方式);
-u :若 destination 比 source 旧才更新 destination。
7. rm (移除档案或目录)
可删除非空目录,删除时可使用通配符,例如b*代表b打头的所有文件.
删除-打头的档案,因为-会被误解为选项,如rm -aaa,
可以改为rm ./-aaa,或者rm -- -aaa
选项与参数:
-f :就是 force 的意思,忽略不存在的档案,不会出现警告讯息;
-i :互动模式,在删除前会询问使用者是否动作。
-r :递归删除
8. mv (移动档案与目录,或更名)
用法
1) mv 选项 source destination
2) mv 选项 source1 source2 source3 .... directory
-f :force 强制的意思,如果目标档案已经存在,不会询问而直接覆盖;
-i :互动模式,询问是否覆盖
-u :若目标档案已经存在,且 source 比较新,才会更新 (update)
9. basename 取得路径的文件名
10. dirname 取得路径的目录名
11. cat 由第一行开始显示档案内容
选项与参数:
-A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
-b :列出行号,空白行不标行号!
-n :列出行号,连同空白行也会有行号
-E :将结尾的断行字符 $ 显示出来;
-T :将 [tab] 按键以 ^I 显示;
-v :列出一些看不出来的特殊字符
12. tac 从最后一行开始倒着显示
13. nl 显示的时候,输出行号
选项与参数:
-b :指定行号指定的方式,主要有两种:
-b a :表示空行也同样列出行号(类似 cat -n);
-b t :表示空行不列出行号(默认);
-n :列出行号的表示方法,主要有三种:
-n ln :行号在屏幕的最左方显示;
-n rn :行号在自己字段的最右方显示,且不加 0 ;
-n rz :行号在自己字段的最右方显示,且加 0 ;
-w :行号字段占用的位数。
14. more 用于浏览大文件,一页一页的显示档案内容
在用该命令开始浏览时可用下面的按键进行互动:
1) 空格键 (space):代表向下翻一页;
2) Enter :代表向下翻一行;
3) /字符串 :代表向下搜寻『字符串』这个关键词, CentOS7下不好用
4) :f :立刻显示出文件名以及目前显示的行数;
5) q :代表立刻离开 more ,丌再显示该档案内容。
6) b 或 [ctrl]-b :代表往回翻页,不过只对档案有用,对管线无用。
15. less 与 more 类似,但是功能更强大好用!
在用该命令开始浏览时可用下面的按键进行互动:
1) 空格键 :向下翻一页;
2) [pagedown]:向下翻一页;
3) [pageup] :向上翻一页;
4) /字符串 :向下搜寻『字符串』的功能;
5) ?字符串 :向上搜寻『字符串』的功能;
6) n :重复前一个搜寻 (与 / 或 ? 有关!)
7) N :反向重复前一个搜寻 (与 / 或 ? 有关!)
8) q :离开 less 这个程序;
16. head 只看头几行
选项与参数:
-n :后面接数字,代表显示几行的意思
17. tail 只看尾巴几行
选项与参数:
-n :后面接数字,代表显示几行的意忠
-f :表示持续侦测档案,当档案有数据写入时就立刻显示到屏幕上,直到按下[ctrl]-c结束tail的侦测
18. od 以二进制的方式读取档案内容!
选项与参数:
-t :后面可以接各种『类型 (TYPE)』的输出,例如:
a :利用默认的字符输出;
c :使用 ASCII 字符输出
d[size] :利用十进制(decimal)输出数据,每个整数占用 size bytes ;
f[size] :利用浮点数(floating)输出数据,每个数占用 size bytes ;
o[size] :利用八进制(octal)输出数据,每个整数占用 size bytes ;
x[size] :利用十六进制(hexadecimal)输出数据,每个整数占用 size bytes ;
19. touch 修改档案时间
选项与参数:
-a :仅修订 access time;
-c :仅修改档案的时间,若该档案不存在则不建立新档案;
-d :后面可以接修订的日期而不用目前的日期,也可以使用 --date="日期或时间"
-m :仅修改 mtime ;
-t :后面可以接修订的时间而不用目前的时间,格式为[YYMMDDhhmm]
二、目录和文档的搜寻
1. which 寻找指令文件位置,只找PATH参数定义的位置。
which [-a] command
选项或参数:
-a :列出所有指令,默认只列第一个被找到的指令位置。
2. whereis 用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s),利用数据库搜
whereis [-bmsu] 档案或目录名
选项与参数:
-b :只找 binary 格式的档案
-m :只找在说明文件 manual 路径下的档案
-s :只找 source 来源档案
3. locate 根据档案的部分名称(路径部分包含也算)来搜寻,利用数据库搜,一般可能一天更新一次数据库,如果等不及可以直接用updatedb来更新数据库。
locate [-ir] keyword
选项与参数:
-i :忽略大小写的差异;
-r :后面可接正规表示法的显示方式
4. find 在文件系统中查找文件
find [PATH] [option] [action]
选项与参数:
1) 与时间有关的选项:共有 -atime, -ctime 与 -mtime ,以 -mtime 说明
-mtime n :在第n天前(仅n本身)被更过内容的档案;
-mtime +n :列出在n天前(不含 n 天本身)被更改过内容的档案档名;
-mtime -n :列出在 n 天内(含 n 天本身)被更改过内容的档案档名。
-newer file :file 为一个存在的档案,列出比 file 还要新的档案档名
2) 与使用者或组名有关的参数:
-uid n :n 为数字,这个数字是用户的UID
-gid n :n 为数字,这个数字是组名的 GID
-user name :name 为使用者账号名称
-group name:name 为组名
-nouser :寻找档案的拥有者不存在于 /etc/passwd 中的人!
-nogroup :寻找档案的拥有群组不存在于 /etc/group 的档案!
自行安装软件时可能存在没有档案拥有者的档案。
3)与档案权限及名称有关的参数:
-name filename:搜寻文件名为 filename 的档案;
-size [+-]SIZE:搜寻比 SIZE 还要大(+)或小(-)的档案。这个 SIZE 癿规格有: c: 代表 byte, k: 代表 1024bytes。
-type TYPE :搜寻档案的类型为 TYPE 的,类型主要有:一般正规档案 (f), 装置档案 (b, c), 目录 (d), 连结档 (l), socket (s), 及 FIFO (p) 等属性。
-perm mode :搜寻档案权限『刚好等于』 mode 的档案,这个 mode 为类似 chmod 的属性值
-perm -mode :搜寻档案权限『必须要全部囊括 mode 的权限』的档案,比如, 我们要搜寻 -rwxr--r-- ,即0744 的档案,使用 -perm -0744, 当一个档案的权限为 -rwsr-xr-x ,亦即 4755 时,也会被列出来, 因为 -rwsr-xr-x 的属性已经囊括了 -rwxr--r-- 的属性了。
-perm +mode :搜寻档案权限『包含任一 mode 的权限』的档案,
4) 额外可进行的动作:
-exec command :command 为其他指令,用来处理搜寻到的结果。
-print :将结果打印到屏幕上,这个动作是预设动作!
Linux学习之三——操作档案与目录的更多相关文章
- Linux学习之二——档案与目录的属性和权限
一.属性和权限的基本概念 Linux一般将档案可存取的身份分为三个类别,分别是 owner/group/others,这三种身份各有 read/write/execute 等权限. 所有的系统上的账号 ...
- Linux学习之三-Linux系统的一些重要配置文件
Linux学习之三-Linux系统的一些重要配置文件 1.网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0 说明: DEVICE=eth0 ...
- Linux学习笔记05—文件与目录权限
1. 绝对路径与相对路径绝对路径:路径的写法一定由根目录 ‘/’写起,例如 /usr/local/mysql 这就是绝对路径相对路径:路径的写法不是由根目录 ‘/’写起,例如:首先用户进入到/, 然后 ...
- python学习笔记 操作文件和目录
如果我们要操作文件.目录,可以在命令行下面输入操作系统提供的各种命令来完成.比如dir.cp等命令. 如果要在Python程序中执行这些目录和文件的操作怎么办?其实操作系统提供的命令只是简单地调用了操 ...
- Linux学习之三--scp命令
scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器 ...
- 鸟哥的linux私房菜学习记录之档案与目录管理
绝对路径和相对路径 绝对路径就是从根目录到某个目录下的路径,从根目录写起,也就是/ 相对路径就是从用户当前目录的路径写起 目录相关操作 cd 切换路径 例如:cd /var/www 切换到/var/w ...
- Linux学习笔记之档案权限与目录配置
一. 档案权限与目录配置用户的属性信息: /etc/passwd用户的密码信息: /etc/shadow组的信息: /etc/group 每个用户都有唯一的UID供系统识别sudo -i 输入 ...
- Linux学习笔记(三)目录和文件都能操作的命令
目录和文件都能操作的命令 rm cp mv rm 英文原意:remove files or directories 功能:删除文件或目录 语法:rm 选项[-fir] 文件或目录 rm -f 强制删除 ...
- Linux学习之/etc/init.d/目录和rc.local脚本
init.d目录中包含很多系统服务的启动和停止脚本,比较常用的就是网络服务,当你修改了网络配置时,可以自行 sudo /etc/init.d/networking restart 命令来重启网络服务 ...
随机推荐
- HTML5 语义元素
返回目录 http://hovertree.com/h/bjaf/html5zixueji.htm 一个语义元素能够清楚的描述其意义给浏览器和开发者.无语义 元素实例: <div> 和 & ...
- hibernate3 Duplicate class/entity mapping(异常)
hibernate3 Duplicate class/entity mapping(异常) 代码: Configuration config = new Configuration().ad ...
- java开发过程中从前台传到后台中文乱码《filter》
在企业开发中,最常见的是javaweb项目,有web项目就免不了和后台打交道,比如我从jsp页面发送新增请求到后台,后台可能是servlet.struts2.springmvc等,这时就存在一个问题, ...
- wpf 窗口程序下将datagrid导出为excel
今天用了几个小时也没有找到将datagrid导出为excel的方法,搜索msdn发现,老外也木有解决这个问题,因此把代码贴出来,和大家分享一下,提高工作效率.简要说一哈,本程序使用反射,因此代码量看起 ...
- 数码管问题(c++实现)
描述:液晶数码管用七笔阿拉数字表示的十个数字,把横和竖的一 个短划都称为一笔,即7有3笔,8有7笔等.对于十个数字一种排列,要做到 两相邻数字都可以由另一个数字加上几笔或减去几笔组成,但不能又加又减. ...
- Vue表单
gitHub地址: https://github.com/lily1010/vue_learn/tree/master/lesson11 一 vue表单 实在是太简单了,直接来个例子 <!DOC ...
- jQuery 的 ajax
jQuery load() 方法 jQuery load() 方法是简单但强大的 AJAX 方法. load() 方法从服务器加载数据,并把返回的数据放入被选元素中. $(selector).load ...
- 安卓开发_浅谈ContextMenu(上下文菜单)
长下文菜单,即长按view显示一个菜单栏 与OptionMenu的区别OptionMenu对应的是activity,一个activity只能拥有一个选项菜单ContextMenu对应的是View,每个 ...
- 安卓开发_浅谈Android动画(三)
一.LayoutAnimation布局动画 用于为一个layout里面的控件,或者是一个ViewGroup里面的控件设置动画效果 在res-anim文件下新建一个动画xml文件 <?xml ve ...
- block中出现此种报错: Incompatible block pointer types initializing 'float (^__strong)(float, float)' with an expression of type 'int (^)(float, float)'
当block(代码块)的返回值是float时,应注意的地方:定义的返回值类型一定要与return的返回值类型一样 我们以两个数的四则运算来举例 在main.m文件中的四则运算中,我采用两种返回值类型( ...