天天看點

linux常用指令

正式入行快3年了,從一開始的純前端到現在的後端研發,曾被質問過女生怎麼會搞程式設計,但一切都過去了,我依舊是個程式媛并且會越來越好!

很慶幸在百度這樣的公司裡,無論是技術視野還是行内氛圍,我都長了不少見識。

總的來說,這3年過的很充實,it這個行業還是十分浮躁的,甯靜方能緻遠,我決定定期更新博文,就從這篇放在evernote裡的筆記開始吧!

1、删除目錄及子目錄下的 .svn目錄

      find . -type d

-name ".svn" | xargs rm -rf

2、/tmp 目錄的權限 drwxrwxrwt  

  rwt的意思是:對目錄有執行權限,但不能删除,即sticky

bit

  rwx : 可讀可寫可執行

4+2+1

3、改變群組、使用者、權限

     chgrp   群組名

  改變的目錄

     groupadd -g gid

gname

     groupdel

 gname

     chown  使用者名:群組名

 改變的目錄

     chmod  權限代碼

          r

- 4

          w

- 2

          x

- 1

     useradd

uname

     userdel

 -r(連根目錄一起删除) uname

     usermod -g(修改組名)

-g(添加到組)  組名 使用者名

4、如何檢視linux上的所有使用者群組和使用者

     /etc/shadow  

/etc/group  

5、linux下可以執行檔案的地方

     /bin  

/usr/bin

6、顯示檔案内容的指令有哪些?

     head

     tail

     more

     less

     cat  -- 從頭開始

 -n  輸入行号  -s(壓縮空白)

     tac  --

于cat相反,從尾部開始

     nl  --

 顯示同時輸出行号

     od  --

二進制方式讀取檔案内容

7、操作檔案的指令有哪些?

     rm

     mv

     mkdir

     rmdir

     cp

     ls

     umask  002  

--- 預設建立檔案、目錄的權限 (777 - 002  、 touch 後 由666-002)

8、查找檔案

     which   ls

     whereis

 檔案名

     find  -type

 -name  

     locate

     file  檔案名  

--- 檢視檔案屬性

9、檢視磁盤容量、已用容量及inode的指令?

     df

 -[ikm]

     du -h

--max-depth=1 /home/iknow/   檢視各檔案所占空間

10、日志分割、分析相關的指令有哪些?

     cut   -d"分隔符" -cf

 fields

     sort  -t "分隔符"

-n(純數字) -r(反向排序) -u(相同的列,隻出現一次)

     wc  -l(多少行)

-m(字元) -w(字)

     uniq

     split  -l 5

 /etc/passwd test    ----  每五行分隔成一個檔案

12、定時操作的指令有哪些?如何使用?

     crontab -e(eidt)

-l(list) -r(delete all)

     /var/log/cron

 --- 記錄檔儲存在這裡

     分(0-59)  時(0-23)

日(1-31) 月(1-12) 周(0-6)

     eg:  59 23 13 2 *

mail  <

love.txt        每年的2月13日23:59分都發郵件給 郵箱

   */5 * * * * test.sh   每五分鐘運作一次腳本

     at  

隻運作一次的任務

13、如何執行背景任務?

      command  &

 --- 背後執行

      fg ---

将任務拉回螢幕執行

     ctrl + z  ---

中斷指令

     jobs --

檢視目前任務

     kill -9  job---

強制停止,即殺死程式

14、有哪些檢視系統狀态的指令?

     ps -aux (all

 user  tty - teletypewriters 的程式)

     top

     free

     uname -a   

     lsb_release

-a

     sar -u(cpu) -r(mem) 描述

次數  ----- 檢視cpu和mem使用情況

 1)、核心|作業系統|cpu資訊

 uname -a

 2)、檢視cup資訊

 cat /proc/cpuinfo

     3)、作業系統版本

 head -n 1 /etc/issue

     4)、檢視環境變量

 env

     5)、電腦

 bc

 6)、檢視所有安裝的軟體

 rpm -qa

     7)、ct任務

 crontab -e    ---- 添加定時任務

 crontal -l   ----- 檢視目前使用者的定時任務

 8)、檢視所有程序情況

          ps

-ef

 pstree

     9)、cpu

idle

 vmstat -n

15、如何檢視程式優先級并調整程式優先級?

     ps -l   ---

可以檢視優先級

     nice -n(nice值)

command

     renice

 number(nice值) pid

16、檢視一些主機資訊

     uptime --

 啟動時間

     who /w/whoami  --

目前登入使用者資訊

     last ---

最近登入使用者的資訊

     hostname -i(ip

address)

17、擷取遠端資源

     wget

 -c(斷點續傳) ftp:://host/絕對路徑

     curl url

18、壓縮與解壓縮

     .tar

     解包:tar xvf

filename.tar

     打包:tar cvf filename.tar dirname

   (注:tar是打包,不是壓縮!)

     ———————————————

   .gz

     解壓1:gunzip filename.gz

 解壓2:gzip -d filename.gz

     壓縮:gzip filename

     .tar.gz 和 .tgz

     解壓:tar zxvf

filename.tar.gz

     壓縮:tar zcvf filename.tar.gz dirname

     .bz2

 解壓1:bzip2 -d filename.bz2

     解壓2:bunzip2

filename.bz2

     壓縮: bzip2 -z filename

 .tar.bz2

     解壓:tar jxvf filename.tar.bz2

   壓縮:tar jcvf filename.tar.bz2 dirname

 ———————————————

二、檔案處理

 1、檢視目前目錄下檔案總數

          ls

| wc -l

 2、同時提取符合兩個屬性的東西

  egrep "baiduspider|googlebot" example.log >

spider.txt #其他以此類推

 3、按格式輸出

 awk ‘print{$1,$2}‘   xxx.log  

     4、sort  排序

 -r (reverse)  

     5、uniq

唯一性

 uniq -c   --- 行首出現重複的次數

 6、cut

 cut -d "分隔符" -f  num 

     7、wc

 統計

 wc -l      

 wc -m      

 wc -w   --- 單詞出現的次數

      eg :

統計通路請求“req=xxx" 的各ip出現次數,并逆序排列

   grep ‘req=xxx‘

apache_access_log  |cut -d ‘ ‘ -f1 " | sort |uniq -c|sort

-r

     8、sed(stream

editor)

     sed

"s/\w\+\[&]/2g"   filename