基础命令_1

避免误删除数据
1.尽量把文件移动到 /tmp目录
2.参数最小化  -f -rf
3.-f或-fr放在命令最后




#########################################################################################################################
find 命令   <find(选项)(参数)>

    find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。
    如果使用该命令时,不设置任何参数,
    则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

        -amin<分钟>:查找在指定时间曾被存取过的文件或目录,单位以分钟计算;
        -anewer<参考文件或目录>:查找其存取时间较指定文件或目录的存取时间更接近现在的文件或目录;
        -atime<24小时数>:查找在指定时间曾被存取过的文件或目录,单位以24小时计算;
        -cmin<分钟>:查找在指定时间之时被更改过的文件或目录;
        -cnewer<参考文件或目录>查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录;
        -ctime<24小时数>:查找在指定时间之时被更改的文件或目录,单位以24小时计算;
        -daystart:从本日开始计算时间;
        -depth:从指定目录下最深层的子目录开始查找;
        -expty:寻找文件大小为0 Byte的文件,或目录下没有任何子目录或文件的空目录;
        -exec<执行指令>:s假设find指令的回传值为True,就执行该指令;
        -false:将find指令的回传值皆设为False;
        -fls<列表文件>:此参数的效果和指定“-ls”参数类似,但会把结果保存为指定的列表文件;
        -follow:排除符号连接;
        -fprint<列表文件>:此参数的效果和指定“-print”参数类似,但会把结果保存成指定的列表文件;
        -fprint0<列表文件>:此参数的效果和指定“-print0”参数类似,但会把结果保存成指定的列表文件;
        -fprintf<列表文件><输出格式>:此参数的效果和指定“-printf”参数类似,但会把结果保存成指定的列表文件;
        -fstype<文件系统类型>:只寻找该文件系统类型下的文件或目录;
        -gid<群组识别码>:查找符合指定之群组识别码的文件或目录;
        -group<群组名称>:查找符合指定之群组名称的文件或目录;
        -help或——help:在线帮助;
        -ilname<范本样式>:此参数的效果和指定“-lname”参数类似,但忽略字符大小写的差别;
        -iname<范本样式>:此参数的效果和指定“-name”参数类似,但忽略字符大小写的差别;
        -inum<inode编号>:查找符合指定的inode编号的文件或目录;
        -ipath<范本样式>:此参数的效果和指定“-path”参数类似,但忽略字符大小写的差别;
        -iregex<范本样式>:此参数的效果和指定“-regexe”参数类似,但忽略字符大小写的差别;
        -links<连接数目>:查找符合指定的硬连接数目的文件或目录;
        -iname<范本样式>:指定字符串作为寻找符号连接的范本样式;
        -ls:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出;
        -maxdepth<目录层级>:设置最大目录层级;
        -mindepth<目录层级>:设置最小目录层级;
        -mmin<分钟>:查找在指定时间曾被更改过的文件或目录,单位以分钟计算;
        -mount:此参数的效果和指定“-xdev”相同;
        -mtime<24小时数>:查找在指定时间曾被更改过的文件或目录,单位以24小时计算;
        -name<范本样式>:指定字符串作为寻找文件或目录的范本样式;
        -newer<参考文件或目录>:查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录;
        -nogroup:找出不属于本地主机群组识别码的文件或目录;
        -noleaf:不去考虑目录至少需拥有两个硬连接存在;
        -nouser:找出不属于本地主机用户识别码的文件或目录;
        -ok<执行指令>:此参数的效果和指定“-exec”类似,但在执行指令之前会先询问用户,若回答“y”或“Y”,则放弃执行命令;
        -path<范本样式>:指定字符串作为寻找目录的范本样式;
        -perm<权限数值>:查找符合指定的权限数值的文件或目录;
        -print:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式为每列一个名称,每个名称前皆有“./”字符串;
        -print0:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式为全部的名称皆在同一行;
        -printf<输出格式>:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式可以自行指定;
        -prune:不寻找字符串作为寻找文件或目录的范本样式;
        -regex<范本样式>:指定字符串作为寻找文件或目录的范本样式;
        -size<文件大小>:查找符合指定的文件大小的文件;
        -true:将find指令的回传值皆设为True;
        -typ<文件类型>:只寻找符合指定的文件类型的文件;
        -uid<用户识别码>:查找符合指定的用户识别码的文件或目录;
        -used<日数>:查找文件或目录被更改之后在指定时间曾被存取过的文件或目录,单位以日计算;
        -user<拥有者名称>:查找符和指定的拥有者名称的文件或目录;
        -version或——version:显示版本信息;
        -xdev:将范围局限在先行的文件系统中;
        -xtype<文件类型>:此参数的效果和指定“-type”参数类似,差别在于它针对符号连接检查。
###############################################################################################
find /root/ -type f -name "oldboy.txt"
不知道文件在哪,可以从/目录下开始找

################################################################################################

[root@oldboyedu-wj data]# find /root/ -type f -name "*.txt"
/root/data/lidao.txt
/root/data/alex.txt
/root/data/oldboy.txt
 
"*.txt"  以txt结尾的文件
#########################################################################################################################
管道的概念     |
把前面的命令传递给后面的命令    *所有  任意的字符

[root@oldboyedu-wj data]# find /root/ -type f -name "*.txt" |xargs ls -l
-rw-r--r--. 1 root root 0 Mar 22 12:56 /root/data/alex.txt
-rw-r--r--. 1 root root 0 Mar 22 12:56 /root/data/lidao.txt
-rw-r--r--. 1 root root 0 Mar 22 12:56 /root/data/oldboy.txt

################################################
小结:
1.防止误删除   find精确查找文件
                -type 类型
                    f<file>文件
                    d<directory 目录>
                -name 文件名
2.
特殊符号:*
2. | 管道 把前一个命令的结果传递到下一个命令
find 与 |xargs 配合

######################################################################
1.运维人员如何最大限度避免误删除文件
http://oldboy.blog.51cto.com/2561410/1687300

2.企业面试题:linux面试题:删除一个目录下的所有文件,但保留一个指定文件
http://oldboy.blog.51cto.com/2561410/1650380




.. 当前目录的上一级目录
.  当前目录             <复制 移动>

##################################################################
已知文件test.txt内容
test
liyao
oldboy
请输出test.txt文件内容,不包括oldboy字符
[root@oldboyedu-wj /]# mkdir -p /data
[root@oldboyedu-wj /]# cat >/data/test.txt<<EOF
> test
> liyao
> oldboy
> EOF
方法一:
[root@oldboyedu-wj data]# grep "oldboy" test.txt
oldboy
[root@oldboyedu-wj data]# grep -v "oldboy" test.txt
test
liyao
方法二:
head  显示文件的前几行 默认显示前10行

[root@oldboyedu-wj data]# head -n2 test.txt
test
liyao

#######拓展

tail -l test.txt 显示文件最后几行 默认显示最后10行
[root@oldboyedu-wj data]# tail -n1 test.txt
oldboy

方法三:
awk '!/oldboy/' test.txt
[root@oldboyedu-wj data]# awk '/oldboy/' test.txt
oldboy
[root@oldboyedu-wj data]# awk '!/oldboy/' test.txt
test
liyao
方法四:
sed '/oldboy/d' test.txt
小结:
1.在文件中过滤的方法 head / tail
2.过滤 grep
##################################################################
请用一条命令创建/oldboy /test/目录
mkdir - p //oldboy/test/
##

##########################################################
cp === cp -i
rm === rm -i
别名 alias

命令的小名 爱称 昵称

作用:
1.给危险的命令 加上一个保险
2.简化输入
查看系统已有别名
[root@oldboyedu-wj data]# alias
alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'


设置一个别名执行rm 的时候显示 rm command bny
cp命令之忽略提示
1.\cp  /mnt/test.txt   /tmp/

寻找命令位置
which 命令
[root@for-fun /]# which cp
alias cp='cp -i'
    /bin /root/data/oldboy.txt  /tmp/oldboy.txt


设置一个别名执行rm的时候 显示 rm command bny

1.临时配置(断电重启失效)
alias rm='echo rm  command no affect'
[root@for-fun /]# rm -rf /tmp/oldboy.txt
rm command no affect -rf /tmp/oldboy.txt

2.永久配置  修改配置文件
vi /etc/profile
命令生效 source /etc/profile

3.修改/root/.bashrc文件
注释掉#   alias rm='rm -i'

小结:配置别名然后生效
##########################################################
取出文件ett.txt中间的字符
方法一:
seq 生成数字序列
[root@oldboyedu-wj ~]# seq 40 >ett.txt
[root@oldboyedu-wj ~]# cat ett.txt
[root@oldboyedu-wj ~]# head -30 ett.txt |tail ett.txt
方法二:
sed  '2p' ett.txt
取消默认输出
-n  

sed -n '2p' ett.txt
sed -n '20,30p' ett.txt
方法三:
awk 'NR==20' ett.txt
awk 'NR==20,NR==30' ett.txt

方法四:grep

grep -A10 "20" ett.txt
-A   显示你要找的内容-A 行后的内容

##########################################################
把oldboy目录下所有.sh的文件中的oldboy替换成oldgirl
[root@oldboyedu-wj oldboy]# find /oldboy -type f -name "*.sh"
/oldboy/t.sh
/oldboy/test.sh
/oldboy/test/del.sh

[root@oldboyedu-wj oldboy]# cat t.sh
oldboy
[root@oldboyedu-wj oldboy]# sed 's#oldboy#oldgirl#g' t.sh
oldgirl

sed  's#找谁#替换为什么#g'  t.sh

[root@oldboyedu-wj oldboy]# sed -i 's#oldboy#oldgirl#g' t.sh
[root@oldboyedu-wj oldboy]# cat t.sh
oldgirl
find /oldboy -type f -name "*.sh"|xargs sed 's#oldboy#oldgirl#g' t.sh
oldgirl

第1个里程碑-找出目标
[root@oldboyedu-sh01 oldboy]# find /oldboy -type f  -name "*.sh"
/oldboy/test/del.sh
/oldboy/t.sh
/oldboy/test.sh

第2个里程碑-如何替换一个文件 oldboy ----> oldgirl
[root@oldboyedu-sh01 oldboy]# cat t.sh
oldboy
[root@oldboyedu-sh01 oldboy]# sed   's#oldboy#oldgirl#g'     t.sh
oldgirl
#sed   's#找谁#替换为什么#g'     t.sh

[root@oldboyedu-sh01 oldboy]# cat t.sh
oldboy
[root@oldboyedu-sh01 oldboy]# sed -i   's#oldboy#oldgirl#g'     t.sh
[root@oldboyedu-sh01 oldboy]# cat t.sh
oldgirl

第3个里程碑-把find命令找出的文件交给sed替换 并检查
[root@oldboyedu-sh01 oldboy]# find /oldboy -type f  -name "*.sh"
/oldboy/test/del.sh
/oldboy/t.sh
/oldboy/test.sh
[root@oldboyedu-sh01 oldboy]# find /oldboy -type f  -name "*.sh"|xargs sed 's#oldboy#oldgirl#g'
oldgirl
oldgirl
oldgirl
[root@oldboyedu-sh01 oldboy]# find /oldboy -type f  -name "*.sh"|xargs sed -i 's#oldboy#oldgirl#g'
[root@oldboyedu-sh01 oldboy]# find /oldboy -type f  -name "*.sh"|xargs cat                           ##检查
oldgirl
oldgirl
oldgirl

##########################################################
G 到文件的最后一行
gg 到文件第一行
o (小写字幕o)在光标所在行的下一行 插入一个空行并进入编辑模式
u 撤销上一次的操作

说说你在vi/vim中常用的命令或快捷键
http://blog.51cto.com/lidao/1925897

###################################################################
grep 命令
    grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)
    是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
        -a 不要忽略二进制数据。
        -A<显示列数> 除了显示符合范本样式的那一行之外,并显示该行之后的内容。
        -b 在显示符合范本样式的那一行之外,并显示该行之前的内容。
        -c 计算符合范本样式的列数。
        -C<显示列数>或-<显示列数>  除了显示符合范本样式的那一列之外,并显示该列之前后的内容。
        -d<进行动作> 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep命令将回报信息并停止动作。
        -e<范本样式> 指定字符串作为查找文件内容的范本样式。
        -E 将范本样式为延伸的普通表示法来使用,意味着使用能使用扩展正则表达式。
        -f<范本文件> 指定范本文件,其内容有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每一列的范本样式。
        -F 将范本样式视为固定字符串的列表。
        -G 将范本样式视为普通的表示法来使用。
        -h 在显示符合范本样式的那一列之前,不标示该列所属的文件名称。
        -H 在显示符合范本样式的那一列之前,标示该列的文件名称。
        -i 忽略字符大小写的差别。
        -l 列出文件内容符合指定的范本样式的文件名称。
        -L 列出文件内容不符合指定的范本样式的文件名称。
        -n 在显示符合范本样式的那一列之前,标示出该列的编号。
        -q 不显示任何信息。
        -R/-r 此参数的效果和指定“-d recurse”参数相同。
        -s 不显示错误信息。
        -v 反转查找。
        -w 只显示全字符合的列。
        -x 只显示全列符合的列。
        -y 此参数效果跟“-i”相同。
        -o 只输出文件中匹配到的部分。

转载于:https://www.cnblogs.com/wangjin-s1/p/8657771.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/367558.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php pdo使用事务,PHP内PDO事务使用步骤详解

这次给大家带来PHP内PDO事务使用步骤详解&#xff0c;PHP内PDO事务使用的注意事项有哪些&#xff0c;下面就是实战案例&#xff0c;一起来看一下。概要&#xff1a;将多条sql操作(增删改)作为一个操作单元&#xff0c;要么都成功&#xff0c;要么都失败。单条数据不用事务处理被…

[转帖]真TM长的:SQL Server 2008存储结构——GAM和SGAM、PFS结构、IAM结构、DCMBCM

谈到GAM和SGAM&#xff0c;我们不得不从数据库的页和区说起。 https://blog.csdn.net/snowfoxmonitor/article/details/49991015 一个数据库由用户定义的空间构成&#xff0c;这些空间用来永久存储用户对象&#xff0c;例如数据库管理信息、表和索引。这些空间被分配在一个或多…

六大Java功能

我花了无数小时来对不同的应用程序进行故障排除。 通过经验&#xff0c;我可以得出关于大多数开发人员应该远离的几个Java SE功能/ API的结论。 当我提到大多数开发人员时&#xff0c;我会想到常规的Java EE开发人员&#xff0c;而不是库设计人员/基础结构工程师。 全面披露&a…

解决socket 粘包的三种方法

在socket编程中&#xff0c;当服务器连续向客户机发送两条指令时&#xff0c;就容易发生粘包 解决方法 1.sleep&#xff08;&#xff09;通过睡眠来隔断两条语句 2、设置一条回执语句&#xff0c;当对方接受完信息后返回一个值 3根本解决&#xff1a; 通过在客户端程序中来确定…

用Jquery实现选项卡功能

jQuery实现选项卡功能。首先将界面搭建好。有导航头tab_menu&#xff0c;还有内容tab_box。要实现的效果就是&#xff0c;点击后&#xff0c;将相应的内容显示出来&#xff0c;其他内容隐藏掉。同时为了展现选中状态&#xff0c;为选中的项添加背景&#xff0c;以示区别。 这一…

帝国模板php代码,让帝国cms搜索页模板支持php代码

1.在/e/search/result/index.php头上加入require(../../class/functions.php);2.在/e/search/result/index.php 120行左右//替换公共模板变量$listtemp$tempr[temptext];这行代码之前加上$tempr[temptext]DtNewsBq(list.$tempr[tempid],$tempr[temptext],0);完整代码如下&#…

【刷题】BZOJ 4176 Lucas的数论

Description 去年的Lucas非常喜欢数论题&#xff0c;但是一年以后的Lucas却不那么喜欢了。 在整理以前的试题时&#xff0c;发现了这样一道题目“求Sigma(f(i)),其中1<i<N”&#xff0c;其中 表示i的约数个数。他现在长大了&#xff0c;题目也变难了。 求如下表达式的值&…

寻找缺少的堆栈跟踪

我们最近在博客中发表的一篇评论带回了有关特定体验的一些回忆。 我希望我没有经历过的那种经历。 在我们创建Plumbr之前很长时间&#xff0c;我正在调试一个应用程序&#xff0c;该应用程序每次在蓝月亮时都会给我一个例外。 详细程度令人震惊&#xff1a; java.lang.NullPoi…

HTML5--新增拖放事件(7)

前言&#xff1a; 这节课主要学习HTML5中新增的拖放事件(drag/drop)。 拖放事件 1.启用&#xff1a;HTML5中&#xff0c;如果想拖拽元素&#xff0c;给元素添加draggable true的属性&#xff0c;图像和a标签默认是可以进行拖拽的。 2.拖拽事件&#xff1a; 1.应用于被拖拽元素…

Django 用 uploadify 实现图片批量上传

分享一下在Django中使用uploadify——一个jQuery批量上传插件——的方法。github上的django-uploadify使用的是2.1.4版本&#xff0c;上传button只能使用图片&#xff0c;不能很方便的修改样式。本文针对的是uploadify 3.0.0版本。uploadify可以结合Django自身的ImageField&…

php判断记录,PHP判断数据库中的记录是否存在的方法,php数据库_PHP教程

PHP判断数据库中的记录是否存在的方法&#xff0c;php数据库本文实例讲述了PHP判断数据库中的记录是否存在的方法。分享给大家供大家参考。具体实现代码如下&#xff1a;复制代码 代码如下:$sql"select * from checklist where game_id$gid and task$task and status$stat…

Java DB中的Java存储过程

1 Java存储过程 这篇文章是关于Java DB中的Java存储过程的。 Java DB是基于Java编程语言和SQL的关系数据库管理系统。 这是Apache软件基金会的开源Derby项目的Oracle版本。 Java SE 7 SDK中包含Java DB。 在数据库内调用的Java代码是一个存储过程&#xff08;或多个过程&…

一些职场感想

教训 不要相信领导给你画的大饼 离开了&#xff0c;就不要回去 他说的为你好&#xff0c;都是套路而已 你会比你想象的更优秀 不要认为提增加工资不好意思&#xff0c;你不提&#xff0c;他永远不会给你加工资 怎么才算努力 这就看你所处的队友是怎么样的&#xff1b;如果队友是…

php聊天室发送表情,聊天室技术(六)-- 表情和动作_PHP

表情和动作极大的丰富了聊天的乐趣,一般的聊天室主要通过2种方法发送(1) 按钮菜单的方法通过在一个固定的下拉菜单里面进行选择,找到自己满意的表情,然后选中,按发送按钮发出(2) 通过手工输入代号比如网易的以手工输入 //hello 代表欢迎的一段动作,以 //bye 代表再见的一段动作…

Java 8的新增功能(第I部分-JavaFX)

免责声明&#xff1a;我不为Oracle工作&#xff0c;也不以任何方式代表Oracle。 此功能列表不是官方的。 作为“局外人”&#xff0c;这只是我研究的一部分。 Java 8已在大约两个月前完成功能&#xff0c;并且开发者预览版即将来临&#xff08;两周后&#xff09;。 这篇博客文…

mysql数据库sql语句优化

昨天帮同事优化了一个sql语句发出来共勉下: SELECT T.*, ( SELECT S.codeName FROM sys_codelist S WHERE S.codeValue T.packagingtype AND S.kindCode PACKAGING ) AS packagingtypeName, S.codeName AS codename, ( SELECT picpath FROM zl_b_gd_pic WHERE 1 1 AND gdid …

CopyPropertis

commons-beanutils.jar PropertyUtils.copyProperties(Object dest, Object orig) spring-beans.jar BeanUtils.copyProperties(Object source, Object target)CopyPropertis对List的操作需要手动转载于:https://www.cnblogs.com/xingzc/p/8663119.html

java调用外联服务用xml,Spring IOC 依赖注入的两种方式:XML和注解

IoC&#xff0c;直观地讲&#xff0c;就是容器控制程序之间的关系&#xff0c;而非传统实现中&#xff0c;由程序代码直接操控。这也就是所谓“控制反转”的概念所在。控制权由应用代码中转到了外部容器&#xff0c;控制权的转移是所谓反转。IoC还有另外一个名字——“依赖注入…

Wicket模型的干净方法

Apache Wicket Web框架的核心概念之一是模型和IModel作为其编程接口。 Wicket组件严重依赖模型&#xff0c;这使它们成为体系结构的重要组成部分。 Apache Wicket是一个有状态框架&#xff0c;将页面及其组件存储到通常位于HTTP会话中的页面存储中。 组件根据模型的内容创建面向…

jquery选择器大全

jQuery 选择器大全选择器 实例 选取 * $("*") 所有元素 #id $("#lastname") id"lastname" 的元素 .class $(".intro") 所有 class"intro" 的元素 element $("p") 所有 <p> 元素 .class.class $(".intr…