linux第一阶段总结

第1章 阶段总结

1.1 一、请详细描述linux系统从打开主机电源到进入登录界面整个过程的流程。

BIOS开机自检

mbr引导

grub菜单

加载内核

init进程

/etc/inittab

/etc/rc.d/rc.sysinit

/etc/re.d/rc

启动mingetty进程

登录界面

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

1.3 三、接上题,向oldboy.txt加入内容 "I love studying Linux." (不少于2种方法)

方法1

vi或vim修改

方法2

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

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

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

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

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

2>  错误输出重定向

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

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

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

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

..  当前目录的上级目录

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

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

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

|   管道 或 正则表示或者

1.4 test.txt内容为:

trainning

fanbingbing

lidao     

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 

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

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

1.7 七、通过修改文件( /etc/fstab或fstab ),可以设定开机时自动挂载文件系统。

1.8 八、在linux系统中,当LAN(局域网)内没有条件记案例DNS服务器,但又想让局域网内的用户可以使用计算机名互相访问时,应配置( /etc/hosts)文件(请写全路径)

1.9 九、linux系统启动加载完成后,内核将启动名为(init)的程序,这也是引导过程完成后,内核运行的第一个程序。我们可以修改默认的启动级别为( 3),使得系统重启后自动采用命令行模式登录。

1.10 十、说出下面几个文件的作用

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

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

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

/etc/fstab                   开机自动挂载

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

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

1.11 十一、统计/var/log下文件个数

ls /var/log|wc -l


find /var/log|wc -l

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

方法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
 

1.25 二十五、创建文件提示no space left on device 但是df -h还有空间这是什么原因?如何排查和解决。

inode满了

找出系统中大于1M的目录,确认后再删除

1.26 二十六、通过df -h发现磁盘空间不足但是du -sh发现没有满,说出原因和排查解决过程。

原因:

文件没有彻底删除导致的(硬链接数为0,进程调用数不为零)

排查:

lsof |grep delete

解决:

重启对应的服务

1.27 二十七、显示当前系统日期为年月日~周几~小时

data +%F_%w_%H_%M_%S

1.28 二十八、当前目录/etc/rc.d目录 cd ../../../tmp 请问当前所在目录是哪里

/tmp

1.29 二十九、查找出系统中大于50k且小于100k的文件,把文件中的oldboy替换为oldgirl。

find -type -size +50k -size -100k |xargssed -i ‘s#oldboy#oldgirl#g‘

1.30 三十、把/etc/hosts 文件备份为hosts.bak

cp /etc/hosts /etc/hosts.bak

1.31 三十一、把/oldboy 改名为/lidao

mv /oldboy lidao

1.32 三十二、显示/etc/services 文件中包含3306或1521的行(三种方法)

1.32.1 方法一:grep -n

grep -n "3306\|1521" /etc/services

1.32.2 方法二:egrep -n

egrep -n "3306\|1521" /etc/services

grep -E "3306|1521" /etc/services

1.33 三十三、如何设置grep别名,让grep默认过滤时永久显示颜色

alias grep=’grep --color’

把这句同时写进/root/.bashrc里面,并且执行一下source /root/.bashrc

1.34 三十四、查找/oldboy 目录下的所有文件结尾为*.txt的文件,并将文件内容输出。

方法1:

cat /oldboy/*.txt

方法2:

find /oldboy -type f -name “*.txt” | xargs cat

方法3:

find /oldboy/ -type f -name "*.txt" -exec cat {} \;

1.35 三十六、描述通配符与正则表达式的区别

基本上解释就是通配符是系统命令使用,一般用来匹配文件名或者什么的用在系统命令中。而正则表达式是操作字符串,以行尾单位来匹配字符串使用的。
还有一点需要注意的是:*在通配符和正则表达式中有其不一样的地方,在通配符中*可以匹配任意的0个或多个字符,而在正则表达式中他是重复之前的一个或者多个字符,不能独立使用的。比如通配符可以用*来匹配任意字符,而正则表达式不行,他只匹配任意长度的前面的字符。

1.36 三十七、使用ifconfig  eth0 命令查看IP地址,请写出取出IP地址的方法,至少使用两种方法

方法1:

ifconfig eth0 | grep “10.0.0” | awk -F “:” ‘{print $2}’ | awk -F “ ” ‘{print $1}’

方法2:

ifconfig eth0 |awk 'NR==2' |awk -F"addr:|Bcast:"  '{print $2}'

1.37 三十八、使用grep过滤不包含oldboy字符串的行

grep -v “oldboy”

1.38 四十、已知/oldboy/test.txt 文件内容为:

 oldboy

 

 xizi

 xiaochao

请问如何把文件中的空格过滤掉(要求命令行实现)。

egrep -v “^$” /oldboy/test.txt

第2章 错误总结

2.1 No such file or directory

没有此文件或目录

2.2 command not found

找不到此命令

2.3 rm: cannot remove `/oldboy/data/': Is a directory

要删除的是个非空目录

2.4 find: Arguments to -type should contain only one letter

查找:-type的参数应该只包含一个字母

2.5 Firewall is not running.

防火墙没启动

2.6 ping: unknown host baidu.com

网不通

未知主机baidu.com

2.7 Package tree-1.5.3-3.el6.x86_64 already installed and latest version

安装了这个软件最新版本的包

2.8 Couldn't resolve host www.oldboyedu.com

DNS不可达

无法解析主机www.oldboyedu.com

2.9 This account is currently not available

该帐户目前不可用

2.10 Sorry, passwords do not match

对不起,密码不匹配

 

猜你喜欢

转载自www.cnblogs.com/zeq912/p/9433472.html