软件测试-Linux面试题大全
(1)Linux的文件系统目录配置
要遵循FHS规范,规范定义的两级目录规范如下:
/home 每个账号在该目录下都有一个文件夹,进行数据的管理
/usr 有点像windows的program files和winNT结合的目录,主要包括系统的主要程序、本机端额外安装的软件、图形接口所需要的文档、额外的函数库、共享目录与文件等
/bin /usr/bin /usr/local/bin 存放执行挡 如可执行的指令等
/boot 存放linux开机会用到的文件
/dev 存放linux的任何装置和接口设备文档
/etc 存放系统设定文档 如账号密码文件、各种服务的起始档等
/lib /usr/lib /usr/local/lib 系统使用的函数库放置的目录
/mnt /media 是软盘和光盘预设挂载点的地方
/opt 主机额外安装软件所摆放的目录
/proc 该目录是一个虚拟档案系统,他放置的数据都是在内存中,所 以本身不占用任何的硬盘空间
/root 系统管理员的家目录
/sbin /usr/sbin /usr/local/sbin 放置一些只有系统管理员才能动用 的执行指令
/srv 一些服务启动之后,这些服务所需要取用的数据目录
/tmp 让一般使用者或者正在执行的程序暂时放置档案的地方
/var 主要针对系统执行过程中,常态性变动档案放置的目录
文档的路径有:绝对路径 (absolute) 与相对路径 (relative)。
绝对路径为:由根目录 (/) 开始写起的文件名或目录名称
相对路径为相对于目前路径的文件名写法。 ./表示相对当前路径,../表示相对于上一级目录的路径,代表home目录,account代表当前账号的home目录)
(2)文件系统命令
Linux的文件系统采用异步的方式,对文件的修改不会马上写入磁盘,一般可以人为的使用sync命令进行手动的数据同步到磁盘
(1) linux可以挂载很多文件系统,查看命令
cat /proc/filesystems
(2) 查看目录的使用情况命令
df -h //以G为单位查看
df -m //以M为单位查看
(3) 查看文件或目录大小
du -sh
(4) 目录的切换命令
cd ..
cd ~
cd /home
cd ./home
(5) 打印当前的路径
pwd
(6) 创建目录
mkdir (-m 参数可以预设权限 -p参数可以递归的创建目录)
(7) 删除目录
rmdir(只能删除空目录)
如果连同内容都删除采用 rm -rf 命令
(8) 文档的查询
ls -al
(9) 文档的复制
cp src des 若复制文件夹,加上-r参数
(10) 文件的删除
rm -rf file
(11) 文档的移动
mv file desdir
(12) 文档重命名
mv desdir desdir2
(13) 取文件名
basename
(14) 取得路径名
dirname
(15) 文档内容的查阅
cat -n :显示文件所有内容,-n表示打印行号
(16) 文件内容的撷取
head tail
head [-n number] file //显示file的前number行
tail [-n number] file //显示ifle的后number行
(17) 文件时间
linux的文档有三个时间mtime(修改时间), atime(访问时间),ctime(状态修改时间)
touch命令可以用于创建新文档或者修改linux文档的时间
(18) linux文档的搜索
whereis locate(这两者是直接搜索数据库,速度快) find(搜索硬盘,速度较慢,但数据最齐全) which(用来搜索执行挡$Path设置的目录)
which ls
whereis file //找出file的位置
locate file//查找所有目录下的文件
find file//查看当前目录下的所有文件
(19) 同时显示两个文件的差异
diff -c file1 file2
以并列的方式显示两个文件的差异
diff -y file1 file2
(20) 文档链接
软连接:源文件消失,目的文件也消失
硬连接: 其中一个修改,另一个也修改,但删除源文件时,目的文件不删除
In file1 file2 //建立file1的链接,命名为file2
In -s file1 file2 //建立file1的软连接
(21). 绝对路径用什么符号表示?当前目录、上层目录用什么表示?主目录用什么表示? 切换目录用什么命令?
绝对路径: 如/etc/init.d
当前目录和上层目录: ./ ../
主目录: ~/
切换目录: cd
(22). 怎么查看当前进程?怎么执行退出?怎么查看当前路径?
查看当前进程: ps 执行退出: exit 查看当前路径: pwd
(23). 怎么清屏?怎么退出当前命令?怎么执行睡眠?怎么查看当前用户 id?查看指定帮助用
什么命令?
清屏: clear
退出当前命令: ctrl+c 彻底退出
执行睡眠 : ctrl+z 挂起当前进程
fg 恢复后台
查看当前用户 id: ”id“:查看显示目前登陆账户的 uid 和 gid 及所属分
组及用户名
查看指定帮助: 如 man adduser 这个很全 而且有例子; adduser --help 这个告
诉你一些常用参数; info adduesr;
(24). Ls 命令执行什么功能? 可以带哪些参数,有什么区别?
ls 执行的功能: 列出指定目录中的目录,以及文件
哪些参数以及区别: a 所有文件
l 详细信息,包括大小字节数,可读可写可执行的权限等
(25). 建立软链接(快捷方式),以及硬链接的命令。
软链接: ln -s slink source
硬链接: ln link source
(26). 目录创建用什么命令?创建文件用什么命令?复制文件用什么命令?
创建目录: mkdir
创建文件:典型的如 touch,vi 也可以创建文件,其实只要向一个不存在的文件输出,都会创建文件
复制文件: cp 7. 文件权限修改用什么命令?格式是怎么样的?
文件权限修改: chmod
格式如下:
chmod 751 file 给 file 的属主分配读、写、执行(7)的
权限,给 file 的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
chmod =r file 为所有用户分配读权限
chmod a-wx,a+r file
同上例
$ chmod -R u+r directory 递归地给 directory 目录下所有文件和子目录的属主分配读的权限
(28). 查看文件内容有哪些命令可以使用?
vi 文件名 #编辑方式查看,可修改 cat 文件名 #显示全部文件内容
more 文件名 #分页显示文件内容 less 文件名 #与 more 相似,更好的是可以往前翻页
tail 文件名 #仅查看尾部,还可以指定行数 head 文件名 #仅查看头部,还可以指定行数
(29).随意写文件命令?怎么向屏幕输出带空格的字符串,比如”hello world”? 写文件命令:vi
(30).终端是哪个文件夹下的哪个文件?黑洞文件是哪个文件夹下的哪个命令?
/dev/tty /dev/null
(31). 移动文件用哪个命令?改名用哪个命令?
mv mv
(32). 复制文件用哪个命令?如果需要连同文件夹一块复制呢?如果需要有提示功能呢?
cp cp -r ????
(33). 删除文件用哪个命令?如果需要连目录及目录下文件一块删除呢?删除空文件夹用什么命令?
rm rm -r rmdir
(34). Linux 下命令有哪几种可使用的通配符?分别代表什么含义?
“?”可替代单个字符。 ·“*”可替代任意多个字符。 ·方括号“[charset]”可替代 charset 集中的任何单个字符,如[a-z],[abABC]
(35). 用什么命令对一个文件的内容进行统计?(行号、单词数、字节数)
wc 命令 - c 统计字节数。
- l 统计行数。 - w 统计字数。
(36).Grep 命令有什么用? 如何忽略大小写? 如何查找不含该串的行?
是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。
grep [stringSTRING] filename grep [^string] filename
(37).Linux 中进程有哪几种状态?在 ps 显示出来的信息中,分别用什么符号表示的?
(1)、不可中断状态:进程处于睡眠状态,但是此刻进程是不可中断的。不可中断, 指进程不响应异步信号。
(2)、暂停状态/跟踪状态:向进程发送一个 SIGSTOP 信号,它就会因响应该信号 而进入 TASK_STOPPED 状态;当进程正在被跟踪时,它处于 TASK_TRACED 这个
特殊的状态。“正在被跟踪”指的是进程暂停下来,等待跟踪它的进程对它进行操作。
(3)、就绪状态:在 run_queue 队列里的状态 (4)、运行状态:在 run_queue 队列里的状态
(5)、可中断睡眠状态:处于这个状态的进程因为等待某某事件的发生(比如等待 socket 连接、等待信号量),而被挂起
(6)、zombie 状态(僵尸):父亲没有通过 wait 系列的系统调用会顺便将子进程的尸体(task_struct)也释放掉
(7)、退出状态
D 不可中断 Uninterruptible(usually IO) R正在运行,或在队列中的进程
S处于休眠状态 T停止或被追踪 Z 僵尸进程
W 进入内存交换(从内核 2.6 开始无效) X死掉的进程
(38).怎么使一个命令在后台运行? &
(39).利用 ps 怎么显示所有的进程? 怎么利用 ps 查看指定进程的信息?
ps -ef (system v 输出) ps -aux bsd 格式输出
ps -ef | grep pid
(40).哪个命令专门用来查看后台任务?
job -l
(41).把后台任务调到前台执行使用什么命令?把停下的后台任务在后台执行起来用什么命令?
fg 例如:#jobs
[1]+ Running /root/bin/rsync.sh &
fg 1 bg 类似
(42).终止进程用什么命令? 带什么参数?
kill -9 pid
(43).怎么查看系统支持的所有信号?
kill -l
(44).搜索文件用什么命令? 格式是怎么样的?
find dir -name "string*"
(45).查看当前谁在使用该主机用什么命令? 查找自己所在的终端信息用什么命令?
w 用户名称;用户的机器名称或 tty 号;远程主机地址;用户登录系统的时间;空闲时间(作用不大);
附加到 tty(终端)的进程所用的时间(JCPU 时间);当前进程所用时间(PCPU时间);用户当前正在使用的命令.
who 用户名、tty 号、时间日期、主机地址
whoami,id -un 命令用于显示登入的用户名
last 命令可用于显示特定用户登录系统的历史记录(last jason):用户名称;tty 设备号;历史登录时间日期;登出时间日期;总工作时间.
查找自己所在终端信息:who am i
(46).使用什么命令查看用过的命令列表?
history
(47).使用什么命令查看磁盘使用空间? 空闲空间呢?
df -hl
文件系统 容量 已用 可用 已用% 挂载点
Filesystem Size Used Avail Use% Mounted on /dev/hda2 45G 19G 24G 44% /
/dev/hda1 494M 19M 450M 4% /boot
(48).使用什么命令查看网络是否连通?
netstat
(49).使用什么命令查看 ip 地址及接口信息?
ifconfig
(50).查看各类环境变量用什么命令?
查看所有 env 查看某个,如 home: env $HOME