些基础的 Linux 问题与讨论:


三、简易 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] + [b]
  • 如何到本档案的最后一行、第一行;本行的第一个字符、最后一个字符?
    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

六、档案与目录管理
  • 请问底下的目录与主要放置什么数据?
    • /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
  • 在设定变量中,主要的规则为何?
    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 –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
  • 试说明一个使用者登入系统的流程?
    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 –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结束的意思!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值