入门检测

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

cd . 当前目录..
再次来到上一流目录 ../../../再次回到多级目录

1、[root@pyrene ~]#

Day6,

 

grep “目的音讯”
指标地方

那边root是当下登入用户  @分割     pyrene是主机名   
~:表示最近报到环境   #:表示管理员

1.1 第8题

输出test.txt文件内容时,不包罗oldboy字符串的通令

文件内容:

[[email protected]
~]# cat /data/test.txt

test

liyao

oldboy

壹、创造1个索引/data

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

命令:

  1. mkdir /data

  2. cd /;mkdir data

  3. #提示:使用分号能够在1行内分割三个指令。

举办进度:

  1. 方法一:

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

  1. #查看data目录是不是成立成功,ls是list列表的乐趣,-ld是ls的常用参数,是长格式查看目录属性,l表示长格式,d表示目录
  1. [root@oldboy66 ~]# ls -ld /data
  1. 美高梅手机版4858 ,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,即建立贰个权力为77柒的目录。

    -p:这么些参数用来递归创立目录,mkdir的常用参数。

  -v
:呈现未有被相称的音信

二、在/data上边创立三个文本oldboy.txt 

1.1.1 方法一grep

行使grep命令,找哪些就写什么

-v 参数是驱除的意味

[[email protected]
~]# grep -v “oldboy” /data/test.txt

test

liyao

 

二、在/data下边建立三个文件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/。

  • mkdir
      -p:成立多级目录
    mkdir -p /oldboy/test/

[root@pyrene ~]# touch data/pyrene.txt

1.1.2 方法二head

使用head彰显文件前2行音讯(-贰参数是显得两行),暗许显示前十行。

[[email protected]
~]# head -2 /data/test.txt

test

liyao

 

叁、为oldboy.txt扩大内容为”I am studying linux”。

方法1:常规编排方法

实施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 1

主意贰:单行或多行文本插入常用命令,内容都以存放在到文件的后面部分。

  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是3个打字与印刷输出内容的3个常用命令,同盟”>或>>”可以为文件覆盖及扩张内容。”>”意思为重定向,会消除文件里具备原先数据,”>>”为剧情充实,只在文书尾巴部分扩充须要的内容,还有二个较复杂不常用的切近命令printf。

特殊字符命令:

>重定向,会免去文件里具备原先的多寡,扩充

>>追加重定向,

艺术三:写脚本常用,追扩充行,内容都位于文件的尾巴。

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

  2. EOF

  3. #在意:结尾的EOF要顶格写,EOF也能够用其他字符取代,只倘使1对就好。

方法二、方法叁为命令行或脚本中常使用的章程,都很关键。

艺术2用来单行文本,方法3方不过多行文件,文本中一经有特殊字符,如$等需求用\转义才行。

  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. #也得以用>&

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

  目录存在也得以频仍创立目录命令,不会师世报错
alias 别名
  一时半刻撤消外号
\背后加多命令 恐怕 /bin/cp jia 加上命令
  权且增加命令
alias grep=”grep –color”
  长久撤除别名 vi
~/.bashrc 删除设置小名那1行
  永远增添别名 vi
~/.bashrc 增多壹行命令alias grep=”grep –color” 保存后source
alias

[root@pyrene ~]# ls data/

1.1.3 方法三 sed

sed命令使用单引号

sed命令首要用来删除

‘/oldboy/d’ 表示删除oldboy这些剧情

[[email protected]
~]# sed ‘/oldboy/d’ /data/test.txt

test

liyao

‘叁d’  表示删除第1行

[[email protected]
~]# sed  ‘3d’  /data/test.txt

test

liyao

四、把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。

  集团奉行:给危险的rm命令设置保险办法(设置别名)

oldboy.txt

1.1.4 方法四 awk

使用awk查找文本里的oldboy/并体现:

[[入门检测。email protected]
~]# awk ‘/oldboy/’ /data/test.txt

oldboy

方今加!表示免除这一个剧情,不显示这么些内容。

[[email protected]
~]# awk ‘!/oldboy/’ /data/test.txt

test

liyao

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

命令:

  1. mv /data /root/

  2. 唤醒:假若愿意带目录拷贝,尽量不要mv
    /data/ /root/,移动目录时,源目录结尾不要多余斜线。

总结:

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

    -i:假设目的文件已存在,询问是或不是覆盖

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

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

提醒:假使源文件是多少个,那么目标文件在结尾,且是目录。

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

mv f1f二:假设f2不存在,则相当于f一重命名称为f二;倘诺f二设有,则f壹重命名字为f贰,并掩盖f2。

mv f1
/d1:假诺/d一不存在,则把f一活动到/下,仁同一视命名称叫d一;假若/d壹设有,则把f一移动到/d一下。

mv /d1
/d二:假诺/d2不存在,则把/d一重命名称叫/d二;纵然/d2存在,则把/d一运动到/d二下。

mv /d二f壹:若是f1不存在,则把/d二移动到当前目录,不偏不倚命名称叫f一;就算f1设有,会提醒f一是个文件,不能够用目录覆盖。

第一个行程:近期计划别称
  alias rm=’echo
“datainfo can not del”‘

三、在地点的文书中增加一句:I am study linux

1.2 第9题

用一条命令完结成立目录/oldboy/test,即创办/oldboy目录及/oldboy/test

创制多级目录时索要加多参数 -p 表示创制多级目录。

[[email protected]
~]# mkdir -p /oldboy/test

[[email protected]
~]# ls /oldboy/

alex.txt  alex.txt.bak  oldboy.txt  test  test.sh  t.sh

[[email protected]
~]# ls -l  /oldboy/test

total 0

6、进入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. #除去壹伍天此前的文件

  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目录中寻找更换时间在17日此前的文书并剔除它们
  1. find /logs -type f -mtime “*.log” -mtime +5 -exec rm {} \;

find命令的原理:

美高梅手机版4858 2

\
:特殊字符,让二个有新鲜意义的字符,脱掉马甲。

.. :上级目录

. :当前目录

\. :代表.号

|
:管道(把前1个限令结果的出口交给后五个顺序开始展览一而再处理)

-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个钦命文件。

   

   

第二个行程:编写配置文件,使之小名效能长久生效
  echo “alias
rm=’echo “datainfo can not del”‘” >>/etc/profile

         进入data目录中,进入vim编辑方式。然后输入内容保留 cat查看

1.3 第10题

已知/tmp下已经存在test.txt文件,怎么样实行命令技艺把/mnt/test.txt拷贝到/tmp下覆盖掉/tmp/test.txt,而让系统不晋升是或不是覆盖(root权限下)。

柒、退出到上边目录,删除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。

  [root@shhaioldboy02-LNB ~]# tail -1 /etc/profile
  alias rm=’echo
datainfo can not del’

         方法二:用echo的方式

1.3.1 方法一:

      \cp 撤废外号

      
[[email protected]
data]# \cp /mnt/test.txt /tmp/

捌、限定输出

已知文件test.txt内容为:

test

liyao

oldboy

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

方法一:

head:底部,取文件的前N行,私下认可前十行,抽取前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

其八个行程:加载配置文件
  source
/etc/profile

                   [root@pyrene ~]# touch data/pyrene.txt

1.3.2 方法二:

使用命令的相对路线

      
[[email protected]
data]# /bin/cp /mnt/test.txt /tmp/

玖、用一条命令实现创制目录/oldboy/test,即创制/oldboy目录和/oldboy/test目录

命令:

  1. mkdir -p /oldboy/test

试行进度:

  1. #递归创设目录,1般第一级目录不设有时用-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安装的最大主题素材是不可能解决重视难题。

第多个行程:打消暗中同意系统的小名功用(rm)

[root@pyrene ~]# ls data/

1.4 第11题

翻看ett.txt文件(共拾0行)内第一0到第叁0行的剧情

10、已知/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,加上二个”\”符号可能写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。

别称的功能:

一、通过给惊险命令加一别爱惜参数,制止人为误操作。

二、把众多复杂的字符串或指令形成四个归纳的字符串或指令。

  PS:系统中的壹些暗中认可配置,建议编辑时毫无删除掉,能够一时半刻注释掉
  vim /root/.bashrc

pyrene.txt

一.四.一 创建该文件

动用seq命令创立二个拾0行的公文。

[[email protected]
~]# seq 5

1

2

3

4

5

[[email protected]
~]#seq 100 >ett.txt

11、只查看ett.txt文件(100行)内第贰0到第十行的剧情。

命令:

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
3 。

    -f:追踪叁个文书的尾部实时变化(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 ‘2p’ oldboy.txt
(打字与印刷第二行)

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

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

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

sed –n ‘肆,/The/’p
oldboy.txt (在第伍行匹配情势The,若相配,则打字与印刷)

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

sed –n ‘1,$’p
oldboy.txt
(打字与印刷整个文件,只需将实践范围设为第二行到最后一行壹,$,$意义最终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-壹)(倒数第1列),$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]
[文件名]:前面一贯跟文件名,展现文件前10行。-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行。

  #alias rm=’rm
-i’*

 

1.4.2 方法一

使用head寻觅前30行,通过管道传给tial,再使用tail寻觅后1壹行,然后输出。

[[email protected]
~]# head -30 ett.txt |tail -11

20

21

22

23

24

25

26

27

28

29

30

12、分析图片服务日志,把日记(每一种图片访问次数*图片大小的总的数量)排行,取top拾,也正是总括每一种url的总访问大小。

表达:这一个意义能够用来IDC网址流量带宽异常高,然后经过分析服务器日志哪些因素占用流量过大,进而拓展优化或裁剪该图片,压缩js等艺术。

vi/vim
  i
从当前行的行首进行编辑
  o
从脚下行的后一行
  O
从如今行的前一行
  u
还原上个操作
  g
火速切换成首行
  G 急忙切换来尾行

         方法三:

1.4.3 方法二

动用sed查找20-30行,p表示行数,-n代表撤消默许输出。

[[email protected]
~]# sed -n ‘20,30p’  ett.txt

20

21

22

23

24

25

26

27

28

29

30

一3、把/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:删除光标后

  系统中暗中同意设置不建议删除,提议注释。

[root@pyrene data]# cat >>pyrene.txt

1.4.4 方法三

      NXC90表示行,逗号表示20到30,三个分外号才是的确的也正是 。

[[email protected]
~]# awk ‘NR==20,NR==30’ ett.txt

      &&表示和, => 20过量等于20, <=30 小于等于30

[[email protected]
~]# awk ‘NR>=20 && NR<=30’ ett.txt

 

20

21

22

23

24

25

26

27

28

29

30

  别称单引号里面明显是命令 须求英文格式
3剑客取行
  sed -n “20,30p”
ett.txt -i 替换文件内容音信 s 寻找到要替换的文件音讯g全局搜索要替换的内容
  awk
‘NR==20,NR==30’ ett
  grep -A十 “20”
ett.txt 以前将来取十行
  grep -B10 “30”
ett.txt 从后往前取十行
  grep -C伍 “2五”
ett.txt 从中间取行
实例:

i am study linux

1.4.5 方法四

由于这一个文件的第三0行正好是20。使用grep找到20并出口,-A10表示输出后边的十行。

[[email protected]
~]# grep -A10 “20”  ett.txt

20

21

22

23

24

25

26

27

28

29

30

  只查看ett.txt文件(共50行)内第三0到第二0行的剧情

^C

1.5 第13题

把/oldboy目录及其子目录下全部以扩大名.sh结尾的文书中,文件含.oldboy的字符串全体替换为oldgirl。

  成立模拟条件成立50行音信
  seq 50
>/root/data/ett.txt

 [root@pyrene data]# cat pyrene.txt

1.五.一 创立环境

mkdir -p /oldboy/test

cd /oldboy

echo “oldboy”>test/del.sh

echo “oldboy”>test.sh

echo “oldboy”>t.sh

touch oldboy.txt

touch alex.txt

  第三种方法:利用sed命令

i am study linux

1.5.2 方法一

sed生效要求追加 -i 参数。

运用find找在/oldboy 目录下的 文件,名字是.sh 结尾的,使用管道xgras 
传给sed,然后使用’s#要被沟通的始末#轮换的剧情#g’ 对 文件进行改变。

[[email protected]
oldboy]# find /oldboy/ -type f -name “*.sh”|xargs sed
‘s#oldboy#oldgirl#g’

oldgirl

oldgirl

oldgirl

    [root@shhaioldboy02-LNB ~]# sed -n ’20p’ /root/data/ett.txt

 

1.5.3 方法二

$( ) 先推行括号里面命令,再施行前面包车型客车指令

[[email protected]
oldboy]# sed ‘s#oldboy#oldgirl#g’ $(find /oldboy/ -type f -name
“*.sh”)

oldgirl

oldgirl

oldgirl

一.1 第 八 题 输出 test.txt
文件内容时,不含有 oldboy 字符串的吩咐 文件内容:
[[email protected]
~]# cat /data/test.txt test liyao oldboy 1.1.1 方法一…

    20

4、已知文件test.txt内容为

    [root@shhaioldboy02-LNB ~]# sed -n ‘20,30p’
/root/data/ett.txt
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30

test

  第二种方式:利用awk命令

liyao

    [root@shhaioldboy02-LNB ~]# awk ‘NR==20’ /root/data/ett.txt

oldboy

    20

请给出打字与印刷test.txt内容的时候不包涵oldboy字符串的一声令下

    [root@shhaioldboy02-LNB ~]# awk ‘NR==20,NR==30’
/root/data/ett.txt
    20
    21

[root@oldboy xx]# find /xx -type f ! -name “file10″|xargs rm -f 

    22
    23
    24
    25
    26
    27
    28
    29
    30

[root@oldboy xx]# ls

    [root@shhaioldboy02-LNB ~]#

file10

其二种方法:利用grep命令

 

    [root@shhaioldboy02-LNB ~]# grep “20” /root/data/ett.txt

[root@oldboy xx]# find /xx -type f ! -name “file10” -exec rm -f {} \;     

    20

[root@oldboy xx]# ls

    [root@shhaioldboy02-LNB ~]# grep -A10 “20” /root/data/ett.txt

file10

    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30

[root@pyrene ~]# grep -v oldboy test.txt

    [root@shhaioldboy02-LNB ~]# grep “30” /root/data/ett.txt

test

    30

liyao

    [root@shhaioldboy02-LNB ~]# grep -B10 “30” /root/data/ett.txt

 

    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30

         方法二、

    [root@shhaioldboy02-LNB ~]# grep “25” /root/data/ett.txt

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

    25

test

    [root@shhaioldboy02-LNB ~]# grep -C5 “25” /root/data/ett.txt

liyao

    20
    21
    22
    23
    24

⑤、接二连三创造目录 oldboy/data 那多少个目录

    2    5
    26
    27
    28
    29
    30
  第各个反法 head
-n 30 ett.txt|tail -ll 达成打印
  第四种 :VI编辑器
行号设置:set nu 撤废行号设置nonu
  寻找文件同时替换:
    sed
’s#对象文件#轮换内容#g‘ -i 谨慎接纳!!!!
    instead
—-代替!–lalala—!
    find
./text/del.sh -type f name “*.sh”

         [root@pyrene ~]# mkdir /oldboy/data/a/bc

    [root@shhaioldboy02-LNB oldboy]# sed ‘s#oldboy#oldgirl#g’
/oldboy/test/del.sh

mkdir: 无法成立目录”/oldboy/data/a/bc”: 未有充足文件或目录

    oldgirl

[root@pyrene ~]# mkdir -p /oldboy/data/a/bc

    [root@shhaioldboy02-LNB oldboy]# cat
/oldboy/test/del.sh

[root@pyrene ~]# tree /oldboy/

    oldboy

/oldboy/

    [root@shhaioldboy02-LNB oldboy]# sed -i
‘s#oldboy#oldgirl#g’ /oldboy/test/del.sh

└── data

    [root@shhaioldboy02-LNB oldboy]# cat
/oldboy/test/del.sh

    └── a

    oldgirl
    

        └── bc

补充:利用sed命令修改文件时,规范应用办法
  0一.
在修改前,先进模范拟施行测试替换效率(不要向来抬高-i参数)
  0二.
在改造前,举行理文件件备份
  sed -i.bak
‘s#oldgirl#oldboy#g’ /oldboy/test/del.sh

陆、已知/tmp目录下1度存在test.txt文件,怎么着施行命令技巧把/mnt/test.txt拷贝到/tmp下覆盖掉/tmp/test.txt。并且不提示自动覆盖

表明:-i参数后不用在接上任何其余参数消息,其余参数要写在-i参数从前

[root@pyrene ~]# touch  /tmp/test.txt

综合:

[root@pyrene ~]# touch /mnt/test.txt

先是种反法 find
./text/del.sh -type f name “*.sh” |xargs sed
‘s#oldboy#oldgirl#g’
  find
./text/del.sh -type f name “*.sh” |xargs cat
第1种办法sed -i.bak
‘s#oldbaoy#oldgil#g’ $(find /oldbaoy/ -type f -name “*.sh”)
第二种艺术find
/oldbaoy/ -type f -name “*.sh” -exec sed -i “s#oldboy#oldgirl#g” {}
\;
  -exec
将find命令找寻的音讯给末端的吩咐实践
  find ./ type f
-name “*.log” -exec rm -f {} \;

[root@pyrene ~]# cp /mnt/test.txt /tmp/

cp:是还是不是覆盖”/tmp/test.txt”?

 [root@pyrene ~]# \cp /mnt/test.txt  /tmp/    反斜线屏蔽别称功能

[root@pyrene ~]# /bin/cp /mnt/test.txt  /tmp/

        

上在linux下输入cp实际上实行的是cp –I 
加上三个\要么写cp的整套径/bin/cp正是让本次的cp命令不使用小名(cp
-i)运行

                   [root@pyrene ~]# alias rm=’echo this command does
not allow to use.’

 [root@pyrene ~]# alias|grep rm

alias rm=’echo this command does not allow to use.’

设置小名的时候要用echo,假设不用echo就不能够安装外号

上边的小名只是内部存款和储蓄器中的,倘使长久生效将要放到上面

/ect/profile 全局生效

~/.bashrc   当前用户生效

柒、查看ett.txt文件(拾0行)内第二0到30行的始末

 

[root@pyrene ~]# seq 100 >> ett.txt   首先把内容填充到里面

方法一

[root@pyrene ~]# head -30 ett.txt |tail -11

20

21

22

23

24

25

26

27

28

29

30

方法二

[root@pyrene ~]# sed -n ‘20,30’p ett.txt   //这么些是最有功效的

20

21

22

23

24

25

26

27

28

29

30

                   上边包车型地铁sed –n 代表撤销私下认可输出,p为print,打字与印刷

                   方法三:

                   [root@pyrene ~]# awk ‘NR>19&&NR<31’ ett.txt

20

21

22

23

24

25

26

27

28

29

30

                   方法四

                   [root@pyrene ~]# grep 20 -A 10 ett.txt

20

21

22

23

24

25

26

27

28

29

30

                   方法五

                   [root@pyrene ~]# grep 25 -C 5 ett.txt

20

21

22

23

24

25

26

27

28

29

30

                   方法六

                   [root@pyrene ~]# grep 30 -B 10 ett.txt

20

21

22

23

24

25

26

27

28

29

30

八、把/oldboy目录及其子目录下全部以扩展名.sh结尾的公文中包括oldboy的字符串全体轮换为oldgirl

[root@pyrene oldboy]# echo ‘oldboy’>test/del.sh

[root@pyrene oldboy]# echo ‘oldboy’>test.sh

[root@pyrene oldboy]# echo ‘oldboy’>.sh

[root@pyrene oldboy]# tree

.

├── test

│?? └── del.sh

└── test.sh

 

1 directory, 2 files

         上面是仿照出来这么些文件

[root@pyrene oldboy]# find /oldboy/ -type f -name “*.sh”  
//首先把sh结尾的文书查找寻来

/oldboy/test/del.sh

/oldboy/test.sh

/oldboy/.sh

[root@pyrene oldboy]# find /oldboy/ -type f -name “*.sh”|xargs  
//再把这一个文件产生数据流

/oldboy/test/del.sh /oldboy/test.sh /oldboy/.sh

[root@pyrene oldboy]# find /oldboy/ -type f -name “*.sh”|xargs cat 
//然后翻看

oldboy

oldboy

oldboy

oldboy

[root@pyrene oldboy]# find /oldboy/ -type f -name “*.sh”|xargs sed
‘s#oldboy#oldgirl#g’  //先在内部存款和储蓄器中替换看看是否成功

oldgirl

oldgirl

oldgirl

[root@pyrene oldboy]# find /oldboy/ -type f -name “*.sh”|xargs sed
-i ‘s#oldboy#oldgirl#g’

[root@pyrene oldboy]# find /oldboy/ -type f -name “*.sh”|xargs cat  
//查看

oldgirl

oldgirl

oldgirl

方法二

下边包车型客车点子首先是进行查找

[root@pyrene oldboy]# sed -i ‘s#oldgirl#oldboy#g’ `find /oldboy/
-type f -name “*.sh”`

[root@pyrene oldboy]# find /oldboy/ -type f -name “*.sh” |xargs cat

oldboy

oldboy

oldboy

分区

硬盘使用前,1般要分区,格式化(创制文件系统)

分区:

一块硬盘:

主分区、扩张分区、逻辑分区

主分区+扩大分区的数额<=四,个中四个主分区可以用三个扩展分区替代,扩展分区最多只好有1个

强大分区无法直接接纳,还须求在下面创设逻辑分区,逻辑分区可有两个

主分区+增加分分区  编号只好一-四 ,逻辑分区的号子只好从五伊始

上边是3套服务器分区方案

壹、常规分区:数据不是特意重大的事体(集群的某部节点)

/boot 指导分区 200m主分区

swap  沟通分区  内存的一.伍倍,内部存款和储蓄器大于捌G就给捌-1陆G

/     linux全数目录确定地点,剩余全体空中

 

贰、数据首要(数据库、存款和储蓄服务器)

/boot 引导分区 200m主分区

swap  沟通分区  内部存款和储蓄器的1.5倍,内部存款和储蓄器大于八G就给八-16G

/     linux全部目录定点 ⑩0-200G

/data  全部,存放数据 方便备份

 

3、特大网站,门户(产品线特别多 须求)

大概三个导航便是一组服务器,支付就是1组服务器,等等

/boot 指导分区 200m主分区

swap  沟通分区  内部存款和储蓄器的一.5倍,内部存款和储蓄器大于捌G就给8-1六G

/     linux全部目录定点 100-200G

/data  全部,存放数据 方便备份

剩余空间不分红,哪个单位官员了服务器,依据供给再拓展分区

 

挂载点:mount pint。是linux下访问磁盘分区的进口

发表评论

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

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