Linux命令与文本编辑实用操作指南

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


可以使用

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"
© 版权声明

相关文章

暂无评论

none
暂无评论...