些基础的 Linux 问题与讨论:
2014-02-15 16:47
417 查看
三、简易 KDE 的使用( X-Window)
若以 X-Window 为预设的登入方式,那请问如何进入 Virtual console 呢?
可以按下 [Ctrl] + [Alt] + [F1] ~ [F6] 进入 Virtual console ( 共六个 );
而按下 [Ctrl] + [Alt] + [F8] 可回到 X-Window 的 desktop 中!
如何修改进入 Linux 时候的 run-level ?又 run-level 0, 1, 3, 5 各代表什么意思?
修改 /etc/inittab 里头的设定即可;
0:重新开机(如 init 0 );
1:单人维护模式,没有网络功能;
3:纯文字接口登入,多人多任务环境;
5:X-Window 登入模式,多人多任务模式。
XFree86 在 X-Window 中的角色为何?
基本角色是控制显示相关硬件的核心角色,也可以说程序 X-Window 的 Server ,此外, KDE 这个 Window management 则是 X-Window 的 Client 呦!因此, XFree86 若死掉了,那么 KDE 就无法被启动!
XFree86 的主要设定档在哪里?
就是在 /etc/X11/XF86Config-4 这个档案!
KDE 预设提供多少个 Virtual desktops ?
预设是提供四个,就是在进入 KDE 之后,最下方的 bar 上面有 1,2,3,4 那个字样的那个咚咚!
四、在线求助 ( Help )
在 Linux 系统中,安装的套件 (RPM安装) 预设的文件数据放在那个目录底下?
/usr/share/doc
查看 Linux 系统的在线求助可以使用什么指令?
man command
info command
使用 man 来查询在线求助的时候,若要查询类似参数档(如/etc/passwd)需如何?
man 5 passwd 或是例如 syslog.conf 则: man 5 syslog.conf 那个 5 即是大部分的 config 档案的查询。
使用 man 查询 command 的所有相关指令时,需要下什么参数?
man –k command 例如 man –k passwd
man page 的 man path 变量,记录在那个档案中呢?!
/etc/man.conf
五、vi 的使用
在 linux 底下最常使用的文书编辑器为 vi ,请问如何进入编辑模式?
在一般模式底下输入: i, I, a, A 为在本行当中输入新字符;(出现 –Insert- )
在一般模式当中输入: o, O 为在一个新的一行输入新字符;
在一般模式当中输入: r, R 为取代字符!(左下角出现 –Replace-)
如何由编辑模式跳回一般模式?
[Esc]
若上下左右键无法使用时,请问如何在一般模式移动光标?
h, j, k, l
若 [pagedown] [ pageup] 在一般模式无法使用时,如何往前或往后翻一页?
[Ctrl] + [f]
[Ctrl] +
如何到本档案的最后一行、第一行;本行的第一个字符、最后一个字符?
G, 1G, 0, $
如何删除一行、n行;如何删除一个字符?
dd, ndd, x 或 X (dG 及 d1G 分别表示删除到页首及页尾)
如何复制一行、n行并加以贴上?
yy, nyy, p 或 P
如何搜寻 string 这个字符串?
?string (往前搜寻)
/string (往后搜寻)
如何取代 word1 成为 word2,而若需要使用者确认机制,又该如何?
:1,$s/word1/word2/g 或
:1,$s/word1/word2/gc (需要使用者确认)
如何读取一个档案 filename 进来目前这个档案?
:r filename
如何另存新档成为 newfilename?
:w newfilename
如何存档、离开、存档后离开、强制存档后离开?
:w; :q: :wq; :wq!
如何设定与取消行号?
:set nu
:set nonu
[b]六、档案与目录管理
请问底下的目录与主要放置什么数据?
/etc/:几乎系统的所有设定档案均在此,尤其 passwd, shadow
/etc/rc.d/init.d:系统开机的时候加载服务的 scripts 的摆放地点
/boot:开机设定档,也是预设摆放核心 vmlinuz 的地方
/usr/bin, /bin:一般执行档摆放的地方
/usr/sbin, /sbin:系统管理员常用指令集
/dev:摆放所有系统装置档案的目录
/var/log:摆放系统登录档案的地方
『旧的』 Unix 系统与 Linux 系统的『文件名』最多可以容许几个字符?
14, 255
什么是绝对路径与相对路径,要由 /usr/share/doc 进入到 /usr/share/man 由相对路径与绝对路径的写法各为何?
绝对路径绝对由 / 开始写起,相对路径则非由 / 写起;
cd /usr/share/man ; cd ../man
在非为根目录的任何一个目录中,下达 ls –al 时,均会有『.』及『..』这两个目录,请问分别代表什么?
. :代表本目录
.. :代表上层目录
显示、变换目录的时候,使用什么指令?
ls, pwd 为显示; 变换目录用 cd
新增目录、移除目录移动目录与拷贝目录有什么指令可用?
新增: mkdir 目录,
移除: rmdir 目录(但是该目录内必须要已经清空了), rm –rf 目录,
移动: mv directory1 directory2
拷贝: cp –r directory1 directory2
如何查看一个档案的『内容』(不要使用 vi 的情况下)
cat, tac, more, less, head, tail, nl, od(查看二进制制)
什么是 hard link 与 soft link 的档案?有何不同?
Hard Links:在做成 hard link 档案时,系统会占用掉一个 inode ,由连结档案可发现其 link 字段多使用了一个 inode ,当源文件被删除的时候,该源文件的内容将继续保留在其它的 Hard Links 档案中;但所有 Link 占用的硬盘总量仅占一个档案的容量大小!(但 Hard link 不能连结不同 filesystem 的档案)
Soft Links:类似快捷方式,当原始档被删除,soft link 档案将找不到原始档了!
如何在 root 的家目录下建立一个 /bin 的连结快捷方式
ln –s /bin /root/bin
若有一个连结档为 testing 连结到 test1.sh ,请问 copy testing 到 /tmp 底下,『cp testing /tmp』则 /tmp/testing 这个档案会是:(1) 连结档,连结到 test1.sh ;(2) 一般档案,为内容与 test1.sh 相同?
答案为 (2)
当一个档案属性为 –rwxrwxrwt 则表示这个档案的意义为?
任何人皆可读取、可写入,但是不可删除该档案(或目录),除了 root 与档案或目录拥有者有权可以删除。
我需要将一个档案的属性改为 –rwxr-xr-- 请问该如何下达指令?
chmod 754 filename, chmod u=rwx,g=rx,o=r filename
在 /usr/bin/passwd 这个档案的属性为 –r-s--x--x 请问代表什么意思(s)
那个 s 代表为 SUID ,当使用者使用这个档案进行工作的时候,将会具有该档案拥有者的权限!
如何改出 –rwxr-sr-x 与 –rwxr-xr-t这个属性?
chmod 2755 filename, chmod 1755 filename
如何查看一个档案的类型 (type) 例如纯文字文件、执行文件与 setuid 档案等?
file filename
若一个使用者的 umask 为 033 ,请问他建立一个新的目录与档案时的预设属性为?
目录:744 ? -rwx-r--r--
档案: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 –k, df –i,
我要如何查看目前所在目录的所有档案占用的硬盘空间,此外,如何仅输出结果?
du -k, du –i, du -s
如果扇区 /dev/hda3 有问题,偏偏他是被挂载上的,请问我要如何修理此一扇区?
umount /dev/hda3
fsck /dev/hda3
承上题,那么有问题的档案将被移动到那个目录下?
lost+found
试说明新增一个 partition 在 /dev/hdb 当中,且为 hdb5时,并挂载上 /disk2 ,需要哪些步骤?
fdisk /dev/hdb 按 n 新增,按 e 新增 extended ,再按 n 新增 logical
mke2fs –b 2048 /dev/hdb5
mkdir /disk2
mount –t ext2 /dev/hdb5 /disk2
如何新增加 64MB 的虚拟内存 swap ?
dd if=/dev/zero of=/tmp/swap bs=4k count=16384
mkswap /tmp/swap
swapon /tmp/swap
如果要设定一个新挂载上的扇区,令他可以在开机的时候被挂载上,应该编辑哪一个档案?
先 /etc/fstab
再 mount –a
简易说明 quota 的设置流程?
编辑 /etc/fstab, 加入 usrquota and/or grpquota
reboot
quotacheck –avug (会产生 aquota.user(group))
quotaon –aug
edquota –u username
edquota –g groupname
repquota –vu /dev/hd[a-d][1-16]
七、BASH SHELL
简单说明 bash shell 的功能特征:
命令记忆功能 ~/.bash_history
命令别名功能 alias
shell scripts 功能
命令与文件名称补全功能 <tab>
工作控制功能 jobs
在设定变量中,主要的规则为何?
变量与变量内容以等号来连结;
等号两边不能直接接空格符;
变量名称只能是英文字母与数字,但是数字不能是开头字符;
若有空格符可以使用双引号『 " 』或单引号『 ' 』来将变量内容结合起来,但须要特别留意,双引号内可以保有变量,但是单引号则仅为一般字符;
必要时需要以跳脱字符『 \ 』来将特殊符号(如 Enter, $, \, 空格符, ' 等)变成一般符号;
若该变量为扩增变量内容时,则需以双引号及 $变量名称如:『 "$PATH":/home』继续累加内容;
若该变量需要在其它子程序执行,则需要以 export 来使变量可以动作,如『export PATH』;
通常大写字符为系统预设变量,自行设定变量可以使用小写字符,方便判断(纯粹依照使用者兴趣与嗜好);
取消变量的方法为:『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 –d “ “ –f 1 | wc -l
如何设定一个变量名称为 name ,使其显示为『 VBird’s testing variable. 』?
name=VBird\’s\ testing\ variable.
name=”VBird’s testing variables.”
echo $name
请问 bash shell 的环境变量与自己的个人变量可以登入便设定的档案?
Open Linux:
/etc/profile, /etc/config.d/shells/bashrc, ~/.profile, ~/.bashrc,
Red Hat :
/etc/profile, ~/.bash_profile, ~/.bashrc,
如何查询曾经操作过的指令?如何执行第 26 个操作过的指令?上一个操作过的指令?
history
!26
!!
如何设定命令别名?使 lm 与 ls –al|more 功能相同
alias lm=’ls –al|more’
如何将 /bin 的所有信息输出到 /home/testing.dat 这个档案?
ls –al /bin 1> /home/testing.dat
在上一题中,若还要输出到屏幕上,要如何是好?
ls –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 –d” “ –f1 | sort | uniq
万用字符当中, *, ?, [] 各代表什么意思?
* 代表 0 到无限多个字符;
? 代表一个任意字符;
[] 代表一个字符,这个字符在某一个限制范围内。
七.1、SHELL SCRIPTS
什么是 shell scripts ? scripts 有何功用?
简单的说, scripts 就是一个内部含有多个或复杂的 command 的纯文本文件;
scripts 可以进行 program 的功能,但速度上较 C 慢了点!
要撰写可以经由键盘输入的 scripts 时,常使用到的指令?
read variable
在 shell script 当中,在控制式中, && 与 || 代表什么意思?
分别代表『和(同时成立)』及『或(仅其一成立就成立)』的意思!
在使用循环的时候,常使用到的控制式为哪三个?
for, while, until
执行 scripts 的方法有哪两种?
使用 sh script 或
以 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 代表什么?
$0 代表 scripts 的檔名;
$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 使用者的账号、密码与群组的名称档案放在哪里?
/etc/passwd
/etc/shadow
/etc/group
建立新使用者的预设家目录内容在那个目录中?
/etc/skel
建立一个新使用者时,其使用到的相关档案有哪些?
/etc/default/useradd,
/etc/login.defs,
/etc/skel/
/etc/passwd,
/etc/shadow
root 的 UID 与 GID 各为何?
皆为 0
如何让一个使用者不能登入主机,但是可以收信?
将 /etc/passwd 最后一栏代表 shell 的名称改为 /bin/false
试说明一个使用者登入系统的流程?
登入:使用 /bin/login 程序,并输入 ID 与 passwd ;
确认密码:搜寻 /etc/passwd, /etc/shadow 确认密码!并取得使用者的相关讯息。
查核 pam 登入模块:这个需要视主机的设定而定!
取得并执行 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?
先看看 /etc/skel 当中,预设要给 user 的家目录内容;
新增 group : groupadd groupname
新增 user :useradd -m -g groupname username
给予密码: passwd username
试说明 /etc/passwd 这个档案的内容与格式:
账号; 密码; UID; GID; 说明的内容; 家目录; SHELL
使用 id 这个指令时,可以显示什么讯息数据?
UID, GID 跟 GROUP
可以控制使用者使用主机资源的预设档案在哪里?
/etc/security/limits.conf
基本的压缩指令有哪些?
tar, gzip, compress
九、开机程序
试说明开机流程:
BIOS
MBR ( boot loader )
Loader ( lilo or grub, stage 1 and stage 2 )
Kernel loader ( /boot/vmlinuz )
init process ( 读取 /etc/inittab 取得 run-level )
开始执行 /etc/rc.d 内的 scripts
执行 /etc/modules.conf 内部的额外 kernel 模块
执行 /etc/rc.d/rc[1-6].d 的这些 run-level 内的 scripts !
执行 /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 –n [number] [command]
什么指令可以修改一个正在执行的程序之 nice 值?
top, renice
在例行性命令中,使用的两支 demane 是什么?
atd,
crond
使用 crontab 这个『指令』的时候,如何可以查看目前的工作与删除目前的工作?
编辑: crontab –e,
查看: crontab –l,
删除: crontab –r
常用的 kill 指令之 signal 当中, 1, 9, 15 代表什么?
1 重新读取一次 config file
9 强制删除此一执行程序
15 terminal结束的意思!
若以 X-Window 为预设的登入方式,那请问如何进入 Virtual console 呢?
可以按下 [Ctrl] + [Alt] + [F1] ~ [F6] 进入 Virtual console ( 共六个 );
而按下 [Ctrl] + [Alt] + [F8] 可回到 X-Window 的 desktop 中!
如何修改进入 Linux 时候的 run-level ?又 run-level 0, 1, 3, 5 各代表什么意思?
修改 /etc/inittab 里头的设定即可;
0:重新开机(如 init 0 );
1:单人维护模式,没有网络功能;
3:纯文字接口登入,多人多任务环境;
5:X-Window 登入模式,多人多任务模式。
XFree86 在 X-Window 中的角色为何?
基本角色是控制显示相关硬件的核心角色,也可以说程序 X-Window 的 Server ,此外, KDE 这个 Window management 则是 X-Window 的 Client 呦!因此, XFree86 若死掉了,那么 KDE 就无法被启动!
XFree86 的主要设定档在哪里?
就是在 /etc/X11/XF86Config-4 这个档案!
KDE 预设提供多少个 Virtual desktops ?
预设是提供四个,就是在进入 KDE 之后,最下方的 bar 上面有 1,2,3,4 那个字样的那个咚咚!
四、在线求助 ( Help )
在 Linux 系统中,安装的套件 (RPM安装) 预设的文件数据放在那个目录底下?
/usr/share/doc
查看 Linux 系统的在线求助可以使用什么指令?
man command
info command
使用 man 来查询在线求助的时候,若要查询类似参数档(如/etc/passwd)需如何?
man 5 passwd 或是例如 syslog.conf 则: man 5 syslog.conf 那个 5 即是大部分的 config 档案的查询。
使用 man 查询 command 的所有相关指令时,需要下什么参数?
man –k command 例如 man –k passwd
man page 的 man path 变量,记录在那个档案中呢?!
/etc/man.conf
五、vi 的使用
在 linux 底下最常使用的文书编辑器为 vi ,请问如何进入编辑模式?
在一般模式底下输入: i, I, a, A 为在本行当中输入新字符;(出现 –Insert- )
在一般模式当中输入: o, O 为在一个新的一行输入新字符;
在一般模式当中输入: r, R 为取代字符!(左下角出现 –Replace-)
如何由编辑模式跳回一般模式?
[Esc]
若上下左右键无法使用时,请问如何在一般模式移动光标?
h, j, k, l
若 [pagedown] [ pageup] 在一般模式无法使用时,如何往前或往后翻一页?
[Ctrl] + [f]
[Ctrl] +
如何到本档案的最后一行、第一行;本行的第一个字符、最后一个字符?
G, 1G, 0, $
如何删除一行、n行;如何删除一个字符?
dd, ndd, x 或 X (dG 及 d1G 分别表示删除到页首及页尾)
如何复制一行、n行并加以贴上?
yy, nyy, p 或 P
如何搜寻 string 这个字符串?
?string (往前搜寻)
/string (往后搜寻)
如何取代 word1 成为 word2,而若需要使用者确认机制,又该如何?
:1,$s/word1/word2/g 或
:1,$s/word1/word2/gc (需要使用者确认)
如何读取一个档案 filename 进来目前这个档案?
:r filename
如何另存新档成为 newfilename?
:w newfilename
如何存档、离开、存档后离开、强制存档后离开?
:w; :q: :wq; :wq!
如何设定与取消行号?
:set nu
:set nonu
[b]六、档案与目录管理
请问底下的目录与主要放置什么数据?
/etc/:几乎系统的所有设定档案均在此,尤其 passwd, shadow
/etc/rc.d/init.d:系统开机的时候加载服务的 scripts 的摆放地点
/boot:开机设定档,也是预设摆放核心 vmlinuz 的地方
/usr/bin, /bin:一般执行档摆放的地方
/usr/sbin, /sbin:系统管理员常用指令集
/dev:摆放所有系统装置档案的目录
/var/log:摆放系统登录档案的地方
『旧的』 Unix 系统与 Linux 系统的『文件名』最多可以容许几个字符?
14, 255
什么是绝对路径与相对路径,要由 /usr/share/doc 进入到 /usr/share/man 由相对路径与绝对路径的写法各为何?
绝对路径绝对由 / 开始写起,相对路径则非由 / 写起;
cd /usr/share/man ; cd ../man
在非为根目录的任何一个目录中,下达 ls –al 时,均会有『.』及『..』这两个目录,请问分别代表什么?
. :代表本目录
.. :代表上层目录
显示、变换目录的时候,使用什么指令?
ls, pwd 为显示; 变换目录用 cd
新增目录、移除目录移动目录与拷贝目录有什么指令可用?
新增: mkdir 目录,
移除: rmdir 目录(但是该目录内必须要已经清空了), rm –rf 目录,
移动: mv directory1 directory2
拷贝: cp –r directory1 directory2
如何查看一个档案的『内容』(不要使用 vi 的情况下)
cat, tac, more, less, head, tail, nl, od(查看二进制制)
什么是 hard link 与 soft link 的档案?有何不同?
Hard Links:在做成 hard link 档案时,系统会占用掉一个 inode ,由连结档案可发现其 link 字段多使用了一个 inode ,当源文件被删除的时候,该源文件的内容将继续保留在其它的 Hard Links 档案中;但所有 Link 占用的硬盘总量仅占一个档案的容量大小!(但 Hard link 不能连结不同 filesystem 的档案)
Soft Links:类似快捷方式,当原始档被删除,soft link 档案将找不到原始档了!
如何在 root 的家目录下建立一个 /bin 的连结快捷方式
ln –s /bin /root/bin
若有一个连结档为 testing 连结到 test1.sh ,请问 copy testing 到 /tmp 底下,『cp testing /tmp』则 /tmp/testing 这个档案会是:(1) 连结档,连结到 test1.sh ;(2) 一般档案,为内容与 test1.sh 相同?
答案为 (2)
当一个档案属性为 –rwxrwxrwt 则表示这个档案的意义为?
任何人皆可读取、可写入,但是不可删除该档案(或目录),除了 root 与档案或目录拥有者有权可以删除。
我需要将一个档案的属性改为 –rwxr-xr-- 请问该如何下达指令?
chmod 754 filename, chmod u=rwx,g=rx,o=r filename
在 /usr/bin/passwd 这个档案的属性为 –r-s--x--x 请问代表什么意思(s)
那个 s 代表为 SUID ,当使用者使用这个档案进行工作的时候,将会具有该档案拥有者的权限!
如何改出 –rwxr-sr-x 与 –rwxr-xr-t这个属性?
chmod 2755 filename, chmod 1755 filename
如何查看一个档案的类型 (type) 例如纯文字文件、执行文件与 setuid 档案等?
file filename
若一个使用者的 umask 为 033 ,请问他建立一个新的目录与档案时的预设属性为?
目录:744 ? -rwx-r--r--
档案: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 –k, df –i,
我要如何查看目前所在目录的所有档案占用的硬盘空间,此外,如何仅输出结果?
du -k, du –i, du -s
如果扇区 /dev/hda3 有问题,偏偏他是被挂载上的,请问我要如何修理此一扇区?
umount /dev/hda3
fsck /dev/hda3
承上题,那么有问题的档案将被移动到那个目录下?
lost+found
试说明新增一个 partition 在 /dev/hdb 当中,且为 hdb5时,并挂载上 /disk2 ,需要哪些步骤?
fdisk /dev/hdb 按 n 新增,按 e 新增 extended ,再按 n 新增 logical
mke2fs –b 2048 /dev/hdb5
mkdir /disk2
mount –t ext2 /dev/hdb5 /disk2
如何新增加 64MB 的虚拟内存 swap ?
dd if=/dev/zero of=/tmp/swap bs=4k count=16384
mkswap /tmp/swap
swapon /tmp/swap
如果要设定一个新挂载上的扇区,令他可以在开机的时候被挂载上,应该编辑哪一个档案?
先 /etc/fstab
再 mount –a
简易说明 quota 的设置流程?
编辑 /etc/fstab, 加入 usrquota and/or grpquota
reboot
quotacheck –avug (会产生 aquota.user(group))
quotaon –aug
edquota –u username
edquota –g groupname
repquota –vu /dev/hd[a-d][1-16]
七、BASH SHELL
简单说明 bash shell 的功能特征:
命令记忆功能 ~/.bash_history
命令别名功能 alias
shell scripts 功能
命令与文件名称补全功能 <tab>
工作控制功能 jobs
在设定变量中,主要的规则为何?
变量与变量内容以等号来连结;
等号两边不能直接接空格符;
变量名称只能是英文字母与数字,但是数字不能是开头字符;
若有空格符可以使用双引号『 " 』或单引号『 ' 』来将变量内容结合起来,但须要特别留意,双引号内可以保有变量,但是单引号则仅为一般字符;
必要时需要以跳脱字符『 \ 』来将特殊符号(如 Enter, $, \, 空格符, ' 等)变成一般符号;
若该变量为扩增变量内容时,则需以双引号及 $变量名称如:『 "$PATH":/home』继续累加内容;
若该变量需要在其它子程序执行,则需要以 export 来使变量可以动作,如『export PATH』;
通常大写字符为系统预设变量,自行设定变量可以使用小写字符,方便判断(纯粹依照使用者兴趣与嗜好);
取消变量的方法为:『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 –d “ “ –f 1 | wc -l
如何设定一个变量名称为 name ,使其显示为『 VBird’s testing variable. 』?
name=VBird\’s\ testing\ variable.
name=”VBird’s testing variables.”
echo $name
请问 bash shell 的环境变量与自己的个人变量可以登入便设定的档案?
Open Linux:
/etc/profile, /etc/config.d/shells/bashrc, ~/.profile, ~/.bashrc,
Red Hat :
/etc/profile, ~/.bash_profile, ~/.bashrc,
如何查询曾经操作过的指令?如何执行第 26 个操作过的指令?上一个操作过的指令?
history
!26
!!
如何设定命令别名?使 lm 与 ls –al|more 功能相同
alias lm=’ls –al|more’
如何将 /bin 的所有信息输出到 /home/testing.dat 这个档案?
ls –al /bin 1> /home/testing.dat
在上一题中,若还要输出到屏幕上,要如何是好?
ls –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 –d” “ –f1 | sort | uniq
万用字符当中, *, ?, [] 各代表什么意思?
* 代表 0 到无限多个字符;
? 代表一个任意字符;
[] 代表一个字符,这个字符在某一个限制范围内。
七.1、SHELL SCRIPTS
什么是 shell scripts ? scripts 有何功用?
简单的说, scripts 就是一个内部含有多个或复杂的 command 的纯文本文件;
scripts 可以进行 program 的功能,但速度上较 C 慢了点!
要撰写可以经由键盘输入的 scripts 时,常使用到的指令?
read variable
在 shell script 当中,在控制式中, && 与 || 代表什么意思?
分别代表『和(同时成立)』及『或(仅其一成立就成立)』的意思!
在使用循环的时候,常使用到的控制式为哪三个?
for, while, until
执行 scripts 的方法有哪两种?
使用 sh script 或
以 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 代表什么?
$0 代表 scripts 的檔名;
$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 使用者的账号、密码与群组的名称档案放在哪里?
/etc/passwd
/etc/shadow
/etc/group
建立新使用者的预设家目录内容在那个目录中?
/etc/skel
建立一个新使用者时,其使用到的相关档案有哪些?
/etc/default/useradd,
/etc/login.defs,
/etc/skel/
/etc/passwd,
/etc/shadow
root 的 UID 与 GID 各为何?
皆为 0
如何让一个使用者不能登入主机,但是可以收信?
将 /etc/passwd 最后一栏代表 shell 的名称改为 /bin/false
试说明一个使用者登入系统的流程?
登入:使用 /bin/login 程序,并输入 ID 与 passwd ;
确认密码:搜寻 /etc/passwd, /etc/shadow 确认密码!并取得使用者的相关讯息。
查核 pam 登入模块:这个需要视主机的设定而定!
取得并执行 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?
先看看 /etc/skel 当中,预设要给 user 的家目录内容;
新增 group : groupadd groupname
新增 user :useradd -m -g groupname username
给予密码: passwd username
试说明 /etc/passwd 这个档案的内容与格式:
账号; 密码; UID; GID; 说明的内容; 家目录; SHELL
使用 id 这个指令时,可以显示什么讯息数据?
UID, GID 跟 GROUP
可以控制使用者使用主机资源的预设档案在哪里?
/etc/security/limits.conf
基本的压缩指令有哪些?
tar, gzip, compress
九、开机程序
试说明开机流程:
BIOS
MBR ( boot loader )
Loader ( lilo or grub, stage 1 and stage 2 )
Kernel loader ( /boot/vmlinuz )
init process ( 读取 /etc/inittab 取得 run-level )
开始执行 /etc/rc.d 内的 scripts
执行 /etc/modules.conf 内部的额外 kernel 模块
执行 /etc/rc.d/rc[1-6].d 的这些 run-level 内的 scripts !
执行 /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 –n [number] [command]
什么指令可以修改一个正在执行的程序之 nice 值?
top, renice
在例行性命令中,使用的两支 demane 是什么?
atd,
crond
使用 crontab 这个『指令』的时候,如何可以查看目前的工作与删除目前的工作?
编辑: crontab –e,
查看: crontab –l,
删除: crontab –r
常用的 kill 指令之 signal 当中, 1, 9, 15 代表什么?
1 重新读取一次 config file
9 强制删除此一执行程序
15 terminal结束的意思!
相关文章推荐
- Linux 面试基础问题 - 3
- linux基础问题(一)
- (转)JAVA路径问题及命令行编译运行基础(linux下)
- 解决 linux 基础问题
- linux基础(7)--win文件在linux下中文乱码&&串行问题--RHEL6.5
- linux mysql安装 远程连接 字符集设置 读写速度问题 基础问题
- linux常见基础问题
- Linux基础之CodeMan问题解决与技巧集锦:Linux中“Networking Disabled”问题(解决Ubuntu等OS无法上网)
- Linux基础之CodeMan问题解决与技巧集锦:Linux中PDF阅读乱码问题
- Linux环境下段错误的产生原因及调试方法小结 最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多、花费时间最长的问题就是
- Linux基础问题(三)
- linux 网络设置基础知识整理复习(一)碰到的各种问题
- Linux基础之Poechant问题解决与技巧集锦:Linux 查看文件里有多少行 wc命令
- linux开发基础问题答疑
- Linux基础管理——文本处理(小命令组合解决大问题)
- Linux基础之CodeMan问题解决与技巧集锦:Linux中“Networking Disabled”问题(解决Ubuntu等OS无法上网)
- JAVA路径问题及命令行编译运行基础(linux下)
- 11个Linux基础面试问题
- 零基础学习Linux(二)网页乱码问题
- 10个Linux基础面试问题与解答——part02