Linux命令基础,命令之重定向

By admin in 美高梅手机版4858 on 2019年4月15日

linux
重定向及部分命令

 

第陆节:Linux命令基础

标签(空格分隔):Linux实战教学笔记


shutdown -h now 关机

一,重定向疏解:

一、成立1个索引/data

记得方法:英文make
directorys缩写后便是mkdir。

命令:

  1. mkdir /data

  2. cd /;mkdir data

  3. #提醒:使用分号能够在一行内分割多少个指令。

推行进度:

  1. 方法一:

  2. [root@oldboy66 ~]# mkdir /data

  1. #查看data目录是或不是创制成功,ls是list列表的意味,-ld是ls的常用参数,是长格式查看目录属性,l表示长格式,d表示目录
  1. [root@oldboy66 ~]# ls -ld /data
  1. drwxr-xr-x. 2 root root 4096 Nov 30
    13:40 /data

  2.    

  3. 方法二:

  4. #除去方法一创建的目录

  5. [root@oldboy66 ~]# rm -r /data

  1. #输入y表示承认删除,y是yes的缩写
  1. rm: remove directory `/data’? y
  1. #进去根目录/下

  2. [root@oldboy66 ~]# cd /

  3. #创立data目录,不带斜线/,因为已经进去了

  1. [root@oldboy66 /]# mkdir data
  1. #查看data目录本身

  2. [root@oldboy66 /]# ls -ld data

  1. drwxr-xr-x. 2 root root 4096 Nov 30
    13:44 data

总结:

cd后跟相对路线可能相对路线,表示进入目录,如果不跟其余事物,会进入当前用户的家目录。

相对路线概念:不从/起初,而是从当前目录早先,例如:data/,mnt/oldboy。

相对路线概念:从/开首的目录,就叫相对路线,例如:/data/,/mnt/oldboy。

cd命令纪念方法:change
directory。

mkdir
[-mp] [目录名称] 建立目录

    -m:那么些参数用来钦点要创建目录的权位,可是很少用,都会用chmod来处理。

    如:mkdir –m 777
/tmp/test,即建立1个权力为77柒的目录。

    -p:那些参数用来递归创设目录,mkdir的常用参数。

第一章 认识操作环境

美高梅手机版4858 1

  • root:当前登入的用户名
  • @分隔符
  • chensiqi:主机名
  • ~:当前路径地点
  • 用户的唤醒符

service iptables stop 关闭防火墙

    壹>
标准输出重定向 覆盖原有内容 慎用!!!!!!
    壹>>
标准输出追加重定向 追加内容
    2>
错误输出重定向 只输出错误信息
    2>>
错误输出追加重定向 追加内容
    0<
标准输入重定向
    0<<
标准输出追加重定向

二、在/data下边建立3个文件oldboy.txt

命令:

  1. touch /data/oldboy.txt

  2. cd /data;touch oldboy.txt

  3. #创设文件也能够用echo等,只可是touch是专业的,也可用直接创造文件的一声令下,如vi,cat等。

  1. 例如:

  2. echo > /data/oldboy.txt

  3. > /data/oldboy.txt

实施进度:

  1. 方法一:

  2. #在/data目录下开创oldboy.txt

  3. [root@oldboy66 data]# touch
    /data/oldboy.txt

  4. #翻看创造的oldboy.txt

  5. [root@oldboy66 data]# ls -l
    /data/oldboy.txt

  6. -rw-r–r–. 1 root root 0 Nov 30 14:04
    /data/oldboy.txt

  7.    

  8. 方法二:

  9. [root@oldboy66 /]# cd /data

  10. #若是同名文件存在,不会提示也倒霉覆盖,会更新文件的日子戳

  1. [root@oldboy66 data]# touch
    oldboy.txt

总结:

touch”摸”。touch
[文件名]
就是”摸”一下文件,假诺文件不设有,就建立新文件,假如存在,就更换文件的拜访时间atime等日子戳消息。

路径分隔区别:

windows的目录分隔D:\PIC\oldboy。

linux的目录分隔/data/。

1.一 Linux系统命令操作语法的格式

美高梅手机版4858 2

提示:

  1. 诚如情状下命令中的[]意味着可选,既命令的参数及文件是可选的。
  2. 参数选项===>一个指令的不如的意义(分歧的尺度)。

美高梅手机版4858 3

setup配置网卡 回车第三项,回车第壹项配置网卡,回车eth0,回车

美高梅手机版4858 4

三、为oldboy.txt扩展内容为”I am studying linux”。

方法壹:常规编排方法

实践vi
oldboy.txt进入vi编辑器(暗中认可命令形式),点击a或i进入编辑形式,敲入内容I
am studying
linux,然后按钮盘上的esc键退出编辑情势(进入到命令格局),最终敲:wq保存并脱离。wq解释write
quit。

此方法求证:

vi正是看似记事本同样的linux下的常用编辑器,假若想效果更拉长能够用vim代替vi,vi/vim的内部有成百上千的命令本领点,例如i正是insert,进入插入编辑方式的情事的情趣,esc键是切换来命令方式,命令格局下能够敲冒号”:”在前边才方可接命令参数,例如wq,w是write,q是quit。

vi
编辑器,也便是记事本,有编写制定成效,不过较弱。

vim
复制编辑器,相当于emeditor,editplus,notepad++。

火速键:TAB
命令、路线补全。

美高梅手机版4858 5

措施2:单行或多行文本插入常用命令,内容都以存放到文件的尾巴。

  1. echo “I am
    studying linux” >>/data/oldboy.txt

施行进度:

  1. #奇怪的编写方法,通过echo命令使用单引号把引号的剧情通过>>追加到/data/oldboy.txt,注意:是充实不是覆盖
  1. [root@oldboy66 data]# echo “I am studying
    linux” >>/data/oldboy.txt

  2. #反省追加的结果

  3. [root@oldboy66 data]# cat oldboy.txt

  1. I am studying linux

本法表明:

echo是三个打字与印刷输出内容的贰个常用命令,同盟”>或>>”可以为文件覆盖及扩张内容。”>”意思为重定向,会去掉文件里具备原先数据,”>>”为剧情充实,只在文书尾巴部分增添须要的内容,还有2个较复杂不常用的近乎命令printf。

特殊字符命令:

>重定向,会解决文件里具有原先的数码,扩展

>>追加重定向,

艺术3:写脚本常用,追增加行,内容都投身文件的尾巴。

  1. cat >>/data/oldboy.txt<<EOF
  1. I am studying linux

  2. EOF

  3. #在意:结尾的EOF要顶格写,EOF也能够用别的字符代替,只假如1对就好。

办法贰、方法三为命令行或脚本中常使用的不二等秘书技,都很首要。

方式2用以单行文本,方法三能够是多行文件,文本中只要有特殊字符,如$等急需用\转义才行。

  1. echo ‘

  2. 111

  3. 222

  4. 333

  5. ‘>>oldboy.txt

方法四:

  1. [root@oldboy66 data]#
    cat >>/data/oldboy.txt

  2. I am studying linux

按ctrl+d或ctrl+c组合键四回甘休编辑。此措施为异常编辑方法。

总结:

echo是八个打字与印刷输出内容的三个常用命令,协作”>”或”>>”可感觉文件覆盖或追加内容。echo
$PATH打字与印刷出PATH的值。

重定向:意思是将”数据传到其余地点”。将有些命令试行后本应有出现在荧屏的数额,传输到此外市方,施行命令时,那一个命令恐怕会由此文件读入数据,经过处理以后,再将数据输出到显示器。

>或一>
输出重定向:把前边输出的东西输入到背后的文本中,会删除文件原有内容。

>>或一>>
追加重定向:把前边输出的指标追加到背后的公文中,不会删除文件原有内容。

<或<0
输入重定向:输入重定向用于转移命令的输入,前面钦定输入内容,前面跟文件名

<<或<<0
追加输入重定向:
后跟字符串,用来代表”输入达成”,也能够ctrl+d来结束输入。

2>
错误重定向:把错误新闻输入到背后的文本中,会删除文件原有内容。

二>>
错误追加重定向:把错误消息追加到末端的公文中,不会去除文件原有内容。

正规输入(stdin):代码为0,使用<或<<,数据流向从右向左。

专业通常输出(stdout):代码为一,使用>或>>,数据流向从左向右。

规范错误输出(stderr):代码为二,使用2>或二>>。

箭头的趋势就是数据流的趋势。

破例写法:

  1. echo oldboy 2>a.txt 1>b.txt
  1. #二>&1正是把标准错误重定向到专业输出

  2. echo oldboy &>log.txt

  3. #Linux命令基础,命令之重定向。也能够用>&

  4. echo oldboy >log.txt 2>&1

壹.贰 Linux目录结构

美高梅手机版4858 6

dhcp自动分配IP地址

美高梅手机版4858 7

四、把oldboy.txt文件拷贝到/tmp下

命令:

  1. cd /data

  2. cp oldboy.txt /tmp/

  3. 唤醒:加cp -a,cp,-p保持属性

总结:

cp [-aifpru]
[源文件] [对象文件]

    -a:相当于-pdr

    -d:若源文件为链接文件(link
file),则复制链接文件属性而非档案自己。

    -f:强制,若目的档案已经存在且不只怕开启,则移除后再尝试。

    -i:若指标文件已经存在时,在覆盖时会先精通。

    -p:连同档案的品质一齐复制过去,而非使用暗许属性。

    -r:递归,用于复制目录。

    -u:若目的文件存在,则指标文件比源文件旧时才复制。

唤醒:假诺源文件是多个,那么指标文件在最终,且是目录。

cp的显要参数apr。

第二章 认识常用的Linux基础命令

简轻便单无情贯穿常用命令,对命令使用框架有个全体会认识识

dns一 八.捌.捌.8       IP和域名相互解析的工具

 

5、把/data目录移动到/root下

命令:

  1. mv /data /root/

  2. 唤醒:倘诺希望带目录拷贝,尽量不要mv
    /data/ /root/,移动目录时,源目录结尾不要多余斜线。

总结:

mv [-ifu]
[源文件/源目录] [目标文件/指标目录]

    -i:假如指标文件已存在,询问是或不是覆盖

    -f:强制推行,不会询问

    -u:若指标文件存在,则比源文件新才会活动。

提醒:倘诺源文件是四个,那么指标文件在结尾,且是目录。

如:f1、f2是文件,/d1、/d2是目录

mv f壹f贰:假设f二不存在,则一定于f1重命名字为f2;假使f2留存,则f一重命名称叫f二,并掩盖f2。

mv f1
/d1:假使/d1不存在,则把f一平移到/下,不偏不倚命名称为d壹;假若/d一留存,则把f一移动到/d1下。

mv /d1
/d二:假设/d贰不设有,则把/d一重命名称为/d贰;借使/d二存在,则把/d1活动到/d2下。

mv /d2f壹:假如f一不存在,则把/d2移动到当前目录,同等看待命名称为f壹;假若f1留存,会唤醒f一是个文本,无法用目录覆盖。

二.一 创立2个索引/data

windows下面

新建===>文件夹

Linux下面

  • 创办目录 ===>make directory===>mk dir ===>mkdir

mkdir /data 在当前目录下创制子目录
cd / 回到根目录下
mkdir data 创建data子目录

  • 翻开目录===>列表===>list===>ls

ls 查看当前目录内容
ls -ld /data 查看/data目录详细内容
举例
ls / 查看根目录内容
ls -l / 查看根目录下详细内容

 dns2      202.106.0.20

 

六、进入root目录下的data目录,删除oldboy.txt

命令:

  1. cd /root/data/

  2. rm oldboy.txt

除去三个文书壹般用rm
oldboy.txt,此法会提示您承认。用rm –f
oldboy.txt方法不会提示确认直接删除,相比危险。

对此文本的删减禁止用”rm
–fr 文件名”,那是杀鸡用牛刀的做法,必须禁止掉,最多用”rm –f 文件名”。rm
–fr 一般用来强制删除目录不提示,格外危险。

建议:

应用mv替代rm,也正是把文件移动到/tmp下,然后等/tmp分区将在满时一遍性删除,减弱犯错。

find删除

  1. [root@oldboy66 data]# find
    /root/data/ -type f -exec rm -f {} \;

在剧本中剔除文件或目录时生产环境的选择形式一般为:

一、和xargs搭配用法

  1. #剔除1五天在此以前的公文

  2. find . -type f -name “*.log” -mtime +15 |xargs rm -f

  1. #除去目录30天 慎用

  2. find . -type f -name “*.log” -mtime +30 |xargs rm -fr

2、使用find的-exec

  1. #在/logs目录中追寻改动时间在3日在此以前的文件并剔除它们
  1. find /logs -type f -mtime “*.log” -mtime +5 -exec rm {} \;

find命令的原理:

美高梅手机版4858 8

\
:特殊字符,让二个有破例含义的字符,脱掉马甲。

.. :上级目录

. :当前目录

\. :代表.号

|
:管道(把前三个发令结果的输出交给后一个程序开始展览后续处理)

-type :按文件类型查找

-name
:按名字查找,查找的始末最棒用双引号括起来。

! :取反。

去除目录下除了oldboy.txt外的富有文件:

  1. [root@oldboy66 data]# find
    /root/data -type f ! -name “oldboy.txt” |xargs rm -f

  2. [root@oldboy66 data]# find
    /root/data/ -type f ! -name “oldboy.txt” -exec rm {} \;

linux面试题:删除四个目录下具备文件,但保留一个钦定文件。

   

   

2.2相对路线与相对路线

相对路线:从根开头的路径

C:\Program Files (x86)\Microsoft Office

从根开首的不二等秘书诀正是相对路径

相对路径:/etc/sysconfig/network-scripts/ifcfg-eth0

相对路线:不从“/”根先河,而是把目前所在路线当作根,目的文件或目录距离当前路径的“距离”。
示例:
美高梅手机版4858 9
小结

多练
多给别人讲授
讨论相对路线与相对路径

mkdir 制造目录
ls 查看目录内容
cd 进入xxxx
pwd 查看当前相对路线

安装ip生效/修改文件:vi/etc/sysconfig/network-scripts/ifcfg-eth0

    xargs
将音讯实行分组命令

7、退出到上边目录,删除data目录。

命令:

  1. cd ..或cd ../

  2. rm -r data或rmdir data

  3. #当中是空目录不必要用-rf。

总结:

..
:相对路线,表示当前目录的上一流目录,例如:/mnt/oldboy,mnt正是oldboy的上级目录。

.
:相对路径,表示当前目录,即当前命令行的目录。

rm
[-irf] [文件/目录] 删除文件/目录

    -i:询问用户是不是科学删除,用y或n来回答。

    -r:删除目录时加该选拔,删除目录及目录下的公文和目录。

    -f:强制删除,不用确认。

rmdir
[-p] [目录名] 用来删除空目录,-p代表递归删除目录,目录里无法有文件只怕目录

如:/a/b/c

rmdir /a/b/c
:会删除/a/b/c,而/a/b还在。

rmdir –p /a/b/c
:会删除/a,/a/b,/a/b/c。

然则rmdir /a,rmdir –p
/a/b都会出错,提醒:Directory not empty。

二.三 在/data 上边成立文件 chensiqi.txt

创立单个文件
美高梅手机版4858 10
创办多少个文本
美高梅手机版4858 11

小结:

touch 触摸 创造文件或改变文件时间戳(文件的性质)

         按i编辑修改

    ps:多文件进行时不易输出带三个文书,错误的出口到另一个文本
ifconfig >/data/right.txt 二>/data/error.txt

八、限定输出

已知文件test.txt内容为:

test

liyao

oldboy

请给出打字与印刷test.txt内容时,不包蕴oldboy字符串的目录。

方法一:

head:尾部,取文件的前N行,私下认可前十行,抽取前3行-3。

  1. [root@oldboy66 ~]# head -2 test.txt

方法二:

grep:过滤器,把想要的依旧不想要的离别开,-v排除。

  1. [root@oldboy66 ~]# grep -v “oldboy” test.txt

提示:也足以利用cat
test.txt|grep –v “oldboy”,那些命令纵然能促成,但是进行功效差繁多。

方法三:

sed:删除,d表示delete删除,p表示print打字与印刷,-n撤除sed的暗许输出,-i退换文件内容。

    sed –n
‘/过滤的始末/处理的吩咐’ 文件

  1. [root@oldboy66 ~]# sed -e
    ‘/oldboy/d’ test.txt

  2. [root@oldboy66 ~]# sed /oldboy/d
    test.txt

  3. [root@oldboy66 ~]# sed -e /^oldboy/d
    test.txt

  4. [root@oldboy66 ~]# sed -n
    /[^oldboy]/p test.txt

   

方法四:

awk:

  1. [root@oldboy66 ~]# awk /[^oldboy]/
    test.txt

2.4 为chensiqi.txt 扩张内容“I am studying linux”

vi===>直接写入(关于vi和vim使用格局请自行查询vim tutor)
echo实行追加
美高梅手机版4858 12
注意:
1,我们一般在一向操作文件前要备份文件
2,操作前先看一眼cat 一下

特殊符号:
“>” 重定向,清除原作件里面装有剧情,然后把内容充实到文件的终极
“>>” 追加重定向,追加内容,到文件的尾部
“1>”
输出重定向:把后面输出的东西输入到背后的文本中,会免去文件原有内容。
“一>>”
追加输出重定向:把前边输出的东西输入到背后的公文中,不会免去文件原有内容,只是扩展到最终一行。
美高梅手机版4858 13
<或0< 输入重定向:后跟字符串(不常用)
<<或0<< 追加输入重定向:后跟字符串(不常用) 二>
错误重定向:把错误新闻输入到后边的文本中,会删除文件原有内容
二>>
错误追加重定向:把后面错误音讯追加到末端的公文中,不会免去文件原有内容
美高梅手机版4858 14

重定向小节:
重定向:更改命令实施时,数据传输的来头
箭头方向就是数量方向===>水流方向
美高梅手机版4858 15

         onboot=yes

      错误文件和不利文件都置于3个文本即日志文件ifconfig
>/data/log.txt 二>/data/log.txt

9、用一条命令达成制造目录/oldboy/test,即创办/oldboy目录和/oldboy/test目录

命令:

  1. mkdir -p /oldboy/test

推行进度:

  1. #递归创制目录,一般第3流目录不存在时用-p,不然报错mkdir:
    cannot create directory `/oldboy/test’: No such file or directory
  1. [root@oldboy66 /]# mkdir -p
    /oldboy/test

安装系统补装工具命令:

yum安装也许rpm安装、源代码安装

更新补丁实践(生产环境尽量不做,除非有已知的安全漏洞):

yum update

安装tree:

  1. [root@oldbo [root@oldboy66 /]# yum
    install tree -y

  2. #查询tree

  3. [root@oldboy66 /]# rpm -qa tree

  1. tree-1.5.3-3.el6.x86_64

  2. [root@oldboy66 /]# tree oldboy/

  1. oldboy/

  2. └── test

  3.    

  4. 1 directory, 0 files

tree:展现目录树结构

yum:linux里的包管理器,yum能够支持化解注重问题。

例如:yum install tree
-y,效能下载tree包,然后调用rpm命令安装tree包,要是必要借助包,会自行下载并提早设置。

rpm:
-ivh(安装展现输出)

rpm –ivh
包名.rpm(提前下载好),rpm安装的最大主题素材是心有余而力不足化解重视难题。

2.5 把chensiqi.txt拷贝到/tmp目录下

windows复制粘贴

ctrl+c
ctrl+v

Linux下:
复制====>copy===>cp
美高梅手机版4858 16
小结:

cp 复制文件或目录(暗中认可不可能拷贝目录)
-r:递归,复制目录,目录及其传人
-p:复制文件同时保障文件属性不变,
-a ===-pdr

  保存:wq

    第二种办法:简便性: ifconfig >>/data/log.txt
2>$一

拾、已知/tmp目录下存在test.txt文件,怎么着施行命令手艺把/mnt/test.txt拷贝到/tmp下覆盖掉/tmp/test.txt,而linux系统不升迁是还是不是覆盖(root权限下)。

命令:

方法一:

/bin/cp /mnt/test.txt
/tmp/test.txt

方法二:

\cp /mnt/test.txt
/tmp/test.txt

提醒:此题正是屏蔽掉系统默许的相应命令外号,私下认可实行cp的操作是调用了外号的,所以提示覆盖。

cp命令暗中认可是不会唤醒overwrite,然则cp的-i选项会提示,而貌似Linux的用户环境文件~/.bashrc中会把cp命名成alias
cp=’cp
-i’。那样在Linux下输入cp命令实际上运转的是cp
–i,加上2个”\”符号可能写cp全路线/bin/cp就是让本次的cp命令不选用小名(cp
-i)运营。

外号概念:

输入alias查找当前外号。

  1. [root@oldboy66 /]# alias

  2. alias cp=’cp -i’

  3. alias l.=’ls -d .* –color=auto’

  1. alias ll=’ls -l –color=auto’

  2. alias ls=’ls –color=auto’

  3. alias mv=’mv -i’

  4. alias rm=’rm -i’

  5. alias which=’alias | /usr/bin/which
    –tty-only –read-alias –show-dot –show-tilde’

撤销别称设置:unalias(暂时生效,重启失效)

  1. [root@oldboy66 /]# unalias cp
  1. [root@oldboy66 /]# alias

  2. alias l.=’ls -d .* –color=auto’

  1. alias ll=’ls -l –color=auto’

  2. alias ls=’ls –color=auto’

  3. alias mv=’mv -i’

  4. alias rm=’rm -i’

  5. alias which=’alias | /usr/bin/which
    –tty-only –read-alias –show-dot –show-tilde’

加多别称设置:

  1. [root@oldboy66 /]# alias cp=’cp -i’
  1. [root@oldboy66 /]# alias

  2. alias cp=’cp -i’

  3. alias l.=’ls -d .* –color=auto’

  1. alias ll=’ls -l –color=auto’

  2. alias ls=’ls –color=auto’

  3. alias mv=’mv -i’

  4. alias rm=’rm -i’

  5. alias which=’alias | /usr/bin/which
    –tty-only –read-alias –show-dot –show-tilde’

自定义别称oldboy:

  1. #设置oldboy为别名,执行echo I am
    oldboy linux

  2. [root@oldboy66 /]# alias
    oldboy=”echo I am oldboy linux”

  1. #查看oldboy别名

  2. [root@oldboy66 /]# alias|grep oldboy

  1. alias oldboy=’echo I am oldboy linux’
  1. [root@oldboy66 /]# oldboy

  2. I am oldboy linux

  3. #取消oldboy别名

  4. [root@oldboy66 /]# unalias oldboy

  1. [root@oldboy66 /]# alias|grep oldboy

自定义rm:

  1. [root@oldboy66 /]# alias rm=’echo
    “rm can not be used,pls use mv”‘
  1. [root@oldboy66 /]# alias|grep rm
  1. alias rm=’echo “rm can not be used,pls use mv”‘
  1. [root@oldboy66 /]# rm -fr
    /root/oldboy/

  2. rm can not be used,pls use mv -fr
    /root/oldboy/

方法三:

unalias cp

cp /mnt/test.txt
/tmp/test.txt

升迁:命令行处理别称仅在及时收效,重启系统后失效。

alias:查看以及定义外号

unalias:撤消别名

~:用户的家目录,针对root,~就代表/root。

别名的安排文件,针对root用户/root/.bashrc;全体用户生效,/etc/bashrc或/etc/profile定义,生效实施soure
/etc/bashrc或/etc/profile。

小名的机能:

一、通过给危险命令加1别爱慕参数,幸免人为误操作。

二、把过多繁杂的字符串或指令产生三个简短的字符串或指令。

二.6 把/data 移动到 /root 目录上边

移动(搬家)====>move====>mv
美高梅手机版4858 17

cd /
mv /data /root
小结
/data ===> /data 及/data下边的后人
/data/===> /data上边包车型地铁后来人
注意:那里目录的活动,假设想单独移动目录上面文件而不挪窝目录使用mv
/data/* /root 即可

展开网卡:ifup eth0开启第3个网卡

          超级轻巧 ifconfig &>/data/info.log

1壹、只查看ett.txt文件(十0行)内第三0到第20行的剧情。

命令:

sequence == seq序列

  1. #打印1到3

  2. [root@oldboy66 tmp]# seq 3

  3. 1

  4. 2

  5. 3

  6. #打印1到3

  7. [root@oldboy66 tmp]# seq 1 3

  8. 1

  9. 2

  10. 3

  11. 打印2到8

  12. [root@oldboy66 tmp]# seq 2 8

  13. 2

  14. 3

  15. 4

  16. 5

  17. 6

  18. 7

  19. 8

  20. #打印1到7的奇数

  21. [root@oldboy66 tmp]# seq 1 2 7

  1. 1

  2. 3

  3. 5

  4. 7

  5. #打印0到7的偶数

  6. [root@oldboy66 tmp]# seq 0 2 7

  1. 0

  2. 2

  3. 4

  4. 6

Usage: seq
[OPTION]… LAST

or: seq [OPTION]…
FIRST LAST

or: seq [OPTION]…
FIRST INCREMENT LAST

-s:内定系列的分割符

  1. [root@oldboy66 tmp]# seq -s “–” 5

  2. 1–2–3–4–5

  3. [root@oldboy66 tmp]# seq -s “@” 5

  4. 1@2@3@4@5

生成ett文件,seq 100
>ett.txt。

  1. [root@oldboy66 tmp]# seq
    100 >ett.txt

方法一:

tail:尾巴,抽出文件的末梢N行,暗中认可最终十行,取最终三行-n
三 。

    -f:追踪3个文书的尾巴部分实时变化(tail
–f ett.txt)。

  1. [root@oldboy66 /]# head -30
    ett.txt|tail -11

  2.    

  3. [root@oldboy66 /]# tail -81
    ett.txt|head -11

方法二:

  1. #效率高(首选)

  2. [root@oldboy66 tmp]# sed -n ‘20,30p’
    ett.txt

  3. [root@oldboy66 tmp]# sed -n 20,30p
    ett.txt

取出第30行:

  1. [root@oldboy66 tmp]# sed -n ’30p’
    ett.txt

sed命令与选拔:

sed庞大的意义,是由以下四种指令和采纳联合工作的结果。sed通过点名某1地方来支配对怎么样行来进行处理,借使没有点名地址,sed私下认可处理规范输入全体的行。地址的花样得以是数字,正则表明式,或三种组成。假使给出的是由逗号连接的四个地点,则意味着sed要处理的始末正是该三个地方之间的行。

sed命令便是用来拍卖那个由地点钦点的输入行。

命令

功能

a\

在当前匹配行的后面添加一行或多行文本内容

c\

更改当前匹配行的文本,替换成新的文本,原文本行内容消失

d

删除当前模式空间所有的内容

D

删除当前模式空间内第一个\n之前的内容

i\

在当前匹配行之前插入一行或多行文本内容

h

把模式空间的内容复制到保持空间,并覆盖当前保持空间的内容

H

把模式空间的内容追加到保持空间,原保持空间的内容依旧存在(注意两行之间的\n)

x

交换当前模式空间和当前保持空间的内容

g

与s联合使用时,表示对当前行全局匹配替换

g

取出当前保持空间的内容,并将其复制到模式空间,覆盖掉原模式空间的内容

G

取出当前保持空间的内容,并将其复制到模式空间,追加到原模式空间内容的后面(注意两行之间的\n)

p

打印匹配行

P

打印当前模式空间内容,直到第一个换行符(\n)为止

n

读取下一行内容,并复制到模式空间,取代原模式空间的内容

N

读取下一行内容,并复制到模式空间,追加到原模式空间内容的后面(注意两行之间的\n)

q

第一个模式匹配完成后退出或立即退出

r

从另一个文件中读取文本,并加入到当前匹配行后面

s

常说的查找并替换,用一个字符串替换成另一个

w

将匹配的行写入新的文件

y

将字符转换为另一个字符(对正则表达式不能使用y命令)

!

对所选行以外的所有行进行相应处理

=

显示匹配内容行的行号

   

sed选项:

选项

功能

-e

允许多项编辑

-f

后接sed脚本的文件名

-n

取消默认输出

-i

修改文件内容

   

打印:

sed –n ‘二p’ oldboy.txt
(打字与印刷第二行)

sed –n ‘$p’ oldboy.txt
(打字与印刷最终一行)

sed –n ‘1,3p’
oldboy.txt (打印第1到3行)

sed –n ‘/yass/’p
oldboy.txt (打字与印刷相配yass的行)

sed –n ‘4,/The/’p
oldboy.txt (在第6行相配格局The,若相称,则打字与印刷)

sed –n ‘/\$/’p
oldboy.txt (相配元字符$)

sed –n ‘1,$’p
oldboy.txt
(打字与印刷整个文件,只需将实施范围设为第二行到最后1行1,$,$意义最终壹行)

sed –n ‘/.*ing/’p
oldboy.txt (任意字符,使用情势/.*ing/查询以ing结尾的专断单次)

sed –n ‘/movie/=’
oldboy.txt (打字与印刷相配行的行号)

sed –n –e ‘/movie/p’ –e
‘/movie/=’ oldboy.txt (打字与印刷相配行的始末和行号)

sed ‘=’ oldboy.txt|tail
-二 (呈现行数或最大行号)

方法三:

  1. [root@oldboy66 tmp]# awk ‘{if(NR<31 && NR>19) print $1}’
    ett.txt

  2. [root@oldboy66 tmp]# awk ‘{if(NR<31 && NR>19) printf $1″\n”}’ ett.txt

awk:一门语言,过滤内容(取列)

    awk
‘{print $1}’ 文件 $1第一列,$2第二列

    awk –F
“分隔符” ‘{print $壹}’ 文件 $一先是列,$1回之列,…,$(NF-壹)(尾数第二列),$NF(最终1列)

案例:awk私下认可分隔符空格

  1. [root@oldboy66 tmp]# cat awk.txt
  1. oldboy oldgirl

  2. ddd fff

  3. [root@oldboy66 tmp]# awk ‘{print
    $1}’ awk.txt

  4. oldboy

  5. ddd

  6. [root@oldboy66 tmp]# awk ‘{print
    $2}’ awk.txt

  7. oldgirl

  8. fff

-F钦定分隔符:

  1. [root@oldboy66 tmp]# awk -F “:” ‘{print $1}’ /etc/passwd

点名输骑行之间的相间符:

  1. [root@oldboy66 tmp]# awk -F “:” ‘{print $1 ” ” $3 “==” $5}’ /etc/passwd

总结:

head [-n]
[文件名]:前面一向跟文件名,显示文件前十行。-n代表展现文件前n行。

tail [-nf]
[文件名]:前面一直跟文件名,显示文件后十行。-n代表呈现文件后n行。

方法四:

  1. [root@oldboy66 tmp]# cat
    ett.txt|grep 20 -A 10

  2. [root@oldboy66 tmp]# cat
    ett.txt|grep 30 -B 10

  3. [root@oldboy66 tmp]# cat
    ett.txt|grep 25 -C 5

-A:除了显示相称的一行之外,并出示该行之后的num行。

-B:除了出示相称的一行之外,并显示该行以前的num行。

-C:除了出示相配的今后之外,并显示该行前后各num行。

二.柒 进入/root 目录下的data目录,删除chensiqi.txt文件

删除===> remove ====>rm
美高梅手机版4858 18

cd /root/data
rm chensiqi.txt 私下认可只可以删除文件
会提醒是不是删除 y 就可以
rm -f chensiqi.txt 免提示一律yes
注意:删除前要商量操作后是或不是可以恢复,若无法上涨择应该先cp备份,可能选拔移走mv的措施举办删除。

递归删除

rm -rf data 删除目录必须加-r,-f免提醒删除data目录及目录下的保有东西
注意:此命令分外危险,提出不用,采用移动mv的去除格局(在linux跟目录下创建1个垃圾箱文件夹,想删除的都mv过来)
请熟记,运转人员的职分:安全稳定高效

小结:

rm 无后缀只可以删除文件
-f 免提式强制删除
-r 删除目录(递归删除目录下全数东西)
#慎用
取而代之格局:mv 移动文件或目录

压实删除的难度/门槛

因而find命令提升删除的准确度
美高梅手机版4858 19
find data -type f -name “chensiqi.txt”
-type:查找的靶子的项目
f : 文件类型
-name + 文件名:文件的名字
先是步:先寻找文件
其次步:再删除文件

find小结

find 查找范围 -type 文件类型 f(file) d(directory) -name 文件名

管道
管道命令:xargs
后边的删除文件操作还能够这么处理:
美高梅手机版4858 20

  • 壹经前一条命令无法满足你的供给,那么供给续接一条命令来进行再处理,那么就要求管道符+管道命令(|
    xargs)来续接命令。
  • 相当于说,将管道符 | 左边的一声令下所施行的结果所为管道符 |
    右侧的下令的举办范围

              /etc/init.d/network restart

    集团案例:

1二、分析图片服务日志,把日志(每种图片访问次数*图片大小的总和)排名,取top十,也等于测算各类url的总访问大小。

阐明:这几个意义能够用于IDC网址流量带宽相当高,然后经过分析服务器日志哪些要素占用流量过大,进而进行优化或裁剪该图片,压缩js等措施。

2.8 讨论

生产环境下,运营职员怎么最大限度的幸免误删除文件

  1. 修改或删除数据前请务必备份,最佳有外市备份,修改配置等先提交版本管理类别再公布到线上
  2. 运维新手删除应使用mv命令代替rm命令,无用的文书不要着急删除,而是移动到回收站/tmp里观望壹段时间可以透过设置外号等手段屏蔽rm,那样只要直接用到rm命令便是发现到(当然真想用有花招能够穿过别称)。
  3. 倘若非要删除数据,还足以find结合rm取代单纯的rm,包蕴设定定期职务等动作实施清理。
  4. 一旦非要使用rm删除,请尽量先切换目录再删目录下的数目,能不用通配符就不用通配符
  5. 假如要求求选择rm -rf
    命令强制且递归删除文件夹,最终的幸免错误方法正是要用tab去不全文件夹名字,不要手敲任何字符,幸免误删除
  6. 假定除去的不是目录,就不用用rm -rf,选取最小化的章程rm
    -f就能够,甚至根本的微量文书,能够毫无-f,以赚取承认删除提醒新闻

总结:

a,删除数据后,多数景观是足以过来的,但会潜移默化工作
b,例如:需求停机复苏,且数量丢了,较长时间用户访问不了对应数据了
c,苏醒工具诸如ext叁grep等
d.事情产生前预加防御永恒比发生了在消除好得多
e,养成规范,专业科学的运转习惯,运行流程是防止当黑锅侠的根本!

商厦面试题
问:linux下删除八个目录下的有着文件,但保留三个点名文件
格局壹:find(最重点必须会)
美高梅手机版4858 21

!:取反,也等于说删除目录下文件类型为f的具备文件不过排除-name为 file玖的文件

方法二:grep过滤内容
美高梅手机版4858 22

经过find查出全部目的文件夹下的文本内容后,通过管道 | grep
过滤-v排除掉目标内容后再 | xargs 将内容传递给rm命令实行删除

主意三:命令嵌套命令
此方法只适用于删除当前目录下的始末
美高梅手机版4858 23

··符号(tab键上面包车型大巴~符号不按shift输入正是)它的意趣是取符号内的授命的实施结果。本办法的意味正是rm删除掉··符号内的一声令下的执行结果的始末

              service network restart

      清空二个文本
一.> cat /null >/目的wenjian 二. cat 空文件 >/目的 3.
>/指标文件 间接清空

1叁、把/oldboy目录及其子目录下全体以恢宏名.sh结尾的文件中蕴涵./hostlists.txt的字符串全体替换为./idctest_iplist。

命令:

  1. [root@oldboy66 tmp]# find ./ -name
    “*.sh” -type f -exec sed -i
    ‘s#./hostlists.txt#./idctest_iplist#g’ {} \;

解析:

sed替换:

sed –i
‘s#oldboy#oldgirl#g’ a.txt

    s:查找并替换,用一个字符串替换来另三个。

    g:与s联合使用时,表示对当下行全局相配替换。

    -i:修改文件内容。

    #:分隔符,也得以用/、@等替换。

find查找:

find / -type f –name
“a.txt”

组合:

轮换当前目录上边全数文件名叫test.txt中的oldboy为oldgirl。

  1. [root@oldboy66 tmp]# find ./ -name
    “test.txt” -type f|xargs sed -i
    ‘s#oldboy#oldgirl#g’

  2. [root@oldboy66 tmp]# find ./ -name
    “test.txt” -type f -exec sed -i
    ‘s#oldboy#oldgirl#g’ {} \;

  3. [root@oldboy66 tmp]# sed -i
    ‘s#oldboy#oldgirl#g’ `find ./ -name “test.txt” -type f`

查看:

  1. [root@oldboy66 tmp]# find ./ -name
    “test.txt” -type f|xargs cat
  1. [root@oldboy66 tmp]# find ./ -name
    “test.txt” -type f -exec cat {}
    \;

  2. [root@oldboy66 tmp]# cat `find ./
    -name “test.txt” -type f`

特殊字符计算:

符号

作用

>

输出重定向符,重定向内容到文件,清除已有的内容,然后加入新内容,如果文件不存在还会创建文件

>>

追加输出重定向符,>>追加内容到文件(中间无空格)

<

输入重定向(箭头朝向就是数据流的方向)

<<

追加输入重定向

|

管道,就像一个真实管道一样,例如:水管左边进水,右边流出来。其他的功能,egrep "3306|1521" /etc/services

\

转义字符,让有意义的字符脱掉它代表的意义。例如:正则里$表示以什么结尾,用\$表示$符号本身。

~

当前用户的家目录

.或./

一个点号是当前目录,其他功能,正则,任意单个字符

..或../

两个点号是当前目录的上级目录

/

根目录,即linux里所有目录的顶点。也是路径分隔符,而windows里则为D:\工作目录\

;

命令分隔符

{}

生成字符或数字序列(seq),一般配合echo等命令使用,find里的{}意思是前面命令的结果,mkdir stu{1..100}

!

1、!+字母,表示调出最近一次以此字母开头的命令;2、!!表示使用最近一次操作的命令;3、!+数字,表示调出历史的第几条命令。

用户上一次所在的目录。-由OLDPWD变量控制。

   

常用急速键:

tab命令或路线补全键,如若。

ctrl+c终止当前职分命令或程序。

ctrl+d退出当前用户环境。也等于exit、logout。

ctrl+l清屏。

ctrl+shift+c(ctrl+insert)ssh客户端SecureCRT里复制的下令。

ctrl+a:到开头

ctrl+e:到结尾

ctrl+u:剪切光标前

ctrl+k:删除光标后

二.九 退出到上面目录删除data目录

美高梅手机版4858 24

cd /root/data 进入目录
cd .. 退出当前目录回到上一级目录
find 寻觅目的data目录
| xargs 传递给rm删除

特殊符号

“.”(点):表示当前目录/路径
“..”:表示当前目录的上级目录
“#” :表示注释(linux会无视,略过)

 

      >>>>>>>>>>>>>>>>>>>>>>>>>>>哈
 不打听的私聊小编啊
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

贰.十 已知chensiqi.txt文件内容,去掉某行内容后,输出结果

美高梅手机版4858,方法一:grep过滤
美高梅手机版4858 25

grep 过滤(默认)
cat chensiqi.txt | grep “I am chensiqi” 只看过滤的内容

-v: 排除
cat chensiqi.txt | grep -v “I am chensiqi” 排除内容后,看别的内容

主意贰:通过head和tail拼接字符串
head:从头开端查看文件内容,暗中认可查看十行
tail:从最后最先翻看文件,暗中认可查看拾行
-n: n等于行数

美高梅手机版4858 26

&& :特殊符号,并且的情致,能够拼接字符串结果

方法三:awk 解决
美高梅手机版4858 27

!:取反

方法四:sed 解决
美高梅手机版4858 28

打听就好,未来再细说
/内容/d (删除)
找到内容后,将内容剔除后再出口

xshell连不上linux:

二 ,cp 指标文件
目的地点

二.1一 请用一条命令达成创立目录/chensiqi/test,即开立/chensiqi 目录及/chensiqi/test

美高梅手机版4858 29

一.闭馆防火墙:    /etc/init.d/iptables stop    

    cp -r
复制目录 递归删除命令
    -a 参数
,归档参数
    cp -a == cp
-r -p -d -r 递归复制 -p 保持文件属性不改变(权限) -d参数
-d或–no-dereference
 当复制符号连接时,把指标文件或目录也建立为标识连接,并对准与源文件或目录连接的原有文本或目录。

2.1贰 已知/chensiqi 目录下已经存在test.txt 文件,怎么着推行命令手艺把/mnt/test.txt 拷贝到/tmp 下覆盖掉/chensiqi/test.txt.而让系统不晋升是还是不是覆盖(root权限)

美高梅手机版4858 30

/bin/cp:是复制命令的相对路线,通过相对路线来复制命令就不会有提醒。

文化扩大

还记得大家的crond定时职分吗,当用定时职分触发脚本的时候,1般都要求脚本里的一声令下是相对路线的书写方式(还不知底定期职责的,此处略过)

                      chkconfig iptables off 开机默许关闭防火墙

    复制文件强制复制函数:-f   ——>f参数暗中认可centos
陆.玖是停业的之所以要做坏事呢??????????比如rm -rf /*   unalies rm
就行了

2.13 只查看ett.txt(共100行)内第20到第30行内容

方法壹:head和tail通过管道符消除
美高梅手机版4858 31

head -30 文件路线:查看指标文件前30行
tail -10 文件路径:查看目的文件后十行
head -30 文件名 | tail -10先查看目的文件前30行,再查看前30行内容的终极十行。

方法二:sed解决
美高梅手机版4858 32

sed ‘’ 目的文件名:私下认可输出,全体内容
sed -n “行数p” 文件名:读取目的文件的行数内容
sed -n “行数,行数p” 文件名:读取指标文件的行数范围的始末

方法三:awk解决
美高梅手机版4858 33

awk ‘行数’ 目的文件名、
NR == 行数
&& 并且拼接字符串

文化扩张
grep命令在此间无法消除该难题,grep命令重若是用来过滤内容的。而不可能按行可能按列数来寻觅。

grep -v :取反,排除
grep -A 十:(after) 展现相称行的后10行
grep -B 拾:(before) 彰显相配行的前10行
grep -C 五:彰显匹配的行的光景各五行

2.ping+linux _IP-t检测虚拟机和windows是还是不是通     测试物理通不通
 -t一而再测

    全体命令编辑先使用cp备份 !!!!!!!!!!!!!!
三, mv 目的文件
目的为地点
四, remove 移除

2.1四 把/chensiqi目录及子目录下全体以恢宏名.sh 结尾的文本,文件中涵盖 chensiqi的字符串全体调换为welcome

美高梅手机版4858 34

此题可透过find先寻找目的文件
再用sed -i 直接对文件内容展开更改
sed -i 必要抽取的是文件名,而“|”传递的是字符串,“|
xargs”传递的才是文本名,假如不晓得请继续现在看,

3.telnet +linux_ip2二     connected通了    测试ssh服务通不通

  rm
移除的指标音信
  -rf
最棒用的参数—–>没有之一!!!!!
  精确删除数据:rm
-rf *.txt
五, find / -type f
-name “*.txt”

2.15 讨论

管道符 | 和管道命令 xargs的分别

  • | 传递文本,文字,字符串
  • | xargs 文字,文本,字符串==(变成)=>文件名

grep 过滤的是文本的剧情,它过滤的是字符串,因此它自然就认识
管道符“|”
美高梅手机版4858 35

sed -i “s///g”
文件名:他背后需求接的是文件的名字,因此她不能够直接认识字符串
美高梅手机版4858 36
由此就须要经过xargs那些管道符命令来将字符串转变到文件名
美高梅手机版4858 37
综上,那便是“|”和“|xargs”的界别,请密切精晓,很重大

cd 切换路线  cd/切换来根目录  初阶有斜线相对路线,未有斜线相对路线

  管道前边的输出结果提交前边的授命
  “ 反引号 ==$()
ps: 在三个命令中试行命令,在进行2个指令
  -type -f
查找文件类型 f 表示文件 d代表目录
  -name 数据名称 —
查找的公文的数据名称
六, which
查看文件的相对路线的音信
美高梅手机版4858 38

创办理文件件夹mkdir  data,创制名字为data的文本夹     查看目录ls-ld data

 

pwd翻看当前路径

美高梅手机版4858 39

创建txt文件:touch  oldboy.txt

 

为oldboy.txt增添内容i am studying linux:

 壹天又过去了学习好快啊

vi 编辑器,相当于记事本(编辑普通文书);vim:复杂编辑器(程序)

 

快捷键:tab命令路线补全

vi oldboy.txt回车,输入a、i切换成编辑格局;编辑完毕后,按esc退出编辑格局,:wq保存退出。(写入退出)只退出:q;强制退出:q!;

cat+文件名查看内容

单行简单编辑
 echo打字与印刷echo“mmmmm”>oldboy.txt;把内容重定向插入到文件结尾(覆盖>;追加>>)

cat特殊用法:cat>>/data/oldboy.txt<<EOF 

                      i am studying linux.

                  EOF
 追加多个EOF之间的剧情到钦命路径的文书夹;会成立文件夹并扩充内容

拷贝:cp; 文件 cp  oldboy.txt/tmp/

                  目录 cp -a /etc/ /tmp;cp -r /etc/ /tmp

一举手一投足:cd ..;切换成上一级目录;

           mv   /data   /root/;移动目录或文件

ls 查看目录列表

man+命令查看命令帮忙;命令–help(bash的嵌入命令)

美高梅手机版4858 40

去除命令:rm;

    进入root目录下的data目录,删除oldboy.txt文件

cd  /root/data/(相对路线);ls查看当前目录有未有该公文;rm
oldboy.txt删除该文件;

强制删除,间接删除,无指示-f:rm -f oldboy.txt;rm -r删除目录:rm  -fr
 data强制删除data目录

接续后代场景1般尽量不要使用rm,假如要运用,一定要备份cp。

 代替形式:一.先移动到一时半刻目录,mv

                  2.find   路径 -type f:     find   /root/data/  -type f
 -exec rm -f {}\;

                    f:普通文书

                exec:表示对内查找结果进行拍卖

                 {}:查找到的内容

                 \;  :转意,\让有含义的字符没风趣

touch oldboy.txt   oldgirl.txt  可同时创立多少个文本

 空格..:上级目录; 空格.:当前目录

 find删除    

find   /root/data/   -type  f|xargs   rm  -f                
;|:把前贰个结出提交后四个限令处理

 find   /root/data/  -type f  -exec rm -f {}\;

find参数:-type按文件类型查找

                -name按名字查找

                     find  /root/data/  -type  f
 !-name”oldgirl.txt”|xargs   rm  -f(除了oldgirl不删除,别的文件删除)

                  !取反

 ..  是相对路线,相对于当下路线重临到上级目录

.是相对路线,表示当前目录

find ./   查找当前目录下

删除目录:

rm  -f  data/oldgirl.txt

rmdir data/  专门删除空目录

已知test.txt文件内容,给出打字与印刷test.txt的始末,不蕴涵oldboy的通令:

一.生成文件:cat>>test.txt<<EOF                      
#cat查看或打字与印刷当前文件内容

                    test

                    liyao

                   oldboy

                     EOF

二.一)head -二  test.txt    
 ;取文件的前n行,不接参数私下认可前10行,例如取前三行-三

   2)grep “oldboy”  test.txt                         仅保留oldboy

           grep   -v   “oldboy”  test.txt               ;-v
 排除,不想要

sed ‘/oldboy/d’   test.txt                              
 斜线中间是过滤的始末,d删除,p打字与印刷,-n撤消sed默许输出,-i退换文件内容

三.创建目录oldboy并创办下级test目录

mkdir  -p  /root/data/oldboy              ;-p递归成立目录

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                         

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 美高梅手机版4858 版权所有