linux
重定向及部分命令

 

第伍节:Linux命令基础

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


shutdown -h now 关机

一,重定向批注:

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. 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的常用参数。

第二章 认识操作环境

澳门金沙国际 1

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

service iptables stop 关闭防火墙

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

2、在/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/。

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

澳门金沙国际 2

提示:

  1. 诚如情状下命令中的[]意味着可选,既命令的参数及文件是可选的。
  2. 参数选项===>贰个限令的例外的作用(不相同的尺码)。

澳门金沙国际 3

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

澳门金沙国际 4

3、为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
命令、路线补全。

澳门金沙国际 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是1个打字与印刷输出内容的1个常用命令,合作”>或>>”可以为文件覆盖及扩张内容。”>”意思为重定向,会解决文件里装有原先数据,”>>”为剧情充实,只在文书后面部分增添必要的始末,还有一个较复杂不常用的近乎命令printf。

特殊字符命令:

>重定向,会去掉文件里具备原先的多少,扩张

>>追加重定向,

措施三:写脚本常用,追增加行,内容都位居文件的尾部。

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

  2. EOF

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

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

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

  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是2个打字与印刷输出内容的多少个常用命令,合作”>”或”>>”可以为文件覆盖或扩充内容。echo
$PATH打字与印刷出PATH的值。

重定向:意思是将”数据传到其余地方”。将某些命令实施后本应当现身在显示屏的数码,传输到别的地点,推行命令时,那个命令可能会经过文件读入数据,经过处理未来,再将数据输出到显示屏。

>或壹>
输出重定向:把前边输出的事物输入到背后的文件中,会去除文件原有内容。

>>或1>>
追加重定向:把前面输出的指标追加到背后的文本中,不会去除文件原有内容。

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

<<或<<0
追加输入重定向:
后跟字符串,用来代表”输入完毕”,也得以ctrl+d来收尾输入。

贰>
错误重定向:把错误新闻输入到前边的公文中,会去除文件原有内容。

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

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

专业符合规律输出(stdout):代码为1,使用>或>>,数据流向从左向右。

标准错误输出(stderr):代码为二,使用2>或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

壹.二 Linux目录结构

澳门金沙国际 6

dhcp自动分配IP地址

澳门金沙国际 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.捌.8.八       IP和域名相互解析的工具

 

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

命令:

  1. mv /data /root/

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

总结:

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

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

    -f:强制实施,不会掌握

    -u:若目标文本存在,则比源文件新才会移动。

提示:假诺源文件是四个,那么目标文件在最终,且是目录。

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

mv f1f二:假若f贰不存在,则相当于f一重命名称叫f贰;如若f二存在,则f一重命名称为f二,并掩盖f2。

mv f1
/d1:假若/d1不设有,则把f一运动到/下,玉石俱焚命名叫d1;假若/d壹留存,则把f一平移到/d壹下。

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

mv /d二f一:若是f一不设有,则把/d二移动到当前目录,一碗水端平命名字为f一;借使f一设有,会提醒f壹是个文件,不能用目录覆盖。

二.一 创造三个索引/data

windows下面

新建===>文件夹

Linux下面

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

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

  • 【澳门金沙国际】命令之重定向,Linux命令基础。翻看目录===>列表===>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

剔除1个文书壹般用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. #剔除一5天在此之前的公文

  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目录中搜索改换时间在二十二日以前的文件并剔除它们
  1. find /logs -type f -mtime “*.log” -mtime +5 -exec rm {} \;

find命令的原理:

澳门金沙国际 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面试题:删除二个目录下具备文件,但保留3个钦命文件。

   

   

2.2相对路径与相对路线

相对路线:从根开首的渠道

C:\Program Files (x86)\Microsoft Office

从根开端的路径正是相对路线

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

相对路线:不从“/”根开始,而是把当下所在门路当作根,目的文件或目录距离当前路径的“距离”。
示例:
澳门金沙国际 9
小结

多练
多给别人疏解
讨论相对路线与相对路线

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

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

    xargs
将音讯进行分组命令

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

二.3 在/data 上面创造文件 chensiqi.txt

始建单个文件
澳门金沙国际 10
开创三个文本
澳门金沙国际 11

小结:

touch 触摸 创立文件或修改文件时间戳(文件的属性)

         按i编辑修改

    ps:多文本实施时不易输出带八个文本,错误的输出到另二个文件
ifconfig >/data/right.txt 2>/data/error.txt

八、限定输出

已知文件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

二.四 为chensiqi.txt 增添内容“I am studying linux”

vi===>直接写入(关于vi和vim使用办法请自行查询vim tutor)
echo举办充实
澳门金沙国际 12
注意:
一,大家日常在直接操作文件前要备份文件
贰,操作前先看一眼cat 一下

特殊符号:
“>” 重定向,清除原来的书文件里面装有内容,然后把内容充实到文件的末段
“>>” 追加重定向,追加内容,到文件的尾巴部分
“一>”
输出重定向:把前边输出的东西输入到末端的公文中,会消除文件原有内容。
“一>>”
追加输出重定向:把前面输出的东西输入到后边的文本中,不会消除文件原有内容,只是增添到终极壹行。
澳门金沙国际 13
<或0< 输入重定向:后跟字符串(不常用)
<<或0<< 追加输入重定向:后跟字符串(不常用) 二>
错误重定向:把错误音信输入到前边的文本中,会删除文件原有内容
2>>
错误追加重定向:把前边错误消息追加到末端的文件中,不会去掉文件原有内容
澳门金沙国际 14

重定向小节:
重定向:更改命令实施时,数据传输的样子
箭头方向正是数码方向===>水流方向
澳门金沙国际 15

         onboot=yes

      错误文件和不易文件都放到二个文件即日志文件ifconfig
>/data/log.txt 二>/data/log.txt

九、用一条命令完结制造目录/oldboy/test,即创建/oldboy目录和/oldboy/test目录

命令:

  1. mkdir -p /oldboy/test

实行进度:

  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安装的最大难点是心有余而力不足缓解依赖难点。

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

windows复制粘贴

ctrl+c
ctrl+v

Linux下:
复制====>copy===>cp
澳门金沙国际 16
小结:

cp 复制文件或目录(暗中同意无法拷贝目录)
-r:递归,复制目录,目录及其继任者
-p:复制文件同时保持文件属性不改变,
-a ===-pdr

  保存:wq

    第二种格局:简便性: ifconfig >>/data/log.txt
二>$1

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选项会提醒,而1般Linux的用户环境文件~/.bashrc中会把cp命名成alias
cp=’cp
-i’。那样在Linux下输入cp命令实际上运维的是cp
–i,加上1个”\”符号只怕写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、通过给危急命令加一别保护参数,幸免人为误操作。

二、把过多繁杂的字符串或指令变成3个归纳的字符串或指令。

2.六 把/data 移动到 /root 目录上面

移动(搬家)====>move====>mv
澳门金沙国际 17

cd /
mv /data /root
小结
/data ===> /data 及/data上边的继任者
/data/===> /data下边包车型大巴后者
注意:那里目录的活动,若是想单独移动目录上边文件而不挪窝目录使用mv
/data/* /root 即可

张开网卡:ifup eth0开启第二个网卡

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

1壹、只查看ett.txt文件(十0行)内第20到第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
3 。

    -f:跟踪2个文本的尾巴实时变化(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 (在第四行相配方式The,若相称,则打字与印刷)

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

sed –n ‘一,$’p
oldboy.txt
(打字与印刷整个文件,只需将试行范围设为第2行到最后一行一,$,$意义最终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:1门语言,过滤内容(取列)

    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]
[文件名]:后边平昔跟文件名,展现文件前十行。-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:除了出示相配的1行之外,并呈现该行之后的num行。

-B:除了出示相配的壹行之外,并体现该行在此之前的num行。

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

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

删除===> remove ====>rm
澳门金沙国际 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命令提升删除的准确度
澳门金沙国际 19
find data -type f -name “chensiqi.txt”
-type:查找的靶子的品类
f : 文件类型
-name + 文件名:文件的名字
率先步:先寻找文件
其次步:再删除文件

find小结

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

管道
管道命令:xargs
事先的去除文件操作还足以如此处理:
澳门金沙国际 20

  • 壹旦前一条命令无法知足你的急需,那么供给续接一条命令来进行再处理,那么就要求管道符+管道命令(|
    xargs)来续接命令。
  • 也正是说,将管道符 | 左边的下令所实施的结果所为管道符 |
    左侧的命令的推行范围

              /etc/init.d/network restart

    集团案例:

12、分析图片服务日志,把日记(每一个图片访问次数*图片大小的总量)排行,取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下删除2个目录下的富有文件,但保留三个点名文件
主意1:find(最根本必须会)
澳门金沙国际 21

!:取反,相当于说删除目录下文件类型为f的保有文件可是排除-name为 file玖的文书

艺术二:grep过滤内容
澳门金沙国际 22

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

办法三:命令嵌套命令
此方式只适用于删除当前目录下的情节
澳门金沙国际 23

··符号(tab键下边包车型客车~符号不按shift输入就是)它的意趣是取符号内的指令的实施结果。本办法的意味便是rm删除掉··符号内的授命的实行结果的内容

              service network restart

      清空八个文书
1.> 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目录

澳门金沙国际 24

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

特殊符号

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

 

      >>>>>>>>>>>>>>>>>>>>>>>>>>>哈
 不打听的私聊作者啊
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

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

方法一:grep过滤
澳门金沙国际 25

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

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

主意二:通过head和tail拼接字符串
head:从头初叶查看文件内容,暗中同意查看十行
tail:从最终初步翻看文件,暗许查看拾行
-n: n等于行数

澳门金沙国际 26

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

方法三:awk 解决
澳门金沙国际 27

!:取反

方法四:sed 解决
澳门金沙国际 28

叩问就好,现在再细说
/内容/d (删除)
找到内容后,将内容剔除后再出口

xshell连不上linux:

二 ,cp 指标文件
目的地方

二.11 请用一条命令实现创制目录/chensiqi/test,即创造/chensiqi 目录及/chensiqi/test

澳门金沙国际 29

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

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

二.12 已知/chensiqi 目录下已经存在test.txt 文件,怎么样实施命令才能把/mnt/test.txt 拷贝到/tmp 下覆盖掉/chensiqi/test.txt.而让系统不晋升是不是覆盖(root权限)

澳门金沙国际 30

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

知识扩充

还记得我们的crond定期职务吗,当用定期任务触发脚本的时候,1般都务求脚本里的命令是相对路线的书写格局(还不明了定期职责的,此处略过)

                      chkconfig iptables off 开机暗中同意关闭防火墙

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

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

办法1:head和tail通过管道符解决
澳门金沙国际 31

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

方法二:sed解决
澳门金沙国际 32

sed ‘’ 指标文件名:默许输出,全部内容
sed -n “行数p” 文件名:读取指标文件的行数内容
sed -n “行数,行数p” 文件名:读取指标文件的行数范围的内容

方法三:awk解决
澳门金沙国际 33

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

知识扩张
grep命令在此地不或然缓解该难题,grep命令主假设用来过滤内容的。而不能按行恐怕按列数来寻觅。

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

2.ping+linux _IP-t检验虚拟机和windows是或不是通     测试物理通不通
 -t接二连三测

    全体命令编辑先利用cp备份 !!!!!!!!!!!!!!
三, mv 指标文件
指标为地方
四, remove 移除

二.1肆 把/chensiqi目录及子目录下全部以扩展名.sh 结尾的文件,文件中包涵 chensiqi的字符串全体替换为welcome

澳门金沙国际 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 过滤的是文件的剧情,它过滤的是字符串,因而它自然就认识
管道符“|”
澳门金沙国际 35

sed -i “s///g”
文件名:他背后需求接的是文件的名字,因而她不能够一直认识字符串
澳门金沙国际 36
就此就要求通过xargs那几个管道符命令来将字符串调换来文件名
澳门金沙国际 37
综上,这正是“|”和“|xargs”的区分,请仔细领悟,很重点

cd 切换路线  cd/切换成根目录  初步有斜线绝对路线,未有斜线相对路线

  管道后边的出口结果提交后边的命令
  “ 反引号 ==$()
ps: 在二个发令中试行命令,在实施三个限令
  -type -f
查找文件类型 f 表示文件 d代表目录
  -name 数据名称 —
查找的文书的数额名称
六, which
查看文件的相对路线的新闻
澳门金沙国际 38

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

 

pwd翻开当前路径

澳门金沙国际 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的放置命令)

澳门金沙国际 40

删去命令:rm;

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

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

强制删除,直接删除,无提醒-f:rm -f oldboy.txt;rm -r删除目录:rm  -fr
 data强制删除data目录

传延宗族场景一般尽量不要使用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行,不接参数暗许前十行,例如取前3行-3

   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递归创立目录

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                         

 

相关文章