第1章 基础题1

1.1 在装系统创建Linux分区时,一般至少需要创建两个分区( )

A.FAT、NTFS   B. /usr、swap    C. /boot、swap  D.swap、/


1.2 将当前目录下文件test.txt改名为oldboy.txt

mv test.txt oldboy.txt
rename test oldboy test.txt


1.3 用你所知的方法在test.txt文件中写入内容:“Tomorrow is another day.”

echo "Tomorrow is another day." >test.txt

cat >test.txt<test.txt 
Tomorrow is another day.#需要手动输入这一行,再回车,再按ctrl+d结束操作

1.4 Linux 属于哪种类型的操作系统?( )

A、多用户  B、多任务  C、多线程   D、以上都是   E、以上都不是


1.5 Linux 操作系统的核心是什么?( )

A、Shell   B、Kernel  C、Scripts  D、Terminal


1.6 挑出来一个与众不同的来( )

A、HP-UX   B、AIX     C、Solaris  D、SUSE      E、Mac OS


1.7 如何更改Linux主机名?

#临时生效
hostname note1
#永久生效
# vim /etc/sysconfig/network
HOSTNAME=note1
#修改这一行


1.8 如何用yum安装一个软件包?例如这个软件是lrzsz。

#利用yum安装,安装后记得检查
yum install -y lrzsz
rpm -qa lrzsz


1.9 说出你所知的Linux基础优化项(不低于10个)

1.关iptables
2.关selinux
3.设置开机运行级别为3
4.精简开机自启动服务(network、ssh、crond、rsyslog、sysstat)
5.增大文件描述符ulimit
6.做定时任务时间同步
7.禁止ping
8.优化内核参数
9.优化sshd服务(改端口,禁止空密码、root远程登录,不做DNS解析等)
10.bash安全(超时时间,历史记录等)
11.给grub菜单加密码
12.清除多余的系统虚拟帐号
13.sudo授权(普通用户能远程管理服务器)
14.中文字符集
15.定时清理邮件服务临时目录垃圾文件
16.锁定关键系统文件,防止提权篡改
17.隐藏linux版本信息的显示
18.升级具有典型漏洞的软件版本


1.10 简述buffer与cache的区别?

写数据到内存里,这个数据的内存空间称为缓冲区(buffer)

从内存读取数据,这个数据的内存空间称为缓存区(cache)


1.11 用你所知的方法输出test.txt文件中第4行到第14行内容。

sed -n '4,15p' test.txt
awk 'NR>3&&NR<16' test.txt
head -14 test.txt |tail -11


1.12 已知/tmp 下已经存在test.txt 文件,如何执行命令才能把/mnt/test.txt 拷贝到/tmp 下覆盖掉/tmp/test.txt,而让系统不提示是否覆盖(root 权限下)。

touch /tmp/test.txt
touch /mnt/test.txt
\cp /mnt/test.txt /tmp/#1、在cp命令前加上反斜杠
/bin/cp /mnt/test.txt /tmp/#2、写cp命令的全路径

#出现这个提示的原因是cp命令已设置了别名
[root@lb01 ~]# alias cp#忽略别名的方法是在命令前加反斜杠,或者写命令的全路径
alias cp='cp -i'


1.13 描述 linux 运行级别 0-6 的各自含义

[root@lb01 ~]# tail /etc/inittab 
# Default runlevel. The runlevels used are:
#   0 - halt (Do NOT set initdefault to this)#关机
#   1 - Single user mode#单用户模式,可以更改root的密码
#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
#   3 - Full multiuser mode#完整的多用户模式
#   4 - unused#未使用
#   5 - X11#桌面
#   6 - reboot (Do NOT set initdefault to this)#重启
# 
id:3:initdefault:#系统的默认运行级别为3


1.14 用sed修改selinux文件关掉,并通过其它命令临时关掉

sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config#永久生效
setenforce 0#临时生效
getenforce#查看selinux的状态


1.15 调整文件描述符为65535永久生效

# ulimit [after user logoff and use cmd: ulimit -n to checkout]
/bin/echo '*         -     nofile        65535' >>/etc/security/limits.conf
*用来做所有用户的限制
用 - 就表明同时设置了 soft 和 hard 的值
nofile - 打开文件的最大数目
 65535


1.16 只把rsyslog,crond,network,sshd,sysstat服务开启,其他的都关掉

chkconfig |grep -vE "sshd|network|crond|rsyslog|sysstat"|awk '{print "chkcon-fig",$1,"off"}'|bash


1.17  32 位和 64 位系统的区别及如何选择?

1、区别

64位系统的优点:
CPU运算速度更快
支持更大的内存,32位系统最大支持的内存小于4G
64位系统可以更大更好的发挥硬件的性能
32位系统与之相反。

2、如何查看

# uname -m#查看系统的版本
x86_64#64位系统
i386/i686#32位系统


3、如何选择。首选64位,原因:

服务器内存需要很大
服务器高性能非常重要,不发挥硬件性能,则浪费钱
现在的主流是虚拟化,32位无法支持虚拟化


1.18 请说出你上家公司用的什么服务器品牌、类型、操作系统


1.19 请说出下列通配符的含义

*所有字符

单个字符

# 注释

|管道符

~当前用户的家目录

-上一次所在的目录

$反而加变量名,如echo $LANG

/根,目录的分隔符

{}里面可以接不同的命令区块或者内容序列,如echo {1..10}

非,取反

&&与,命令执行成功后,才执行下一条命令

||或,命令执行失败后,才执行下一条命令

..上一级目录

.当前目录,也可以使文件生效,等价于source

1>标准输出重定向

>>标准输出追加重定向

<0标准输入重定向

<<标准输入追加重定向

''单引号,所见即所得

""双引号,具有变量置换功能,和不加引号具有相同功效

``尖角号,里面写命令,可以执行里面的命令

# echo `hostname`
note1
# echo $(hostname)
note1


1.20 怎么把重要文件加锁并查看是否已经锁定?比

如/etc/passwd、/etc/shadow/、/etc/group、/etc/gshadow
# chattr +i /etc/{passwd,shadow,group,gshadow}
# lsattr /etc/{passwd,shadow,group,gshadow}
----i--------e- /etc/passwd
----i--------e- /etc/shadow
----i--------e- /etc/group
----i--------e- /etc/gshadow

#chattr常用参数
-i immutable(不可变的)#给文件加锁
-a append only#只能向文件追加数据