1. 程式人生 > >Linux基本操作指令

Linux基本操作指令

rpm 命令:相當於windows 的新增、解除安裝程式

  • 本地程式安裝:rpm -ivh 程式名
  • 本地程式檢視:rpm -qa
  • 本地程式解除安裝:rpm -e --nedeps 程式名

yum 命令:相當於可以聯網的rpm 命令:

  • 先聯網下載程式安裝包,程式更新包,自動執行rpm 命令、

JDK TOMCAT MYSQL的安裝過程需要在網上下載支援包:

yum install glibc.i686
yum -y install libaio.so.1 libstdc++.so.6
yum update libstdc++-
4.4.7-4.e16.x86_64 yum install gcc-c++ rpm -qa |grep -i java //檢視 安裝的與java有關寫程式

rpm -qa |grep -i mysql查詢與mysql 有關的程式:
在這裡插入圖片描述

解除安裝mysql:

rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64
//已經被解除安裝

建立資料夾:

  • mkdir -p /usr/local/java

解壓到指定的目錄:

  • tar -zxvf jdk.tar.gz -C /usr/local/java

執行模式又稱之為執行級別

linux中存在一個程序:init(initialize,初始化),程序id=1

[root@localhost ~]# ps -ef|grep init
root         1     0  0 19:03 ?        00:00:01 /sbin/init
root      2450  2434  0 19:22 pts/1    00:00:00 grep init

該程序存在一個對應的配置檔案:inittab(系統執行級別配置檔案,位置/etc/inittab)

[root@localhost ~]# cat /etc/inittab 
# inittab is only used by upstart for
the default runlevel. # # ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM. # # System initialization is started by /etc/init/rcS.conf # # Individual runlevels are started by /etc/init/rc.conf # # Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf # # Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf, # with configuration in /etc/sysconfig/init. # # For information on how to write upstart event handlers, or how # upstart works, see init(5), init(8), and initctl(8). # # Default runlevel. The runlevels used are: # 0 - halt (Do NOT set initdefault to this) # 1 - Single user mode # 2 - Multiuser, without NFS (The same as 3, if you do not have networking) # 3 - Full multiuser mode # 4 - unused # 5 - X11 # 6 - reboot (Do NOT set initdefault to this) # id:5:initdefault:

存在七種執行級別/模式

  • 0 表示關機級別(不要將預設執行級別設定成0)
  • 1單使用者模式
  • 2多使用者模式。不帶NFS(network File System)
  • 3 多使用者模式,完全的多使用者模式
  • 4沒有被使用的模式(被保留的模式)
  • 5x11.完整的圖形化模式
  • 6表示重啟級別(不要將預設的執行級別設定成這個級別)
    與該級別有關的幾個命令
  • #init0 表示關機
  • #init3 表示切換到不帶桌面的模式
  • #init5 切換到圖形化介面、
  • #init6 重啟電腦

這些命令其實都是呼叫init程序,將數字(執行級別)傳輸給程序,程序去讀取配置檔案執行對應的操作
注意init 命令需要超級管理員的許可權普通使用者不能操作

[[email protected] ~]# init 3
[[email protected] ~]# init 6
//重啟電腦

在這裡插入圖片描述

vi 編輯器

vim是vi的升級版,vim點是游標的移動,模式的切換,刪除,查詢,替換,複製,貼上,撤銷命令的使用。

Vim的三種模式

  • 命令模式
    在該模式下不能對檔案直接編輯,可以輸入快捷鍵進行一些操作(刪除行,複製行,移動游標,貼上等)【開啟檔案之後預設進入的模式】。
  • 編輯模式
    在該模式下可以對檔案進行編輯。
  • 末行模式
    可以在末行輸入命令對檔案進行操作(搜尋,替換,儲存,退出,撤銷,高亮等等)。

VIM 開啟檔案的方式(四種)

  • #vim 檔案路徑 作用:開啟指定的檔案。
  • #vim +數字 檔案路徑 作用:開啟指定的檔案,並且將游標移動到指定行。
[[email protected] ~]# vim +81 /etc/profile

在這裡插入圖片描述

  • #vim +/關鍵詞 檔案路徑 作用:開啟指定檔案,並且高亮顯示關鍵詞。
[root@localhost ~]# vim +/jdk /etc/profile
  • #vim 檔案路徑1 檔案路徑2 檔案路徑3 作用:同時開啟多個檔案。

命令模式:

該模式是開啟檔案的第一個看到的模式 (開啟檔案即可進入)

  • 游標移動到行首
    — 按鍵:shift+6

  • 游標移動到行尾
    — 按鍵:shift+4

  • 游標移動到首行
    — 按鍵:gg

  • 游標移動到末行
    — 按鍵:G

  • 翻屏
    —向上翻屏:ctrl+b
    —向下翻屏:ctrl+f

  • 複製命令
    —複製游標所在行
    按鍵:yy
    貼上:p
    在這裡插入圖片描述
    —以游標所在行為準,向下複製指定的行數,包含當前行
    按鍵:行數 yy
    貼上:p
    在這裡插入圖片描述
    —可是化複製
    按鍵:ctrl+v 然後按下↑↓←→ 方向鍵選中需要複製的區塊,按yy鍵進行復制,然後按p鍵進行貼上;
    在這裡插入圖片描述
    在這裡插入圖片描述

  • 剪下/刪除
    — 剪下/刪除 游標所在行
    按鍵:dd    (按 p 可以貼上刪除的行)
    —剪下/刪除 游標所在行為準(包含當前行),以下的指定行
    按鍵:數字 dd  (刪除之後下一行上移)
    — 剪下/刪除 游標所在行 但是刪除之後下一行不上移
    按鍵:D    (刪除之後當前行變為空白行)

  • 撤銷/恢復
    —按鍵:(:u)往前退一步
    —恢復:crtl+r

高階指令:

  • hostname 命令 操作伺服器的主機名:(讀取、設定)
語法1 #hostname 
//含義:表示輸出完整的主機名
語法2 #hostname -f 
//含義:表示輸出當前主機名中的FQDN(全限定域名)

在這裡插入圖片描述
臨時設定主機名(立杆見影) 需要切換使用者使之生效
#hostname 設定主機名
在這裡插入圖片描述
永久設定主機命名(需要重啟)

  1. 先找到一個檔案 [/etc/sysconfig/network](主機名配置檔案)
    在這裡插入圖片描述
  2. 修改主機名字:
[root@xiaowang ~]# vim /etc/sysconfig/network

在這裡插入圖片描述
在這裡插入圖片描述
3. 修改linux伺服器的hosts檔案,將xiaowang 指向本地(設定FQN)
HOSTS 檔案的位置: /etc/hosts

[root@xiaowang ~]# vim /etc/hosts

在這裡插入圖片描述
測試:OK
在這裡插入圖片描述
##通過瀏覽器訪問

  1. 先啟動apache 服務:
[root@localhost Desktop]# service httpd start

在這裡插入圖片描述
2. 開啟瀏覽器:
在這裡插入圖片描述

不設定FQDN 會怎麼樣:
— 很多開源伺服器軟體(例如Apache)無法啟動,或者出現報錯
— 方便記憶 。看到主機名對其作用有一個初步的判斷
— 如果不設定 則會影響本地的域名的解析(本地訪問)

  • id 指令 檢視一個使用者的一些基本資訊(包含id,使用者組id,附加組id,)該指令如果不指定使用者則預設為當前使用者
語法1: #id 
//預設顯示當前執行命令的使用者的基本資訊
語法2:#id 使用者名稱
//顯示指定使用者的基本資訊

在這裡插入圖片描述
驗證上述資訊是否正確:
驗證使用者資訊:通過檔案/etc/password
驗證使用者組資訊:通過檔案/etc/group

  • whoami 指令 顯示當前登入的使用者名稱,一般用於shell指令碼,用於獲取當前使用者名稱,方便記錄日誌。
    -

  • ps -ef 指令
    用於檢視伺服器的程序資訊。
    【-e :等價於“-A” ,表示列出全部的程序】
    【-f :顯示全部的列(顯示全欄位)】
    執行結果:
    在這裡插入圖片描述
    列的含義:
    UID:該程序執行的使用者id
    PID:程序id
    PPID:該程序的父級程序id,如果一個程式的父程序找不到了,該程式的程序稱之為殭屍程序。
    C:CPU的佔用率,其形式是百分比
    STIME:程序的啟動時間
    TTY:終端裝置,發起該程序的裝置識別符號,如果顯示“?”則表示該程序並不是由終端裝置發起;
    TIME:程序的執行時間
    CMD:該程序的名稱或者對應的路徑
    — ps -ef|grep 程序名字

  • top 指令
    在這裡插入圖片描述
    在這裡插入圖片描述
    在這裡插入圖片描述
    在top時候:
    按下M:表示結果按照記憶體(MIEM)從高到低降序排列
    P:表示結果按照CPU使用率從高到低降序排列。

Linux 許可權操作:

概述:
linux 系統一般將檔案可存/取訪問的身份分為三個類別:owner,group,others,且3種身份各有read,write,execute等許可權。
許可權介紹:
在多使用者(可以不同時)計算機系統的管理中,許可權是指某個特定的使用者具有特定的系統資源使用權力,如資料夾,特定系統指令的使用或者儲存量的限制。

  • Linux分別是讀,寫,執行許可權
  • 讀許可權:
    對資料夾:讀許可權影響使用者是否能夠列出目錄結構。
    對檔案:讀許可權影響使用者是否可檢視檔案的內容。
  • 寫許可權:
    對資料夾:寫許可權影響使用者是否可以在資料夾下“建立、刪除,複製到,移動到”文件。
    對檔案:寫許可權影響到使用者是否可以編輯檔案內容。
  • 執行許可權
    一般對於檔案來說特別是指令碼檔案。

身份介紹:

  • owner 身份(檔案的所有者,預設為文件的建立者)
    — 由於Linux 是多使用者,多工的作業系統,因此可能常常有多個人同時在某臺主機上工作,但每個人均可在主機上設定檔案的許可權,讓其成為個人的“私密檔案”及個人所有者,因為設定了適當的檔案許可權,除本人(檔案所有者)之外的使用者無法檢視檔案內容。

  • group 身份(與檔案所有者同組的使用者)
    — 與檔案所有者同組最有用的功能就體現在多個團隊在同一臺主機開發資源的時候。

  • others 身份(其他人,相對於所有者)

  • root 使用者(超級使用者)
    — 在Linux 中擁有最高許可權,管理普通的使用者。

  • 使用者管理:
    — /etc/passwd 儲存使用者的關鍵資訊
    — /etc/group 儲存使用者組的關鍵資訊
    — /etc/shadow 儲存使用者的密碼資訊

  • 新增使用者
    — 常用語法:#useradd 選項 使用者名稱
    — 常用選項:
    -g :表示指定使用者的使用者組,選項的值可以是使用者組的id,也可以是組名
    -G:表示指定使用者的使用者附加組,選項的值可以是使用者組的id,也可以是組名
    -u:uid,使用者的id(使用者的標誌符),系統預設會從500之後按順序分配uid,如果不想使用系統分配的,可以通過該選項自定義。
    -c :comment 添加註釋
    ---- 建立使用者 zhangsan 不新增任何選項

[root@xiaowang Desktop]# useradd zhangsan

驗證是否建立成功:

  1. cat /etc/passwd 最後一行是否有zhangsan的資訊
    在這裡插入圖片描述
  2. 是否存在家目錄(在Centos 下建立好使用者之後隨之產生一個同名家目錄)
    在這裡插入圖片描述
    passwd:檔案解釋:
    在這裡插入圖片描述
    在這裡插入圖片描述在這裡插入圖片描述
    案例:
    新增選項組,建立使用者lisi,讓lisi屬於501主組,附加組500 ,自選名稱 999
[root@xiaowang Desktop]# useradd -g 501 -G 500 -u 999 lisi

指令:cat /etc/passwd
檢視使用者的主組
在這裡插入圖片描述
指令:cat /etc/group
檢視使用者的附加組
在這裡插入圖片描述

  • 修改使用者:
    在這裡插入圖片描述
    案例:修改張三的主組為500 附加組改為501 502
    修改前:
    在這裡插入圖片描述
    修改指令:
[[email protected] Desktop]# usermod -g 500 -G 501 zhangsan

修改後:
在這裡插入圖片描述
案例2:修改使用者名稱zhangsan 為wangwu

usermod -l 新使用者名稱 老使用者名稱

[[email protected]iaowang Desktop]# usermod -l wangwu zhangsan
  • 設定使用者密碼
    Linux 不允許沒有密碼的使用者登入到系統,因此前面建立的使用者處於鎖定狀態,需要設定密碼以後才能登入計算機
    常用語法:#passwd 使用者名稱
    案例:設定lisi 使用者的密碼
    在這裡插入圖片描述
    設定密碼之後shadow 檔案中的體現,能夠看出wangwu 使用者沒有密碼:
    在這裡插入圖片描述
    切換使用者#su [使用者名稱] (switch user)
    使用者名稱不指定則表示切換到超級管理員
    在這裡插入圖片描述
  • 刪除使用者
    #userdel 選項 使用者名稱
    常用選項 :
    -r :表示在刪除使用者的同時,刪除其家目錄。
[[email protected] Desktop]$ userdel -r lisi

在這裡插入圖片描述
注意已經登入的使用者不能刪除:
暴力方式:kill 所有的 lisi的程序

  • ntp 服務
    在這裡插入圖片描述
    在這裡插入圖片描述

chkconfig 服務配置

  • 相當於windows 下“安全衛士”之類的安全輔助工具提供“開機啟動項”的一個管理服務。
    在Linux 下不是所有的軟體安裝之後都是開機啟動服務,有的需要自己去新增,還可以檢視/刪除。
  • 開機啟動服務查詢
[root@xiaowang Desktop]# chkconfig --list

在這裡插入圖片描述
其中0-6 表示各個啟動級別:
例如:httpd服務 ,其3級別為關閉(off),則表示其在3 (命令列模式下) 啟動形式下預設開啟不啟動。級別5(在桌面模式下) 也是不開啟的。

  • 刪除服務 chkconfig --del 服務名
    例如刪除 httpd 服務:
[root@xiaowang Desktop]# chkconfig --list|grep httpd
//檢視開啟服務
[root@xiaowang Desktop]# chkconfig --del httpd
//刪除開機服務項

在這裡插入圖片描述

  • 新增開機啟動服務:chkconfig --add 服務名
    (並不是所有的軟體都有服務名,必須要保證服務正常執行才加進來)
[root@xiaowang Desktop]# chkconfig --add httpd
[root@xiaowang Desktop]# chkconfig --list|grep httpd

在這裡插入圖片描述

  • 設定服務在某個級別下開機啟動/不啟動
    #chkconfig --level 連在一起的啟動級別 服務名 ON/OFF
    案例:設定httpd 服務在3,5級別下預設為開機自動啟動
[root@xiaowang Desktop]# chkconfig --level 35 httpd on

在這裡插入圖片描述