linux經常使用命令筆記大全

===================目錄操做========================
mkdir: 建立目錄
  -p : 遞歸的建立目錄 也就是能夠建立多層目錄
  一次建立多個目錄: mkdir {a,b,c,d,e,f}
  一次建立 a b c d e f多個目錄。
rmdir:刪除一個空文件夾
cp:複製文件或者文件夾

  -a =-pdr
  -p 同時複製文件屬性,好比修改日期
  -d 複製時保留文件連接
  -r: 複製文件夾時,遞歸複製子文件夾
  -l 不復制,而是建立指向源文件的連接文件,連接文件名由目標文件給出。   
  note:能夠在拷貝的同時重命名
mv:移動文件或者文件夾,能夠在移動的時候重命名

rm :刪除文件或者文件夾
  -r:遞歸刪除
  -f:強制刪除 即沒有提醒

======================文件處理命令==============================
ls :查看文件
  -l 以列表形式查看
  -h 以一種人性化的方式查看,也是文件的大小以合適的單位顯示
  -a 查看全部文件,包括隱藏文件
  -i 顯示出文件的i節點號
touch 文件名:建立文件 能夠一次建立多個文件,以空格隔開

cat :查看文件內容 
  -n:帶行號
tac:反向顯示文件內容

more:分頁查看文件內容
  進入瀏覽模式後:
  f或者空格:下一頁
  enter:一行一行往下翻
  q:退出

less:查看文件內容 
  空格翻頁
  回車換行
  pageup:上一頁
  pagedown:下一頁
  上箭頭:向上翻
  下箭頭:向下翻
  /搜索詞 n向下找

head -n 文件名 :查看文件前n行。缺省-n顯示前10行
tail -n 文件名 :查看文件的末尾幾行
  -f :動態顯示文件末尾內容

ln:連接命令
  -s建立軟鏈接
  硬連接和cp -p的區別是硬連接會同步更新
  源文件若是丟失,硬連接依然存在。
  硬連接和源文件的i節點相同。
  硬連接不能誇分區,軟鏈接能夠跨分區。
  硬連接不能夠連接目錄,連接能夠
  軟鏈接文件具備的權限是ugo都是rwx

====================權限管理命令==============
chmod:修改文件或目錄的權限,只有root和全部者能夠更改
  [{ugoa}{+-=}{rwx}] [文件或目錄] 
  [mode=421] [文件或目錄]
  -R 遞歸修改
  權限的數字表示:
  r->4
  w->2
  x->1

  例:chmod u+x a.txt
    chmod g+w,o-r a.txt //同時作多個權限的修改
    chmod g=rwx a.txt
    chmod 640 a.txt
    chmod -R 777 testdir //把目錄和下面全部文件的權限

            針對文件        針對目錄
    r   讀權限    能夠查看文件內容    能夠列出目錄中的內容
    w    寫權限    能夠修改文件內容    能夠在目錄中建立、刪除文件
    x     執行權限      能夠執行文件      能夠進入目錄

chown:更改文件全部者,只有root能夠更改
  chown root a.txt//把a.txt更改成root全部

chgrp:更改所屬組
  chgrp lambrother fengjie //把fengjie的所屬組更改成lambrother

umask -S:查看建立文件的缺省權限,即默認權限
umask 023:修改文件的缺省權限爲777-023=754。即rwxr-xr--

 

=====================文件搜索命令========================================
find:搜索制定範圍內的文件
  find [搜索範圍] [匹配條件]
  -name 按文件名搜索
  -iname 根據文件名查找,不區分大小寫
  -size +n大於 -n小於 n等於 這個n是數據塊,在Linux中一個數據塊是512字節大小
  -user 根據全部者查找
  -group 根據所屬組查找
  根據文件屬性查找:
    -amin 訪問時間 access
    -cmin 根據文件屬性被修改的時間 change
    -mmin 根據文件內容被修改的時間 modify
  例: find /etc -cmin -5 :查找/etc目錄下五分鐘內被修改過屬性的文件和目錄

  -a 兩個條件同時知足
    find /etc -size +10 -a -size -50
  -o 兩個條件知足一個便可

  -type 
    f 文件 d 目錄 l軟鏈接文件
  -inum 根據i節點查找

  對找到的結果進行操做
    -exec或者-ok 命令 {} \;
    例如:
      find /etc -name init* -exec ls -l {} \; 對找到的文件名按列表查看

  find /etc -name init :搜索目錄/etc下面全部的init文件,精確匹配,包括子目錄中的init文件
  find / -size +204800 搜索大於100M的文件

locate:(查找速度很是快,由於它維護了一個文件庫。缺點就是新創建的文件沒有很快收錄到文件庫)
  locate 文件名
  updatedb 更新locate的文件資料庫 文件資料庫不收錄/tmp下的文件
  -i 不區分大小寫

which :查找命令的目錄以及別名
  which 命令

whereis :搜索命令所在目錄及幫助文檔路徑。

grep:在文件中搜尋字符串匹配的行並輸出,多個文件以空格隔開。
  -i不區分大小寫
  -v排除指定字符串
  -E 以正則表達式的方式搜索
  -F 以普通文本的方式搜索
  -n 顯示搜索到的內容在文件中的行號。

==================幫助命令======================
man:查看命令或者配置文件的幫助信息
  man 命令/配置文件
  在手冊裏面,能夠輸入/要查找的str
  man ls
  man services
  man fstab //直接輸入配置文件的名字,而不須要使用絕對路徑 重點查看name選項和配置文件的格式。
  若是一個命令即便命令又是配置文件,那麼可使用一個序號進行區分,好比:
  man 1 passwd 查看命令passwd的幫助
  man 5 passwd 查看配置文件passwd的幫助

whatis 命令:獲得命令的簡要信息

apropos 配置文件名:查看配置文件的簡短信息

命令 --help:查看命令的選項。

help 命令:查看shell內置命令的幫助信息。 shell內置命令是沒有命令路徑。不能使用man查看幫助。

===================用戶管理命令==========================================
useradd: 添加用戶
  useradd 用戶名

passwd: 修改用戶密碼
  passwd 用戶名 不加用戶名直接更改本身的密碼

who:查看當前的帳戶 顯示的格式爲: 登陸用戶名 登陸終端(tty:本地登陸 pts:遠程終端) 登陸時間 ip地址

  w:查看更詳細的用戶登陸信息。


=====================================壓縮解壓縮命令============================
.gz格式
  壓縮:gzip 文件名 只能壓縮文件不能壓縮目錄,壓縮完源文件也不見了
  解壓縮:gunzip/gzip -d 壓縮包名稱

tar:
  -zcvf 壓縮後文件名 打包的目錄 :生成.tar.gz文件 注:這個命令先用tar歸檔,而後把歸檔的包壓縮成.gz
  -zxvf 要解壓的文件名 :解壓縮.tar.bz2的文件

  -jcvf 壓縮後的文件名 打包的目錄:生成.tar.bz2 注:這個命令先用tar歸檔,而後把歸檔的包壓縮成.bz2
  -jxvf 要解壓的文件名 :解壓.tar.bz2的文件

zip:
  zip -r 壓縮生成的文件名 要壓縮的目錄
  zip 壓縮生成的文件名 要壓縮的文件。

unzip:
  unzip 要解壓縮的文件

bzip2:
  bzip2 -k 要壓縮的文件名 -k選項:保留源文件
  bunzip2 -k 要解壓的文件名 -k選項:保留壓縮包

 

===============網絡命令==========================
write:給在線用戶發送信息,用戶不在線不行。以Ctrl+D保存
  write 用戶名

wall:給全部用戶名發送信息
  wall 要發送的信息

ping:測試網絡連通性

  ping ip地址 
  -c 要ping的次數

ifconfig:
  直接回車查看當前網卡信息
  ifconfig 網卡名 ip地址 臨時修改網絡ip
    ifconfig th0:0 192.168.1.100 netmask 255.255.255.0
      給th0這個網卡新添加一個ip
    ifconfig eth0:0 down
    ifconfig eth0:0 up
ifdown th0
  禁用th0這塊網卡

ifup th0
  開啓th0這塊網卡

mail:郵件命令
  mail 要發送的用戶名
  mail 直接回車:查看命令
    help :查看支持的命令格式
    輸入序列號:查看郵件詳細內容
    h: 回到郵件列表
    d 序列號:刪除序列號對應的郵件

last:統計計算機全部用戶登陸的時間信息,以及重啓信息
lastlog:全部用戶最後一次登陸的時間
  -u 用戶的uid 查看指定用戶的登陸信息。

traceroute:顯示數據包到主機間的路徑
  traceroute 要探測的地址.
  -n 使用ip而不使用域名

nslookup www.baidu.com
  查看百度的ip地址

netstat:顯示網絡相關信息
  -t :tcp協議
  -u :udp協議
  -l:監聽
  -r:路由
  -n:顯示ip地址和端口號

  netstat -tlun:查看本機監聽的端口
  netstat -an:查看全部的監聽信息
  netstat -rn :查看路由表,即網管

wget 文件地址
  下載文件

service network restart:重啓網絡服務。

telnet 域名或ip
  遠程管理與端口探測
  如: telnet 192.168.2.3:80
    探測192.168.2.3是否開啓了80端口

mount:掛在命令
  mount -t iso9660 /dev/sr0 /mnt/cdrom :把sr0掛在到cdrom

==============關機重啓命令====================

shutdown:這個關機命令更安全一些,不推薦使用其餘關機命令。
  -h:關機
shutdown -h now shutdown -h 20:30
  -r:重啓 
shutdown -r now 
  -c:取消上次的關機命令

重啓:
  init 6
  reboot

關機:
  init 0
  poweroff

  系統運行級別:
    0 關機
    1 單用戶 相似windows安全模式
    2 不徹底多用戶,不含nfs服務
    3 徹底多用戶
    4 未分配
    5 圖形界面
    6 重啓
  能夠經過查看/etc/inittab來查看系統啓動的運行級別
  runlevel:查看當前的運行級別
  init n:設置系統運行級別

logout:退出當前用戶,返回到登陸界面

 

==============其餘小技巧==========
\命令名字 :使用原始的命令
  好比:
    ls 其實是ls --color auto
    \ls 就是原始的ls


=============================================
1、軟件包分類
  源碼包
    腳本安裝包
  特色:
    1. 開源
    2. 能夠自由選擇所需的功能
    3. 軟件是編譯安裝,因此更加適合本身的系統,更加穩定也效率更高
    4. 卸載方便,便可以直接刪除文件夾。
  缺點:
    1. 安裝過程步驟較多,尤爲安裝較大的軟件集合時,容易出現錯誤
    2. 編譯時間較長,安裝畢二進制安裝時間長
    3. 由於是編譯安裝,安裝過程當中一旦報錯新手很難解決


  二進制包(RPM包、系統默認包)
    優勢:
      1. 包管理系統簡單,只經過幾個命令就能夠實現包的安裝、升級、查詢和卸載
      2. 安裝速度比源碼包安裝快的多
    缺點:
      1. 通過編譯,再也不能夠看到源代碼
      2. 功能選擇不如源碼包靈活
      3. 依賴性

=============rpm命令管理-包命名與依賴性=======================================
1. RPM包命名原則
  httpd-2.2.15-15.el6.centos.l.i686.rpm
    httpd 軟件包名
    2.2.15 軟件版本
    15 軟件發佈的次數
    el6.centos 適合的Linux平臺
    i686 適合的硬件平臺
    rpm rpm包擴展名
    若是名字裏有noarch,則表示全部平臺均可以。

二、 rpm包依賴性
    樹形依賴: a->b->c 從後往前安裝所依賴的包。
    環形依賴: a->b->c->a 解決辦法:一次性安裝三個包
    模塊依賴:模塊依賴查詢網站 :www.rpmfind.net 通常以.so.數字結尾的依賴包,是庫依賴包,只須要安裝包括這個庫的軟件就能夠自動安裝好這個所需的庫依賴包

包全名:操做的包是沒有安裝的軟件包時,使用包全名,並且要注意路徑。安裝、升級時用
包名 :操做已經安裝的軟件包時,使用包名。是搜索/var/lib/rpm中的數據庫。通常查詢,卸載時用

3. rpm安裝:
  rpm-ivh 包全名
    -i(install) 安裝
    -v(verbose) 顯示詳細信息
    -h(hash) 顯示進度
    --nodeps 不檢測依賴性 通常都必需要檢測

4. rpm包升級:
  rpm -Uvh 包全名
    -U(upgrade) 升級
    -h

5. rpm -e 包名
  -e(erase) 卸載
  --nodeps 不檢查依賴性

6. 查詢是否安裝
  rpm - q 包名 :查詢包是否安裝
    -q(query) 查詢
    -a(all) 全部
    -i(information) 查詢軟件信息
    -p(package) 查詢未安裝包信息
  rpm -ql 包名:查詢包中文件安裝位置(list) 注:包的安裝路徑在包生成的時候就肯定了
  rpm -qlp 包全名:查詢未安裝包安裝時會安裝在哪裏。
  rpm -qf 系統文件名 :查詢系統文件屬於哪一個rpm包 注:系統文件名必須是經過安裝哪一個包生成的文件
    -f:查詢系統文件屬於哪一個包
  rpm -qR 包名 查詢已安裝軟件包的依賴性
    -r: 查詢軟件包的依賴性(requires)
  rpm -qRp:查詢未安裝包的依賴性
    -p: 查詢未安裝包的依賴性

    例如:
      rpm -qa | grep httpd 查詢全部Apache的包

7. rpm包校驗
  rpm -V 已安裝的包名 :若是沒有提示則表示沒有被修改過
    -V 校驗指定rpm包中的文件(verify)
    校驗值的含義:
      S:文件大小是否改變
      M:文件的類型或文件的權限(rwx)是否被改變
      5:文件MD5校驗和是否改變(能夠當作文件內容是否改變)
      D:設備的中,從代碼是否改變
      L:文件路徑是否改變
      U:文件的屬主(全部者)是否改變
      G:文件的屬組是否改變
      T:文件的修改時間是否改變

8. rpm包中文件提取:
  rpm2cpio 包全名 | \
  cpio -div .文件絕對路徑

  rpm2cpio:講rpm包轉換爲cpio格式的命令 
  \表示命令沒有輸完,在下一行繼續輸入
  cpio:是一個標準工具,它用於建立軟件檔案文件和從檔案文件中提取文件
  cpio 選項 <[文件|設備]
    -i copy-in模式,還原
    -d:還原時自動新建目錄
    -v:顯示還原過程

  例如:
    rpm -qf /bin/ls #查看ls命令屬於哪一個包
    mv /bin/ls /tmp #將ls命令移走
    rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.el6.i686.rpm | cpio -idv ./bin/ls #提取rpm保重ls命令到當前目錄的/bin/ls下
    cp /root/bin/ls /bin/ #把ls命令複製到/bin/目錄,修復文件丟失

 

yum在線管理:
1、 ip地址配置
第1步:setup:使用圖形界面配置ip地址
第2步:vi/etc/sysconfig/network-scripts/ifcfg-eth0 把ONBOOT="no"改成ONBOOT="yes" #啓動網卡
第3步:service network restart :從新啓動網絡服務。

2、網絡yum源
1. yum源位置:/etc/yum.repos.d/CentOS-Base.repo,這個是默認的網絡yum源
  [base]    容器名稱,必定要放在[]中
  name  容器說明,能夠本身隨便寫
  mirrorlist    鏡像站點,這個能夠註釋掉
  baseurl   咱們的yum源服務器的地址,默認是CentOS官方的yum源服務器,是可使用的,若是你以爲慢能夠改爲你喜歡的yum源地址
  enabled   此容器是否生效,若是不寫或寫成enable=1都是生效,寫成enable=0就是不生效
  gpgcheck  若是是1是指rpm的數字證書生效,若是是0則不生效
  gpgkey    數字證書的公鑰文件保存位置。不用修改。

2. yum命令
  yum list :獲取服務器上全部可用的軟件的列表
  yum search 關鍵字:搜索服務器上全部和關鍵字相關的包
  yum -y install 包名:安裝軟件包
    install:安裝
    -y:自動回答yes
  yum -y update 包名:升級軟件包
    update:升級
    -y:自動回答yes
    若是沒有包名,就會升級全部的軟件包,包括Linux內核。慎用
  yum -y remove 包名
    remove:卸載
    -y:自動回答yes
    注:yum會自動卸載依賴包,而頗有可能這個依賴包也被別的包依賴,因此很危險,慎用。

  yum grouplist:列出全部可用的軟件組列表
  yum groupinstall 軟件組名:安裝指定軟件組,組名能夠由grouplist查詢出來 注:若是查詢出來的軟件組名中間有空格,要使用""引發來。
  yum groupremove 軟件組名:卸載指定軟件組

3. 光盤yum源
  1) 掛在光盤 mount /dev/sr0 /mnt/cdrom 
  2) 讓網絡yum源文件失效
    cd /etc/yum.repos.d/
    mv CentOS-Base.repo CentOS-Base.repo.bak
    mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak
    mv Centos-Vault.repo Centos-Vault.repo.bak
  3) 修改光盤yum源文件
    vim CentOS-Media.repo
    [c6-media]
    name=CentOS-$releaserver -Media
    baseurl=file:///mnt/cdrom 
    #地址爲你本身的光盤掛載地址
    #   file:///media/cdrom/
    #   file:///media/cdrecorder/
    #註釋這兩個不存在的地址
    gpgcheck=1
    enabled=1 #把enabled=0改成enabled=1,讓這個yum配置文件生效
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

    注意:註釋配置行的時候,#符號必定要寫在開頭,不要隨便在配置文件某一行後面加註釋,也不要隨便加空格。

源碼包管理
  1. 區別
    安裝以前的區別:概念上的區別
    安裝以後的區別:安裝位置不一樣

  2. rpm包安裝位置(大多數)
    /etc/   配置文件安裝目錄
    /usr/bin/   可執行的命令安裝目錄
    /usr/lib/   程序所使用的函數庫保存位置
    /usr/share/doc  軟件的基本使用書冊保存位置
    /usr/share/man/ 幫助文件保存位置    
  3. 源碼包安裝位置
    安裝在指定位置當中,通常是
    /usr/local/軟件名/ 
  4. 安裝位置不一樣帶來的影響
    rpm包安裝的服務可使用系統服務管理命令(service)來管理
    例如rpm包安裝的Apache的啓動方法是:
    /etc/rc.d/init.d/httpd start 注:服務的安裝路徑通常在:/etc/rc.d/init.d下
    service httpd start 注:service命令是紅帽的專用命令,只能管理rpm包安裝的服務
源碼包安裝過程
  1. 安裝準備
    安裝C語言編譯器 gcc
    下載源碼包
    http://mirror.bit.edu.cn/apach/httpd/   
  2. 安裝注意事項
    源代碼保存位置:/usr/local/src/
    軟件安裝位置: /usr/local/
    如何肯定安裝過程報錯:
      安裝過程中止並出現error、warning或no的提示  
  3. 源碼包安裝過程
    1)下載源碼包
    2)解壓縮下載的源碼包
    3)進入解壓縮目錄 注:裏面有個INSTALL是系統安裝的步驟說明
    4)./configure 軟件配置與檢查
      定義須要的功能選項
      檢測系統環境是否符合安裝要求
      把定義好的功能選項和檢測系統環境的信息都寫入Makefile文件,用於後續的編輯。
    ./configure --prefix=/usr/local/apache2 :定義安裝位置 
    5)make :編譯
      若是前面有錯誤,則使用make clean命令清楚編譯產生的臨時文件
    6)make install:編譯安裝
  4. 源碼包的卸載
    不須要卸載命令,直接刪除安裝目錄便可。不會遺留任何垃圾文件

腳本安裝
  1. 腳本安裝包
    腳本安裝包並非獨立的軟件包類型,常見安裝的是源碼包
    是人爲把安裝過程寫成了自動安裝的腳本,只要執行腳本,定義簡單的參數,就能夠完成安裝
    很是相似於windows下軟件的安裝方式
  2. Webmin的做用
    Webmin是一個基於web的Linux系統管理界面,你就能夠經過圖形化的方式
    設置用戶帳號、Apache,DNS、文件共享等服務。
  三、 webmin安裝過程
    1) 下載軟件
      http;//sourceforge.net/projects/webadmin/files/webmin/
    2) 解壓縮,並進入解壓縮目錄
    3) 執行安裝腳本 ./setup.sh

 

其餘命令

du -sh 文件名

ps 靜態查看系統進程,系統默認安裝
  ps -aux 使用BSD語法查看全部進程
  ps -ef 標準語法查看全部進程
    UID 程序被該 UID 所擁有
    PID 就是這個程序的 ID 
    PPID 則是其上級父程序的ID
    C CPU 使用的資源百分比
    STIME 系統啓動時間
    TTY 登入者的終端機位置
    TIME 使用掉的 CPU 時間。
    CMD 所下達的指令爲什麼
  ps -aux --sort -pcpu,-pmem
    根據CPU佔用狀況和內存佔用狀況來顯示進程
  watch -n 1 'ps -aux --sort -pcpu,-pmem'
    每隔1秒監控一次進程狀況

top 動態查看系統的狀態

lsof -Pti :8000
  經過端口號得到進程pid

kill -9 pid
  殺死指定pid的進程,強行殺死。

history
  查看歷史命令

執行歷史命令
  !! 執行上一條命令
  !n 執行歷史命令的中第n條
  !-n 執行導數第n條
  !string 執行以string開頭的歷史命令行
  !?string? 執行包含string的歷史命令行


alias 
  給命令起別名

  alias 命令='別名'
  alias -p 查看已存在的別名

unlias 
  取消別名
  unlias name

cal 
  查看某一年的日曆,能夠是1-9999中的任意一年
  cal 88

zcat
  查看壓縮包中的內容

sed -i 's#old#new#g' 文件名
  使用new替換文件中的old

ssh root@192.168.8.15 "ifconfig"
  遠程執行命令

bash -x 腳本名
  調試腳本

centos6上的三個網絡配置文件
  /etc/sysconfig/network-scripts/ifcfg-etho
  /etc/sysconfig/network
  /etc/resolv.conf # dns
相關文章
相關標籤/搜索