西部開源學習筆記《unit 4》

###########################

########## unit4 ##########

###########################


################################

######## 1.管理輸入輸出 ########

################################


########1.輸出重定向########

在linux系統中,正確輸出的編號爲1,錯誤輸出編號爲2

在系統中用普通用戶執行 "student"

find /etc -name passwd

因爲student用戶權限問題會有以下輸出


find: ‘/etc/pki/CA/private’: Permission denied     ##沒有進入權力,報錯

find: ‘/etc/pki/rsyslog’: Permission denied

find: ‘/etc/audit’: Permission denied

/etc/passwd                                          ##正確輸出

find: ‘/etc/polkit-1/rules.d’: Permission denied

find: ‘/etc/polkit-1/localauthority’: Permission denied

find: ‘/etc/dhcp’: Permission denied

find: ‘/etc/selinux/targeted/modules/active’: Permission denied

find: ‘/etc/lvm/archive’: Permission denied

find: ‘/etc/lvm/backup’: Permission denied

find: ‘/etc/lvm/cache’: Permission denied

find: ‘/etc/grub.d’: Permission denied

/etc/pam.d/passwd                                     ##正確輸出

find: ‘/etc/audisp’: Permission denied

find: ‘/etc/firewalld’: Permission denied

find: ‘/etc/cups/ssl’: Permission denied

find: ‘/etc/ipsec.d’: Permission denied

find: ‘/etc/libvirt’: Permission denied

find: ‘/etc/sudoers.d’: Permission denied

find: ‘/etc/named’: Permission denied

find /etc -name passwd > file                         ##重定向正確輸出

find /etc -name passwd 2> file                        ##重定向錯誤輸出

find /etc -name passwd &> file                        ##重定向所有輸出


注意: >, 2> ,&> 都會覆蓋源文件內容

>file                                                 ##清空file。注意:必須是root權限


find /etc -name passwd >> file                        ##追加正確輸出

find /etc -name passwd 2>> file                       ##追加錯誤輸出

find /etc -name passwd &>> file                       ##追加所有輸出


注意:>> 2>> &>> 不會覆蓋源文件內容,會把相應的輸出字符方到文件的最後



##########2.管道符###########

[student@localhost ~]$find /etc/ -name passwd |cat -b         ##cat -b是顯示輸出的行號

   1 /etc/passwd

   2 /etc/pam.d/passwd

[student@localhost ~]$find /etc/ -name passwd 2>&1|cat -b     ##2>&1是將錯誤輸出轉爲正確輸出

   1 find: ‘/etc/pki/CA/private’: Permission denied

   2 find: ‘/etc/pki/rsyslog’: Permission denied

   3 find: ‘/etc/selinux/targeted/modules/active’: Permission denied

   4 find: ‘/etc/lvm/archive’: Permission denied

   5 find: ‘/etc/lvm/backup’: Permission denied

   6 find: ‘/etc/lvm/cache’: Permission denied

   7 find: ‘/etc/audit’: Permission denied

   8 /etc/passwd

   9 find: ‘/etc/polkit-1/rules.d’: Permission denied

  10 find: ‘/etc/polkit-1/localauthority’: Permission denied

  11 find: ‘/etc/cups/ssl’: Permission denied

  12 find: ‘/etc/dhcp’: Permission denied

  13 /etc/pam.d/passwd

  14 find: ‘/etc/firewalld’: Permission denied

  15 find: ‘/etc/grub.d’: Permission denied

  16 find: ‘/etc/ipsec.d’: Permission denied

  17 find: ‘/etc/libvirt’: Permission denied

  18 find: ‘/etc/audisp’: Permission denied

  19 find: ‘/etc/sudoers.d’: Permission denied


| 管道,管道的作用是將前一條命令的輸出變成管道後命令的輸入


ls /bin | wc -l ##統計ls /bin 命令輸出的行數


注意:系統中錯誤的輸出是無法通過管道的。

用 2>&1 可以把錯誤的輸出編號由2變成1

tee         複製輸出到指定位置

date |tee file |wc -l         ###tee命令複製date命令的輸出到file中,並統計輸出行數



補充:

/dev/pts/下的一般是默認shell的設備輸出文件(具體序號根據實際情況來看),顯示在當前shell的信息會顯示在該文件裏。

date > /dev/pts/1

所以,當要即要在當前shell顯示輸出結果,又要通過管道符號作爲後面的輸入時,可以先將輸出複製一份到/dev/pts下

date | tee /dev/pts/0 |wc -l



#################################

############# 2.vim #############

#################################


####1.vim 命令模式####

在vim的命令模式下可以配置vim的工作方式

:set nu           ##行號添加

:set nonu         ##取消行號

:set mouse=a      ##添加鼠標選擇

:set cursorline   ##行線顯示


以上設定都是臨時的,

永久設定方式:

vim /etc/vimrc ###此文件爲vim的配置文件,在此文件最後加入以下參數

  set nu         ##行號添加

  set nonu       ##取消行號

  set mouse=a    ##添加鼠標選擇

  set cursorline ##行線顯示

注意:加到文件中的才數不需要:


####2.vim命令模式下關鍵字搜索####

/關鍵字

n向下匹配

N向上匹配


####3.vim命令模式下字符的管理####

1.字符的複製

yl     ##複製一個字母

y3l    ##複製3個字母

yw     ##複製一個單詞

y3w    ##複製3個單詞

yy     ##複製一行

y3y    ##複製3行

p      ##複製完成後按“P”粘貼


2.字符的刪除

dl     ##刪除一個字母

d3l    ##刪除3個字母

dw     ##刪除一個單詞

d3w    ##刪除3個單詞

dd     ##刪除一行

d3d    ##刪除3行


3.字符的剪切

cl     ##剪切一個字母

c3l    ##剪切3個字母

cw     ##剪切一個單詞

c3w    ##剪切3個單詞

cc     ##剪切一行

c3c    ##剪切3行

esc ---> p  ##剪切過後會進入到插入模式,在執行粘貼動作時一定要退出插入模式


補充:

vim編輯器裏,在非插入模式下按u是恢復上次操作

在vim編輯器中,非插入模式下打“/關鍵字”則關鍵字會高亮顯示


####4.vim的可視化模式####

在命令模式下按“ctrl+v”進入到可視模式

在可視模式下可以區域選擇字符


可視模式下批量添加字符

*>> ctrl+v 選中要加入字符所在列

*>> 按“I”進入插入模式,寫入要加入的字符

*>> 按esc


####5.批量修改字符####

:起始行數,結束行數s/原有字符/替換後字符     ##將起始行到結束行中的指定字符替換(eg.:5,10s/root/kiosk 將5到10行的

root替換爲kiosk)

:%s/原有字符/替換後字符                      ##只替換每一行中出現的第一個原有字符

:%s/原有字符/替換後字符/g                    ##替換所有

:%s/\t//g                                    ##把全文的tab鍵替去掉,\t 表示tab鍵

:%s/^\ *//g                                  ##把全文行首的空格去掉,"^\ *"表示行首的空格

:%s/^\#\ */#/g                               ##把全文#後的空格去掉


####6.vim的分屏功能###

ctrl+w s         ###上下分屏

ctrl+w v         ###左右分屏

ctrl+w c         ###關閉光標所在屏幕

ctrl+w 上下左右  ###光標移動到指定屏幕


####7.vim光標移動#####

在命令模式下

:數字     ##移動到指定的行

G         ##文件最後一行(最底端)

gg        ##文件第一行(最頂端)

在插入模式下

i         ##光標所在位置插入

I         ##光標所在行行首

a         ##光標所在字符的下一個位置

A         ##光標所在行行尾

o         ##光標所在行下一行

O         ##光標所在行上一行

s         ##刪除光標所在字符插入

S         ##刪除光標所在行插入


####8.vim的退出模式

:q        ##當用vim打開文件但沒有對字符作任何操作時可直接退出

:q!       ##當用vim打開文件並對字符作操作,放棄所有操作退出

:wq       ##保存退出

:wq!      ##強行保存退出,對超級用戶及文件所有人生效


####9.vim手冊####

vimtutor  ##vim的手冊

:q        ##退出vimtutor


####10.vim後臺操作####

ctrl+z   ##將當前vim編輯器打入後臺

fg       ##回到之前打入後臺的vim編輯器


補充:

vimdiff file1 file2  ##建立兩個文件file1,file2,並以分屏的形式顯示編輯兩個文件


vimtutor             ##打開一個vim的教學文件,:q退出



#################

#### 3.gedit ####

#################

ctrl+n             ##在gedit中打開一個新的tab

ctrl+s             ##保存文件

ctrl+o             ##打開文件

ctrl+x             ##剪切字符

ctrl+v             ##粘貼字符

ctrl+c             ##複製字符

yelp help:gedit    ##gedit的圖形手冊(即gedit幫助手冊)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章