1. 程式人生 > >linux命令第二篇

linux命令第二篇

管道符篩選 | grep
cat xxx | grep 12 把xxx檔案包含12的那行輸出
cat xxx | wc -l   xxx檔案有多少行顯示出來

讀寫執行:
rwxr–rw-
前三段代表當前使用者對該問件夾或問夾的許可權,r是可讀,w是可寫,x是可執行
中三段是改使用者所在的使用者組其他成員對該檔案的許可權
後三段是其他組的所有成員的許可權

shell指令碼格式:
必寫頭部命令: #!/bin/bash 這個指的是shell直譯器的路徑
執行shell指令碼兩種方法:1.不管當前使用者對此指令碼有沒有執行許可權,強制執行 sh xxx.sh
2.先修改許可權 chmod 777

xx.sh ; ./xx.sh

網路安裝東西
yum search http 這個命令是當你想安裝一個軟體,你忘記了全名但是你記得該軟體名字的一部分‘http’,可以用這個命令搜尋包含這個的軟體。
yum install httpd 安裝httpd
yum install -y httpd 這樣的安裝會在過程中自動選擇y

檢視程式的狀態service httpd status
啟動程式 service httpd start

檢視後臺執行的包含http的程序:ps -ef | grep http
在上面的基礎上查詢不包含xxx的程序 :ps -ef | grep http | grep -v xxx
假設結果如下
root 2689 1 0 20:56 ? 00:00:00 /usr/sbin/httpd
apache 2692 2689 0 20:56 ? 00:00:00 /usr/sbin/httpd
apache 2693 2689 0 20:56 ? 00:00:00 /usr/sbin/httpd

這裡第一列指的是使用者,第二列就是程序(pid)的id,第三列就是第二列程序的父程序。

殺死一個程序:kill -9 xxxx
值得注意,殺死父程序,子程序有時仍然會存在,這時候重啟程式會不成功,所以這裡有一個通殺的指令
kill -9 $(pgrep -f xxxx) 這裡()裡返回的是xxxx匹配到的程序號,用這個指令就可以把某個程式的父子程序都刪除。

檢視一個程序的埠號
netstat -nlp | grep xxxx
返回的第一行第四列就是埠號
埠號一般有這麼幾種形式:
0.0.0.0:22 , :::22 開頭四個零和下面的那種表示該程序服務可以被本機所有ip訪問到
127.0.0.1:22 表示只有虛擬機器ip才能訪問
192.168.137.190:22 表示只有能夠訪問到192.168.137.190的網路環境才能訪問到這個程序

移除rpm包
rpm -qa | grep xxx 之前安裝的包全名忘了,用這個指令查詢
rpm -e xxx 用這個刪除,但是有時會出問題,因為解除安裝的包有依賴
rpm -e --nodeps xxx 不管依賴關係,老子就是要刪!
還有一個指令也可以刪除
yum remove xxx

零時獲取root許可權
sudo xxx命令
要有這個功能需要在root使用者下配置 /etc/sudoers檔案
新增
asd ALL=(root) NOPASSWD:ALL
這樣子asd使用者就有了sudo的功能了

如果a使用者想切換到b使用者,
sudo su - b

修改許可權
chmod 777 檔案
chmod -R 777 資料夾
修改檔案所屬使用者和使用者組
chown asd:asd 檔案
chown asd : asd 資料夾

chmod +x/-x xxx.sh 這個可以對三種類別都增減執行許可權
爭對 該使用者 chmod u+x xxx.sh
chmod g+x xxx.sh
chmod o+x xxx.sh