导航:首页 > 程序命令 > vi命令打开日历

vi命令打开日历

发布时间:2022-12-11 04:12:54

⑴ vi的常用命令

vi的基本操作
a) 进入vi

在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:

$ vi myfile

不过有一点要特别注意,就是您进入vi之后,是处于“命令行模式(command mode)”,您要切换到“插入模式(Insert mode)”才能够输入文字。初次使用vi的人都会想先用上下左右键移动光标,结果电脑一直哔哔叫,把自己气个半死,所以进入vi后,先不要乱动,转换到“插入模式(Insert mode)”再说吧!

b) 切换至插入模式(Insert mode)编辑文件

在“命令行模式(command mode)”下按一下字母“i”就可以进入“插入模式(Insert mode)”,这时候你就可以开始输入文字了。

c) Insert 的切换

您目前处于“插入模式(Insert mode)”,您就只能一直输入文字,如果您发现输错了字!想用光标键往回移动,将该字删除,就要先按一下“ESC”键转到“命令行模式(command mode)”再删除文字。

d) 退出vi及保存文件

在“命令行模式(command mode)”下,按一下“:”冒号键进入“Last line mode”,例如:

: w filename (输入 “w filename”将文章以指定的文件名filename保存)

: wq (输入“wq”,存盘并退出vi)

: q! (输入q!, 不存盘强制退出vi)

3、命令行模式(command mode)功能键
1). 插入模式

按“i”切换进入插入模式“insert mode”,按“i”进入插入模式后是从光标当前位置开始输入文件;

按“a”进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;

按“o”进入插入模式后,是插入新的一行,从行首开始输入文字。

2). 从插入模式切换为命令行模式

按“ESC”键。

3). 移动光标

vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母“h”、“j”、“k”、“l”,分别控制光标左、下、上、右移一格。

按“ctrl”+“b”:屏幕往“后”移动一页。

按“ctrl”+“f”:屏幕往“前”移动一页。

按“ctrl”+“u”:屏幕往“后”移动半页。

按“ctrl”+“d”:屏幕往“前”移动半页。

按数字“0”:移到文章的开头。

按“G”:移动到文章的最后。

按“$”:移动到光标所在行的“行尾”。

按“^”:移动到光标所在行的“行首”

按“w”:光标跳到下个字的开头

按“e”:光标跳到下个字的字尾

按“b”:光标回到上个字的开头

按“#l”:光标移到该行的第#个位置,如:5l,56l。

4). 删除文字

“x”:每按一次,删除光标所在位置的“后面”一个字符。

“#x”:例如,“6x”表示删除光标所在位置的“后面”6个字符。

“X”:大写的X,每按一次,删除光标所在位置的“前面”一个字符。

“#X”:例如,“20X”表示删除光标所在位置的“前面”20个字符。

“dd”:删除光标所在行。

“#dd”:从光标所在行开始删除#行

5). 复制

“yw”:将光标所在之处到字尾的字符复制到缓冲区中。

“#yw”:复制#个字到缓冲区

“yy”:复制光标所在行到缓冲区。

“#yy”:例如,“6yy”表示拷贝从光标所在的该行“往下数”6行文字。

“p”:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。

6). 替换

“r”:替换光标所在处的字符。

“R”:替换光标所到之处的字符,直到按下“ESC”键为止。

7). 回复上一次操作

“u”:如果您误执行一个命令,可以马上按下“u”,回到上一个操作。按多次“u”可以执行多次回复。

8). 更改

“cw”:更改光标所在处的字到字尾处

“c#w”:例如,“c3w”表示更改3个字

9). 跳至指定的行

“ctrl”+“g”列出光标所在行的行号。

“#G”:例如,“15G”,表示移动光标至文章的第15行行首。

4、Last line mode下命令简介
在使用“last line mode”之前,请记住先按“ESC”键确定您已经处于“command mode”下后,再按“:”冒号即可进入“last line mode”。

A) 列出行号

“set nu”:输入“set nu”后,会在文件中的每一行前面列出行号。

B) 跳到文件中的某一行

“#”:“#”号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。

C) 查找字符

“/关键字”:先按“/”键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按“n”会往后寻找到您要的关键字为止。

“?关键字”:先按“?”键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按“n”会往前寻找到您要的关键字为止。

D) 保存文件

“w”:在冒号输入字母“w”就可以将文件保存起来。

E) 离开vi

“q”:按“q”就是退出,如果无法离开vi,可以在“q”后跟一个“!”强制离开vi。

“qw”:一般建议离开时,搭配“w”一起使用,这样在退出的时候还可以保存文件。

5、vi命令列表
1、下表列出命令模式下的一些键的功能:

h
左移光标一个字符

l
右移光标一个字符

k
光标上移一行

j
光标下移一行

^
光标移动至行首

0
数字“0”,光标移至文章的开头

G
光标移至文章的最后

$
光标移动至行尾

Ctrl+f
向前翻屏

Ctrl+b
向后翻屏

Ctrl+d
向前翻半屏

Ctrl+u
向后翻半屏

i
在光标位置前插入字符

a
在光标所在位置的后一个字符开始增加

o
插入新的一行,从行首开始输入

ESC
从输入状态退至命令状态

x
删除光标后面的字符

#x
删除光标后的#个字符

X
(大写X),删除光标前面的字符

#X
删除光标前面的#个字符

dd
删除光标所在的行

#dd
删除从光标所在行数的#行

yw
复制光标所在位置的一个字

#yw
复制光标所在位置的#个字

yy
复制光标所在位置的一行

#yy
复制从光标所在行数的#行

p
粘贴

u
取消操作

cw
更改光标所在位置的一个字

#cw
更改光标所在位置的#个字

2、下表列出行命令模式下的一些指令
w filename
储存正在编辑的文件为filename

wq filename
储存正在编辑的文件为filename,并退出vi

q!
放弃所有修改,退出vi

set nu
显示行号

/或?
查找,在/后输入要查找的内容

n
与/或?一起使用,如果查找的内容不是想要找的关键字,按n或向后(与/联用)或向前(与?联用)继续查找,直到找到为止。

对于第一次用vi,有几点注意要提醒一下:
1、用vi打开文件后,是处于“命令行模式(command mode)”,您要切换到“插入模式(Insert mode)”才能够输入文字。切换方法:在“命令行模式(command mode)”下按一下字母“i”就可以进入“插入模式(Insert mode)”,这时候你就可以开始输入文字了。
2、编辑好后,需从插入模式切换为命令行模式才能对文件进行保存,切换方法:按“ESC”键。
3、保存并退出文件:在命令模式下输入:wq即可!(别忘了wq前面的:)

linux如何用vi实现

1命令模式:r ! cal 2009
2visual模式block移动
3用替换命令或者R
4用dd加范围限制
5直接删除,p粘贴
6这个不会
7set nu
8wc
建议搜索一下Vim-handbook-cn-72.pdf下载vim的中文手册,会有大收获的。

⑶ Linux vi 操作命令

进入vi的命令
vi filename :打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件,并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个和pattern匹配的串处
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename....filename :打开多个文件,依次进行编辑
移动光标类命令
h :光标左移一个字符
l :光标右移一个字符
space:光标右移一个字符
Backspace:光标左移一个字符
k或Ctrl+p:光标上移一行
j或Ctrl+n :光标下移一行
Enter :光标下移一行
w或W :光标右移一个字至字首
b或B :光标左移一个字至字首
e或E :光标右移一个字至字尾
) :光标移至句尾
( :光标移至句首
}:光标移至段落开头
{:光标移至段落结尾
nG:光标移至第n行首
n+:光标下移n行
n-:光标上移n行
n$:光标移至第n行尾
H :光标移至屏幕顶行
M :光标移至屏幕中间行
L :光标移至屏幕最后行
0:(注意是数字零)光标移至当前行首
$:光标移至当前行尾
屏幕翻滚类命令
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。
插入文本类命令
i :在光标前
I :在当前行首
a:光标后
A:在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行
r:替换当前字符
R:替换当前字符及其后的字符,直至按ESC键
s:从当前光标位置处开始,以输入的文本替代指定数目的字符
S:删除指定数目的行,并以所输入文本代替之
ncw或nCW:修改指定数目的字
nCC:修改指定数目的行
删除命令
ndw或ndW:删除光标处开始及其后的n-1个字
do:删至行首
d$:删至行尾
ndd:删除当前行及其后n-1行
x或X:删除一个字符,x删除光标后的,而X删除光标前的
Ctrl+u:删除输入方式下所输入的文本
搜索及替换命令
/pattern:从光标开始处向文件尾搜索pattern
?pattern:从光标开始处向文件首搜索pattern
n:在同一方向重复上一次搜索命令
N:在反方向上重复上一次搜索命令
:s/p1/p2/g:将当前行中所有p1均用p2替代
:n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g:将文件中所有p1均用p2替换
选项设置
all:列出所有选项设置情况
term:设置终端类型
ignorance:在搜索中忽略大小写
list:显示制表位(Ctrl+I)和行尾标志($)
number:显示行号
report:显示由面向行的命令修改过的数目
terse:显示简短的警告信息
warn:在转到别的文件时若没保存当前文件则显示NO write信息
nomagic:允许在搜索模式中,使用前面不带“”的特别字符
nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始
mesg:允许vi显示其他用户用write写到自己终端上的信息
最后行方式命令
:n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下
:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下
:n1,n2 d :将n1行到n2行之间的内容删除
:w :保存当前文件
:e filename:打开文件filename进行编辑
:x:保存当前文件并退出
:q:退出vi
:q!:不保存文件并退出vi
:!command:执行shell命令command
:n1,n2 w!command:将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入
:r!command:将命令command的输出结果放到当前行
寄存器操作
"?nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字
"?nyw:将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字
"?nyl:将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字
"?p:取出寄存器?中的内容并将其放到光标位置处。这里?能是个字母,也能是个数字
ndd:将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中。
进入vi
vi test
离开vi
:q! 离开vi,并放弃刚在缓冲区内编辑的内容。
:wq 将缓冲区内的资料写入磁盘中,并离开vi。
:ZZ 同wq
同wq
:w 将缓冲区内的资料写入磁盘中,但并不离开vi。
:q 离开vi,若文件被修改过,则会被需求确认是否放弃修改的内容,此指令可和: w 配合使用。
Vi 的操作模式
Vi 提供两种操作模式:
输入模式(insert mode)
指令模式(command mode)
当使用者进入vi后,既处于指令模式下,此刻键入所有字符皆被视为指令。
输入模式:a(append) 游标之后加入资料。
A 该行之末加入资料
i (insert) 游标之前加入资料
I 该行之首加入资料
o (open) 新增一行和该行之下供输入资料
O 新增一行和该行之上供输入资料
指令模式:B 移至该行第一个字符,若光标在该行第一字符则光标移至上一行第一字符。
b 由游标所在位置之前一个字串的第一个字符
cc 删除整行,修改整行的内容。
D 以行为单位,删除游标在内后面的所有字符。
db 删除该行光标前字符
dd 删除该行
de 删除自光标开始后面的字符
d加字符删除光标所在位置至字符之间的单
E移至该行最后字符,若光标在该行最后字符则光标移至下一行最后字符
e由游标所在位置至该字串的最后一个字符
G 移至该档案的最后一行
h 向前移一个字符
j 向下移一个字符
k 向上移一个字符
0 移至该行之首
M 移至视窗的中间那行
L 移至视窗的最后一行
l 向后移一个字符
0 由游标所在位置该行的第一个字符
nG 移至该档案的第n行
n+ 自游标所在位置向后移n行至该行的第一字符
n- 自游标所在位置向前移n行至该行的第一字符
R 进入取代状态,直到《ESC》为止
s 删除游标所在字符,并进入取代模式直到《ESC》
S 删除游标所在之该行资料,并进入输入模式直到《ESC》
w 由游标所在位置之下一个字串的第一个字符
x 删除游标所在该字符。
X 删除游标所在之前一字符。
r 用接于此指令之后的字符取代(replace)游标所在字符
yy yank整行,使游标所在该行复制到记忆体缓冲区
显示该行之行号、档案名称、档案中最末之行号、游标所在行号占
总行号之百分比
$ 由游标所在位置至该行的最后一个字符。
) 由游标所在位置至下一个句子的第一个字符。
( 由游标所在位置至该句子的第一个字符。
{ 由游标所在位置至该段落的最后一个字符。
} 由游标所在位置至该段落的第一个字符
yank和delete可将指定的资料复制到记忆体缓冲区,而藉有put指令可将缓冲区内的资料复制到荧幕上
例如:搬移一行 :在该行执行dd
游标移至目的地
执行p
复制一行 :在该行执行yy
游标移至目的地
执行p
视窗移动:
视窗往下卷一页
视窗往上卷一页
视窗往下卷半页
视窗往上卷半页
视窗往下卷一行
视窗往上卷一行
删除、复制及修改指令介绍:
d(delete)、c(change)和y(yank)这一类的指令在vi 中的指令格式为:
operation+scope=command
(运算子)(范围)
运算子:
d 删除指令。删除资料,但会将删除资料复制到记忆体缓冲区。
y 将资料(字组、行列、句子或段落)复制到缓冲区。
p 放置(put)指令,和d和y配合使用。可将最后delete或yank的资料放置于游标所在位置之行列下。
c 修改(change)指令,类似delete于insert的组合。删除一个字组、句子等资料,并插入新键入的

⑷ vi 命令大全

vi filename   打开或新建文档,并将光标置于第一行行首
vi +n filename   打开文件,并将光标置于第n行首
vi + filename   打开文件,并将光标置于最后一行首
vi +/pattern filename   打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename   在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename....filename   打开多个文件,依次进行编辑

w   保存当前文件
w /tmp1   另存为/tmp1
20,59w /tmp1   仅将20-59行之间的内存另存为/tmp1
x 或 wq   保存退出
q   退出vi
q!   退出不保存 >
!command   执行shell命令command
n1,n2 w !command   将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入
r !command   将命令command的输出结果放到当前行
w !sudo tee %   保存没权限时,可获取权限再保存

h  光标左移一个字符
l  光标右移一个字符
space  光标右移一个字符
Backspace  光标左移一个字符
k Ctrl+p   光标上移一行
j Ctrl+n   光标下移一行
Enter   光标下移一行
w W   光标右移一个字至字首
b B   光标左移一个字至字首
e E   光标右移一个字至字尾
)   光标移至句尾
(   光标移至句首
}   光标移至段落开头
{   光标移至段落结尾
nG   光标移至第n行首
n+   光标下移n行
n-   光标上移n行
n$   光标移至第n行尾
H   光标移至屏幕顶行
M   光标移至屏幕中间行
L   光标移至屏幕最后行
0   (注意是数字零)光标移至当前行首
$   光标移至当前行尾

Ctrl+u   向文件首翻半屏
Ctrl+d   向文件尾翻半屏
Ctrl+f   向文件尾翻一屏
Ctrl+b   向文件首翻一屏
nz   将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部

i   在光标前
I   在当前行首
a   光标后
A   在当前行尾
o   在当前行之下新开一行
O   在当前行之上新开一行
r   替换当前字符
R   替换当前字符及其后的字符,直至按ESC键
s   从当前光标位置处开始,以输入的文本替代指定数目的字符
S   删除指定数目的行,并以所输入文本代替
ncw nCW   修改指定数目的字
nCC   修改指定数目的行

ndw ndW   删除光标处开始及其后的n-1个字
do   删至行首
d$   删至行尾
ndd   删除当前行及其后n-1行
x X   删除一个字符,x删除光标后的,而X删除光标前的
Ctrl+u   删除输入方式下所输入的文本
n1,n2 d   将n1行到n2行之间的内容删除
%d   删除全部内容
1,$d   删除全部内容

yy   复制当前行
nyy   复制当前行开始的n行
  先按 v 然后方向键选择区域,按 y 复制选中行
dd   剪切当前行
p (小)   在当前光标处下面粘贴内容
P (大)   在当前光标处上面粘贴内容
n1,n2 co n3   将n1行到n2行之间的内容拷贝到第n3行下
n1,n2 m n3   将n1行到n2行之间的内容移至到第n3行下

/abc   从光标开始处向文件尾搜索abc
?abc   从光标开始处向文件首搜索abc
//abc   从光标开始处向文件尾搜索/abc,其中/是转义
n   在同一方向重复上一次搜索命令
N   在反方向上重复上一次搜索命令

s/vivian/sky/   替换当前行第一个 vivian 为 sky
s/vivian/sky/g   替换当前行所有 vivian 为 sky
n,$s/vivian/sky/   替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky
n,$s/vivian/sky/g   替换第 n 行开始到最后一行中每一行所有 vivian 为sky
%s/vivian/sky/g   (等同于 g/vivian/s//sky/) 替换每一行的每一个 vivian 为 sky
s#vivian/#sky#   替换当前行第一个 vivian/ 为 sky/(可以使用 # 或 + 作为分隔符,此时中间出现的 / 不会作为分隔符)
s/p1/p2/g   将当前行中所有p1均用p2替代
n1,n2s/p1/p2/g   将第n1至n2行中所有p1均用p2替代
g/p1/s//p2/g   将文件中所有p1均用p2替换

"?nyy   将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字
"?nyw   将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字
"?nyl   将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字
"?p   取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字
ndd   将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中

set number   显示行号
set number!   不显示行号,其它选项同理加!号
set all   列出所有选项设置情况
set term   设置终端类型
set ignorance   在搜索中忽略大小写
set list   显示制表位(Ctrl+I)和行尾标志($)
set report   显示由面向行的命令修改过的数目
set terse   显示简短的警告信息
set warn   在转到别的文件时若没保存当前文件则显示NO write信息
set nomagic   允许在搜索模式中,使用前面不带“”的特殊字符
set nowrapscan   禁止vi在搜索到达文件两端时,又从另一端开始
set mesg   允许vi显示其他用户用write写到自己终端上的信息

参考文献:
https://www.cnblogs.com/mondol/p/vi-examples.html

⑸ 在命令行模式下执行命令

输入命令按下enter键就会开始执行,如果输入的命令很长,可以使用反斜杠来转义enter符号,使命令连续到下一行。
在linux环境中大小写是不同的

1.显示日期和事件的命令:date
如果想要输出特定格式的日期和事件需要带上参数
例如:date +%Y/%m/%d
date +%H:%M
2.显示日历的命令:cal
cal的基本能语法:cal [[month] year]
可以显示某年的日历:例如,cal 2009
可以显示某年某月的日历:例如,cal 9 2009
3.计算器命令:bc
输入bc命令就进入bc这个软件的工作环境,就可以像在windows中一样进行加减乘除,
+加法,-减法,*乘法,/除法,^指数,%余数。
bc默认是输出整数的,如果要输出全部小数,就必须执行scale=number,其中number就是小数点后的位数。
要离开bc,需要输入quit才能离开bc软件环境。

1.tab键:用于补全命令或者补全文件
2.ctrl+c:用于中断目前正在运行的命令
3.ctrl+d:表示键盘输入结束,也可以用来代替exit的输入。
在命令行中直接按下两次tab键,可以看到总共有多少个命令可以供当前用户使用。

可以使用man 命令名来查看命令的具体用法。
其中man是manual的缩写。

数据同步写入磁盘中:在关机前可以使用命令sync将内存中尚未被更新的数据就会被写入硬盘中。
关机命令:shutdown、reboot、halt、poweroff
系统执行等级:
run level 0:关机
run level 3:纯命令行模式
run level 5:含有图形界面模式
run level 6:重启
可以使用init命令来切换各种模式,例如想要关机的话,也可以使用init 0。

Linux文件属性
ls -al 列出所有的文件,-al表示列出所有的文件详细的权限和属性。
例如
[1] [2] [3] [4] [5] [6] [7]
[权限] [连接] [所有者][用户组][文件容量] [修改日期] [文件名]
drwxr-x--- 4 root root 4096 Sep 8 14:06 .gconfd
-rwxr-xr-x 1 root root 1024 Jan 3 11:01 install.log
1.第一列文件的类型与权限
第一列由10个字符组成:
第一个字符代表这个文件是目录、文件或者链接文件等
其中d表示目录,
-表示是文件
l表示是连接文件
接下来的字符中,以三个字符为一组,均是rwx的组合,其中r表示可读,w表示可写,x表示可执行。如果没有相应的权限就用-表示。
这三组分别表示的权限是:
第一组为”文件所有者的权限“
第二组为”同用户组的权限“
第三组为”其他非本用户组的权限“
2.第二列表示有多少个文件名连接到此节点上
3.第三列表示这个文件或目录的所有者账号
4.第四列表示这个文件所属的用户组
5.第五列表示这个文件的大小,默认单位为B
6.第六列表示这个文件的创建日期或这个文件的修改日期。
7.第七列表示这个文件名

改变文件属性和权限:
chgrp(change group):改变文件的所属用户组
chown(change owner):改变文件所有者
chmod:改变权限,权限的设置有两种方式,使用数字或者符号来进行权限的更改。
数字类型改变权限:
使用数字分别代表各个权限,其中:
r:4
w:2
x:1
owner、group、others三种身份各自有自己的rwx权限,三个权限的分数需要累加。例如
owner = rwx = 4 + 2 + 1=7
group = rwx = 4 + 2 + 1 = 7
others = --- = 0 + 0 + 0 = 0
那么这个文件的权限数字就是770
符号类型改变权限:
使用u,g,o分别代表user、group、others三种身份的权限,a表示所有身份
例如:
一个文件的权限为:-rwxr-xr-x
user:有可读、可写、可执行的权限
group:有可读、可执行的权限
others:有可读、可执行的权限
可以使用命令 chmod u=rwx,go=rx install.log
给install.log文件的所有用户增加写权限
chmod a+w install.log
给install.log文件的所有用户去掉可执行权限
chmod a-x install.log

Linux下文件没有所谓的扩展名,一个linux文件能不能被执行,与文件名没有一点关系,而是权限中有x,就代表这个文件可以被执行。
通常会以适当的扩展名来表示文件是什么种类的。例如, .sh表示脚本或批处理文件, .Z、 .tar、 .tar.gz、 .zip、 .tgz都表示压缩文件。

FHS(Filesystem Hierarchy Standard)标准用于让用户能够了解到已安装的软件通常放置在哪个目录下。FHS根据文件系统使用的频繁与否和是否允许用户随意改动,而将目录定义成四种交互作用的形态。分别如下:
可分享的 不可分享的
不变的:/usr(软件放置处)、/opt(第三方软件) /etc(配置文件)、/boot(开机与内核文件)
可变动的: /var/mail(用户邮件信箱) /var/run(程序相关)、/var/lock(程序相关)
/var/spool/news(新闻组) /var/lock(程序相关)

可分享的:可以分享给其他系统挂载使用的目录,所以包括可执行文件与用户的邮件等数据,是能够分享给网络上的其他主机挂载用的目录。
不可分享的:自己机器上运行的设备文件或者程序有关的socket文件等,不适合分享给其他主机。
不变的:数据不经常变动。
可变动的:数据经常变动
根目录(/):是整个系统最重要的目录,不仅所有其他目录是由根目录衍生出来的,而且根目录与开机、还原、系统修复等操作有关。根目录所在的分区越小越好,并且应用程序所安装的软件最好不要与根目录在同一个分区。
开机过程中仅有根目录会被挂载,其他的分区会在开机完成之后才会持续进行挂载,因此根目录下与开机过程有关的目录就不能够与根目录放到不同的分区去。有如下这些目录:
/etc:配置文件
/bin:重要执行文件
/dev:所需要的设备文件
/lib:执行文件所需的函数库与内核所需的模块
/sbin:重要的系统执行文件
/usr(UNIX software resource)unix操作系统软件资源,所有系统默认的软件都会放置在该目录下,因此这个目录有点类似与windows下的“C:Windows”和“C:Program files”。
/var 放置一些缓存、登录文件以及某些软件运行所产生的文件。
相对路径和绝对路径:
绝对路径:由根目录/开始写起的文件名或目录名称。
相对路径:相对于当前路径
.:或者./表示当前路径
..:或者../表示上层目录

几个特殊的目录
. 代表此层目录
.. 代表上层目录

~ 代表“目前用户身份”所在的主文件夹
~account 代表account这个用户的主文件夹
几个常见的处理目录的命令
cd:切换目录
刚登录时会回到自己的主文件夹,主文件夹有一个代表符号就是~,cd ~会回到个人的主文件夹中,仅输入cd和输入cd ~相同。
pwd:显示当前目录
pwd [-p] 其中-p表示显示当前路径,而不是使用连接路径。加上-p可以让我们取得正确的目录名称。
mkdir:创建一个新目录
mkdir [-mp] 目录名称,其中m参数表示配置文件夹的权限。p参数表示递归创建所需要的所有目录
rmdir:删除一个空目录
rmdir [-p] 目录名,其中p参数表示连同上层空的目录一起删除。要删除的目录中必定不能存在其他的目录或文件。

执行文件路径的变量:$PATH
例如查看文件属性的命令是ls,而ls完整的文件名是/bin/ls,为什么我们可以在任何地方执行ls这个命令呢,这是因为环境变量PATH的帮助。当我们输入ls的时候,系统会依照PATH的设置去每个PATH定义的目录中查找文件名为ls的可执行文件,如果在PATH定义的目录中含有多个文件名为ls的可执行文件,那么先查询到的同名命令先被执行。

默认情况下,如果用户创建文件,则默认没有可执行权限(x),只有r、w这两个选项,即默认权限是-rw-rw-rw(666)
默认情况下,如果用户创建目录,则默认所有权限均开放,即为drwx-rwx-rwx(777)
unmask的分数是指“该默认值需要拿掉的权限”,例如上面的022表示用户没有被拿掉任何权限,用户组和其他被拿掉了写的权限。
如何使用unmask修改新建文件的默认权限,直接在unmask后面加上分数就好了
比如:
···
unmask 002 就表示用户和用户组的读写权限不被拿掉,其他会被拿掉写的权限
···

2.与用户或用户组名有关的参数
-uid n 其中n表示数字,即用户的ID,也称为UID
-gid n 其中n表示数字,即用户组名的ID,也称为GID
-user name 其中name为用户的账号名称
-group name 其中name为用户组名
-nonuser 表示寻找文件的所有者不存在在/etc/passwd中的文件
-nongroup 表示寻找文件的所有用户组不存在于/etc/group中的文件
例如:

3.与文件权限及名称有关的参数
-name filename 查找文件名为filename的文件
-size [+-] SIZE 查找比size大(+)或小(-)的文件
-type TYPE表示查找文件类型为TYPE的文件
-perm mode表示查找文件权限刚好等于mode的文件
-perm -mode表示查找文件权限必须全部包括mode的权限的文件
例如 查找文件权限为-rwxr--r--的文件,即权限744,那么文件权限为-rwxr-xr-x(755)的文件也会被列出来,因为-rwxr-xr-x的属性包括了-rwxr--r--的属性
-perm +mode表示查找文件权限包含任一mode的权限的文件,例如查找-rwxr-xr-x,但是另一个文件属性包括-rw-------的文件也会被列出来,因为它有-rw属性存在
4.其他可进行的操作
-exec command :其中command表示其他命令,-exec表示接其他命令来处理查询的结果
-print 表示将结果打印在屏幕上

vi和vim的区别是vim是vi的高级版本
为什么要学vim
1.所有的linux like 系统都会内置vi文本编辑器,而其他的文本编辑器不一定有
2.很多软件的编辑接口都会主动调用vi
3.vim有程序编辑的能力,可以主动以字体颜色辨别语法的正确性,方便设计
vi的使用:
vi有三种模式:一般模式、编辑模式、命令行模式
一般模式:使用vi打开一个文件的时候就进入了一般模式,在这个模式中可以按左右键移动光标,可以删除字符或删除整行,也可以复制粘贴你的文件数据。但是不可以编辑文件。
编辑模式:在一般模式下按下“i 、I、o、O、a、A、r、R”等任何一个字母才会进入编辑模式,按esc退出编辑模式
命令行模式:在一般模式下,输入“:、/、?”就进入了,命令行模式,在这个模式下可以进行读取、保存文件,离开vi等操作。
编辑牧师和命令行模式之间是不可以切换的。
一般模式切换到命令行模式可用的按钮
:w 表示将编辑的内容写入到硬盘中
:w! 表示如果文件属性为 只读时,强制写入该文件
:q表示离开vi
:q!表示如果文件有修改过,不保存强制退出,
:wq表示保存后离开
vim的用法和vi完全一样

管道命令仅会处理standard out,对于standard error output会予以忽略
管道命令必须要能够接收来自前一个命令的数据成为standard input继续处理才行
选取命令:cut,grep
1.cut -d ‘分隔符’ -f field
cut -c 字符范围
-d表示分隔符
-f表示与-d分隔符一起使用,表示取分割后的第几段
-c表示以字符为单位取出固定字符区间
以“行”为单位进行处理的选取
例如:

2.grep
grep [-acinv] [--color=auto] '查找的字符串' filename
其中
-a表示将binary文件以text文件的放肆查找数据
-c表示计算找到“查找字符串”的次数
-i表示忽略大小写的不同
-n表示输出行号
-v表示反向选择,即显示出没有‘查找字符串’内容的那一行。
--color=auto表示将找到的关键字部分加上颜色
例如:

首先学习一下grep命令的一些高级参数
grep [-A] [-B] [--color=auto] ‘搜索字符串’ filename
其中:
-A :后面可加数字,表示after的意思,除了列出该行外,后续的n行也列出来。
-B :后面可加数字,表示before的意思,除了列出该行外,前面的n行也列出来。
--color=auto表示将选取的数据添加颜色
grep是一个很常用的命令,grep在数据中查找一个字符串时,是以整行为单位来进行数据的选取的。假如一个文件有10行,其中有两行具有你查找的字符串,则将那两行显示在屏幕上,其他的丢弃。
例如
1.查找特定的字符

2.利用中括号[]来查找集合字符
[]里面不论有几个字符,它都只代表某“一个”字符

3.行首与行尾字符^$

^ 出现在[]之外表示定位在首行,^ 出现在[]中表示方向选择

4.任意一个字符.与重复字符*
.(小数点):代表一定有一个任意字符
*(星号):代表重复前一个字符0到无穷次的意思
例如:

5.限定连续RE字符范围{}
因为符号{}在shell中是有特殊意义的,因此必须要使用转义字符来让它失去特殊意义才行。
例如

^word 表示待查找的字符word在首行
word$ 表示待查找的字符在结尾
.(小数点)表示一定有一个任意字符的字符
表示转义字符,将特殊符号的特殊意义去掉
*表示重复零个或无穷多个前一个字符
[list]表示从字符集合list中找出想太选取的一个字符
[n1-n2]表示从字符集中查找想要选取的字符范围
[^n1-n2]表示从字符集中查找不要的字符串或范围
{n,m}表示连续n到m个前一个字符,若为{n}表示连续n个前一个字符,{n,}表示连续n个以上前一个字符。

sed命令可以将数据进行替换、删除、新增、选取特定行等
sed [-nefr] [动作]
其中
-n表示使用安静模式,在一般sed用法中,所有来自STDIN的数据一般都会被列出在屏幕上,但如果加上-n参数后,则只有经过sed特殊命令处理的那一行才会被列出来。
-e表示直接在命令行模式上进行sed的动作编辑
-f表示直接将sed的动作写在一个文件内
-r表示sed的动作支持的是扩展型的正则表达式,默认是基础型的正则表达式
-i表示直接修改读取的内容,而不是由屏幕输出
动作说明:
[n1[,n2]] function
n1,n2:不一定会存在,一般代表选择进行动作的行
function 有下面的参数
a表示新增,a后面可以接字符串,而这些字符串会在新的一行出现(目前的下一行)
c表示替换,c的后面可以接字符串,这些字符串可以替换n1,n2之间的行
d表示删除
i表示插入,i后买呢可以接字符串,而这些字符串会在新的一行出现(目前的上一行)
p表示打印,将某个选择的数据打印出来,通常会和参数-n一起运行
s表示替换,可以直接进行替换工作,sed ‘s/要被替换的字符串/新的字符串/g'
例如

awk是非常棒的数据处理工具。
awk '条件类型1{动作1} 条件类型2{动作2} 条件类型3{动作3}....' filename
awk主要是处理每一行的字段内的数据,而默认的字段的分隔符是空格键或[tab]键。
例如

awk内置变量有:

例如:

awk的逻辑运算符

例如:

我们发现上面会输出第一行奇怪的数据,是因为当读入第一行的时候,变量之间还是以空格键进行分隔的,所有,我们虽然定义了FS=":",但是却在第二行后开始生效,我们可以利用BEGIN这个关键字。

使用awk进行计算统计
例如

格式输出中,在printf的格式设置中,务必加上 ,才能进行分行
在awk中变量可以直接使用,不用加上$符号

crontab进行工作调度
crontab [-u username] [-l | -e | -r]
-u表示只有root才能进行这个任务
-e表示编辑crontab的工作内容
-l表示查阅crontab的工作内容
-r表示删除crontab的所有工作内容
例如

其中由6个字段组成
分别表示的意义是:
分钟 小时 日期 月份 周 命令
0-59 0-23 1-31 1-12 0-7 命令
其中周的0和7都表示星期日
表示任意时刻
,(逗号)表示分隔时段的意思,例如0 3,6 * * * commond,表示在3和6时执行
-(减号)表示一段时间范围,例如20 8-12 * * * commond,表示8到12时之间每小时的20分执行。
/n(斜线)表示每隔n单位间隔的意思,例如
/5 * * * * commond,表示每隔5分钟执行一次。
执行crontab -e这个crontab其实是/usr/bin/crontab这个执行文件。

scp -r 源文件路径 root@ip:目标文件路径

阅读全文

与vi命令打开日历相关的资料

热点内容
哪里有求购黄页的源码 浏览:193
商城矿机源码矿场系统 浏览:195
单片机的led灯熄灭程序 浏览:222
洛阳python培训 浏览:702
小键盘命令 浏览:192
单片机c语言返回主程序 浏览:816
dockerpythonweb 浏览:970
程序员算法有多强 浏览:717
pythonworkbook模块 浏览:245
什么app能查医生 浏览:175
轻量级的编程语言 浏览:338
程序员那么可爱生孩子 浏览:432
后缀him3加密文件是什么软件 浏览:984
坚果隐藏app为什么要140版本才能用 浏览:313
淘宝dns服务器地址 浏览:259
领英转型app哪个好用 浏览:943
压缩软件的图标 浏览:97
卖鞋哪个app是真的 浏览:469
python迭代是累计吗 浏览:419
程序员哪些平台接私活 浏览:175