一、Linux启动过程
接下电源——开机自检——硬盘MBR引导启动——GRUB菜单——加载内核——
运行init进程——读取/etc/inittab配置文件——执行脚本(根据系统的运行级别,
在开机时启动不同的软件)——启动mingetty进程
二、什么是path环境变量,他有什么作用
1、什么是环境变量:
(1)大写
(2)在系统大部分地方都可以使用,含义相同
查看环境变量:env
LANG 表示语言和字符集 PATH 路径 PS1 命令行的样子
2、PATH含义:Linux中命令的路径。
echo $PATH
3、Linux下运行命令的过程
(1)输入命令
(2)在PATH里面,路径进行查找
(3)找到了就运行
(4)找不到就提示 command not found
笔试题
一、如何过滤出已知当前目录下oldboy中的所有一级目录(提示:不包含oldboy目录下面目录的子目录及隐藏目录,即只能是第一级目录)
1、准备环境:
mkdir /oldboy -p
cd /oldboy
mkdir ext/oldboy test xiaodong xiaofan xingfujie -p
touch jeacen oldboy wodi.gz yisui.gz
2、安装tree
yum insatall tree -y
3、检查软件是否安装成功
rpm -qa | grep tree 或者 rpm -qa tree (推荐前面)
4、查看某个软件包里面的内容
rpm -ql tree
方法一:
tree -d /oldboy/ 显示所有
tree -dL 1 /oldboy/ 显示一级目录
方法二:
find -type d 全部目录
find -maxdepth 1 -type d 一级目录
find -maxdepth 1 -type d ! -name “.” 一级目录不显示“.”。
方法三:
ls -l
ls -l | grep “^d”
方法四:
ls -l | grep “$2>1” (有时候不准,不常用)
方法五:
ls -F | grep “/” (-F把目录加上斜线,给不同类型的文件加上不同的尾巴)
二、操作完毕后,希望快速返回上一次进入的目录,即/oldboy目录,该如何做呢
cd - === cd $OLDPWD
拓展
cd . 当 前目录,多用于复制和移动
cd … 进入当前目录的上一级目录
cd ~ 当前用户的家目录
cd 回老家
查询命令的帮助:
1、help cd (简介)
2、man cd (详细,但要慢慢查找)
三、一个目录中有很多文件(ls查看时好多屏),想以最快的速度查看到最近更新的文件。如何看?
ls -l 默认文件的首字母
ls -lrt 逆序按时间排列(最近文件修改的放到最后面)
五、调试系统服务时,希望能实时查看系统日志/var/log/messages的更新,如何做?
tail -f /var/log/secure
六、打印配置文件nginx.conf内容的行号和内容,该如何做?
创建环境:
cd /oldboy
touch nginx.conf
echo stu{01…10} | xargs -n1 >nginx.conf
方式一:
cat -n nginx.conf
方式二:
vi/vim
:set nu 显示行号
:set nonu 不显示行号
方法三:
grep -n “.” nginx.conf
方法四:
awk ‘{print NR,$0}’ nginx.conf
NR表示行号,$0表示内容
方法五:
sed ‘=’ nginx.conf |xargs -n2
四、已知apache服务的服务的访问日志按天记录在服务器本地目录/app/logs下,由于磁盘空间紧张,现在要求只能保留最近七天的访问日志!请问如何解决?
创建环境:
mkdir -p /app/logs
cd /app/logs
for time in {01…20}; do date -s "201705
t
i
m
e
"
;
t
o
u
c
h
a
c
c
e
s
s
w
w
w
time"; touch access_www
time";touchaccesswww(date +%F).log ; done
date -s “20170520”
ntpdata pool.ntp.org #恢复正常日期
ntpdata ntp1aliyun.com #备用,恢复正常日期
方法一:
find -type f -name “*.log” -mtime +7 |xargs ls -l
方法二:
ls -l $(find -type f -name “*.log” -mtime +7)
方法三:
find -type f -name “*.log” -mtime +7 -exec ls -l {} ;
find新参数
-mtime 根据修改时间找出对应的文件
七、Linux系统运行级别一般为0~6,请分别写出每个级别的含义
0~6是什么意思?
cat /etc/inittab
0 - halt (Do NOT set initdefault to this)
1 - Single user mode (单用户模式)
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)
如何修改运行级别
init 3
/etc/inittab (很少永久)
如何查看运行级别
runlevel
八、装完系统后,希望让网络文件共享服务NFS(IPtables),仅在3级别上开机自动启,该如何做?
chkconfig iptables off 开机不启动
chkconfig iptables on 开机启动
查看:chkconfig |grep ipt
设置3级别: chkconfig --level 3 iptables on
九、Linux系统中查看中文,但是乱码了,请问如何解决乱码问题
原因:Linux使用的字符集与运城链接工具不同
解决:
1、推荐修改xshell字符集
2、修改系统的字符集
(1)命令行
export LANG=en_US.UTF-8
(2)写入配置文件
cp /etc/sysconfig/i18n /etc/sysconfig/i18n.bak
echo ‘LANG=en_US.UTF-8’ >/etc/sysconfig/i18n
(3)生效
source /etc/sysconfig/i18n
十、/etc/目录为Linux系统的默认的配置文件及服务启动命令的目录
a、请用tar打包/etc整个目录(打包及压缩)
b、请把a点命令的压缩包,解压到/tmp指定目录下(最好只用tar命令实现)
c、请用tar打包/etc整个目录(打包及压缩,但需要排除/etc/services文件)
tar 创建、查看、解压 压缩包 (这个命令参数可以不加-)
创建压缩包:
tar zcvf /tmp/etc.tar.gz /etc/
z 通过gzip 压缩工具进行压缩
c 表示create 创建压缩包
v 表示verbose 显示执行过程
f 表示file 接上压缩包的名字
查看压缩包的内容:
tar ztf /tmp/etc.tar.gz
t 表示list 显示压缩包的内容
解压压缩包
进入到需要解压的目录下:
tar zxvf etc.tar.gz
简写:
创建:tar zcf
查看:tar tf
解压:tar xf