LINUX文件操作命令
body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2px 0 2px 0;} th{border: 1px solid gray; padding: 4px; background-color: #DDD;} td{border: 1px solid gray; padding: 4px;} tr:nth-child(2n){background-color: #f8f8f8;}
文件的硬链接:相当于一个文件的两个副本,指向同一数据存储区
特点:
两个文件,长度相等,总长度不变
删除其中一个文件,另一个仍然存在
修改其中一个文件,另一个也修改
|
文件的符号链接: 相当于一个文件的快捷方式
特点:
仅保存一个指针,长度小于原文件
删除符号链接,不影响原文件
删除原文件,符号链接即没有意义
|
ln 命令– link 功能:产生链接文件
用法:ln –s 来源文件 目标文件
加-s参数:symbolic link
不加-s参数:hard link
范例:
ln –s /bin/less /usr/bin/less //第一种方式,链接到其他目录
ln myfile mylinkfile //第二种方式,链接到其他文件
//红色表示这个链接失效了
|
whereis – where is file ? 作用:查找文件或目录位置
说明:whereis并不进行磁盘级的查找,只是在 $PATH 所设定的路径中去查找
范例:whereis ls
//ln 第二种方式
|
改变目录或文件的权限
chmod ls –l 长格式列出文件或目录的基本信息如下:
文件类型与权限 链接数 文件所有者 文件属组 文件大小 最近修改的时间 名字
对于权限,有第一组表示文件所有者的权限,第二组表示同组用户的权限,第三组表示其他用户的权限。每一组的三个字符分别表示对文件的读、写和执行权限。可以通过chmod来修改权限。
|
1. 文字设定法 chmod [who][+|-|=][mode] 文件名 //修改指定文件名中who的权限增加/去除/赋值为mode
参数:
操作对象who可是下述字母中的任一个或者它们的组合:
u 表示“用户(user)”,即文件或目录的所有者。
g 表示“同组(group)用户”,即与文件所有者有相同组ID的所有用户。
o 表示“其他(others)用户”。
a 表示“所有(all)用户”。它是系统默认值。即chmod +x 1.c表示所有人都有可执行的权限。
操作符号可以是:
+ 添加某个权限。
- 取消某个权限。
= 赋予给定权限并取消其他所有权限(如果有的话)。
设置 mode 所表示的权限可用下述字母的任意组合(当组合的时候,who不能少):
r 可读
w 可写
x 可执行
文件名:以空格分开的要改变权限的文件列表,支持通配符。
在一个命令行中可给出多个权限方式,其间用逗号隔开。
例如:chmod g+r,o+r example [chmod go+r example]使同组和其他用户对文件 example 有读权限 |
2. 数字设定法 0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。 例如:chmod go+r example 等价于 chmod 044 example |
文件查找
find
命令:find 起始目录 查找条件 操作
功能:在指定目录结构中搜索文价,并执行指定的操作。
该命令的查找条件可以是一个逻辑运算符 not、and、or 组成的复合条件。
|
and :逻辑与,在命令中用 -a 表示,表示只有当所给的条件都满足时,查找条件才满足。
例如在 “/home/user”目录下查找名为 0718 类型是一个目录的文件。则使用
find /home/user –name 0718 –a -type d
or :逻辑或,在命令中用 -o 表示,表示只要所给的条有一个满足,查找条件就满足。例如在“/home/user”目录下查找名字为main.cc 或名字为 main.c的文件。则使用
find /home/user -name main.cc -o -name main.c
not :逻辑非,在命令中用 !表示查找不满足所给条件的文件。例如在“/home/user“下查找名字不是main.c的文件,则使用
find /home/user ! –name main.cc |
根据名称和文件属性查找:
-name ’字串’ 查找文件名匹配所给字串的所有文件,字串内可用通配符 *、?、[ ]
eg: find *.txt //查找当前目录下所有以txt结尾的文件。
[] 表示 通配括号里面的任意一个字符
? 表示 通配任意的单个字符
find [12].txt // [1-9] //匹配多个1.txt~9.txt
find 1.tx?
-gid n 查找属于ID号为n的用户组的所有文件。
-uid n 查找属于ID号为n的用户的所有文件。
-group ’字串’ 查找属于用户组名为所给字串的所有的文件。
-user ’字串’ 查找属于用户名为所给字串的所有的文件。
-empty 查找大小为0的目录或文件。
-perm 权限 查找具有指定权限的文件和目录,权限的表示可以如711,644。
-size n[bckw] 查找指定文件大小的文件,n后面的字符表示单位,缺省为b,代表512字节的块
-type x 查找类型为x的文件,x为下列字符之一:
b 块设备文件
c 字符设备文件
d 目录文件
p 命名管道(FIFO)
f 普通文件
l 符号链接文件(symbolic links)
s socket文件
|
根据时间查找:
-amin n 查找n分钟以前被访问过的所有文件。(+表示n分钟之前,-表示n分钟之内,+号和-号都不能省略)
-cmin n 查找n分钟以前文件状态被修改过的所有文件。
-mmin n 查找n分钟以前文件内容被修改过的所有文件。
-atime n 查找n天以前被访问过的所有文件。
-ctime n 查找n天以前文件状态被修改过的所有文件。
-mtime n 查找n天以前文件内容被修改过的所有文件。
|
可执行的操作:
-exec 命令名称 {} :对符合条件的文件执行所给的Linux 命令,而不询问用户是否需要执行该命令。{}表示命令的参数即为所找到的文件;命令的末尾必须以“ \;”结束。
例如,在“/home/user“目录下查找名为main.c文件并显示这些文件的详细信息,则使用
find /home/user –name main.c -exec ls –l {} \;
-ok 命令名称 {} :对符合条件的文件执行所给的Linux 命令,与exec不同的是,它会询问用户是否需要执行该命令。
find -name 1.txt -ok cat {} \;
|
-ok 命令名称 {} :对符合条件的文件执行所给的Linux 命令,与exec不同的是,它会询问用户是否需要执行该命令。
find -name 1.txt -ok cat {} \;
find /home/luke -name main.c | xargs ls -l
find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。
在有些系统中,使用-exec选项会为处理每一个匹配到的文件而发起一个相应的进程,并非将匹配到的文件全部作为参数一次执行;这样在有些情况下就会出现进程过多,系统性能下降的问题,因而效率不高;
而使用xargs命令则只有一个进程。另外,在使用xargs命令时,究竟是一次获取所有的参数,还是分批取得参数,以及每一次获取参数的数目都会根据该命令的选项及系统内核中相应的可调参数来确定。
|
搜索文件内容grep: 命令:grep [选项][查找模式][文件名1,文件名2,…]
功能:grep过滤器查找指定字符模式的文件,并显示含有此模式的所有行。被寻找的模式称为正则表达式。
常用的一些正则表达式:
^ :以什么开头 ,例如 ls –l | grep ^d 显示当前目录下的所有子目录的详细信息。
$ :以什么结尾 。例如 ls –l | grep c$ 显示当前目录下以c结尾的文件。
常用的参数:
-E 每个模式作为一个扩展的正则表达式对待。等价于 egrep,使用最新的正则表达式
-F 每个模式作为固定的字符串对待
-c 只显示匹配行的数量。
-i 比较式不区分大小写。
-n 在输出前加上匹配串所在的行号。
|
// 搜索文件1.txt中的单词the |
wc(Word Count) 命令格式: wc [选项]文件...
命令功能: 统计指定文件中的字节数、字数、行数,并将统计结果显示输出。该命令统计指定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所指定文件的总统计数。
命令参数:
-c 统计字节数。
-l 统计行数。
-m 统计字符数。这个标志不能与 -c 标志一起使用。
-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
-L 打印最长行的长度。
|
umask 指文件(0666)或目录(0777)创建时在全部权限中要去掉的一些权限,普通用户缺省时umask的值为002,超级用户为022。所以默认创建一文件以后,普通用户缺省的权限为664,超级用户为644;创建一目录以后,普通用户缺省的权限为775超级用户755;umask查看当前缺省掩码,umask 001设置当前掩码为001 |
// test刚好是775 // test刚好是666 |
LINUX文件操作命令的更多相关文章
- linux文件操作命令--转
引用地址:http://bbsunchen.iteye.com/blog/1010993 想自己一开始处理文件的时候,看文件有多少行,都要写个perl脚本,好不麻烦啊...以此文纪念自己傻逼的科研生活 ...
- linux 文件操作命令
目录操作命令 命令格式 命令 [-选项] [-参数] ls -la /etc 有多个选项时可以合并 ls命令: -a (all) 显示所有文件,包括隐藏文件,那是用.开头的文件 为什么要隐藏(这是个系 ...
- linux 文件操作命令 touch、cat、more、less、head、tail
touch /bin/touch 创建空文件 linux 创建文件可以使用特殊符号,/除外 touch test test1 创建了两个文件touch "test test1" 创 ...
- 0020 Linux 文件操作命令
1. 创建文件 touch 文件名 2. 删除文件 rm 文件名 3. 复制文件 cp 源文件 目录 4.剪切文件 mv 源文件 目标文件 5.重命名文件 mv 源文件名 新文件名 6.改变文件权限 ...
- Linux 文件操作命令-Linux基础环境命令学习笔记
1.文件目录操作 1)路径识别 a.绝对路径,以根目录开始 b.相对路径,以当前目录开始,不需从根目录开始写起 2)命令 man ls 查看ls命令帮助 cd /var/log 切换进入log目录(. ...
- 个人常用Linux文件操作命令
本文只记录个人工作中最常用到的命令. 关机和用户 shutdown -h now 关机 reboot 重启 sync 非正常关机前执行,强制将内存缓冲区中的数据立即写入磁盘中 logout 注销 ...
- Linux文件操作命令并举例说明其作用
ls ,常用于查看当前文件下有工作中需要的文件 cd, 常用于进行切换文件的位置 vim,常用于编辑软件系统相关的配置文件 ps –ef|grep jdk,常用语显示跟jdk有关的进程 |:表示 ...
- 【Linux学习】Linux文件系统3—文件操作命令
Linux文件系统3-文件操作命令 Linux文件操作命令主要有: cd: 改变目录位置 pwd: 显示当前目录的绝对路径 ls: 显示文件名称.属性等 -a 列出全部文件 -l 列出 ...
- Linux学习笔记之Linux用户与用户组、文件操作命令、文件权限剖析
1.用户与用户组 Linux是一个多用户操作系统,通过用户与用户组的概念,可以实现保证安全性和隐私性.任何一个文件都具有User.Group.Others三个权限. 文件拥有者(Linux下所有的东西 ...
随机推荐
- Java学习笔记20---内部类之对成员内部类的补充说明(一)
上篇文章--笔记19简要介绍了成员内部类.局部内部类和匿名内部类,下面对成员内部类再补充一些内容. 主要有以下6点: 1.成员内部类不可以有静态成员,成员变量为static final时除外 2.外部 ...
- python实现类jq的json路径过滤
开发过程中访问接口时经常用到jq来过滤json,用着觉得不是很爽,于是自己搞一个舒服的 ^_^ 先说需求: 输入:参数1:被过滤对象(json.dict.list), 参数2:过滤路径 输出:过滤结果 ...
- js 数组的常用方法
pop,push,reverse,shift,sort,splice,unshift 会改变原数组 join,concat,indexOf,lastIndexOf,slice,toString 不会改 ...
- https 与 http
HTTPS,HTTP over SSL,SSL是解决传输层安全问题的网络协议,其核心是基于公钥密码学理论实现了对服务器身份认证,数据的私密性保护以及对数据完整性的校验等功能. SSL协议在HTTP请求 ...
- 统计学习方法学习(四)--KNN及kd树的java实现
K近邻法 1基本概念 K近邻法,是一种基本分类和回归规则.根据已有的训练数据集(含有标签),对于新的实例,根据其最近的k个近邻的类别,通过多数表决的方式进行预测. 2模型相关 2.1 距离的度量方式 ...
- Zabbix实战-简易教程--技巧一(操作类技巧)
一.常用操作技巧 1.克隆 监控项.模板.触发器都可以进行克隆.其中,模板克隆又分为克隆和完全克隆.完全克隆会将LLD也一起复制一份,就是和之前的模板一模一样,而模板的克隆只是克隆监控项,不复制低层次 ...
- 成功破解邻居的Wifi密码
// 这是一篇导入进来的旧博客,可能有时效性问题. 默认配置的路由器,8位以下密码,黑客几分钟就可以破解.以前用自己的路由器做过实验,这次真正实践成功.环境:Kali Linux工具集:aircrac ...
- Java反射-高级知识掌握
PS:本文就Java反射的高级知识做下汇总,理清在什么情况下,我们应该去使用反射,提供框架的健壮性,ps:xieyang@163.com/xieyang@163.com
- CTF---Web入门第九题 FALSE
FALSE分值:10 来源: iFurySt 难度:易 参与人数:4567人 Get Flag:2144人 答题人数:2157人 解题通过率:99% PHP代码审计 hint:sha1函数你有认真了解 ...
- Codeforces Round #434 (Div. 2, based on Technocup 2018 Elimination Round 1)&&Codeforces 861A k-rounding【暴力】
A. k-rounding time limit per test:1 second memory limit per test:256 megabytes input:standard input ...