Linux的一些基础问题(二)

六、档案与目录管理
• 请问底下的目录与主要放置什么数据?
o /etc/ :几乎系统的所有设定档案均在此,尤其 passwd, shadow
o /etc/rc.d/init.d :系统开机的时候加载服务的 scripts 的摆放地点
o /boot :开机设定档,也是预设摆放核心 vmlinuz 的地方
o /usr/bin, /bin :一般执行档摆放的地方
o /usr/sbin, /sbin :系统管理员常用指令集
o /dev :摆放所有系统装置档案的目录
o /var/log :摆放系统登录档案的地方
• 『旧的』 Unix 系统与 Linux 系统的『文件名』最多可以容许几个字符? 14, 255
• 什么是绝对路径与相对路径,要由 /usr/share/doc 进入到 /usr/share/man 由相对路径与绝对路径的写法各为何?
o 绝对路径绝对由 / 开始写起,相对路径则非由 / 写起;
o cd /usr/share/man ; cd ../man
• 在非为根目录的任何一个目录中,下达 ls �C al 时,均会有『.』及『..』这两个目录,请问分别代表什么?
o . :代表本目录
o .. :代表上层目录
• 显示、变换目录的时候,使用什么指令? ls, pwd 为显示; 变换目录用 cd
• 新增目录、移除目录移动目录与拷贝目录有什么指令可用?
o 新增: mkdir 目录,
o 移除: rmdir 目录(但是该目录内必须要已经清空了), rm �C rf 目录,
o 移动: mv directory1 directory2
o 拷贝: cp �C r directory1 directory2
• 如何查看一个档案的『内容』(不要使用 vi 的情况下) cat, tac, more, less, head, tail, nl, od(查看二进制制)
• 什么是 hard link soft link 的档案?有何不同?
o Hard Links :在做成 hard link 档案时,系统会占用掉一个 inode ,由连结档案可发现其 link 字段多使用了一个 inode ,当源文件被删除的时候,该源文件的内容将继续保留在其它的 Hard Links 档案中;但所有 Link 占用的硬
 
盘总量仅占一个档案的容量大小!( Hard link 不能连结不同 filesystem 的档案)
o Soft Links :类似快捷方式,当原始档被删除,soft link 档案将找不到原始档了!
• 如何在 root 的家目录下建立一个 /bin 的连结快捷方式 ln �C s /bin /root/bin
• 若有一个连结档为 testing 连结到 test1.sh ,请问 copy testing /tmp 底下,『cp testing /tmp』则 /tmp/testing 这个档案会是:(1) 连结档,连结到 test1.sh (2) 一般档案,为内容与 test1.sh 相同? 答案为 (2)
• 当一个档案属性为 �C rwxrwxrwt 则表示这个档案的意义为? 任何人皆可读取、可写入,但是不可删除该档案(或目录),除了 root 与档案或目录拥有者有权可以删除。
• 我需要将一个档案的属性改为 �C rwxr-xr-- 请问该如何下达指令? chmod 754 filename, chmod u=rwx,g=rx,o=r filename
• 在 /usr/bin/passwd 这个档案的属性为 �C r-s--x--x 请问代表什么意思(s) 那个 s 代表为 SUID ,当使用者使用这个档案进行工作的时候,将会具有该档案拥有者的权限!
• 如何改出 �C rwxr-sr-x �C rwxr-xr-t 这个属性? chmod 2755 filename, chmod 1755 filename
• 如何查看一个档案的类型 (type) 例如纯文字文件、执行文件与 setuid 档案等? file filename
• 若一个使用者的 umask 033 ,请问他建立一个新的目录与档案时的预设属性为?
o 目录:744 ? -rwx-r--r--
o 档案:633 ? -rw--wx-wx
• 若我需要更改一个档案的拥有者与群组,该用什么指令? chown, chgrp
• 如何将一个档案的修改日期改成目前的时间? touch filename
• 如何搜寻一个档案? which (仅用于指令搜寻), whereis, locate, fine
Linux 预设的档案系统为何?此外,常用的 Journalling 档案格式有哪些? Ext2, Journalling ext3 Reiserfs
 
 
less more 有什么不同? less 可以翻页,但是 more 不行!
• 在比较两个档案的异同时,常使用的是 diff cmp ,请教两者有何不同? diff 为一行一行比较, cmp 为一个字符(character)一个字符比较
 
.1、磁盘挂载与虚拟内存问题
• 我要如何查看 Linux 系统当中所有已经挂载的硬盘容量与 inodes df �C k, df �C i,
• 我要如何查看目前所在目录的所有档案占用的硬盘空间,此外,如何仅输出结果? du -k, du �C i, du -s
• 如果扇区 /dev/hda3 有问题,偏偏他是被挂载上的,请问我要如何修理此一扇区? umount /dev/hda3 fsck /dev/hda3
• 承上题,那么有问题的档案将被移动到那个目录下? lost+found
• 试说明新增一个 partition /dev/hdb 当中,且为 hdb5时,并挂载上 /disk2 ,需要哪些步骤?
o fdisk /dev/hdb n 新增,按 e 新增 extended ,再按 n 新增 logical
o mke2fs �C b 2048 /dev/hdb5
o mkdir /disk2
o mount �C t ext2 /dev/hdb5 /disk2
• 如何新增加 64MB 的虚拟内存 swap
o dd if=/dev/zero of=/tmp/swap bs=4k count=16384
o mkswap /tmp/swap
o swapon /tmp/swap
• 如果要设定一个新挂载上的扇区,令他可以在开机的时候被挂载上,应该编辑哪一个档案?
o /etc/fstab
o mount �C a
• 简易说明 quota 的设置流程?
o 编辑 /etc/fstab, 加入 usrquota and/or grpquota
o reboot
o quotacheck �C avug ( 会产生 aquota.user(group))
o quotaon �C aug
o edquota �C u username
o edquota �C g groupname
 
o repquota �C vu /dev/hd[a-d][1-16]
 
七、BASH SHELL
• 简单说明 bash shell 的功能特征:
o 命令记忆功能 ~/.bash_history
o 命令别名功能 alias
o shell scripts 功能
o 命令与文件名称补全功能 <tab>
o 工作控制功能 jobs
• 在设定变量中,主要的规则为何?
1. 变量与变量内容以等号来连结;
2. 等号两边不能直接接空格符;
3. 变量名称只能是英文字母与数字,但是数字不能是开头字符;
4. 若有空格符可以使用双引号『 " 』或单引号『 ' 』来将变量内容结合起来,但须要特别留意,双引号内可以保有变量,但是单引号则仅为一般字符;
5. 必要时需要以跳脱字符『 \ 』来将特殊符号(如 Enter, $, \, 空格符, ' 等)变成一般符号;
6. 若该变量为扩增变量内容时,则需以双引号及 $变量名称如:『 "$PATH":/home』继续累加内容;
7. 若该变量需要在其它子程序执行,则需要以 export 来使变量可以动作,如『export PATH』;
8. 通常大写字符为系统预设变量,自行设定变量可以使用小写字符,方便判断(纯粹依照使用者兴趣与嗜好);
9. 取消变量的方法为:『unset 变量名称』
• 显示环境变量与所有变量的指令为何? env, set,
• 在环境变量当中,『使用者家目录、主机名称』的变量名称为: HOME, HOSTNAME
• 如何让一个变量可以持续到下一个程序 (PID) 去? export variable
• 在变量的设定当中,双引号与单引号有何不同? 双引号里面可以包含变量,单引号谨代表一般字符!
Command1 `command2` 这个指令代表什么意思?在这一行当中, command2 会先执行,而输出的结果会给 command1 当作参数。 cd /lib/modules/`uname -r`/kernel 是最常使用的一例
 
• 在命令重导向当中, > >> 有什么不同? > 会将导向的 file 覆盖, >> 则是增加!
• 若要将错误的输出导向『不见了』的装置,该如何是好? command 2> /dev/null
• 在管线指令中,我要将 last 输出的结果显示 root 的『登入次数』, 如何做? last | grep root | cut �C d �C f 1 | wc -l
• 如何设定一个变量名称为 name ,使其显示为『 VBird s testing variable. 』?
o name=VBird\ s\ testing\ variable.
o name= VBird s testing variables.
o echo $name
• 请问 bash shell 的环境变量与自己的个人变量可以登入便设定的档案?
o Open Linux /etc/profile, /etc/config.d/shells/bashrc, ~/.profile, ~/.bashrc,
o Red Hat /etc/profile, ~/.bash_profile, ~/.bashrc,
• 如何查询曾经操作过的指令?如何执行第 26 个操作过的指令?上一个操作过的指令?
o history
o !26
o !!
• 如何设定命令别名?使 lm ls �C al|more 功能相同 alias lm= ls �C al|more
• 如何将 /bin 的所有信息输出到 /home/testing.dat 这个档案? ls �C al /bin 1> /home/testing.dat
• 在上一题中,若还要输出到屏幕上,要如何是好? ls �C al /bin | tee /home/testing.dat
• 执行 find ,并将正确的结果输出到 right 而错误结果输出到 error 当中? find / -name test 1> right 2>error
• 如何在指令列模式中将 /root/.bashrc 的资料加在 /home/col/.bashrc 当中? cat /root/.bashrc >> /home/col/.bashrc
• 不要显示执行的结果要如何是好? command > /dev/null 2>$1
• 列出这个月曾经登入主机的使用者信息即可,不需要重复? last | cut �C d �C f1 | sort | uniq
 
• 万用字符当中, *, ?, [] 各代表什么意思?
o * 代表 0 到无限多个字符;
o ? 代表一个任意字符;
o [] 代表一个字符,这个字符在某一个限制范围内。
 
.1SHELL SCRIPTS
• 什么是 shell scripts scripts 有何功用?
o 简单的说, scripts 就是一个内部含有多个或复杂的 command 的纯文本文件;
o scripts 可以进行 program 的功能,但速度上较 C 慢了点!
• 要撰写可以经由键盘输入的 scripts 时,常使用到的指令? read variable
• 在 shell script 当中,在控制式中, && || 代表什么意思? 分别代表『和(同时成立)』及『或(仅其一成立就成立)』的意思!
• 在使用循环的时候,常使用到的控制式为哪三个? for, while, until
• 执行 scripts 的方法有哪两种?
o 使用 sh script
o chmod 增加 scripts 的属性为可执行, chmod 777 script 并执行 scripts
 
• 如何宣告一个变量成为整数型态? declare -i variable
• 为何在 shell script 前面都要宣告 shell 呢? 宣告 shell 方能让 script 了解该内容需要以何种 shell 来执行!目前 Linux 通常宣告 /bin/bash 这个 shell ,然而若在非 shell 环境中,又没有宣告 shell 类型时,可能会造成 script 无法执行的情况。
• 在判断式中,如何判断一个档名是否存在? if [ -e filename ] 若存在则回传值为真!
• 在执行一个 scripts 时,在 scripts 内的变量, $0, $1 代表什么?
o $0 代表 scripts 的�n名;
o $1 代表第一个 parameter,例如 /etc/rc.d/init.d/xinetd start 那个 start 的变数即为 $1
• 若要写一个既定的 parameter (如 start ),用哪一个判断式较简单? 可以使用 case . Esac 的语法较为简单。
 
• 如何印出目前系统中的所有账号,并加以排序且输出到 /tmp/account 中? cut -d : -f 1 /etc/passwd | sort > /tmp/account
• 如何在不执行 scripts 的情况中 debug sh -n scripts
 
八、基本账号管理
• 如何新增一个使用者 username,且该使用者没有家目录? useradd -M username
Linux 使用者的账号、密码与群组的名称档案放在哪里?
o /etc/passwd
o /etc/shadow
o /etc/group
• 建立新使用者的预设家目录内容在那个目录中? /etc/skel
• 建立一个新使用者时,其使用到的相关档案有哪些?
o /etc/default/useradd,
o /etc/login.defs,
o /etc/skel/
o /etc/passwd,
o /etc/shadow
root UID GID 各为何? 皆为 0
• 如何让一个使用者不能登入主机,但是可以收信? 将 /etc/passwd 最后一栏代表 shell 的名称改为 /bin/false
• 试说明一个使用者登入系统的流程?
1. 登入:使用 /bin/login 程序,并输入 ID passwd
2. 确认密码:搜寻 /etc/passwd, /etc/shadow 确认密码!并取得使用者的相关讯息。
3. 查核 pam 登入模块:这个需要视主机的设定而定!
4. 取得并执行 shell :由 /etc/passwd 取得 shell 之后,并执行 shell ,以 bash 为例,将读入: /ete/profile ? ~/.bash_profile ( .bash_login .profile ) ? ~/.bashrc ? 注销的时候执行 ~/.bash_logout
• 在 /etc/shadow 当中的日期设定中,其数字代表的意义为何?由 1970 年开始计算,故 1970 年 一月一日 为 1 2002 1 1 日为11689
 
• 如何变更使用者的一些属性? usermod, chfn, chsh, passwd
• 如何视察一个使用者 username 所拥有的群组呢? groups username
• 试说明如何手动增加一个使用者 username 与群组 groupname
1. 先看看 /etc/skel 当中,预设要给 user 的家目录内容;
2. 新增 group groupadd groupname
3. 新增 user useradd -m -g groupname username
4. 给予密码: passwd username
• 试说明 /etc/passwd 这个档案的内容与格式:账号; 密码; UID; GID; 说明的内容; 家目录; SHELL
• 使用 id 这个指令时,可以显示什么讯息数据? UID, GID GROUP
• 可以控制使用者使用主机资源的预设档案在哪里? /etc/security/limits.conf
• 基本的压缩指令有哪些? tar, gzip, compress
 
九、开机程序
• 试说明开机流程:
1. BIOS
2. MBR ( boot loader )
3. Loader ( lilo or grub, stage 1 and stage 2 )
4. Kernel loader ( /boot/vmlinuz )
5. init process ( 读取 /etc/inittab 取得 run-level )
6. 开始执行 /etc/rc.d 内的 scripts
7. 执行 /etc/modules.conf 内部的额外 kernel 模块
8. 执行 /etc/rc.d/rc[1-6].d 的这些 run-level 内的 scripts
9. 执行 /bin/login 等待使用者登入!
• 开机时后的加载讯息可以看哪里? dmesg grep kernel /var/log/messages
• 改变 run-level 或关机的指令 shutdown, halt,
 
reboot, init or telinit
• 改变登入 Linux 时候预设的 run-level 要改那个档案? /etc/inittab
 
十、程序与资源管理
• 如何查看目前的程序? ps, top,
• 如何查看目前的内存使用状况? free, top,
• 目前的工作如何丢到背景中? [Ctrl] + z
• 如何取得目前背景中的工作,且将他拉回前景中? jobs fg %number
• 如何设定一个程序在开始执行时候的优先值? nice �C n [number] [command]
• 什么指令可以修改一个正在执行的程序之 nice 值? top, renice
• 在例行性命令中,使用的两支 demane 是什么? atd, crond
• 使用 crontab 这个『指令』的时候,如何可以查看目前的工作与删除目前的工作?编辑: crontab �C e, 查看: crontab �C l, 删除: crontab �C r
• 常用的 kill 指令之 signal 当中, 1, 9, 15 代表什么?
o 1 重新读取一次 config file
o 9 强制删除此一执行程序
o 15 terminal 结束的意思!
 

你可能感兴趣的:(linux,问题,基础,职场,休闲)