Linux經常使用命令說明(記錄本身Linux命令使用狀況,後續會持續更新)

首次記錄時間——20170602html

感受本身Linux命令使用掌握的狀況很是差,今天先記錄當前會的幾個。java

 

 

1#su(switch user) 切換用戶web

 

  切換用戶的兩種方式 su [user] 和 su - [user] 的區別:正則表達式

  su [user]切換到其餘用戶,可是不切換環境變量,su - [user]則是完整的切換到新的用戶環境。windows

eg.bash

  [root@rac1 ~]# pwd  --當前目錄
  /root
  [root@rac1 ~]# su oracle --使用su [user]
  [oracle@rac1 root]$ pwd  --當前目錄沒有改變,仍是以前的用戶目錄
  /rootsession

  [oracle@rac1 root]$ su - oracle --使用su - [user]
  Password: 
  [oracle@rac1 ~]$ pwd   --當前目錄變爲當前用戶的家目錄
  /home/oracle
  [oracle@rac1 ~]$oracle

因此建議你們在切換用戶時,儘可能用su - [user],不然可能會出現環境變量不對的問題。less

 

 

2#cd(change directory) 切換工做目錄(或者叫修改當前目錄)dom

eg.

  cd /home/my_file 經過絕對路勁跳轉到my_file路徑下,對於當前路徑沒有要求

  cd my_file 經過相對路徑跳轉到my_file文件夾下,若是my_file在home路徑下,則當前路徑只能在home目錄下

  cd .. 跳轉到當前目錄的上一級目錄

  cd ~ 跳轉進入用戶在該系統的home目錄,例如xz用戶,則進入/root/xz目錄

  cd / 進入根目錄

注:

  .. 或者../   -> 表示上一層目錄

  .或者./    -> 表示當前目錄

  ~或者~/   -> 表示你的/home/用戶名目錄

 

3#pwd 打印當前工做目錄

eg.

  [mobo_account_test@Web1 ~]$ cd ~
  [mobo_account_test@Web1 ~]$ pwd
  /home/mobo_account_test

 

4#ls(list) 查看當前目錄下的文件和文件夾

  ls –a  能夠查看隱藏文件,使用此命令後看見前面帶.的即爲影藏文件(如: .my_personal_file)

  ls –lh或(ls –l)(ls -lih)  能夠查看文件詳情,讀寫權限,文件大小,建立時間(前者可讀性更好)

  ls -lh -a 查看文件詳情,包括影藏文件夾

  查看某個隱藏文件夾 須要在文件前面加上」.」,如跳轉到隱藏文件夾my_file下cd /.my_file

  ls -t 按時間的降序排列全部文件和文件夾

  ls -lh -t查看詳細信息後的排序(同上)

  ls - t | tac 升序

  ls -lh -t | tac升序

說明:ll 是 ls - l的縮寫操做,故,一樣有下面操做

  ll -t 降序

  ll -a查看全部文件的詳細信息,包括隱藏文件

 

  ls m* 查找m開頭的文件

  ls m* | more 按空白鍵才繼續往上卷 只能向下看,不能回看

 

5#less 打開文本文件

對比more 分頁顯示一個文件而且能夠回頭 /usr/bin

eg.

  less holloword.txt

  less config.xml

  在上面打開文本文件後,查看文本的一些快捷鍵:

    ↑↓ 換行一行一行的切換文本查看

    ctrl + f 查看下一頁

    ctrl + b 查看上一頁

    shift + g 查看文本文件最末

    shift + G(大寫的G) 從文本文件最末跳轉開始

    q 退出查看

  在less中打開文件後,輸入:/zhangsan 表示在文本中向下查找「zhangsan」 有內容時,按【n】從最末向同向(向下)查找;按【N】向反方向(向上)查找 

  在less中打開文件後,輸入:?zhangsan 表示在文本中向上查找「zhangsan」 有內容時,按【n】從最末向同向(向上)查找;按【N】向反方向(向下)查找 

 

5#more  打開文本文件

分頁顯示一個文件或任何輸出結果,只能向下查看 /bin

 

6#vi 編輯文本文件

  vi helloword.txt打開helloword.txt文本文件

  輸入i 進入編輯狀態

  輸入esc(即鍵盤左上角的退出鍵)退出編輯

    在esc退出編輯後:

      ctrl + u 撤銷,一步一步的撤銷(至關於windows系統的 ctrl + z)

      ctrl + r 與 ctrl + u 相反(ctrl + r 至關於windows系統的 ctrl + y)

      輸入:wq退出編輯而且保存

      : q!退出不保存

 

7#ctrl + c 強制退出當前運行程序

 

8#free 

eg.

  [mobo_account_test@Web1 logs]$ free

  total used free shared buffers cached
Mem: 16426344 16168804  257540 0 319240 1334512
-/+ buffers/cache:   14515052 1911292      
Swap: 18481144 12818036 5663108      

 

 

 

 

  關於free每行每列詳細說明查考博客:http://www.cnblogs.com/coldplayerest/archive/2010/02/20/1669949.html

 

9#sh 運行當前能夠執行文件

eg.

  sh restart.sh 運行restart.sh文件

 

10#date 查看當前系統時間

 eg.

  [mobo_account_test@Web1 logs]$ date
  2017年 06月 02日 星期五 16:53:54 CST

 

11#who am i 與 whoami 區別

eg.

  who am i 顯示的是實際用戶ID即用戶登錄的時候的用戶ID

  whoami 顯示的是有效用戶ID.

  好比:su – root 切換用戶操做後,who am I顯示的仍是原用戶,而whoami顯示爲切換後用戶

  [mobo_account_test@Web1 logs]$ su - mobo_account
  口令:
  [mobo_account@Web1 ~]$ who am i
  mobo_account_test pts/5 2017-06-02 10:18 (192.168.31.41)
  [mobo_account@Web1 ~]$ whoami
  mobo_account

 

  [mobo_account@Web1 ~]$ who am i
  mobo_account_test pts/5 2017-06-02 10:18 (192.168.31.41)

  說明:

  第一個參數:用戶名

  第二個參數:使用的終端機

  第三個參數:登陸時間

  第四個參數:登陸電腦的IP地址或者從何處登陸

 

12#who 執行這項指令可得知目前有那些用戶登入系統,單獨執行who指令會列出登入賬號,使用的終端機,登入時間以及從何處登入或正在使用哪一個X顯示器

  [mobo_account_dev@Web1 ~]$ who

  mobo_account pts/1        2016-08-15 09:46 (192.168.32.14)

  mobo_account pts/2        2016-08-15 09:48 (192.168.32.14)

  mobo_account pts/3        2016-08-16 09:28 (192.168.32.58)

  mobo_account pts/4        2016-08-16 09:55 (192.168.32.44)

  mobo_account_dev pts/6        2016-08-16 10:09 (192.168.31.110)

  moboacc_uat pts/7        2016-08-16 10:19 (192.168.31.189)

  mobo_account_dev pts/9        2016-08-16 10:35 (192.168.31.44)

 

13#清屏命令clearreset

  在windows 的 DOS 操做界面裏面,清屏的命令是 cls

  clear 這個命令將會刷新屏幕,本質上只是讓終端顯示頁向後翻了一頁,若是向上滾動屏幕還能夠看到以前的操做信息。通常都會用這個命令。

  reset 這個命令將徹底刷新終端屏幕,以前的終端輸入操做信息將都會被清空,這樣雖然比較清爽,但整個命令過程速度有點慢,使用較少。

  另外介紹一個用別名來使用清屏命令的方法,以下:

  [root@localhost ~]$ alias cls='clear'

  [root@localhost ~]$ cls

  執行以上命令後,之後你就能夠直接輸入 cls 命令來實現和 clear 同樣的清屏命令了

---------------------------------------------------------------------------------------------------華-麗-的-分-割-線-------------------------------------------------------------------------------------------------

第二次記錄時間——20170605

14#grep 文本查找命令【TODO 待擴展】

eg.

  [mobo_account_dev@Web1 logs]$ grep -i 'transmitHandler:35' mobaopay_bank.txt

  13:25:30,314  INFO TransmitHandler:35 : sessionID 147132513031204597

  主要參數

    [options]主要參數:
      -c:只輸出匹配行的計數(總共知足匹配的行數)。
      -i:不區分大小寫

      -h:查詢多文件時不顯示文件名。

      -l:查詢多文件時只輸出包含匹配字符的文件名。

      -n:顯示匹配行及行號。

      -s:不顯示不存在或無匹配文本的錯誤信息。

      -v:顯示不包含匹配文本的全部行。

    pattern正則表達式主要參數:
           \: 忽略正則表達式中特殊字符的原有含義。
           ^:匹配正則表達式的開始行。
           $: 匹配正則表達式的結束行。
           \<:從匹配正則表達 式的行開始。
           \>:到匹配正則表達式的行結束。
           [ ]:單個字符,如[A]即A符合要求 。
           [ - ]:範圍,如[A-Z],即A、B、C一直到Z都符合要求 。
           .:全部的單個字符。
           * :有字符,長度能夠爲0。

 

問題:

weblogic.management.ManagementException: Unable to obtain lock on /home/mobo_account/bea/user_projects/domains/mobaopay_bank_domain/servers/AdminServer/tmp/AdminServer.lok. Server may already be running
at weblogic.management.internal.ServerLocks.getServerLock(ServerLocks.java:159)
at weblogic.management.internal.ServerLocks.getServerLock(ServerLocks.java:58)
at weblogic.management.internal.DomainDirectoryService.start(DomainDirectoryService.java:73)
at weblogic.t3.srvr.ServerServicesManager.startService(ServerServicesManager.java:459)
at weblogic.t3.srvr.ServerServicesManager.startInStandbyState(ServerServicesManager.java:164)
at weblogic.t3.srvr.T3Srvr.initializeStandby(T3Srvr.java:711)
at weblogic.t3.srvr.T3Srvr.startup(T3Srvr.java:482)
at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:440)
at weblogic.Server.main(Server.java:67)

解決辦法:是由於m1.lok文件被鎖住,須要釋放命令以下

[weblogic@cfnltest bin]$ fuser -u /home/mobo_account/bea/user_projects/domains/mobaopay_bank_domain/servers/AdminServer/tmp/AdminServer.lok
/home/weblogic/Oracle/Middleware/user_projects/domains/domain/servers/m1/tmp/m1.lok: 26974(weblogic)

-bash: fuser: command not found(注:說明環境變量中沒有啓用fuser命令)
[mobo_account@Web1 mobaopay_bank_domain]$ whereis fuser(注:經過whereis fuser查看fuser可執行文件的位置)
fuser: /sbin/fuser /usr/share/man/man1p/fuser.1p.gz /usr/share/man/man1/fuser.1.gz
[mobo_account@Web1 mobaopay_bank_domain]$ /sbin/fuser -u /home/mobo_account/bea/user_projects/domains/mobaopay_bank_domain/servers/AdminServer/tmp/AdminServer.lok
/home/mobo_account/bea/user_projects/domains/mobaopay_bank_domain/servers/AdminServer/tmp/AdminServer.lok: 9267(mobo_account)( 9267表示進程ID)
[mobo_account@Web1 mobaopay_bank_domain]$ kill -9 9267
[mobo_account@Web1 mobaopay_bank_domain]$ /sbin/fuser -u /home/mobo_account/bea/user_projects/domains/mobaopay_bank_domain/servers/AdminServer/tmp/AdminServer.lok(再次查看進程ID已經被殺死)
[mobo_account@Web1 mobaopay_bank_domain]$ sh restart.sh(重啓程序)

----今天要寫sort/tail

相關文章
相關標籤/搜索