1、对于初学者的一个实践练习:在你的个人电脑上安装 Linux。阅读你所使用发行版的安装手册和/或《安装指南》,然后进行安装。
这是一个关于初学者安装 Linux 的实践指导,建议先阅读相关安装资料再进行安装操作。
2、这个发行版能在我的硬件上运行吗?
当不确定时可通过 http://www.tldp.org/HOWTO/Hardware-HOWTO/index.html 检查硬件兼容性。
每个 Linux 发行版都包含基本软件包且可按需构建,但要考虑其是否能在自己的硬件上运行,例如:
LinuxPPC 只能在苹果和其他 PowerPC 设备上运行,不能在普通 x86 架构 PC 上运行; Sun 硬件 的不同 CPU 需要不同版本的 Linux。
有些发行版针对特定处理器进行了优化,而通用 PC 的发行版通常经过良好测试和维护。
3、在安装 Linux 系统时,是要安装基本工作站、服务器,还是需要自己选择特定的软件包?
在安装 Linux 前需要考虑此问题,标准安装过程中用户可在不同基本设置间选择,如安装日常使用和开发所需所有软件包的 工作站 ,或可选择不同网络服务的 服务器 ;专家用户可在初始安装过程中选择所需的任意软件包组合。
4、这台计算机是网关/路由器/防火墙吗?(如果你需要思考这个问题,那它可能不是。)
若需要思考该问题,这台计算机可能不是网关、路由器或防火墙。
5、这台机器将以文本模式还是图形模式启动?
可使用命令 检查当前运行级别。若运行级别与
who -r 中的原始默认值不同,系统可能默认不以图形模式启动。可联系系统管理员或阅读
/etc/inittab 获取更多信息。
man init
6、判断当前是在文本模式还是图形模式下工作。请说明判断依据。
若整个屏幕为黑色,显示(多数情况下为白色)字符,且需在输入用户名后按回车键登录,看不到输入密码的指示及光标移动,那就是文本模式;
若有图形界面,可通过鼠标点击操作登录等,则是图形模式。
7、使用ls命令列出目录内容。-> 你看到了什么?-> 你认为这些是什么?-> 使用pwd命令进行检查。
使用 命令列出目录内容后,会看到当前工作目录下的文件和文件夹列表,如文件名为
ls 、
Albums 、
Radio 等的文件夹,以及名为
Singles 的文件等。这些是当前目录下的文件和文件夹。 使用
index.html 命令可以显示当前所在的工作目录,从而确认当前查看的是哪个目录下的内容。
pwd
8、输入cd命令,会发生什么?
若不带参数输入 命令,会回到用户的主目录;
cd
若带目录名参数输入 命令,会进入指定目录。
cd
若目录名较长,可利用 键补全目录名。
Tab
9、显示此目录的内容。
可以使用 命令来显示目录内容。例如,若要查看当前目录内容,直接在终端输入
ls ;若要查看指定目录(如
ls )的内容,可输入
Radio/ 。
ls Radio/
10、使用 –help 选项显示 cat 程序的帮助信息。使用输出行编号选项来统计 /etc/passwd 文件中列出的用户数量。
显示 程序帮助信息可使用命令
cat 。统计
cat --help 文件中列出的用户数量,可使用
/etc/passwd 命令,其中
cat -n /etc/passwd | wc -l 为输出行编号选项,
-n 用于统计行数。
wc -l
11、查看ls命令的手册页
在终端输入 命令即可查看
man ls 命令的手册页。若使用KDE桌面环境下的Konqueror文件管理器,在地址栏输入
ls 也能查看
man:ls 命令的手册页。
ls
12、读取关于passwd命令的Info页面
可以使用 命令来读取关于
info 命令的 Info 页面,在终端窗口中输入:
passwd
info passwd
即可开始。使用时,可用箭头键浏览文本,将光标移至以星号 开头、包含所需信息关键词的行后按 Enter ;
*
– 按 P 切换至上一个主题;
– 按 N 切换至下一个主题;
– 按 空格键 可翻页;
– 按 Q 退出。
13、尝试使用 man 或 info 命令查询 cd 命令的信息。那么如何获取更多关于 cd 命令的信息呢?
可以使用 命令查看
man 命令的手册页,如:
cd
man cd
也可以使用 命令查看
info 命令的 Info 页面,如:
cd
info cd
若 命令有多个手册页,可指定章节查看,如:
cd
man 章节号 cd
若想依次查看所有手册页,可使用:
man -a cd
14、读取ls –help的信息并进行尝试。
用于显示帮助信息并退出。可以在终端输入该命令查看帮助信息,之后可尝试使用
ls --help 命令不同参数来列出文件和目录,如
ls 以长格式显示文件和目录信息。
ls -l
15、通过输入例如
export PATH=blah 来导出一个没有实际意义的路径,然后尝试使用
ls 命令列出目录内容,会出现什么情况,如何恢复正常?
export PATH=blah
ls
当执行 时,会将
export PATH=blah 环境变量设置为
PATH 。
blah
变量用于指定系统查找可执行文件的目录列表,设置为
PATH 后,系统将无法在常规的可执行文件目录中查找命令。
blah
此时若尝试列出目录内容,例如使用 命令,系统可能会提示找不到该命令,因为
ls 所在的常规目录已不在
ls 中。
PATH
要恢复正常,可将 重新设置为合理的值,如:
PATH
export PATH=/usr/bin:/usr/sbin:/bin:/sbin
16、进入 /var 目录下的 tmp 目录。
可以使用命令 进入该目录。
cd /var/tmp
17、现在仅用一个命令进入 /usr 下的 share 目录,再进入 doc 目录,你当前的工作目录是什么?
/usr/share/doc
18、切换到 /proc 目录。
使用命令 cd /proc 可切换到 /proc 目录。
19、当前使用了多少内存(RAM)?
当前使用了239412K的内存(RAM)
20、系统已经运行了多少小时?
系统已经运行了 12 天 23 小时 29 分钟,换算成小时约为 311.48 小时。
21、切换到 /etc 目录
在命令行中输入“cd /etc”即可切换到 /etc 目录。
22、切换到 /usr/share/doc 目录。
可以使用命令“cd /usr/share/doc”来切换到该目录。
23、在你的主目录下创建一个新目录。
可使用 命令,如
mkdir ,其中
mkdir ~/new_directory 代表主目录,
~/ 是新目录的名称,可按需修改。
new_directory
24、将所有XPM文件从/usr/share/pixmaps复制到新目录。XPM是什么意思?
XPM(X PixMap)是一种基于文本的图像文件格式,主要用于 X Window 系统中。它使用 ASCII 字符描述图像的像素信息,适合简单图形和图标。
25、切换到你的主目录。创建一个新目录,并将 /etc 目录下的所有文件复制到该新目录中。确保你也要复制 /etc 子目录中的文件和目录!(递归复制)
可按以下步骤操作:
使用 命令切换到主目录; 使用
cd ~ 命令创建新目录,其中
mkdir new_directory 为新目录名称; 使用
new_directory 命令递归复制 /etc 目录下的所有文件和子目录到新目录。
cp -r /etc/* new_directory
26、切换到新目录,创建一个用于存放以大写字母开头的文件的目录和一个用于存放以小写字母开头的文件的目录。将所有文件移动到相应的目录中。尽量使用最少的命令。
以下是实现该需求所需的步骤和命令:
切换到新目录:
bash cd 新目录路径
创建大写字母开头文件的目录和小写字母开头文件的目录:
bash mkdir UpperCase LowerCase
移动以大写字母开头的文件到 目录:
UpperCase
bash mv [A-Z]* UpperCase/
移动以小写字母开头的文件到 目录:
LowerCase
bash mv [a-z]* LowerCase/
注意 :将 替换为实际的新目录路径。
新目录路径
27、移除剩余的文件,如何操作?
可以使用 命令移除单个文件,使用
rm 移除空目录。若要移除非空目录及其所有子目录,可使用
rmdir 的相关选项,但这些选项比较危险,需查看 Info 页面了解。
rm
为避免误删,可使用 选项激活
-i 、
rm 和
cp 命令的交互式行为,系统会要求确认操作。
mv
28、使用单个命令删除目录及其所有内容。
可以使用 命令的特定选项来删除非空目录及其所有子目录,但这是比较危险的操作。
rm
示例命令:
rm -ri archive/
(使用 选项会在操作时要求确认)
-i
29、在你的主目录下创建一个指向 /var/tmp 的符号链接。检查它是否真的有效。
可以使用以下命令创建指向 的符号链接:
/var/tmp
ln -s /var/tmp ~/var_tmp
创建完成后,可通过 命令查看链接是否正确创建,若显示类似:
ls -l
lrwxrwxrwx 1 username username 8 Mar 10 10:00 var_tmp -> /var/tmp
则说明链接创建成功。要检查其是否有效,可尝试在 目录下创建一个临时文件,若能正常创建,则说明链接有效。
~/var_tmp
30、在你的主目录中创建另一个指向该链接的符号链接。检查其是否有效。删除第一个链接并列出目录内容。第二个链接会怎样?
删除第一个链接后,第二个符号链接会变为无效链接,因为它指向的第一个链接已不存在。当尝试访问第二个链接时,系统将无法找到其指向的目标。
31、将 /etc 的所有权更改为你自己的用户和组。
可以使用 命令来更改文件或目录的用户和组所有权。若要将
chown 的所有权更改为自己的用户和组,可使用以下命令:
/etc
chown 你的用户名:你的用户组名 /etc
不过需要注意, 是系统重要目录,随意更改其所有权可能会导致系统出现严重问题。并且在大多数系统中,非特权用户使用
/etc 命令是受限的,只有系统管理员才能执行此操作。
chown
32、更改 ~/.bashrc 文件的权限,使得只有你和你的主组可以读取它。
可以使用命令 来实现,此命令能让文件只有用户和所属主组有读取权限。
chmod 660 ~/.bashrc
33、运行 ps 命令。
ps 命令用于报告进程状态,在终端输入“ps”并回车即可运行该命令。
34、运行命令 find /。它对系统负载有什么影响?如何停止此命令?
运行 会对系统负载产生较大影响,因为该命令会递归搜索整个文件系统,可能需要遍历大量文件和目录。在最坏情况下,会多次调用相关操作,给系统带来相当大的负载。
find /
可使用 Ctrl + C 组合键停止该命令。
35、在图形模式下,先在前台启动 xclock 程序,然后让它在后台运行,最后使用 kill 命令停止该程序。
在图形模式的终端中输入 启动程序,此时它在前台运行;按
xclock 将程序暂停,接着输入
Ctrl + Z 让程序在后台继续运行;使用
bg 命令找到
ps 程序的进程 ID,再用
xclock 命令(如
kill 或
kill -15 进程 ID )停止该程序。
kill -9 进程 ID
36、直接在后台运行xcalc程序,以便释放发出命令的终端的提示符。
在命令后添加后缀符号“&”即可将命令放入后台执行,释放终端,因此运行“xcalc &”可实现需求。
37、执行dmesg命令,它会显示什么信息?
命令用于显示内核环形缓冲区中的信息,这些信息通常包含系统启动时的硬件检测信息、内核消息、设备驱动程序的加载信息等。
dmesg
38、你的系统已经运行了多长时间?
可以使用uptime命令来查看系统已经运行的时长。
39、如何更改系统运行级别?从默认运行级别切换到运行级别 1,反之亦然。
最好使用 命令来切换运行级别。若要从默认运行级别切换到运行级别 1,可在终端输入
telinit ;若要从运行级别 1 切换回默认运行级别,可先查看默认运行级别(一般通过查看
telinit 1 文件或使用相关命令如
/etc/inittab ),假设默认运行级别为 5,可输入
systemctl get-default 。
telinit 5
40、系统启动时当前加载的是哪个内核?
从配置文件看,默认启动的内核是 Red Hat Linux new (2.4.9-31) ,对应的内核文件为 。
/vmlinuz-2.4.9-31
但无法确定实际当前加载的内核,若要确定,需使用命令,如:
uname -r
41、使用
sleep 命令创建一个提醒,提示你的意大利面将在十分钟后煮好。
sleep
可以使用以下命令:
(sleep 600; echo "Pasta is ready.") &
其中 是因为十分钟等于 600 秒,该命令会在后台等待十分钟后输出提醒信息。
600
42、创建一个 at 任务,在半小时内将你主目录下的所有文件复制到 /var/tmp。你可能需要在 /var/tmp 中创建一个子目录。
以下是完成该任务的步骤:
在 中创建子目录,例如:
/var/tmp
bash mkdir /var/tmp/home_backup
创建 任务,在半小时后执行复制操作:
at
bash echo 'cp -r ~/* /var/tmp/home_backup' | at now + 30 minutes
43、创建一个 cron 任务,在每周一至周五的午餐时间执行该任务。
首先确定午餐时间,假设为中午 12 点。使用 命令编辑 crontab 文件,然后添加类似如下的行:
crontab -e
0 12 * * 1-5 <要执行的任务命令>
例如要执行备份脚本 ,则添加:
/home/user/backup.sh
0 12 * * 1-5 /home/user/backup.sh
编辑完成后保存退出,系统会提示新的 crontab 已安装。
44、对长格式目录列表的输出使用 cut 命令,以仅显示文件权限。然后将此输出通过管道传递给 sort 和 uniq 命令,以过滤掉重复的行。最后使用 wc 命令统计该目录中不同权限类型的数量。
实现此功能的命令组合示例为:
ls -l | cut -d' ' -f1 | sort | uniq | wc -l
其中:
用于长格式列出目录内容;
ls -l 用于从输出中提取权限信息;
cut -d' ' -f1 对权限信息排序;
sort 去除重复行;
uniq 统计行数,得到不同权限类型的数量。
wc -l
45、将
date 命令的输出放入一个文件,再将
ls 命令的输出追加到该文件,然后将此文件发送到本地邮箱(只需指定用户名,无需指定<@域名>)。使用Bash时,操作成功会看到新邮件通知。
date
ls
可以按以下步骤操作:
使用 命令并将输出重定向到一个文件,如
date ; 使用
date > file.txt 命令并将输出追加到该文件,如
ls ; 将文件内容发送到本地邮箱,如
ls >> file.txt ,其中
cat file.txt | mail username 为本地邮箱用户名。
username
46、以非特权用户身份执行以下命令。确定每个命令的标准输入、标准输出和标准错误。命令包括:cat nonexistentfile;file /sbin/ifconfig;grep root /etc/passwd /etc/nofiles > grepresults;/etc/init.d/sshd start > /var/tmp/output;/etc/init.d/crond start > /var/tmp/output 2>&1;现在再次执行这些命令来检查结果,将标准输出重定向到文件 /var/tmp/output,将标准错误重定向到文件 /var/tmp/error。
以下是各命令标准输入、输出和错误的分析及后续检查操作说明:
cat nonexistentfile
– 标准输入 :无(通常期望是文件)
– 标准输出 :无(因文件不存在)
– 标准错误 :提示文件不存在
file /sbin/ifconfig
– 标准输入 :无
– 标准输出 :显示 文件的类型信息
/sbin/ifconfig
– 标准错误 :无(若文件存在)
grep root /etc/passwd /etc/nofiles > grepresults
– 标准输入 :无
– 标准输出 :将包含 ‘root’ 的行写入 文件
grepresults
– 标准错误 :提示 文件可能不存在
/etc/nofiles
/etc/init.d/sshd start > /var/tmp/output
– 标准输入 :无
– 标准输出 :将启动 sshd 服务的信息写入 文件
/var/tmp/output
– 标准错误 :无(若启动成功)
/etc/init.d/crond start > /var/tmp/output 2>&1
– 标准输入 :无
– 标准输出 :启动信息与错误信息均写入 文件
/var/tmp/output
– 标准错误 :同上
检查结果时,再次执行这些命令并按要求重定向 :
cat nonexistentfile > /var/tmp/output 2> /var/tmp/error
file /sbin/ifconfig > /var/tmp/output 2> /var/tmp/error
grep root /etc/passwd /etc/nofiles > /var/tmp/output 2> /var/tmp/error
/etc/init.d/sshd start > /var/tmp/output 2> /var/tmp/error
/etc/init.d/crond start > /var/tmp/output 2> /var/tmp/error
47、你的主目录中有多少个隐藏文件?
主目录中包含所有以点开头的目录和文件时共有185个项目,从 命令显示的内容可知可见的目录和文件有20个,所以隐藏文件数量为165个。
ls
48、请简述两种学习文本编辑教程的方法。
以下是调整为 Markdown 格式的文本内容:
在终端输入 启动 Vim 教程; 启动 Emacs 后按
vimtutor 和
Ctrl+H 调用 Emacs 教程。
T
49、编写一个脚本,使其能输出类似“hello, world.”的内容。为其赋予适当权限以便运行,并测试该脚本。
以下是完成该任务的步骤:
编写脚本 :创建一个名为 的文件,内容如下:
hello.sh
“`bash
!/bin/bash
echo “Hello, world.”
“`
赋予权限 :使用 命令为脚本添加可执行权限。
chmod +x hello.sh
测试脚本 :在终端中输入 来运行脚本,若输出 “Hello, world.” 则测试成功。
./hello.sh
50、在你的主目录中创建一个目录,并将脚本移动到新目录。将这个新目录永久添加到你的搜索路径中。测试脚本可以在不指定其实际位置的情况下执行。
以下是完成该任务的步骤:
创建目录 :在主目录中创建新目录,使用命令
bash mkdir ~/new_directory
移动脚本 :将脚本移动到新目录,使用命令
bash mv /path/to/your/script.sh ~/new_directory
永久添加目录到搜索路径 :编辑 shell 配置文件(如 或
.bashrc ),添加
.bash_profile
bash export PATH=$PATH:~/new_directory
这一行,保存文件后执行
bash source ~/.bashrc
使更改生效。
测试脚本执行 :在任何目录下直接输入脚本名(如 )来执行脚本,若能正常执行,则说明配置成功。
script.sh
51、在你的主目录中创建子目录来存储各种文件,例如创建一个名为 music 的目录来存放音频文件,创建一个名为 documents 的目录来存放你的笔记等等,并使用这些目录。
可以使用 命令在主目录创建子目录,例如创建
mkdir 目录可使用命令:
music
mkdir music
创建 目录可使用命令:
documents
mkdir documents
创建完成后,就可以将相应类型的文件移动到这些目录中。
若要创建多层子目录,可使用 选项,如:
-p
mkdir -p music/rock
该命令会创建 目录下的
music 子目录。
rock
52、创建一个名为 lll 的别名,实际执行 ls -la 命令。
可以使用 命令来创建别名,具体操作是在终端输入
alias
alias lll='ls -la'
并回车。
53、挂载一张数据光盘,然后浏览其内容,不需要使用时将其卸载,请说明具体操作步骤。
挂载光盘通常有以下几种方式:
大多数系统在插入光盘时,由于自动挂载守护进程在开机时已启动,会自动挂载。 若光盘未自动挂载,可在终端窗口中使用 命令,例如:
mount
有些系统只有 root 用户能挂载可移动介质,这取决于系统配置。 对于自动化挂载,光盘驱动器通常在
bash mount /dev/cdrom /mnt/cdrom 中有条目,例如:
/etc/fstab
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0
表明系统能理解 命令,
mount /mnt/cdrom 选项意味着该系统在开机时不会自动挂载光盘。 若文件管理器未自动挂载,还可右键点击桌面上的光盘图标来挂载。
noauto
检查是否挂载成功可使用无参数的 命令,如:
mount
mount | grep cdrom
挂载后可进入挂载点目录(通常为 )浏览光盘内容,使用处理文件和目录的命令与处理硬盘文件的命令相同。
/mnt/cdrom
卸载光盘时,需确保光盘的文件系统未被使用,可通过输入不带参数的 命令回到主目录,然后使用以下命令卸载:
cd
umount /mnt/cdrom
或
eject cdrom
若遇到“设备忙”的提示,需检查所有 shell 会话是否已离开光盘文件系统,且无图形应用程序再使用它。不确定时可使用 工具查找仍在使用光盘资源的进程。
lsof
54、有一个脚本在复制文件时会对目录文件产生错误,需要修改脚本,使其仅选择普通文件进行复制,使用find进行筛选。在运行脚本前,需要使其可执行。
原脚本在复制时未区分普通文件和目录,会对目录文件操作产生错误。可使用 命令筛选出普通文件,修改后的脚本如下:
find
#!/bin/bash
# make copies of all plain files in a directory
LIST=$(find . -type f)
for i in $LIST; do
ORIG=$i
DEST=$i.old
cp $ORIG $DEST
echo "copied $i"
done
将上述脚本保存为文件(如 ),然后使用
makebackupfiles.sh 命令使其可执行,最后运行该脚本即可。
chmod +x makebackupfiles.sh
55、Try all the mouse buttons in different regions (terminal, background, task bar).
在不同区域(终端、背景、任务栏)尝试使用所有鼠标按键。
56、在任务栏添加一个小程序,如负载监视器。
可以安装一些便捷图标到任务栏,如磁盘、内存和负载监视器。
57、Apply a different theme.
应用不同的主题。
58、启用松散焦点有什么作用?请简要说明。
启用松散焦点后,只需将鼠标移到窗口上即可激活该窗口,无需点击窗口就能使用它。
59、注销并选择不同的会话类型,例如如果你之前使用的是 GNOME,现在选择 KDE。重复之前的步骤。
此句描述的是在图形化环境中的操作步骤:
先注销当前会话; 然后选择与之前不同的会话类型(如从 GNOME 切换到 KDE); 之后再次重复之前在图形化环境中尝试的各项操作,如:
– 试用鼠标按钮
– 探索菜单
– 自定义终端窗口等。
60、使用图形用户界面打印测试页。
可在拥有打印机并具备root账户访问权限的情况下,尝试通过系统上的图形用户界面来打印测试页。
61、使用 lp 命令打印测试页。
在命令行使用 命令打印文件,格式为:
lp
lp file(s)
若要打印测试页,可将测试页文件作为参数传入该命令,例如:
lp test_page_file
该命令可以从管道读取内容,也可以使用以下方式打印命令输出:
command | lp
此外,该命令有很多选项可用于调整页面布局、副本数量、打印机选择等,可查看手册页获取完整信息。
62、在应用程序(如Mozilla或OpenOffice)中,是否可以通过从菜单中选择“文件”->“打印”来进行打印?
这种描述是正确的,在应用程序里,通常可从菜单选“打印”选项来打印文件。
63、使用 tar 命令在 /var/tmp 中为你的主目录创建一个备份副本。然后使用 gzip 或 bzip2 进一步压缩该文件。要制作一个干净的 tar 文件,即解包时不会造成混乱的文件。
可以使用以下命令完成操作:
首先使用 命令创建主目录的备份副本到
tar :
/var/tmp
bash tar cvpf /var/tmp/home_backup.tar ~/
然后使用 压缩:
gzip
bash gzip /var/tmp/home_backup.tar
或者使用 压缩:
bzip2
bash bzip2 /var/tmp/home_backup.tar
为确保解包时不会混乱,在使用 创建文件时可指定正确的路径和选项。
tar