linux shell快速使用
(1)
who是檢視當前誰登入了linux系統
|是在兩個程式之間建立一個管道, who | wc -lwho的輸出成為了wc 的輸入
當然也可以自己建立linux的命令,建立一個檔案,賦值給其執行的許可權+x即可,同時要記住ctrl d相當於exit
ctrl c強制終止所有程序ctrl Z掛起程序,使用fg恢復,ctrl l清屏,ctrl s 中斷控制檯輸出
綠色檔案可執行檔案,可執行的程式 紅色檔案 壓縮檔案或者包檔案 ,藍色檔案目錄淺藍色檔案 連結檔案,主要是使用ln命令建立的檔案
echo是顯示變數的名稱的命令,echo -n不要列印換行符,\c一樣
printf 不會自動提供一個換行符,同時printf可以提供類似c的佔位符,例如%s%d
cat建立檔案可以輸入,使用ctrl d結尾,cat > 檔名,建立並輸入資訊,cat檔名 檢視檔案內容
開啟執行跟蹤 sh-x ,當然也可以直接在指令碼中使用set-x 來開啟執行跟蹤的功能,使用set +x 來關閉執行跟蹤功能
ctrl +a 快速切換命令到行首ctrl + e 快速切換命令到行尾
(2)查詢與替換
sed 命令進行替換 's;被替換值;要替換的值;'使用s後緊跟的界定符分割; 如果末尾是以g結尾則會進行全域性替代,當然在後面新增數字代表替代哪一個,使用p結尾代表是否列印
當然可以將替換的命令放入指令碼中使用sed執行sed -ftihuan.sedfile1.txt > file.txt
(3)排序文字
sort對文字進行排序,sort -u seq.txt去掉重複項sort -r逆序排序
sort -t ‘ ‘ -k 1.2 facebook.txt-t表示 為分割域, -k比較字元,第一個域第二個字元
wc -c位元組數 wc -l行數 wc -w 字數
cat檢視檔案-n會顯示行號tac反向列式檔案內容more分頁顯示檔案內容,空格為,q退出head顯示前幾行
(4)檔案
ln -s 原始檔目標檔案建立軟連線,ln建立硬連線
chmod-R 777testdir777代表為全部許可權4 r2w1x7rwx6rw4 rx為執行許可權
chown改變檔案或目錄的所有者,chown sparkfile
find檔案搜尋find /etc-name profile-iname-size+2000-user-cmin -5-cmin查詢5分鐘前被修改的檔案 -amin被訪問的檔案
-type按型別,-exec查詢到後並執行命令find /etc/apt/-name sources.list -exec cat
locate檔案搜尋,which搜尋命令所在目錄以及別名
grep在檔案中搜索字串所匹配的行並輸出-ivi是不區分大小寫,v是排除指定字串grepjava /etc/profile
(5)壓縮命令
gzip壓縮命令,壓縮後為.gz,gunzip解壓縮.gz的壓縮檔案
tar壓縮解壓命令,tar -c 打包 tar -v顯示詳情,-z打包同時壓縮 字尾.tar.gztar -zcf打包壓縮tar -zxvf 解壓
zip壓縮 zip -r壓縮目錄unzip解壓
(6)網路命令
write給使用者傳送資訊write sparkctrl+D儲存結束
wall 廣播資訊
traceroute顯示資料包到所有主機間的命令
netstat顯示網路的相關資訊
netstat -tTCP-u UDP-l監聽 -r路由-nip地址和埠號
檢視本機監聽埠
netstat -tlun
檢視本機的所有網路連線
netstat -an
查表本機路由表
netstat -rn
setup配值網路的命令
(7)vim的使用
iao都是插入i前a後o為下
:set nu 設定行號,:nonu取消行號 gg到第一行 G到最後一行 nG到第n行 $行尾 0行首
yy複製當前行ndd剪切當前以下幾行,p貼上當前游標所在行
r替換游標所在處字元,u取消上一步操作,/str 搜尋
全文替換:%s/old/new/g全域性:n1,n2s/old/new/g
:wnew_fileZZ儲存並修改退出
連續行註釋:n1,n2s/^/#/g
(8)使用者和組
useradd使用者新增passwd使用者密碼usermod修改資訊userdel刪除 su 切換使用者
ACL檢視分割槽的許可權
sudo的許可權問題
visudo實際修改的是/etc/sudoers檔案
root ALL=(ALL)ALL
複製sc使用者許可權
scALL=/sbin/shutdown -r now
(9)檔案系統檢視命令
df -ah檢視所有的檔案系統硬碟分割槽檢視
du-h統計目錄或檔案型別
什麼是NFS】
NFS會經常用到,用於在網路上共享儲存。這樣講,你對NFS可能不太瞭解,筆者不妨舉一個例子來說明一下NFS是用來做什麼的。假如有三臺機器A、B、C,它們需要訪問同一個目錄,目錄中都是圖片,傳統的做法是把這些圖片分別放到A、B、C。但是使用NFS只需要放到A上,然後A共享給B和C即可。訪問的時候,B和C是通過網路的方式去訪問A上的那個目錄的。
【配置NFS】
NFS配置起來還是蠻簡單的,只需要編輯配置檔案/etc/exports即可。下面筆者先建立一個簡單的NFS伺服器。
[root@localhost ~]# cat /etc/exports
/home/10.0.2.0/24(rw,sync,all_squash,anonuid=501,anongid=501)
這個配置檔案就這樣簡單一行。共分為三部分,第一部分就是本地要共享出去的目錄,第二部分為允許訪問的主機(可以是一個IP也可以是一個IP段)第三部分就是小括號裡面的,為一些許可權選項。關於第三部分,筆者簡單介紹一下:
rw :讀寫;
ro :只讀;
sync :同步模式,記憶體中資料時時寫入磁碟;
async :不同步,把記憶體中資料定期寫入磁碟中;
no_root_squash :加上這個選項後,root使用者就會對共享的目錄擁有至高的許可權控制,就像是對本機的目錄操作一樣。不安全,不建議使用;
root_squash :和上面的選項對應,root使用者對共享目錄的許可權不高,只有普通使用者的許可權,即限制了root;
all_squash :不管使用NFS的使用者是誰,他的身份都會被限定成為一個指定的普通使用者身份;
anonuid/anongid :要和root_squash 以及 all_squash一同使用,用於指定使用NFS的使用者限定後的uid和gid,前提是本機的/etc/passwd中存在這個uid和gid。
介紹了上面的相關的許可權選項後,再來分析一下筆者剛剛配置的那個/etc/exports檔案。其中要共享的目錄為/home,信任的主機為10.0.2.0/24這個網段,許可權為讀寫,同步,限定所有使用者,並且限定的uid和gid都為501。
【使用NFS】
當編輯完配置檔案/etc/exports後,就該啟動NFS服務了。啟動方法為:
[root@localhost ~]# service portmap start; service nfs start
NFS是依託portmap的,所以首先要啟動portmap,然後啟動NFS才能是剛才的配置生效。啟動完NFS後,就該使用NFS服務了。
[root@localhost ~]# showmount -e 127.0.0.1 (用在client上)
Export list for 127.0.0.1:
/home 10.0.2.0/24
用shoumount -e 加IP就可以檢視NFS的共享情況,上例中,就可以看到127.0.0.1的共享目錄為/home,信任主機為10.0.2.0/24這個網段。另外這個showmount 命令還有一個常用的選項就是-a了,它的意思是,把連線本機的NFS的client全部列出。
[root@localhost ~]# mount -t nfs 10.0.2.69:/home /mnt (client上)
[root@localhost ~]# showmount -a (nfs伺服器上)
All mount points on localhost:
10.0.2.69:/home
前面的mount 命令為掛載NFS共享目錄,相信你能看懂這個格式。showmount -a 命令列出所有的clinet。
NFS服務中還有一個常用的命令那就是exportfs,它的常用選項為[-aruv]。
-a :全部掛載或者解除安裝;
-r :重新掛載;
-u :解除安裝某一個目錄;
-v :顯示共享的目錄;
使用exportfs命令,當改變/etc/exports配置檔案後,不用重啟nfs服務直接用這個exportfs即可。
[root@localhost ~]# cat /etc/exports
/tmp/10.0.2.0/24(rw,sync,no_root_squash)
[root@localhost ~]# exportfs -arv (nfs伺服器上)
exporting 10.0.2.0/24:/tmp
更改目錄後,直接exportfs -arv即可生效。
在上面使用到了mount命令來掛載nfs,其實mount這個nfs服務還是有些說法的。首先是用-t nfs 來指定掛載的型別為nfs。另外在使用nfs時,常用一個選項就是nolock了,即在掛載nfs服務時,不加鎖。
[root@localhost ~]# mount -t nfs -o nolock 10.0.2.69:/tmp /mnt/
[root@localhost ~]# showmount -a
All mount points on localhost:
10.0.2.69:/home
10.0.2.69:/tmp
另外我們還可以把要掛載的nfs目錄寫到client上的/etc/fstab檔案中,掛載時只需要mount -a即可。
[root@localhost ~]# cat /etc/fstab
LABEL=//ext3defaults1 1
LABEL=/boot/bootext3defaults1 2
tmpfs/dev/shmtmpfsdefaults0 0
devpts/dev/ptsdevptsgid=5,mode=6200 0
sysfs/syssysfsdefaults0 0
proc/procprocdefaults0 0
LABEL=SWAP-hda2swapswapdefaults0 0
10.0.2.69:/tmp/mntnfsnolock0 0
寫完/etc/fstab檔案後,只需要mount -a即可掛載nfs服務的共享目錄。
[root@localhost ~]# umount /mnt/ 首先把剛才掛載的nfs解除安裝掉
[root@localhost ~]# mount -a
[root@localhost ~]# df -h
FilesystemSizeUsed Avail Use% Mounted on
/dev/hda37.3G3.7G3.3G53% /
/dev/hda199M12M83M12% /boot
tmpfs84M084M0% /dev/shm
10.0.2.69:/tmp7.3G3.7G3.3G53% /mnt
關於NFS部分就講這麼多,內容並不多,相信你很快就能掌握!