table {
border-collapse: collapse;
width: 100%;
margin-bottom: 1rem;
}
th, td {
border: 1px solid #ddd;
padding: 8px;
text-align: left;
}
th {
background-color: #f2f2f2;
}
tr:nth-child(even) {
background-color: #f9f9f9;
}
pre {
background-color: #f8f8f8;
padding: 15px;
border-radius: 4px;
overflow-x: auto;
}
1、使用 cal 命令确定你出生在星期几。
在命令行中输入
cal 出生月份 出生年份
并按回车键,例如若出生于1990年5月,就输入
cal 5 1990
,然后从显示的日历中找到出生日对应的星期。
2、使用 cal 命令确定 2006 年到 2015 年之间哪些年份是闰年。
可在命令行依次输入以下命令并按回车键:
cal -j 2006
cal -j 2007
cal -j 2008
cal -j 2009
cal -j 2010
cal -j 2011
cal -j 2012
cal -j 2013
cal -j 2014
cal -j 2015
查看输出的日历中最后一天的儒略日为 366 的年份,这些年份即为闰年。
3、清屏并查看在线手册,以确定如何以协调世界时(UTC)显示今天的日期。
清屏可使用
clear
命令;
查看在线手册使用
man
命令;
以 UTC 显示今天日期可在命令行输入
date -u
并按回车键。
4、显示当前的协调世界时(UTC)。
在命令行中输入“date -u”,然后按回车键。
5、使用 who 命令确定当前登录用户的空闲时间,并将该信息输出到一个名为 users_info 的文件中。接下来,查看你创建的文件。
首先使用命令
who -u > users_info
将当前登录用户的空闲时间信息输出到
users_info
文件中,然后可以使用
less users_info
或
more users_info
等命令查看该文件内容。
6、仅使用一个命令行序列依次查看文件
month
和
users_info
。
month
users_info
可以使用
cat
命令,命令为:
cat month users_info
。
7、使用 less 命令和 more 命令依次查看文件 month 和 users_info。
## 使用 `less` 命令依次查看:
在命令提示符后输入以下命令并按回车键:
less month users_info
操作方式如下:
- 按 **向下箭头键** 逐行向前滚动
- 按 **向上箭头键** 逐行向后滚动
- 按 **Pg Dn(或 Page Down)**、**空格键**、**z** 或 **f** 向前滚动一屏
- 按 **Pg Up(或 Page Up)** 或 **b** 返回上一屏
- 输入 **q** 结束显示
## 使用 `more` 命令依次查看:
在命令提示符后输入以下命令并按回车键:
more month users_info
操作方式如下:
- 按 **空格键** 滚动到下一屏
- 输入 **q** 结束显示
8、创建一个名为 favorite_foods 的文件,并列出你喜欢的食物,输入五到六种或更多。在每种喜欢的食物后按回车键,使其单独占一行(确保在最后一种食物后也按回车键)。文件创建完成后,添加另外两种你喜欢但不在列表中的食物(在最后一种食物后按回车键)。查看食物列表,确保你添加的两项出现在列表末尾。
可使用以下命令完成操作:
创建文件并输入五到六种或更多喜欢的食物:
bash
touch favorite_foods; vi favorite_foods
在 vi 编辑器中输入食物,每行一个,输入完成后按
Esc
键,输入
:wq
保存并退出。
添加另外两种食物:
bash
echo -e '食物1
食物2' >> favorite_foods
将 ‘食物1’ 和 ‘食物2’ 替换为实际食物名称。
查看列表:
bash
cat favorite_foods
9、使用一个命令行序列运行 who -uH 和 w 命令,以比较结果。
在命令行中输入 who -uH ; w 来运行这两个命令并比较结果。
10、确定你正在使用的计算机上一次启动的时间。
可以使用
uptime
命令,该命令会显示当前时间、系统自上次启动后运行的时长等信息,通过这些信息能推断出计算机上一次启动的时间。
11、使用命令行历史功能确定你最近输入的两条命令。
可通过按两次上箭头键,第一次召回最近使用的命令,第二次召回第二近使用的命令。
12、使用vi编辑器:创建一个包含四行的文档,每行都包含“today”这个词。仅使用一个命令复制前四行。保存文件并退出vi。重新打开文档,仅将前四行中的“today”更改为“yesterday”。
以下为操作步骤:
启动vi编辑器,创建新文件:
vi filename
(filename可替换为实际文件名);
按
i
进入插入模式,输入四行内容,每行包含“today”;
按
Esc
进入命令模式,使用命令
yy4p
复制前四行;
使用命令
:wq
保存文件并退出vi;
重新打开文件:
vi filename
;
按
Esc
进入命令模式,使用命令
1,4s/today/yesterday/g
将前四行的“today”替换为“yesterday”;
使用命令
:wq
保存修改并退出。
13、使用vi编辑器:创建一个名为first.file的文档,并在其中输入几行文本,保存该文档。创建第二个名为second.file的文档,并在其中输入几行文本,保存该文档。通过合并前两个文件的文本创建第三个名为third.file的文档,保存第三个文件并退出编辑器。输入“vi third.file”并按回车键,确保third.file包含前两个文件的文本。
以下是操作步骤:
创建并编辑
first.file
:
– 在命令行输入
vi first.file
并按回车键,进入 vi 编辑器。
– 按
i
进入插入模式,输入几行文本。
– 按
Esc
键退出插入模式,输入
:wq
并按回车键保存并退出。
创建并编辑
second.file
:
– 在命令行输入
vi second.file
并按回车键,进入 vi 编辑器。
– 按
i
进入插入模式,输入几行文本。
– 按
Esc
键退出插入模式,输入
:wq
并按回车键保存并退出。
创建并编辑
third.file
:
– 在命令行输入
vi third.file
并按回车键,进入 vi 编辑器。
– 按
i
进入插入模式,输入几行文本。
– 按
Esc
键确保处于命令模式,输入
:r first.file
并按回车键,将
first.file
的内容插入到当前文件。
– 再次按
Esc
键确保处于命令模式,输入
:r second.file
并按回车键,将
second.file
的内容插入到当前文件。
– 按
Esc
键退出插入模式,输入
:wq
并按回车键保存并退出。
验证
third.file
:
– 在命令行输入
vi third.file
并按回车键,打开
third.file
,检查文件内容是否包含
first.file
和
second.file
的文本。
14、使用Emacs编辑器,创建一个名为sonnet的新文件,该文件包含莎士比亚第80首十四行诗的前四行:O, how I faint when I of you do write, Knowing a better spirit doth use your name, And in the praise thereof spends all his might, To make me tongue – tied, speaking of your fame!
使用 Emacs 编辑器创建文件并输入内容
使用 Emacs 编辑器创建名为
sonnet
的新文件,并将莎士比亚第 80 首十四行诗的前四行内容输入到该文件中。具体操作步骤如下:
打开 Emacs 编辑器。
创建新文件
sonnet
。
逐行输入指定的诗句内容。
15、使用命令删除当前单词。
在vi编辑器中,可使用dw命令删除当前单词。若光标在单词中间,则从光标位置删除到单词末尾。
16、将光标移动到同一行单词“spirit”的第一个字符处。
以下是调整为 Markdown 格式的文本内容:
可使用
vi
编辑器的光标移动命令进行操作,如先通过方向键或相关命令移动到对应行,再使用
b
键向后移动单词,直到光标位于 “spirit” 的第一个字符处;也可使用
W
键向前移动单词辅助定位。
在
vi
编辑器命令模式下:
b
键可向后移动一个单词
W
键可向前移动一个单词
17、使用将单词字母大写的命令。
将光标移动到要大写的单词的第一个字符处,然后使用命令
Alt+u
可以将从光标位置到该单词末尾的所有字母大写。
18、将光标移动到同一行单词 “your” 中的字母 “y” 下方。
使用相应按键组合将光标移动到指定位置,如使用方向键或h、l、k、j等字母键进行移动。
19、在文本编辑中,使用什么命令可以删除从光标到行尾的文本?
使用命令 d$ 可删除从光标到行尾的文本。
20、将光标移动到第一行的开头。
按Esc确保处于命令模式,然后输入1G。
21、使用在光标位置设置标记的命令是什么?
Ctrl+@
22、将光标移动到第一行的末尾。使用标记该特定光标位置的命令。
可以先使用
1G
移动到第一行开头,再使用
"$"
命令将光标移动到第一行末尾,
$
可标记当前行末尾这个特定光标位置。
23、将光标移动到第一行的第一个字符处。
在命令模式下按Esc键,然后输入1G。
24、将光标移动到文件末尾。使用恢复已删除文本的命令。文件的第一行文本现在位于文件末尾。保存你的工作,然后关闭 Emacs 编辑器。
按
Alt+>
(使用 Shift 键输入
>
)将光标移动到文件末尾;
使用
Ctrl+x
,
u
恢复已删除文本;
可通过以下方式保存工作:使用文件菜单、使用图标将当前缓冲区保存到文件或按
Ctrl+x
,
Ctrl+s
;
可通过以下方式关闭 Emacs 编辑器:使用文件菜单中的“退出 Emacs”选项或输入
Ctrl+x
,
Ctrl+c
。
25、创建一个包含12行文本的文件。删除文本中的第二个单词。
使用vi编辑器完成操作的步骤
可使用vi编辑器完成此操作,步骤如下:
创建一个包含12行文本的文件,可使用命令
touch filename
(filename为文件名)创建文件,然后使用
vi filename
打开文件并输入12行文本。
删除第二个单词,可使用
dw
命令。先移动光标到第二个单词的起始位置,然后输入
dw
即可删除该单词。
26、保存文件,但不退出vi编辑器。
如有必要,按Esc键进入命令模式。2. 输入 :w 然后按回车键保存更改。
27、输入能使行号显示的命令。
:set number
28、删除第9行和第10行。
在vi编辑器中,输入 :9,10d 并按回车键。
29、使用练习文件,练习复制和粘贴文本以重新排列行的顺序。
在Emacs中,首先要标记要操作的文本。使用命令键时,导航到要复制的文本开头并按
Ctrl + 空格键
,接着导航到要包含的文本末尾,按
Alt + w
复制文本;若要剪切文本则按
Ctrl + w
。之后,将光标移动到想要放置复制或剪切文本的位置,按
Ctrl + y
(即粘贴命令)。
30、向文件中添加文本,并练习使用光标移动命令。
可按照以下步骤操作:
按
Esc
确保处于命令模式;
按箭头键每次向上、右、左、下移动一个字符;
输入
H
将光标移到屏幕左上角;
输入
L
将光标移到屏幕最后一行;
使用上箭头键到倒数第三行开头(以“Lines”开头),使用右箭头键到该行末尾;
输入
G
到最后一行开头,也可在
G
前加数字指定要移动到的行;
输入
2G
移动到第二行开头;
输入
w
向前移动一个单词;
输入
b
向后移动一个单词。
31、将单词“form”的所有出现之处替换为“create”。
首先进入命令模式(按
Esc
),输入
:1,$s/form/create/g
,然后按回车键。此命令表示进入 ex 模式(
:
),从第一行(
1
)到文件末尾(
$
),搜索 “form”,并将其在每行出现的所有位置替换为 “create”(
s/form/create/
)(
g
表示全局替换)。
32、选择五个单词并将它们转换为全大写形式。
可以选取如
project
、
grep
、
tr
、
source
、
record
,转换为大写后为
PROJECT
、
GREP
、
TR
、
SOURCE
、
RECORD
。
33、删除一行文本,然后撤销该删除操作。
在Emacs编辑器中,可使用箭头键将光标置于要删除的行,按
Ctrl + k
删除当前行,再按
Ctrl + x
,然后输入
u
撤销上一次更改;在 vi 编辑器中,若使用
dd
删除当前行,可通过输入
u
来恢复文本。
34、保存文件并退出 Emacs。
可以使用文件菜单中的“退出 Emacs”选项,或者输入 Ctrl+x, Ctrl+c。
35、如何使用重定向运算符创建一个名为 history 的文件?
在命令提示符后输入:
> history
并按回车键,以此创建一个名为
history
的空文件。
36、等待一分钟或更长时间,然后更改你刚刚创建的 history 文件的时间戳。
可以使用
touch
命令来更改文件的时间戳,在等待一分钟或更久后,在命令行输入
touch history
并按回车键,即可更新
history
文件的访问和修改日期及时间戳为系统当前的日期和时间。
37、假设你当前工作目录下有一个名为 datafiles 的子目录,且当前目录中有两个名为 data1 和 data2 的文件。你可以使用什么命令将 data1 和 data2 文件从当前工作目录复制到 datafiles 目录?
要将
data1
和
data2
文件从当前工作目录复制到
datafiles
目录,可以使用
cp
命令,具体命令为:
cp data1 data2 datafiles
38、假设你有四个文件:accounts1、accounts2、accounts3 和 accounts4。写出使用 paste 命令组合这些文件,并使用“/”字符分隔每行字段,将结果显示在屏幕上的命令。
paste -d / accounts1 accounts2 accounts3 accounts4
39、假设你有10个子目录,你想定位所有以“.c”为扩展名的文件。你可以使用什么命令在这10个子目录中搜索这些文件?
可以使用命令
find [pathname] -name '*.c'
,其中
[pathname]
是包含这10个子目录的目录路径名。
40、创建脚本文件后,运行它的后续步骤是什么?
接下来,使用带有
x
参数的
chmod
命令使脚本文件可执行:
chmod +x myscript
最后,使用
./
命令运行脚本,例如输入以下命令并按回车键来运行脚本文件
myscript
:
./myscript
41、创建子目录mytest。将一个文件复制到新的子目录中。使用一条命令删除mytest子目录及其内容。
- 创建子目录:`mkdir mytest`
- 复制文件到子目录(假设文件名为`file.txt`):`cp file.txt mytest/`
- 删除子目录及其内容:`rm -r mytest`
42、使用 cut 命令创建一个名为 descriptions 的文件,该文件仅包含 products 文件中的产品描述,假设 products 文件中产品描述所在字段为第二个字段,字段分隔符为冒号。
可以使用命令
cut -f2 -d: products > descriptions
来完成此操作。其中:
-f2
表示提取第二个字段
-d:
表示字段分隔符为冒号
products
是源文件
> descriptions
表示将提取的内容输出到
descriptions
文件中
43、当你使用移动命令时,你担心覆盖另一个目录中已有的或较新的文件。在这种情况下你有哪些选择?
使用
mv
命令时,可选择以下选项:
-i
选项:在覆盖同名文件前显示警告提示。
-u
选项:仅在源文件比目标文件新时才覆盖目标文件。
44、使用一个命令来查找 /etc 目录中使用了“host”这个单词的实例。
可以使用
grep
命令,如:
grep -r 'host' /etc
其中
-r
选项表示递归搜索
/etc
目录下的所有文件。
45、在已有命令基础上,添加什么可以使输出一次显示一屏?
可以使用
more
或
less
命令来使大文件内容一次显示一屏。
使用
more
命令时
:
在命令提示符后输入:
bash
more /etc/termcap
按
Enter
键执行。
按
空格键
滚动到下一屏。
使用
less
命令时
:
在命令提示符后输入:
bash
less /etc/termcap
按
Enter
键执行。
按
向下箭头键
逐行向前滚动。
按
向上箭头键
逐行向后滚动。
按
Pg Dn
(或 Page Down)、
空格键
、
z
或
f
向前滚动一屏。
按
Pg Up
(或 Page Up)或
b
返回上一屏。
46、使用一个命令从名为 my_list 的文件中删除字母 “o” 和 “a”,并将输出写入到 changed_list 文件中。
可以使用
tr
命令,具体命令为:
tr -d 'oa' < my_list > changed_list
47、使用一个命令找出 my_list 文件中包含单词 “Foot” 的行。
grep ‘Foot’ my_list
48、创建一个名为trees的文件,包含以下各行内容:橡树、松树、云杉、三角叶杨、枫树。使用vi编辑器创建一个名为more_trees的文件,并将trees文件的内容复制进去。接着,在列表末尾添加以下树木:红杉、柳树。使用一个命令比较trees和more_trees文件,并以列的形式输出差异。
创建
trees
文件并添加内容:
bash
echo -e "橡树
松树
云杉
三角叶杨
枫树" > trees
使用
vi
编辑器创建
more_trees
文件并复制
trees
文件内容:
首先打开
vi
编辑器创建
more_trees
文件:
bash
vi more_trees
在
vi
编辑器中,按
i
进入插入模式,然后使用以下命令复制
trees
文件内容到
more_trees
文件(在
vi
编辑器的命令模式下执行):
:r trees
按
Esc
键退出插入模式,输入
:wq
保存并退出
vi
编辑器。
在
more_trees
文件末尾添加红杉和柳树:
bash
echo -e "红杉
柳树" >> more_trees
比较
trees
和
more_trees
文件并以列的形式输出差异:
bash
diff -y trees more_trees
49、使用一个命令比较 trees 和 more_trees 文件,并以不同的单行形式显示差异。
可以使用 diff 命令,具体为:diff trees more_trees
50、使用一行命令确定 trees 和 more_trees 文件中的字节数。
可使用命令
wc -c trees more_trees
来确定这两个文件中的字节数。
51、创建一个新文件 CD_list,并在文件中输入以下行:country:1000:210 rock:1001:380 classical:1002:52 alternative:1003:122 light rock:1004:151 light rock:1004:151 celtic:1005:44 jazz:1006:62 soundtracks:1007:32 soundtracks:1007:32。使用 sed 命令和一个脚本文件将以下行添加到 CD_list 文件的末尾:hard rock:1008:70 misc:1009:22
创建
CD_list
文件并输入内容:
可使用
vi
编辑器,输入以下命令创建文件并进入编辑模式:
bash
vi CD_list
按
i
进入插入模式,输入指定内容,按
Esc
进入命令模式,输入
:wq
或
:x
并回车保存文件并退出。
创建脚本文件:
使用
vi
编辑器创建脚本文件,例如命名为
add_lines
,输入以下内容:
text
$a
hard rock:1008:70
misc:1009:22
按
Esc
进入命令模式,输入
:wq
或
:x
并回车保存文件并退出。
使用
sed
命令执行脚本:
在终端输入以下命令并回车,执行后将指定行添加到标准输出中显示,但未修改原文件:
bash
sed -f add_lines CD_list
若要直接修改原文件,需输入以下命令并回车:
bash
sed -i -f add_lines CD_list
52、使用 uniq 命令删除 CD_list 文件中的重复行,并将修正后的信息放入名为 CD_list_new 的文件中。
使用命令
uniq CD_list > CD_list_new
可以实现删除
CD_list
文件中的重复行,并将结果保存到
CD_list_new
文件中。
53、使用grep命令在CD_list_new文件中查找包含“celtic”一词的所有行。
可以使用以下命令:grep ‘celtic’ CD_list_new
54、使用一个命令将CD_list_new文件中的所有字母转换为大写,并将输出保存到一个名为CD_list_uppercase的文件中。
可以使用命令
cat CD_list_new | tr '[a-z]' '[A-Z]' > CD_list_uppercase
实现。
55、在CD_list_new文件上使用sed命令,将“light rock”替换为“easy listening”,将“alternative”替换为“experimental”。
可以使用以下命令实现替换:
sed 's/light rock/easy listening/g; s/alternative/experimental/g' CD_list_new > CD_list_new_replace
该命令会把替换后的内容输出到
CD_list_new_replace
文件中。
56、查看 /etc/termcap 文件的前 20 行。接着使用一个命令,仅将 /etc/termcap 文件前 20 行中“version”的所有字符转换为大写。
查看前 20 行可使用命令:
head -n 20 /etc/termcap
要将前 20 行中 “version” 转换为大写,可使用命令:
head -n 20 /etc/termcap | sed 's/version/VERSION/g'
57、使用两种不同的命令来显示 HOME 变量的内容。
可以使用
echo $HOME
和
printenv HOME
这两个命令来显示
HOME
变量的内容。
58、将变量 t 赋值为 20。接着,将变量 s 赋值为 t + 30。最后,显示 t 和 s 的内容以验证你是否正确定义了这些变量。
在 Perl 中可以这样实现:
$t = 20;
$s = $t + 30;
print "t 的值是: $t
";
print "s 的值是: $s
";
在 C 语言中可以这样实现:
#include <stdio.h>
int main() {
int t = 20;
int s = t + 30;
printf("t 的值是: %d
", t);
printf("s 的值是: %d
", s);
return 0;
}
在 shell 脚本中可以这样实现:
t=20
s=$((t + 30))
echo "t 的值是: $t"
echo "s 的值是: $s"