vim 及文字操作命令練習

2021-10-05 23:31:21 字數 1928 閱讀 5239

1.統計出/etc/passwd檔案中其預設shell為非/sbin/nologin的使用者個數,並將其使用者都顯示出來

使用者個數:

getent passwd | grep -v '/sbin/nologin$'

| wc -l

使用者:getent passwd | grep -v '/sbin/nologin$'

| cut -d: -f1

2.查出使用者uid最大值的使用者名稱、uid及shell型別

getent passwd | cut -d: -f1,3,7 |

sort

-t: -k2nr | head -1

3.統計當前連線本機的每個遠端主機的鏈結數,並按從到到小排序

netstat -nt | tr -s " "

":"| cut -d: -f6 | egrep -v [

[:alpha:]]+

| egrep -v '^$'

|sort

| uniq -c

4.編寫指令碼createuser.sh,實現如下功能:使用乙個使用者名稱作為引數,如果指定引數的使用者存在,就顯示其存在,否則新增。顯示提新增的使用者的id號等資訊。

#!/bin/bash

red="\033[1;31m"

blue="\033[1;36m"

end="\033[0m"

[ $# -lt 1 ] &&

id $1 &> /dev/null &&

echo

-e "$blue start create the user $1... $blue"

useradd $1 &> /dev/null

echo

"magedu"

| passwd --stdin $1 &> /dev/null

echo

-e "$blue

$1 is create sucessful and the id is `id -u $1` $end"

5.編寫生成指令碼基本格式的指令碼,包括作者,****,版本,時間,描述等

autocmd bufnewfile *

.sh exec ":call settitle()"

func settitle(

)if expand(

"%:e"

)=='sh'

call setline(1,

"#!/bin/bash"

) call setline(2,

"#")

call setline(3,

"#*************************************"

) call setline(4,

"#author: solar"

) call setline(5,

) call setline(6,

"#email: [email protected]"

) call setline(7,

"#version: 1.0"

) call setline(8,

"#date: "

.strftime(

"%y-%m-%d"))

call setline(9,

"#description: solar'script"

) call setline(10,

"#*************************************"

) endif

endfunc

vim編輯操作及命令

vi的編輯操作及命令 vi中的行號 vi中的許多命令都要用到行號及行數等數值。若編輯的檔案較大時,自己去數是非常不方便的。為此vi提供了給文字加行號的功能。這些行號顯示在螢幕的左邊,而相應行的內容則顯示在行號之後。使用的命令為 在末行方式下輸入命令 set number 需要說明的是,這裡加的行號只...

VIM文字替換命令

在vim中進行文字替換 1.替換當前行中的內容 s from to s即substitude s from to 將當前行中的第乙個from,替換成to。如果當前行含有多個 from,則只會替換其中的第乙個。s from to g 將當前行中的所有from都替換成to。s from to gc 將當...

VIM文字替換命令

在vim中進行文字替換 1.替換當前行中的內容 s from to s即substitude s from to 將當前行中的第乙個from,替換成to。如果當前行含有多個 from,則只會替換其中的第乙個。s from to g 將當前行中的所有from都替換成to。s from to gc 將當...