1. 程式人生 > >簡簡單單之Linux命令入門

簡簡單單之Linux命令入門

show me the code and talk to me,做的出來更要說的明白
GitHub 專案JavaHouse同步收錄
我是布林bl,你的支援是我分享的動力!

引入

作為一名合格的後端開發人員,我們難免要在 Linux 環境下進入操作,查詢問題,配置檔案等等操作。因此,我覺得我們需要掌握簡單的 Linux 命令。本文簡簡單單介紹一下 Linux 的常見操作,努力讓讀者在 Linux 環境下可以進行工作。

目錄結構

Linux 大體目錄結構如圖所示。其中上面的 / 表示的是跟目錄。

顯示目錄位置pwd

[root@iZm5eixsxpdmrg95cpxvmlZ /]# pwd

/

進入目錄 cd

[root@iZm5eixsxpdmrg95cpxvmlZ /]# cd usr/
[root@iZm5eixsxpdmrg95cpxvmlZ usr]# pwd
/usr

可以看到我們進入了 usr 目錄

顯示內容 ll

[root@iZm5eixsxpdmrg95cpxvmlZ usr]# ll

total 136
dr-xr-xr-x.   2 root root 32768 Jan  6 21:00 bin
drwxr-xr-x.   2 root root  4096 Apr 11  2018 etc
drwxr-xr-x.   2 root root  4096 Apr 11  2018 games
drwxr-xr-x.  69 root root 12288 Dec  4 11:16 include
drwxr-xr-x    3 root root  4096 Dec  4 11:27 java
dr-xr-xr-x.  33 root root  4096 Jan  6 21:02 lib
dr-xr-xr-x.  49 root root 36864 Jan  6 21:00 lib64
drwxr-xr-x.  24 root root  4096 Dec  4 11:16 libexec
drwxr-xr-x.  21 root root  4096 Jan  6 21:02 local
dr-xr-xr-x.   2 root root 16384 Jan  6 21:02 sbin
drwxr-xr-x. 104 root root  4096 Jan  6 21:00 share
drwxr-xr-x.   4 root root  4096 Jul 11  2019 src
lrwxrwxrwx.   1 root root    10 Jul 11  2019 tmp -> ../var/tmp

該命令可以顯示目錄裡面所有的檔名稱、檔案的許可權、檔案大小(kb)等等詳細資訊。

進入根目錄 cd /

[root@iZm5eixsxpdmrg95cpxvmlZ usr]# cd /
[root@iZm5eixsxpdmrg95cpxvmlZ /]# ll

total 2097224
lrwxrwxrwx.  1 root root          7 Jul 11  2019 bin -> usr/bin
dr-xr-xr-x.  5 root root       4096 Jul 11  2019 boot
drwxr-xr-x   6 root root       4096 Dec 15 10:04 data
drwxr-xr-x  19 root root       2960 Dec 15 10:05 dev
drwxr-xr-x. 82 root root       4096 Jan  6 21:02 etc
drwxr-xr-x.  2 root root       4096 Apr 11  2018 home
drwxr-xr-x   3 root root       4096 Dec  4 11:04 java
lrwxrwxrwx.  1 root root          7 Jul 11  2019 lib -> usr/lib
lrwxrwxrwx.  1 root root          9 Jul 11  2019 lib64 -> usr/lib64
drwx------.  2 root root      16384 Jul 11  2019 lost+found
drwxr-xr-x.  2 root root       4096 Apr 11  2018 media
drwxr-xr-x.  2 root root       4096 Apr 11  2018 mnt
drwxr-xr-x.  2 root root       4096 Apr 11  2018 opt
dr-xr-xr-x  92 root root          0 Dec 15 10:05 proc
dr-xr-x---.  5 root root       4096 Jan 10 10:57 root
drwxr-xr-x  24 root root        720 Jan  6 21:00 run
lrwxrwxrwx.  1 root root          8 Jul 11  2019 sbin -> usr/sbin
drwxr-xr-x.  2 root root       4096 Apr 11  2018 srv
-rw-------   1 root root 2147483648 Dec  4 11:13 swapfile
dr-xr-xr-x  13 root root          0 Dec 15 15:28 sys
drwxrwxrwt.  9 root root       4096 Jan 10 03:15 tmp
drwxr-xr-x. 14 root root       4096 Dec  4 11:27 usr
drwxr-xr-x. 19 root root       4096 Jul 11  2019 var

進入上級目錄 cd ..

[root@iZm5eixsxpdmrg95cpxvmlZ /]# cd /usr/
[root@iZm5eixsxpdmrg95cpxvmlZ usr]# cd ..
[root@iZm5eixsxpdmrg95cpxvmlZ /]# pwd
/

檔案許可權chmod

一般來說一個檔案有三種角色

  • 擁有者
  • 擁有組
  • 其他人

許可權有三種表示

  • r 表示只可以讀檔案,可以用數字 4 代替
  • w 表示只可以寫檔案,可以用數字 2 代替
  • x 表示只可以執行檔案,可以用數字 1 代替

其中數字可以累加

  • 5 表示可讀可執行
  • 6 表示可讀可寫
  • 7 表示可讀可寫可執行

舉個例子

chmod 754 a.txt

該命令表示

  • 擁有者可讀可寫可執行
  • 擁有組可讀寫可執行
  • 其他者可讀

可見三個數字是表示三種不同角色。

查詢目錄

find 位置  -name 檔名

例子

[root@iZm5eixsxpdmrg95cpxvmlZ /]# find / -name tomcat

/usr/local/tomcat
/etc/logrotate.d/tomcat
/etc/selinux/targeted/active/modules/100/tomcat
/etc/rc.d/init.d/tomcat

顯然我們目的是在從目錄開始去尋找 tomcat 目錄

字串處理

管道|

這個命令大家應該很常見,他是 Linux 裡面管道,用於連線兩個或者多個命令,具體表現為上一個命令的輸出內容作為下個命令的輸入內容。

例子

[root@iZm5eixsxpdmrg95cpxvmlZ /]# ps aux| grep tomcat


root      2292  0.0  0.0 112712   956 pts/0    R+   11:29   0:00 grep --color tomcat
www       6514  0.1 32.8 2993956 618504 ?      Sl    2019  45:28 /usr/java/jdk1.8.0_231/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.security.egd=file:/dev/./urandom -server -Xms256m -Xmx919m -Dfile.encoding=UTF-8 -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Djava.library.path=/usr/local/apr/lib -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start

搜尋文字grep

該命令用於匹配字串,相當於我們常用的 Ctrl+f.

grep  匹配內容 檔名

例子

[root@iZm5eixsxpdmrg95cpxvmlZ /]# grep asda test.txt

asda

排序sort

sort [-ntkr] 檔名

其中:
n:數字排序
t:指定分隔符
k:指定一第幾列為標準排序,常與 t 一起使用
r:逆序

例子:

[root@iZm5eixsxpdmrg95cpxvmlZ /]# cat test.txt 

a:2
s:6
d:1
a:0


[root@iZm5eixsxpdmrg95cpxvmlZ /]# cat test.txt | sort 

a:0
a:2
d:1
s:6


[root@iZm5eixsxpdmrg95cpxvmlZ /]# cat test.txt | sort -t ":" -k 2 

a:0
d:1
a:2
s:6


[root@iZm5eixsxpdmrg95cpxvmlZ /]# cat test.txt | sort -t ":" -k 2 -r
s:6
a:2
d:1
a:0

計算重複uniq

uniq [-ic]

# -i 忽略大小寫
# -c 計算重複行數

常與sort使用

[root@iZm5eixsxpdmrg95cpxvmlZ /]# cat test.txt 

a:2 a a d
s:6 a V
d:1   a
a:0
a:0
a:0


[root@iZm5eixsxpdmrg95cpxvmlZ /]# cat test.txt | uniq

a:2 a a d
s:6 a V
d:1   a
a:0


[root@iZm5eixsxpdmrg95cpxvmlZ /]# cat test.txt | uniq -c

      1 a:2 a a d
      1 s:6 a V
      1 d:1   a
      3 a:0
      
      
[root@iZm5eixsxpdmrg95cpxvmlZ /]# cat test.txt| sort | uniq -c

      3 a:0
      1 a:2 a a d
      1 d:1   a
      1 s:6 a V

程序

瞬間狀態ps

該命令用於檢視某一時刻的程序狀態

ps 引數
#-A 列出所有的程序,和-e一樣
#aux 顯示所有的包含其他使用者的程序

檢視tomcat程序是否存在

[root@iZm5eixsxpdmrg95cpxvmlZ /]# ps aux | grep tomcat


www       6514  0.1 32.8 2993956 618504 ?      Sl    2019  47:29 /usr/java/jdk1.8.0_231/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.security.egd=file:/dev/./urandom -server -Xms256m -Xmx919m -Dfile.encoding=UTF-8 -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Djava.library.path=/usr/local/apr/lib -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
root     32062  0.0  0.0 112712   952 pts/0    R+   17:46   0:00 grep --color tomcat

實時狀態top

該命令用於檢視cpu實時執行狀態,記憶體空間

通過pid終止程序kill

通過名稱終止程序killall

killall 命令比較安全,可以輸出程序名稱終止,避免輸錯數字pid

端口占用 lsof

改命令檢視埠是否被佔用

[root@iZm5eixsxpdmrg95cpxvmlZ /]# lsof -i:3306

COMMAND  PID  USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
mysqld  5437 mysql   30u  IPv4    94759      0t0  TCP *:mysql (LISTEN)

vim 編輯器

vim編輯器是Linux的文字編輯器,相當window的記事本。

查詢關鍵字 /

在vim裡面我們使用 / 關鍵字查詢關鍵字

退出

使用 esc:wq組合儲存退出vim

文字處理工具awk

awk預設以空格劃分域(列數),因此我們可以通過 awk列印特定的列

[root@iZm5eixsxpdmrg95cpxvmlZ /]# cat test.txt 

a:2 a a d
s:6 a V
d:1   a
a:0
a:0
a:0


[root@iZm5eixsxpdmrg95cpxvmlZ /]# awk '{print $1}' test.txt 

a:2
s:6
d:1
a:0
a:0
a:0

指定分割-F 分隔符

如果我們不需要空格分割,可以指定其他

[root@iZm5eixsxpdmrg95cpxvmlZ /]# cat test.txt 

a:2 a a d
s:6 a V
d:1   a
a:0
a:0
a:0


[root@iZm5eixsxpdmrg95cpxvmlZ /]# awk -F : '{print $1}' test.txt 

a
s
d
a
a
a

關注微信公眾號,隨時移動端閱讀

相關推薦

簡簡單單Linux命令入門

show me the code and talk to me,做的出來更要說的明白 GitHub 專案JavaHouse同步收錄 我是布林bl,你的支援是我分享的動力! 引入 作為一名合格的後端開發人員,我們難免要在 Linux 環境下進入操作,查詢問題,配置檔案等等操作。因此,我覺得我們需要掌握簡單的

PythonLinux命令

顯示隱藏文件 linux pre inux aps users 視頻 lan shift 1、查看當前文件路徑 : pwd LangYingdeMacBook-Pro:Users langying$ pwd /Users 2、切換目錄 cd 例如:切換到根目錄

Python學習Linux命令14

Linux命令 快捷鍵 ↑(Ctrl p) 顯示上一條命令 ↓(Ctrl n) 顯示下一條命令 Ctrl r 然後輸入若干字元,開始向上搜尋包含該字元的命令,繼續按Ctrl+r,搜尋上一條匹配的命令 Ctrl a 移動到當前行的開頭 Ctrl e 移動到當前行

JAVAWEB開發——Linux命令實戰、虛擬機器和centos的安裝以及聯網、常用命令、vi編輯以及軟體的安裝、sftp的使用

Linux簡介 Linux是一種自由和開放原始碼的作業系統,存放著許多不同的Linux版本,但他們都使用了Linux核心。Linux可安裝在各種計算機硬體中 比如、手機、平板電腦、路由器、臺式計算機中。 Linux出現於1991年,是由芬蘭赫爾辛基大學學生Linus T

JAVAWEB開發——Linux命令總結

/* 一、檔案系統的管理 tips:輸入命令的時候要常用tab鍵來補全 ls 檢視目錄資訊 ( ls / ) ls -l 等價於 ll pwd 檢視當前所處的路徑 cd 切換目錄 (cd /) ,如果不帶引數則切換到使用者主目錄 ~

【領卓教育】Linux學習入門(二)------系統命令 打補丁

      打補丁,什麼意思,在玩LOL、王者、吃雞...等遊戲的時候,可能大家都遇到過打打補丁的過程,例如版本的升級就是一次打補丁的過程!       首先版本的升級和更新,小編最初以為是把遊戲重新安裝或者覆蓋安裝的過程,可是每次的升

Linux入門常用命令學習

1、ls命令          就是list的縮寫,通過ls 命令不僅可以檢視linux資料夾包含的檔案,而且可以檢視檔案許可權(包括目錄、資料夾、檔案許可權)檢視目錄資訊等等   &nbs

Linux系統入門命令學習及解析(二)

Linux常用目錄 以下是系統的一級目錄,這些目錄在Linux系統中都有著不同的用處。 /  Linux系統根目錄(重要,常用) /home  包含使用者的檔案:引數設定、個性檔案、文件、資料、EMAIL、快取資料等,每增加一個使用者,系統就會在home目錄下

Linux必知必會】常用命令快速入門

前言 平常大家可能使用的都是預裝Windows系統的電腦,畢竟Windows系統支援豐富的圖形介面,在娛樂和辦公方面比較有優勢,易用性也較好。用慣了Windows的人,看到Linux那黝黑的命令列視窗,可能會頭皮發麻,但其實Linux是被廣泛用作伺服器對外提供

24-Oracle入門Linux下的Oracle命令大全

一,啟動   1.#su - oracle              切換到oracle使用者且切換到它的環境 2.$lsnrctl status           檢視監聽及資料庫狀態 3.$lsnrctl start    

4.Linux入門常用命令(1)

1.伺服器資訊命令 首先在接觸一臺新的機器,我們需要用一些命令瞭解這個機器的基本資訊。 1.檢視系統核心 #uname -r 2.檢視系統的發行版 #cat /etc/centos-release 3.檢視系統cpu資訊 #lscpu

Linux命令stty

repl 位置 而不是 connector 啟動 previous dsr 根據 pass 用途說明 stty命令用於顯示和修改終端行設置(change and print terminal line settings)。 常用參數 stty命令不帶參數可以打印終端行設置,

Linuxlsof命令

blog tails lin tle denied 索引 網絡連接 abc host name lsof命令簡介: lsof(list open files)是一個列出當前系統打開文件的工具。在Linux環境下,任何事物都以文件的形式存在,通過文件不僅僅可以訪問常規數據,

linux awk命令詳解

數學函數 mat loop 多次 finished 數組結構 save pre 新的 awk是一種程序語言,對文檔資料的處理具有很強的功能。awk名稱是由它三個最初設計者的姓氏的第一個字母而命名的: Alfred V. Aho、Peter J. We i n b e rg

Linux命令kill

多種方式 輸入 字符 指定 避免 選項 con 擴展 firefox 精通Linux的kill命令    不管你使用哪種操作系統,你一定會遇到某個行為失常的應用,它把自己鎖死並拒絕關閉。在Linux(還有Mac)。你能夠用一個"kill"命令強制終結它。在這個教程中,我

每天一個linux命令8grep高級篇

表達式 大寫 world exp 大寫字母 重復數 tools href 反向 1語法 grep -[acinv] ‘搜索內容串‘ filename-a 以文本文件方式搜索-c 計算找到的符合行的次數-i 忽略大小寫-n 順便輸出行號-v 反向選擇,即找 沒有搜索

Linux命令netstat

unknown 網絡相關 mes packet forward 提示 send 狀態 統計 Linux命令之netstat詳解 簡介 Netstat 命令用於顯示各種網絡相關信息,如網絡連接,路由表,接口狀態 (Interface Statistics),masquerad

linux 命令 apt-get

檢查 end 修正 blog font span man 損壞 /var/ apt-get 是一個下載安裝軟件包的簡單命令行接口 使用方法: apt-get [OPTIONS] [COMMANDS] [PACKAGE_NAMES] OPTIONS:

Linuxtime命令

-s 缺省 ota command ... 16px comm tftp blog Linux中的time命令常常用來計算某個程序的運行耗時(real),用戶態cpu耗時(user),系統態cpu耗時(sys)。 格式:time [-p] command [argument

linux 命令 watch

html shell ati watch命令 art track pwd -s 周期 watch能夠幫你監測一個命令的執行結果,省得你一遍遍的手動執行。在Linux下。watch是周期性的執行下個程序。並全屏顯示執行結果。你能夠拿他來監測你想要的一切命令的結果變化,