日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Bash Shell学习笔记五

發布時間:2023/12/15 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Bash Shell学习笔记五 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

1.vim的模式下復制與粘貼

視圖模式下:
shift+d剪切
shift+p粘貼
shift+y復制


按下D可以整行刪除
按delele鍵,可以逐一字符刪除。

?

?

2.vim中的幾個用法

?

1.搜索上一個匹配用N下一個匹配用n

?

2.轉換dos格式為unix格式方法為 :set ff=unix

?

3.顯示行號的設置為 :set number on

?

4.vim中用 . 表示當前行。

?

5.:co 12?????????????????? //vim中把當前行 copy 到行 12 的地方

?

6.vim命令前面指明范圍是 "%",會作用于整個文件。

?

7.vim v模式下選擇文本后用 < > 來調整選擇部分的縮進

?

8.ggVG 全部選擇

?

9.set background=dark?? :set backgruond=light??????????????? //設置背景亮度:

?

10. :syntax on //顏色on

?

11.

s 是最基本的替換命令,象大多數文本操作命令一樣,它也可以帶一個表示操作范圍的前綴。有空了我會給大家講講范圍前綴的語法和常見的用法。
一個簡便的方法是,先在 visual 模式下想辦法選中你要操作的范圍,然后再輸入 s 命令就可以替換了。
比如你要操作一個段落,可以先用 { 或者 [[ 挪到段落的開始處,然后再用 v 進入 visual 模式,然后再用 } 或者 ]] 挪到段落的結尾處,然后再輸入 s 命令就可以實現你的目的了。
用view模式選中以后要打":"才成進入替換啊。
它下面就變成 :'<,'>;,你繼續輸入s就可以了

?

12.set backspace=0/1/2

可以改變backspace鍵在vim里的行為。具體請:h 'backspace'注意前后有單引號。


13.在vim中,如果我不小心按錯了鍵,跑到文件頭或者文件尾了,怎么能快速回到剛才光標所在的位置?

可以用 Ctrl+o 或者用``就可以回到剛才的位置。

?

14.ctrl w??????????? //多窗口之間的移動

?

15.:sp input.file //打開多個文件

?

?

3. 小知識

1.grep -v 取不匹配的行

2.grep -i 匹配時忽略大小寫

3.壓縮空格,用tr -s ' '

4.ssh遠程執行命令的方法為 ssh "commond",注意的是,command中的$需要用/$

5./s 匹配所有空白字符,包括回車,換行,制表。

6.模式匹配中 ^表示行首,$表示行尾

7.tar 命令如果要將某個文件或目錄排除? tar cvf test.tar.gz? /tmp/test? --exclude=/tmp/test/test2/test1

?

4.后臺與前臺執行任務

jobs -l 顯示了當前 shell 環境中已啟動的作業狀態

bg %id 將任務后臺執行

fg %id 將任務前臺執行

nice 給程序賦予一定的優先級大小

renice 重新賦予程序優先級大小

!$ 剛剛執行得命令

nohup commond & 后臺運行commond并且不會因為終端關閉而關閉

5.建立虛擬內存的方法

方法一

--------------------------//分區

fdisk /dev/sda

n

+100

82

w

-----------------------//更新內核分區表

partprobe

-------------------------//設置交換分區

mkswap /dev/sda6

swapon /dev/sda6

------------------------//取消交換分區

swapoff /dev/sda6

------------------------

方法二

------------------------設置交換文件

dd </dev/zero>/tmp/swap bs=4k count=25000

mkswap /tmp/swap

free

swapon /tmp/swap

free

-------------------------取消交換文件

swapoff /tmp/swap

free

--------------------------

6.文件系統相關的命令

dumpe2fs /dev/sda5 //顯示超級塊信息

lsattr install.log 顯示文件屬性? A,a,c,D,d,i,j,s,S,e,u

/lib/modules/`uname -r`/kernel/fs //查看linux支持的文件系統
mke2fs -i inodesize
mke2fs -b blocksize
mke2fs -N inodenumber
mke2fs -m number?????? //number% size to give to root,default is 5%
mke2fs -L label
mke2fs -j ? ? ? ? ? ? ? ? ? ?? //make ext3 file system

e2label 查看,創建卷標

fsck -y /dev/sda3 檢查ext2文件系統

tun2fs -j /dev/sda3 convert ext2 to ext3

7.掛載相關的命令

/etc/fstab 中的參數

rw,read and write
suid,運行使用suid
dev,允許包括設備文件
exec,允許二進制文件
auto,允許自動判斷文件系統類型
nouser,只允許超級用戶掛在文件系統
async,異步管理的改變
user?? 允許一般用戶掛載
ro?? read only
loop 回環設備掛載
1每天備份 2每2天備份
1是否用fsck檢查 0,不檢查,1,檢查,2,第二個檢查的分區。

?

檢查當前掛載的文件系統
1. mount
2. /etc/mtab
3. cat /proc/mounts

8.不常用的命令

uptime?????????????????????????????????? 查看系統負載

pstree??????? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 查看進程數

newgrp user?????????????????????????? 修改user默認用戶組

gpasswd -a jack group

useradd -r user/group??????????? 創建系統賬戶或用戶組(1<=uid/gid<=499)

/etc/default/useradd?????????????? 修改useradd命令的默認群組

usermod -L user???????????????????? 鎖定用戶密碼
usermod -U user ? ? ? ? ? ? ? ? ?? 釋放用戶密碼
passwd -S user ? ? ? ? ? ? ? ? ? ? ? 查看是否鎖定

?

arp -i eth0 -s xxx.xxx.xxx.xxx(IP) xx.xx.xx.xx.xx(MAC). 修改MAC地址

/etc/sysctl.conf???????????????????????? 修改系統啟動時的內核參數

rpm -ql?????????????????????????????????? 查詢軟件包安裝的所有文件

rpm -qf?????????????????????????????????? 根據安裝的文件查詢軟件包
ssh 遠程執行一條命令,如何退出?? 在命令的后面加上0</dev/null;1>/dev/null;2>/dev/null; 是輸出設備重定向一下

9.手動配置ip,gateway和dns

~$ sudo gedit /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.23.23
netmask 255.255.255.0
gateway 192.168.23.1

接下來添加DNS
~$ cat /etc/resolv.conf
# Generated by NetworkManager // 需要刪除改行,否則每次重啟ubuntu之后,/etc/resolv.conf將被清空
~$ sudo gedit /etc/resolv.conf
nameserver 202.106.0.20
~$ sudo /etc/init.d/networking restart
或者
~$ sudo service networking restart
如果配置失敗,可以使用手工配置方法:
~$ sudo ifconfig eth0 192.168.23.23 netmask 255.255.255.0 up
~$ sudo route add default gw 192.168.23.1 eth0


10 .一些shell特性


(ls;pwd;date) > tmp.txt

在當前shell中執行
source test.sh
. test.sh
{test.sh}
eval '. test.sh'
在子shell中執行
test.sh
/bin/bash test.sh
(. test.sh;)
exec test.sh


${variable:-word} 若variable已被設置或非空,則帶入原來的值,否則帶入word
${variable:=word} 若variable已被設置或非空,則帶入原來的值,否則將variable設置為word
${variable:+word} 若variable已被設置或非空,則帶入word,否則什么都不帶入
${variable:?word} 若variable已被設置或非空,則帶入原來的值,否則輸出word并從shell推出
${variable:offset} 獲得變量variable值中位置從offset開始的字串
${variable:offset:length} 獲得變量variable值中位置從offset開始長度為length的字串

readonly variable

變量擴展
${var:pos}
${var:pos:len}
${var/Pattern/Replacement}
${var//Pattern/Replacement}

var="what is your name"
echo ${var:3}

declare -r var= readonly var
declare -i number
declare -a? 數組
declare -f? 函數
declare -x? export

command <&- 關閉標準輸入
command >& m 把標準輸出重定向到文件描述符m中
command <& 把標準輸入重新定向到文件描述如m中
command >filename 2>&1 把標準輸出和標準錯誤一起重新定向到一個文件中

?

總結

以上是生活随笔為你收集整理的Bash Shell学习笔记五的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。