快捷搜索:
来自 67677新澳门手机版 2019-06-23 02:39 的文章
当前位置: 67677新澳门手机版 > 67677新澳门手机版 > 正文

linux基础练习题

第1章 阶段总计

 

1.1 一、请详细描述linux系统从展开主机电源到跻身登入分界面整个经过的流程。

BIOS开机自检

mbr引导

grub菜单

加载内核

init进程

/etc/inittab

/etc/rc.d/rc.sysinit

/etc/re.d/rc

启动mingetty进程

登录界面

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,即创造三个权力为777的目录。

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

1.2 二、作者想在/data/oldboyedu目录上面创设 二个oldboy.txt文件

[root@oldboyedu ~]# cd /data/oldboyedu

-bash: cd: /data/oldboyedu: No such file or directory

1.为啥现身这么的不当

这个目录不存在

2.怎么着消除那么些荒唐啊?

创建目录

给出命令:mkdir -p /data/oldboyedu

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:PIColdboy。

linux的目录分隔/data/。

1.3 三、接上题,向oldboy.txt参预内容 "I love studying Linux." (十分的多于2种办法)

方法1

vi或vim修改

方法2

echo ' I love studying Linux.' >/data/oldboyedu/oldboy.txt

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

67677新澳门手机版 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是叁个打字与印刷输出内容的多少个常用命令,同盟">或>>"可感觉文件覆盖及扩大内容。">"意思为重定向,会去掉文件里具有原先数据,">>"为剧情充实,只在文件尾巴部分扩展要求的内容,还应该有贰个较复杂一时用的类似命令printf。

特殊字符命令:

>重定向,会去掉文件里全数原先的数码,扩充

>>追加重定向,

办法三:写脚本常用,追扩大行,内容都坐落文件的尾部。

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

  2. EOF

  3. #小心:结尾的EOF要顶格写,EOF也能够用其他字符替代,只假若一对就好。

艺术二、方法三为命令行或脚本中常使用的艺术,都很要紧。

主意二用于单行文本,方法三得以是多行文件,文本中假诺有特殊字符,如$等必要用转义才行。

  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的值。

重定向:意思是将"数据传到别的地点"。将有个别命令实践后本应当现身在荧屏的数据,传输到其他地点,实践命令时,那一个命令恐怕会经过文件读入数据,经过管理将来,再将数据输出到显示器。

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

>>或1>> 追加重定向:把前边输出的靶子追加到末端的文本中,不会删除文件原有内容。

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

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

2> 错误重定向:把错误信息输入到末端的文件中,会删除文件原有内容。

2>> 错误追加重定向:把错误消息追加到前边的文书中,不会去除文件原有内容。

专门的职业输入(stdin):代码为0,使用<或<<,数据流向从右向左。

标准平常输出(stdout):代码为1,使用>或>>,数据流向从左向右。

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

箭头的趋向正是数据流的趋向。

古怪写法:

  1. echo oldboy 2>a.txt 1>b.txt
  1. #2>&1 正是把正规化错误重定向到正式输出

  2. echo oldboy &>log.txt

  3. #也足以用>&

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

 1.3.1 说说这么些特殊符号含义:   >  >>  2> 2>>   #(井号)  .(点)  ..(两个点)  ~  *  $  |

   转义字符 撬棍 脱掉马甲打回原形(或类似含义)

>   重定向符号 先清空文件内容,然后追加内容(或类似含义)

>>  追加重定向 追加到文件结尾(或类似含义)

2>  错误输出重定向

2>> 错误输出追加重定向

#   井号 注释或root用户命令提示符或sed分隔符(sed 's###g')

.   当前目录 或 正则任何一个字符 或 用于生效

.   /etc/profile === source /etc/profile #这个可以不讲解

..  当前目录的上级目录

~   当前用户家目录或awk中表示匹配(awk '$1~/oldboy/' xxx)#这个可以不讲解

*   所有字符或任意字符或正则表达式表示前一个字符连续出现0次或0次以上

$   取变量内容 或 正则以...结尾

|   管道 或 正则表示或者

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

1.4 test.txt内容为:

trainning

fanbingbing

lidao     

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

命令:

  1. mv /data /root/

  2. 提示:假使指望带目录拷贝,尽量不要mv /data/ /root/,移动目录时,源目录结尾不要多余斜线。

总结:

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

    -i:借使指标文件已存在,询问是否覆盖

    -f:强制实践,不会通晓

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

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

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

mv f1 f2:假使f2不设有,则一定于f1重命名叫f2;借使f2留存,则f1重命名称叫f2,并覆盖f2 。

mv f1 /d1:如果/d1不设有,则把f1平移到/下,同样保养命名叫d1;借使/d1留存,则把f1运动到/d1下。

mv /d1 /d2:假如/d2不设有,则把/d1重命名称叫/d2;如若/d2存在,则把/d1活动到/d2下。

mv /d2 f1:即使f1不存在,则把/d2移动到当前目录,玉石俱焚命名称叫f1;借使f1留存,会唤醒f1是个文本,无法用目录覆盖。

1.4.1 四、请给出输出test.txt文件内容时,不包涵trainning字符串的通令。

方法1

grep -v 'trainning' test.txt #不加引号也行

方法2

tail -2 test.txt

方法3

sed '/trainning/d' test.txt

方法4

awk '!/trainning/' test.txt

方法5

grep '^[^t]' test.txt 

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 {} ;

在剧本中除去文件或目录时生产意况的应用方法一般为:

1、和xargs搭配用法

  1. #除去15天从前的文本

  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目录中找找改动时间在5日在此从前的公文并剔除它们
  1. find /logs -type f -mtime "*.log" -mtime 5 -exec rm {} ;

find命令的规律:

67677新澳门手机版 2

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

.. :上级目录

. :当前目录

. :代表.号

| :管道(把前叁个下令结果的输出交给后贰个主次开始展览一而再管理)

-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面试题:删除贰个目录下具备文件,但保留三个钦赐文件。

   

   

1.5 五、入职新集团,老大令你在服务器上限定rm命令,当用户输入rm 命令时候唤醒”rm command is not allowed to use.” 请问完结的步骤是?。

1)命令行测试

alias rm='echo command is not allowd to use'

2)永久生效

写入/etc/profile

3)生效

source /etc/profile

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。

1.6 六、收取文件ett.txt 的第30到40行的故事情节。

注:ett.txt由seq 20 120>ett.txt创建

方法1

sed -n '30,40p' ett.txt

方法2

awk 'NR==30,NR==40' ett.txt

方法3

head -40 ett.txt|tail -11

方法4

awk 'NR>=30&&NR<=40' ett.txt

8、限定输出

已知文件test.txt内容为:

test

liyao

oldboy

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

方法一:

head:尾部,取文件的前N行,默许前10行,抽取前三行-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

1.7 七、

因而退换文件( /etc/fstab或fstab ),能够设定开机时自动挂载文件系统。

9、用一条命令实现创造目录/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安装的最大主题材料是无能为力化解正视难点。

1.8 八、

在linux系统中,当LAN(局域网)内并未有条件记案例DNS服务器,但又想让局域网内的用户能够应用Computer名互动访问时,应安顿( /etc/hosts)文件(请写全路径)

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。

小名的功能:

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

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

1.9 九、

linux系统运行加载成功后,内核将运营名称为(init)的次序,那也是指点进程完结后,内核运维的率先个程序。大家得以修改暗中认可的开发银行品级为( 3),使得系统重启后自动采取命令行情势登入。

11、只查看ett.txt文件(100行)内第20到第30行的原委。

命令:

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行,暗中认可最终10行,取最后三行-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通过点名某一地方来支配对如何行来进行拍卖,即便未有一些名地点,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 (打字与印刷最终一行)

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 '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 -2 (呈现行数或最大行号)

方法三:

  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}' 文件 $1第一列,$2次之列,…,$(NF-1)(尾数第二列),$NF(最终一列)

案例: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] [文件名]:前边一向跟文件名,展现文件后10行。-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行。

1.10 十、说出上边多少个文本的效力

/var/log/messages            系统默认日志(系统日志也行)

/var/log/secure              系统安全日志或用户的登录情况

/etc/hosts                   ip地址与主机名(域名)对应关系  或 用于解析主机名

/etc/fstab                   开机自动挂载

/var/spool/cron/root         定时任务配置文件

/etc/rc.local                开机自启动配置

12、分析图片服务日志,把日记(每种图片访问次数*图片大小的总额)排行,取top10,也等于精打细算每一种url的总访问大小。

表明:那一个效率能够用来IDC网址流量带宽非常高,然后通过剖析服务器日志哪些因素占用流量过大,进而拓展优化或裁剪该图形,压缩js等措施。

1.11 十一、总结/var/log下文件个数

ls /var/log|wc -l


find /var/log|wc -l

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

1.12 十二、描述buffer和cache的区别

写buffer读cache

1.13 十三、

哪些把/data目录下有所包括oldboy的目录(或然目录的目录的目录里还可能有oldboy目录) 目录都卷入出来。须要:解压打包后的目录结构不能够退换 。

方法1

find /data -type d -name "oldboy" |xargs tar zcf  /tmp/oldboy.tar.gz

方法2

find /data -type d -name "oldboy" -exec tar zcf  /tmp/oldboy.tar.gz {} ;

方法3

tar zcf  /tmp/oldboy.tar.gz  `find /data -type d -name "oldboy"`

tar zcf  /tmp/oldboy.tar.gz  $(find /data -type d -name "oldboy")

1.14 十四、请列出linux上面常用的卷入工具并写出相应的收缩解压参数。

tar zcf                      创建压缩包 或zcvf

xf                           解压  或 zxvf

tf                           查看  或 ztf

-C                           解压到指定目录

--exclude                    排除

--exclude-from或-X           根据文件内容排除文件

zip -r                       压缩目录

1.15 十五、怎么样查看是或不是开启22端口,及查看sshd进度是还是不是存在?

查阅端口22是否伸开

ss -lntup |grep 22

netstat -lntup|grep 22

telnet ip地址 22

nc  ip地址 22

nmap -p22  ip地址

lsof -i:22

翻开进程是或不是存在

ps -ef |grep sshd

1.16 十六、将/data目录下的改动时间是7天在此之前,并且超过100k的公文复制到/tmp目录下。

方法1

find /data -type f  -mtime  7 -size  100k  -exec cp {} /tmp  ;

方法2

cp ` find /data -type f  -mtime  7 -size  100k ` /tmp

cp $( find /data -type f  -mtime  7 -size  100k ) /tmp

方法3

find /data -type f  -mtime  7 -size  100k |xargs cp -t /tmp

67677新澳门手机版 ,方法4

find /data -type f  -mtime  7 -size  100k |xargs -i cp {} /tmp

1.17 十七、现将文件b.txt中的全数123替换到def,请问如何贯彻?

sed 's#123#def#g' b.txt

1.18 十八、写出redhat中,配置网卡及dns的安插文件是什么?

网卡: /etc/sysconfig/network-scripts/ifcfg-eth0

DNS:  /etc/resolv.conf  

1.19 十九、什么是linux的运作等第,请描述linux的运作品级差异数字的意思?

Linux的运维品级便是linux运市场价格况

0 关机

1 单用户模式

2 多用户模式没有NFS

3 命令行模式 文本模式 多用户模式

4 没有使用

5 图形化界面模式  桌面模式

6 重启

1.20 二十、简述linux无法上网的排查流程 ;

1.ping baidu.com 检查是否能上网

2.ping 223.5.5.5  检查是还是不是DNS难题

3.ping 网关     检查是否配备或别的标题

 

故障原因:

1.检查安顿文件

2.虚拟网络编辑器

3.vmware服务

4.vmware虚拟网卡难题

1.21 二十一、软连接与硬链接差别

【硬连接】
硬连接指通过索引节点来拓展连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么品种都给它分配三个编号,称为索引节点号(Inode Index)。在Linux中,四个文件名指向同一索引节点是存在的。一般这种连接即是硬连接。硬连接的作用是同意贰个文件具备四个有效路线名,那样用户就足以创造硬连接到首要文件,避防御“误删”的职能。其原因如上所述,因为对相应目录的索引节点有贰个以上的一而再。只删除一个连连并不影响索引节点本人和任何的连日,唯有当最终贰个再三再四被删去后,文件的数据块及目录的连年才会被释放。约等于说,文件真正删除的尺度是与之有关的全体硬连接文件均被去除。

【软连接】
别的一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有周围于Windows的神速方式。它其实是二个标新立异的文件。在符号连接中,文件实际上是三个文书文件,当中涵盖的有另一文本的岗位音讯。

1.22 二十二、删除/etc/inittab中的空行或以#开首的行;

方法1

egrep -v '^$|^#'  /etc/inittab 

方法2

sed -r '/^$|^#/d' /etc/inittab

方法3

awk '!/^$|^#/' /etc/inittab

1.23 二十三、显示/etc/passwd中第1,3,5列

awk -F ":" '{print $1,$3,$5}' /etc/passwd

1.24 二十四、写出您熟知的8个VIM的飞速键

移动光标

        ↑k

←h    →l

    ↓j



把光标移动到文件的第1行

gg

1G

:1



把光标移动到文件的最后一行

G

:$



把光标移动到文件的第100行

100gg

100G

:100



0(数字0)

^

把光标移动到这一行的结尾

$

测试文件

cat /etc/services  /etc/sysconfig/network-scripts/ifcfg-eth0 >>/tmp/vim.log

编辑(移动并编辑)

在当行下面插入一个空行并进入编辑模式

o(小写字母o)



在当行上面插入一个空行并进入编辑模式

O(大写字母O)



删除光标所在位置到行尾的内容并进入编辑模式

C(大写字母C)



删除光标所在位置到行尾的内容

D  d$



快速到达行尾并进入编辑模式

A

复制 删除 粘贴

复制光标所在行

yy



粘贴

p



多次粘贴

3p



删除/剪切

dd



删除当前行到文件结尾的内容

dG



其他

显示行号

:set nu



取消显示行号

:set nonu

查找

/你要找的内容

默认向下搜索

继续向下查找

n



继续向上查找

N



你要找的内容

默认向上搜索

撤销当前操作

u

undo



恢复刚才的操作

ctrl   r



vim查询帮助

:help  G

:help  :wq

:h G

nu===number

 

本文由67677新澳门手机版发布于67677新澳门手机版,转载请注明出处:linux基础练习题

关键词: