1,linux之sed用法:
sed是乙個很好的檔案處理工具,本身是乙個管道命令,主要是以行為單位進行處理,可以將資料行進行替換、刪除、新增、選取等特定工作,下面先了解一下sed的用法
sed命令列格式為:
sed [-nefri] 『command』 輸入文字
常用命令:
a ∶新增, a 的後面可以接字串,而這些字串會在新的一行出現(目前的下一行)~
c ∶取代, c 的後面可以接字串,這些字串可以取代 n1,n2 之間的行!
d ∶刪除,因為是刪除啊,所以 d 後面通常不接任何咚咚;
i ∶插入, i 的後面可以接字串,而這些字串會在新的一行出現(目前的上一行);
p ∶列印,亦即將某個選擇的資料印出。通常 p 會與引數 sed -n 一起運作~
舉例:
sed -n '1p' ab #顯示第一行
sed -n '$p' ab #顯示最後一行
sed -n '1,2p' ab #顯示第一行到第二行
sed -n '2,$p' ab #顯示第二行到最後一行
2,建立多層資料夾 :mkdir -p /test1/test2/test3 -p建立父類資料夾
3,chown root world.txt 更改為root使用者
chgrp root world.txt 更改為root使用者組
chown -r root test 更改整個資料夾為root使用者
chmod 755 world.txt
4,du 統計目錄(或檔案)所佔磁碟空間的大小。
du -h *
df -hl檢視磁碟空間
6,硬鏈結說白了是乙個指標,指向檔案索引節點,系統並不為它重新分配inode。可以用:ln命令來建立硬鏈結。
語法:
ln [options] existingfile newfile(***istingfile 待建立鏈結檔案的檔案,newfile是新建立的鏈結檔案)
ln [options] existingfile-list directory
-f 建立時,將同檔名刪除.
-i 刪除前進行詢問.
ln -s abc cde 建立abc 的軟連線
ln abc cde 建立abc的硬連線
7,解壓:tar -zxvf *.tar.gz
壓縮:tar -zcvf *.tar.gz 目錄
8,netstat -an | grep port 監聽埠的占用情況
新增當前目錄的檔案到環境變數;
export ld_library_path=./:$ld_library_path
9,vim操作:
在單詞之間跳轉,使用ctrl+左右鍵。ctrl+a跳到本行的行首,ctrl+e則跳到頁尾。ctrl+u刪除當前游標前面的文字 ctrl+k-刪除當前游標後面的文字ctrl+w和alt+d-對於當前的單詞進行刪除操作,w刪除游標前面的單詞的字元,d則刪除後面的字元alt+backsapce-刪除當前游標後面的單詞,如果刪除錯誤,使用ctrl+y進行恢復ctrl+l進行清屏操作
gg回到文章開頭
12gg跳到12行
1.按v進入visual狀態,選擇多行,用》或《縮排或縮出
函式查詢:
*:向上查詢; #:向下查詢
ctags使用:
vim字串替換:
:%s/test/test2/g
如果你使用以下命令進入,那麼就可以清楚的看到以「$」表示的換行符和以「^i」表示的製表符。
:set list
:set nolist
10,計算檔案內容行數:wc -l file
11,.vimrc 設定
1 syntax on
2 set number
3 set cindent
4 set backspace=indent,eol,start
5 set tabstop=4
6 set shiftwidth=4
7 let &termencoding=&encoding
8 set fileencodings=utf-8,gbk
9 set hls
.bashrc 設定
7 export lc_all=zh_cn.utf-8
8 export lang=zh_cn.utf-8
9 export language=zh_cn.utf-8
12,linux 定時器:crontab
格式如下:
minute hour day month week command
13,linux操作git
獲取**
1).git clone git@hostname:***.git
hostname為git伺服器
***為專案名稱
2).新增使用者資訊
cd ***
修改 .git/config新增
[user]
name=wangzhigang-so
2.提交**
修改完**後執行下面命令:
1).git add . //這裡的點」.」表示所有修改的檔案,也可以指定單個檔案
2).git commit -m 「message」 //message不能為空,建議寫上本次提交修改簡單描述
3).git pull –rebase
4).git push git@hostname:*** head:refs/heads/master //推送到伺服器上
需要注意的是每次push提交到遠端伺服器前,應該先git pull –rebase
pull 會拉取伺服器最新**,和本地commit的**進行**合併,如果沒有衝突,會pull成功
反之會有衝突提示,這時需要解決衝突
3.更新** git pull –rebase //pull **時最好加上rebase引數,這樣**樹會比較簡單。
4.**比較 git diff
注意:當出現下面錯誤時,這是git 找不到你要提交的版本了:
no refs in common and
none specified; doing nothing.
perhaps you should specify a branch such as
'master'.
那請試試
git push origin master
linux下批量殺掉 包含某個關鍵字的 程式程序
有時候因為一些情況,需要把 linux 下符合某一項條件的所有程序 kill 掉,又不能用 killall 直接殺掉某一程序名稱包含的所有執行中程序(我們可能只需要殺掉其中的某一類或執行指定引數命令的程序),這個時候我們需要運用 ps, grep, cut 和 kill 一起操作。
ok,下面給出具體的參考:
ps -ef|grep local=no|grep -v grep|cut -c 9-15|xargs kill -9
執行這條命令將會殺掉所有含有關鍵字」local=no」的程序,是不是很方便?
下面將這條命令作一下簡單說明:
管道符」|」用來隔開兩個命令,管道符左邊命令的輸出會作為管道符右邊命令的輸入。
「ps -ef」 是linux裡檢視所有程序的命令。這時檢索出的程序將作為下一條命令」grep local=no」的輸入。
「grep local=no」 的輸出結果是,所有含有關鍵字」local=no」的程序。
「grep -v grep」 是在列出的程序中去除含有關鍵字」grep」的程序。
「cut -c 9-15」 是擷取輸入行的第9個字元到第15個字元,而這正好是程序號pid。
「xargs kill -9」 中的 xargs 命令是用來把前面命令的輸出結果(pid)作為」kill -9」命令的引數,並執行該命令。」kill -9」會強行殺掉指定程序。
其它類似的情況,只需要修改」grep local=no」中的關鍵字部分就可以了。
另一種方法,使用awk
ps x|grep gas|grep -v grep |awk 『』|xargs kill -9
在linux中正確匹配tab(退格):用 grep ′\t
′,如:
catd
elet
e.lo
g|gr
ep'\t'11$』\t』 |wc
Linux常用命令總結
下面這些命令是我在複習linux時記錄的,沒有詳解,只記錄了簡單的用法 檢視物理cpu個數 cat proc cpuinfo grep physical id sort uniq wc l 檢視物理cpu中core的個數,即核心數 cat proc cpuinfo grep cpu cores un...
LINUX常用命令總結
readlink f 找出符號鏈結所指向的位置 1g 到我檔案頭 g到檔案尾 cat瀏覽檔案 netstat a 檢視所有埠 mkdir 建立資料夾 rm rf 刪除檔案 執行指令碼 指令碼檔案 在當前目錄下 在目錄中查詢檔案 find 檔名 根目錄 當前目錄 剪下 mv vi命令 在檔案中搜尋關鍵...
Linux 常用命令總結
mkdir 建立目錄 ls l 顯示目錄或檔案 cd 切換目錄層次 cat n顯示行號 檢視檔案內容 cat demo.text eof 建立檔案 結尾eof退出編輯狀態 tac 反轉內容輸出 cp apr 拷貝檔案或者目錄 rm f 強制刪除檔案 r 遞迴刪除 刪除檔案或目錄 fr 刪除指定的目錄...