目录:
示例:
[root@localhost ~]# mkdir jeff
[root@localhost ~]# mkdir -p jeff1/jeff2
[root@localhost ~]# mkdir -p jeff3/jeff{4,5}
示例:
cd或cd ~ #切换至家目录
cd - #在上一个目录和当前目录来回切换
cd ~xujun #切换至某用户的家目录
cd .. #切换至上一级目录
回到目录
[root@localhost ~]# ll -Sh # 显示从大到小排序
[root@localhost ~]# ll -ih # 显示inode号
[root@localhost ~]# ll -Rh #递归显示子目录
回到目录
示例:
[root@localhost jeff3]# pwd
创建一个空白文件,假如当前目录有同样的文件,则会更新文件的时间戳 *
主要选项:
-a 修改access(访问)时间
-m 修改modify(修改)时间 这两个参数了解即可
示例:
[root@localhost ~]# cat -n anaconda-ks.cfg #显示行号查看
[root@localhost ~]# cat >> jeff.txt << EOF #cat高级用法,向jeff.txt写入内容
> jeff
> niub
> EOF
回到目录
示例:
[root@localhost ~]# vi jeff.txt
示例:
[root@localhost ~]# vim jeff.txt
详见
https://blog.csdn.net/qq_36327717/article/details/93878316
示例:
echo “I am studying linux”>>jeff.txt 追加文件尾部内容
echo $? 假如返回值为0的时候,表示上一次命令成功。假如是1到255的话,则是失败
从标准输入(管道或stdin、输入重定向)获取数据。并将数据转换成命令行的参数。
简单理解就是find 管道|后面接文件,就需要xargs。假如| 前面输入的是文字,字符串就不需要接xargs。
主要选项:
-i 将xargs的每项名称,一行一行赋值给{},可以用{}代替
示例:
find /etc -type f -name “*.txt”|xargs rm -f
find /etc -type f -name “*.txt”|xargs -i mv {} /tmp
回到目录
主要选项:
-a 相当于-pdr 保持源文件权限,递归复制
-f 强制复制,不提示
示例:
[root@localhost ~]# cp -a jeff.txt /
主要选项:-f 强制移动,不提示
示例:
[root@localhost ~]# mv -f /jeff.txt .
主要选项:
-r 递归删除文件或者目录
-f 强制删除不提示
示例:
[root@localhost ~]# rm -rf jeff3
回到目录
https://blog.csdn.net/qq_36327717/article/details/98962489
主要选项:
-type 文件类型 f=文件 d=目录 c=字符类型 b=块设备类型
-name 文件名
-iname 文件名不区分大小写
已天为单位:
-mtime 修改文件内容 按修改时间查找 +7 7天以前 7 第7天 -7 7天以内
-atime 根据访问时间查找
-ctime 根据创建时间查找
已分钟为单位:
-amin 根据访问时间查找
-mmin 根据修改时间查找
-cmin 根据创建时间查找
-user 根据用户名查找
-group 根据组用户查找
-uid 根据用户的uid查找文件
-gid 根据用户的gid查找文件
-size 根据文件的大小来查找文件(默认单位:KB,MB,GB)
1024:什么都不加,小于文件大小-1或等于
+1024:大于等于文件大小
-1024 小于等于文件大小
-perm 根据权限查找
644:什么都不加,精确文件权限匹配
/644: 任何一类用户(u,g,o)的权限中的任何一位(r,w,x)符合条件即满足
-644: 每一类用户(u,g,o)权限中的每一位(r,w,x)同时符合条件即满足
!取反
-o 或者
-exec COMMAND {} ; 对查找到的每个文件执行由COMMAND表示的命令
注意:find传递查找到的文件路径至后面的命令时,是先查找出所有符合条件的文件路径,并一次性传递给后面的命令。但是有些命令不能接受过长的参数,此时命令执行会失败。所以需要另一种方式来规避问题:find |xargs COMMAND
示例:
find jeff/ -type f -name "*.txt" | xargs rm -f
find jeff/ -type f -name "jeff.txt" -exec rm {} \;
find jeff/ -type f -name "*txt" -mtime -7 | xargs rm -f
这条命令解析:查找jeff目录下的文件、名字为*txt、最近7天之内修改的文件通过管道命令,再通过xargs排序 删除文件
find /jeff -type f -name "*.txt" | xargs sed -i s#jeff#niub#
或者sed -i "s#jeff#niub#g" $(find /oldboy/ -type f -name "*.txt")
再或者find /oldboy/ -type f -name "*.txt" -exec sed -i "s#niub#jeff#g" {} \;
find /root -type f -name "*.txt" -ok rm -f {} \;这种方式,当你删除的时候,会询问你是否需要删除该文件
find /backup -type f \( -name "*.log" -o -name "*.tar.gz" \) 同时查找多个名字的文件
find /data -type f -name “.txt” -mtime +7|xargs -i mv {} /tmp
https://blog.csdn.net/qq_36327717/article/details/99237457
主要选项:
-v 排除内容
-E 可以同时实现两条命令的使用,当然也要加|
–color=auto 对过滤的字符串加颜色
-i 不区分大小写
-w 按单词搜索
-B 除了显示匹配的一行之外,并显示该行之前的N行
-A 除了显示匹配的一行之外,并显示该行之后的N行
-C 除了显示匹配的一行之外,并显示该行之前后各N行
-i 不区分大小写
-o 只显示匹配到的内容
-n 显示行号
示例:
grep -v jeff jeff.txt # 排除含jeff的行
grep -n ".*" jeff.txt # 相当于 cat -n
grep -w "niub" jeff.txt #搜索niub
grep -E "root|nginx" /etc/passwd #正则匹配查找
回到目录