红联Linux门户
Linux帮助

Linux基础练习题、面试题

发布时间:2015-04-17 09:55:23来源:linux网站作者:模范生

整理了一些Linux 基础练习题、面试题,与大家分享,希望对大家有用。


1、如何更改linux主机名?
编辑配置文件 /etc/sysconfig/network  
更改HOSTSNAME,保存退出后重启生效;
[root@yonglinux ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=yonglinux.com


2、登录linux,我们除了使用密码验证,还可以使用哪种方式?简述配置过程。
使用密钥加密登录,客户端生成公钥和私钥,客户端保存私钥,公钥复制到远程linux主机,登录时使用密钥加密登录;
在linux主机执行下面的操作:
mkdir /root/.ssh
chmod  700 /root/.ssh
vi /root/.ssh/authorized_keys    粘贴复制的公钥,保存退出;
chmod 600 /root/.ssh/authorized_keys

vi /etc/selinux/config    编辑selinux防火墙配置
更改 SELINUX=disabled    永久关闭selinux;
iptables -F    清空防火墙规则;
/etc/init.d/iptables save    保存防火墙设置;
客户端使用密钥登录;


3、如何给grub加密码(明文、密文),密文加密又分成哪几种?      
明文加密 vi /etc/grub.conf
hiddenmenu下增加一行
password=123456
保存退出,重启系统进入菜单选择,按p输入密码才可以编辑;

密文加密分md5加密和sha加密
md5加密命令为:grub-md5-crypt
输入密码,生成一串加密后的密码,复制密码
vi  /etc/grub.conf
password --md5 粘贴密码
保存退出,重启系统进入菜单,按p输入密码;

sha加密命令:grub-crypt --sha-256
输入密码,生成一串密码,复制密码
编辑/etc/grub.conf
password --encrypted 粘贴密码,
保存退出,重启进入系统,按p输入密码;


4、如何用yum安装/删除一个软件包?如何查看某个软件包是否已经安装
安装:yum install -y tree
删除:yum remove -y tree
查看:rpm -qa | grep “包名” 或    rpm -q 包名


5、如何查看系统版本?(3个方法)
cat /etc/CentOS-release
cat /etc/issue
rpm -qa | grep release


6、find 找出 当前目录下的 目录和普通文件? 找出当前目录下10天没有改变,大小大于4K的普通文件或目录
find ./ -type d  -o -type f
find ./ -type d -o -type f -size +4k ! -mtime -10


7、在当前目录下创建一个名字为1的目录 的命令?  创建级联目录 ./2/3/的命令? 一条命令创建级联目录 ./1/2/3和./1/2/4?

mkdir ./1
mkdir -p ./2/3
mkdir -p ./1/2/{3,4}


8、cp一个目录中的文件需要什么权限,mv呢?touch呢?rm呢?
cp需要有目录的x权限,mv需要wx权限,touch需要wx权限,rm需要有wx权限;


9、用cat如何向文件里重定向字符串
第一种方法:
[user1@localhost tmp]$ cat >>1.txt
000000000000
111111111111
222222222222
最后按ctrl + d      

第二种方法:
cat >>1.txt<<EOF  (以EOF为结束符,可以换成别的如abc)
> 000000000000
> qqqqqqqqqqqqq
>EOF(这个结束)


10、建立一个公共目录/opt/public,要求每个用户都可以创建文件和目录,但只能自己本人和root可以删除;
mkdir /opt/public
chmod 1777 /opt/public


1、如何查看当前用户的家目录是什么?
echo $HOME


2、如果设置 umask 为 001 , 那么用户默认创建的目录和文件的权限是什么样子的?
创建的目录为766,文件为666


3、出于安全考虑,如何实现让别人ping不通你的在线的服务器。
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all


4、怎样防止他人在服务器前通过按下 ctrl+alt+del 强行重启系统(提示,仔细看/etc/inittab)
vi /etc/init/control-alt-delete.conf
exec /sbin/shutdown -r now "Control-Alt-Delete pressed"    这一项#号注释掉,保存退出;


5、当在对服务器进行大负荷操作的时候,你不希望现在有普通用户登录上来,你该怎么做?不能剪网线。
touch /etc/nologin
创建一个nologin文件,此文件为特殊文件,创建之后所有普通用户不能登录;系统维护结束后删除此文件,用户可以恢复登录;只限于shell登录用户,本身shell为/sbin/nologin 的用户本身就无法登录shell,不受影响;


6、你新建了一批用户,出于安全考虑,要求这些用户在第一次登录的时候 就必须要更改密码,怎么实现?
修改/etc/shadow 第三列,新建用户的值更改为0.


7、如何把一个目录下的所有文件(不含目录)权限改为644?
find ./ -type f | xargs chmod 644


8、请实现下面这个需求:只允许使用普通账户登陆,而普通账户登录后,可以不输入密码就能sudo切换到root账户,root是不允许远程登录的。
vi /etc/sudoers
添加一行user    ALL=(root)    NOPASSWD: /bin/su

vi /etc/ssh/sshd_config
PermitRootLogin 设置为no,禁止root远程登录;
service sshd restart    重启sshd服务生效;


9、 如何使文件只能写不能删除? 如何使文件不能被删除、重命名、设定链接接、写入、新增数据?
chattr +a    只能写不能删除
chattr +i    不能删除,重命名,写入新增数据;


10、用ls 查看目录或者文件时,第二列的数值表示什么意思?如果一个目录的这列的值为3,那么这个3是如何得到的?
第二列数值表示有几个文件使用相同的inode;
如果一个目录的这列为3,我们可以通过使用 ls -al dir/ |grep '^d'|wc -l 这条命令得到。