####管理輸入與輸出####
在linux系統中,正確輸出編號爲1,錯誤輸出編號爲2.
使用student用戶執行find /etc -name passed命令,因爲student用戶的權限問題會出現如下情況:
[kiosk@foundation44 Desktop]$ find /etc/ -name passwd find: ‘/etc/pki/CA/private’: Permission denied ##報錯:沒有權力進入## find: ‘/etc/pki/rsyslog’: Permission denied find: ‘/etc/dhcp’: Permission denied find: ‘/etc/lvm/archive’: Permission denied find: ‘/etc/lvm/backup’: Permission denied find: ‘/etc/lvm/cache’: Permission denied find: ‘/etc/selinux/targeted/modules/active’: Permission denied /etc/passwd ##正確輸出## find: ‘/etc/audit’: Permission denied /etc/pam.d/passwd find: ‘/etc/polkit-1/rules.d’: Permission denied find: ‘/etc/polkit-1/localauthority’: Permission denied find: ‘/etc/firewalld’: Permission denied find: ‘/etc/ipsec.d’: Permission denied find: ‘/etc/audisp’: Permission denied find: ‘/etc/vmware-tools/GuestProxyData/trusted’: Permission denied find: ‘/etc/grub.d’: Permission denied find: ‘/etc/libvirt’: Permission denied find: ‘/etc/cups/ssl’: Permission denied find: ‘/etc/sudoers.d’: Permission denied [kiosk@foundation44 Desktop]$
find /etc -name passwd > file ##重定向正確輸出##
find /etc -name passwd 2> file ##重定向錯誤輸出##
find /etc -name passwd &> file ##重定向所有輸出##
注:>,2>,&>都是命令輸出將file文件的原內容覆蓋;
> file ##清空文件file##
find /etc -name passwd >> file ##追加正確輸出##
find /etc -name passwd 2>> file ##追加錯誤輸出##
find /etc -name passwd &>> file ##追加所有輸出##
注:>>,2>>,&>>都只是將命令輸出追加到file文件內容後面,不會覆蓋原內容;
| 管道符:管道符的作用是將前一條命令的輸出變成管道符之後命令的輸入
例如:ls /bin | wc -l ##統計ls /bin 命令輸出的行數##
[kiosk@foundation44 Desktop]$ ls /bin | wc -l 1962 [kiosk@foundation44 Desktop]$
系統中錯誤的輸出是無法通過管道符的,但是用 2>&1 可以把錯誤的輸出編號由2變成1
tee 複製輸出到指定位置
例如:date |tee file |wc -l ##tee命令複製date命令的輸出到file中,並統計輸出行
數##
[kiosk@foundation44 Desktop]$ date | tee file | wc -l 1 [kiosk@foundation44 Desktop]$ cat file Thu Mar 2 20:05:14 CST 2017 [kiosk@foundation44 Desktop]$
####vim####
vim的三個模式:編輯模式,命令模式,可視模式
進入編輯模式(即插入模式):
i ##光標所在位置插入##
l ##光標所在行行首##
a ##光標所在字符的下一個位置##
A ##光標所在行行尾##
o ##光標所在行下一行##
O ##光標所在行上一行##
s ##刪除光標所在字符插入##
S ##刪除光標所在行插入##
命令模式下:
/關鍵字 ##搜索關鍵字##
n向下匹配,N向上匹配
:數字 ##移動到指定的行##
G ##文件最後一行##
gg ##文件第一行##
:set nu ##行號添加##
:set nonu ##取消行號##
:set mouse=a ##添加鼠標選擇##
:set cursorline ##行線顯示##
注:永久設定需將參數加入到vim的配置文件/etc/vimrc
:q ##當用vim打開文件但沒有對字符作任何操作時可直接退出##
:q! ##當用vim打開文件並對字符作操作,放棄所有操作退出##
:wq ##保存退出##
:wq! ##強行保存退出,對超級用戶及文件所有人生效##
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個單詞##
c3c ##剪切3行##
esc ---> p ##剪切過後會進入到插入模式,在執行粘貼動作時一定要退出插入
模式##
4.批量修改字符
:%s/原有字符/替換後字符 ##只替換每一行中出現的第一個原有字符##
:%s/原有字符/替換後字符/g ##替換所有##
:%s/\t//g ##把全文的tab鍵替去掉,\t 表示tab鍵##
:%s/^\ *//g ##把全文行首的空格去掉,"^\ *"表示行首的空>格##
:%s/^\#\ */#/g ##把全文#後的空格去掉##
可視模式:
在命令模式下按“ctrl+v”進入到可視模式,在可視模式下可以區域選擇字符
分屏功能
ctrl+w s ##上下分屏##
ctrl+w v ##左右分屏##
ctrl+w c ##關閉光標所在屏幕##
ctrl+w 上下左右 ##光標移動到指定屏幕##
:sp file2 ##同時編輯當前文件和file2##
批量添加字符
ctrl+v進入可視模式
---->選中要加入字符所在列
---->按“I”進入插入模式,寫入要加入的字符
---->按esc
補充:
vimtutor ##vim的手冊
:q ##退出vimtutor
####gedit####
ctrl+n ##在gedit中打開一個新的tab##
ctrl+s ##保存文件##
ctrl+o ##打開文件##
ctrl+x ##剪切字符##
ctrl+v ##粘貼字符##
ctrl+c ##複製字符##
yelp help:gedit ##gedit的圖形手冊##
練習題:
[root@localhost Desktop]# grep ich
/usr/share/mime/packages/freedesktop.org.xml |tee /root/lines
####複製/usr/share/mime/packages/freedesktop.org.xml文件中ich所在行,並複製到/root
/lines文件中####
[root@localhost Desktop]# vim /root/lines ####用vim打開/root/lines文件####
在vim的命令模式下輸入:%s/\ //g ####換掉文件中的空格(注意:\ /之間是空格鍵)####