(码字不易,关注一下吧w~~w)
(其他常用命令可以去看看我昨天发布的文章)
ln -s 源文件 连接文件
注意点:创建软连接源文件一定要使用绝对路径(如ln -s ~/公共的/33 33.s)
,否则当软连接文件移动位置之后,就会找不到指向的文件(源文件)。
使用方法:ln file file.hard
file.hard是file的硬链接,这两个文件指向了同一个incode,同一个incode指向了相同的文件内容(数据块)。也就是说,改file中的内容,file.hard中的内容也会被修改。
ls -li:可以查看文件的incode
stat:可以查看文件的i节点信息
注意:硬链接不能建立在目录上。
创建一个硬链接文件,硬链接计数加一,删除则减一。(新创建的文件初始硬链接数为1)
作用:
1 可以起到同步文件的作用
2 可以起到保护文件的作用
可以显示文件行数,字节数,单词数
wc -l file 显示文件总行数
wc -c file 显示文件总字节数
wc -w file 显示文件总单词数
wc file 显示文件总行数 单词数 总字节数
显示当前登录的用户名
修改文件权限
使用方法:
命令:chmod [who] [+|-|=] [mode] 文件名
操作对象[who] 操作符[+|-|=] 模式[mode]
u 用户 + 添加权限 r 读
g 同组用户 - 取消权限 w 写
o 其他用户 = 赋予给定权限并取消其他权限 x 执行
a 所有用户(默认)
例如:给file的所有者和所属组取消读写权限
chmode u-wr,g-wr file
执行前:
执行后:
命令:chmod [+|-|=] mode file
数字表示含义:
0 没有权限
1 执行权限(x)
2 写权限(w)
4 读权限 (r)
如给file文件设置为rw-rw-r--
chmod 664 file
注意:要使用三位的八进制数:如 064
修改文件所有则和所属组
使用方法:sudo chown user:group file
可以使用chgrp直接改所属组,例如:sudo chgrp group file
命令:find 路径 -name "文件名"
如下图:
命令:find 路径 -type 类型
类型:
f->文件 d->目录 l->符号链接 b->块设备文件 c->字符设备文件 s->socket文件
p->管道文件
如图:
命令:find 路径 -size 范围
范围:
+ 表示大于;- 表示小于;等于则不用写
大小:
M(必须大写) 如:10M
k(必须小写) 如:10k
c 表示字节数
例如:
等于100k文件:find 路径 -size 100k
大于100k文件:find 路径 -size +100k
大于10k,小于100k的文件:find 路径 -size +10k -size -100k
创建日期:-ctime -n/+n
+n:n天以外 -n:n天以内
如:十天到二十天前的文件:find . -ctime +10 -ctime -20
修改日期:-mtime -n/+n
访问日期:-atime -n/+n
如何在指定目录查到所有相关目录,并列举出目录文件的详细信息
find . -type d -exec ls -l {} \;
或者:find . -type d -ok ls -l {} \;(会提示用户是否执行,在执行rm命令时用的较多)
或者:find . -type d | xargs ls -l
如下图操作:
使用方法:grep -r(有目录) ”查找的内容“ 搜索的路径
-r 参数,若是目录,则可以递归搜索
-n 参数可以显示该查找内容所在的行数
-i 参数可以忽略大小写进行查找
-v 参数不显示含有某字符串
例如:在当前目录查找包含 hhh 字符串的文件
grep -r -n "hhh" ./ 显示行号
grep -r -i "Hhh" ./ 忽略大小写查找
如下图操作:
find和grep命令结合使用
先使用find命令查找文件再使用grep命令查找哪些文件包含某个字符串
find ./ -name "*.c" | xargs grep -rn "hhh"