0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

總結(jié)20個(gè)超好用的 Unix/Linux 命令指令集

如意 ? 來源:良許Linux ? 作者:良許 ? 2020-10-16 15:20 ? 次閱讀

1. 刪除一個(gè)大文件

我在生產(chǎn)服務(wù)器上有一個(gè)很大的200GB的日志文件需要?jiǎng)h除。我的rm和ls命令已經(jīng)崩潰,我擔(dān)心這是由于巨大的磁盤IO造成的,要?jiǎng)h除這個(gè)大文件,輸入:

》 /path/to/file.log # 或使用如下格式 : 》 /path/to/file.log # 然后刪除它 rm /path/to/file.log

2. 如何記錄終端輸出?

試試使用script命令行工具來為你的終端輸出創(chuàng)建輸出記錄。

script my.terminal.sessio

輸入命令:

ls datesudo service foo stop

要退出(結(jié)束script會話),輸入 exit 或者 logout 或者按下 control-D。

exit

要瀏覽輸入:

more my.terminal.session less my.terminal.session cat my.terminal.session

3. 還原被刪除的 /tmp 文件夾

我在文章Linux和Unix shell,我犯了一些錯(cuò)誤。我意外地刪除了/tmp文件夾。要還原它,我需要這么做:

mkdir /tmp chmod 1777 /tmp chown root:root /tmp ls -ld /tmp

4. 鎖定一個(gè)文件夾

為了我的數(shù)據(jù)隱私,我想要鎖定我文件服務(wù)器下的/downloads文件夾。因此我運(yùn)行了:

chmod 0000 /downloads

root用戶仍舊可以訪問,而ls和cd命令則不工作。要還原它用:

chmod 0755 /downloads

5. 在vim中用密碼保護(hù)文件

害怕root用戶或者其他人偷窺你的個(gè)人文件么?嘗試在vim中用密碼保護(hù),輸入:

vim +X filename

或者,在退出vim之前使用:X 命令來加密你的文件,vim會提示你輸入一個(gè)密碼。

6. 清除屏幕上的亂碼

只要輸入:

reset

7. 易讀格式

傳遞-h或者-H(和其他選項(xiàng))選項(xiàng)給GNU或者BSD工具來獲取像ls、df、du等命令以易讀的格式輸出:

ls -lh # 以易讀的格式 (比如: 1K 234M 2G) df -h df -k # 以字節(jié)、KB、MB 或 GB 輸出: free -b free -k free -m free -g # 以易讀的格式輸出 (比如 1K 234M 2G) du -h # 以易讀的格式顯示文件系統(tǒng)權(quán)限 stat -c %A /boot # 比較易讀的數(shù)字 sort -h -a file # 在Linux上以易讀的形式顯示cpu信息 lscpu lscpu -e lscpu -e=cpu,node # 以易讀的形式顯示每個(gè)文件的大小 tree -h tree -h /boot

8. 在Linux系統(tǒng)中顯示已知的用戶信息

只要輸入:

## linux 版本 ## lslogins ## BSD 版本 ## logins

示例輸出:

UID USER PWD-LOCK PWD-DENY LAST-LOGIN GECOS 0 root 0 0 22:37:59 root 1 bin 0 1 bin 2 daemon 0 1 daemon 3 adm 0 1 adm 4 lp 0 1 lp 5 sync 0 1 sync 6 shutdown 0 1 2014-Dec17 shutdown 7 halt 0 1 halt 8 mail 0 1 mail 10 uucp 0 1 uucp 11 operator 0 1 operator 12 games 0 1 games 13 gopher 0 1 gopher 14 ftp 0 1 FTP User 27 mysql 0 1 MySQL Server 38 ntp 0 1 48 apache 0 1 Apache 68 haldaemon 0 1 HAL daemon 69 vcsa 0 1 virtual console memory owner 72 tcpdump 0 1 74 sshd 0 1 Privilege-separated SSH 81 dbus 0 1 System message bus 89 postfix 0 1 99 nobody 0 1 Nobody 173 abrt 0 1 497 vnstat 0 1 vnStat user 498 nginx 0 1 nginx user 499 saslauth 0 1

左右可以滑動(dòng)(后面類似樣式同理)

9. 我如何刪除意外在當(dāng)前文件夾下解壓的文件?

我意外在/var/www/html/而不是/home/projects/www/current下解壓了一個(gè)tarball。它搞亂了/var/www/html下的文件,你甚至不知道哪些是誤解壓出來的。最簡單修復(fù)這個(gè)問題的方法是:

cd /var/www/html/ /bin/rm -f “$(tar ztf /path/to/file.tar.gz)”

左右可以滑動(dòng)

10. 對top命令的輸出感到疑惑?

正經(jīng)地說,你應(yīng)該試一下用htop代替top:

sudo htop

11. 想要再次運(yùn)行相同的命令

只需要輸入??!。比如:

/myhome/dir/script/name arg1 arg2 # 要再次運(yùn)行相同的命令 ??! ## 以root用戶運(yùn)行最后運(yùn)行的命令 sudo !!

?。\(yùn)行最近使用的命令。要運(yùn)行最近運(yùn)行的以“foo”開頭命令:

!foo # 以root用戶運(yùn)行上一次以“service”開頭的命令 sudo !service

!$用于運(yùn)行帶上最后一個(gè)參數(shù)的命令:

# 編輯 nginx.conf sudo vi /etc/nginx/nginx.conf # 測試 nginx.conf /sbin/nginx -t -c /etc/nginx/nginx.conf # 測試完 “/sbin/nginx -t -c /etc/nginx/nginx.conf”你可以用vi再次編輯這個(gè)文件了 sudo vi !$

左右可以滑動(dòng)

12. 在終端上提醒你必須得走了

如果你需要提醒離開你的終端,輸入下面的命令:

leave +hhmm

這里:

hhmm - 時(shí)間是以hhmm的形式,hh表示小時(shí)(12時(shí)制或者24小時(shí)制),mm代表分鐘。所有的時(shí)間都轉(zhuǎn)化成12時(shí)制,并且假定發(fā)生在接下來的12小時(shí)。

13. 甜蜜的家

想要進(jìn)入剛才進(jìn)入的地方?運(yùn)行:

cd -

需要快速地回到你的家目錄?輸入:

cd

變量CDPATH定義了目錄的搜索路徑:

export CDPATH=/var/www:/nas10

現(xiàn)在,不用輸入cd */var/www/html/ 這樣長了,我可以直接輸入下面的命令進(jìn)入 /var/www/html:

cd html

14. 在less瀏覽時(shí)編輯文件

要編輯一個(gè)正在用less瀏覽的文件,可以按下v。你就可以用變量$EDITOR所指定的編輯器來編輯了:

less *.c less foo.html ## 按下v鍵來編輯文件 ## ## 退出編輯器后,你可以繼續(xù)用less瀏覽了 ##

15. 列出你系統(tǒng)中的所有文件和目錄

要看到你系統(tǒng)中的所有目錄,運(yùn)行:

find / -type d | less # 列出$HOME 所有目錄 find $HOME -type d -ls | less

要看到所有的文件,運(yùn)行:

find / -type f | less # 列出 $HOME 中所有的文件 find $HOME -type f -ls | less

16. 創(chuàng)建目錄樹

你可以用mkdir加上-p選項(xiàng)一次創(chuàng)建一顆目錄樹:

mkdir -p /jail/{dev,bin,sbin,etc,usr,lib,lib64} ls -l /jail/

17. 將文件復(fù)制到多個(gè)目錄中

不必運(yùn)行:

cp /path/to/file /usr/dir1 cp /path/to/file /var/dir2 cp /path/to/file /nas/dir3

運(yùn)行下面的命令來復(fù)制文件到多個(gè)目錄中:

echo /usr/dir1 /var/dir2 /nas/dir3 | xargs -n 1 cp -v /path/to/file

左右可以滑動(dòng)

留下創(chuàng)建一個(gè)shell函數(shù)作為讀者的練習(xí)。

18. 快速找出兩個(gè)目錄的不同

diff命令會按行比較文件。但是它也可以比較兩個(gè)目錄:

ls -l /tmp/r ls -l /tmp/s # 使用 diff 比較兩個(gè)文件夾 diff /tmp/r/ /tmp/s/

Fig. : Finding differences between folders

圖片: 找出目錄之間的不同

19. 文本格式化

你可以用fmt命令重新格式化每個(gè)段落。在本例中,我要用分割超長的行并且填充短行:

fmt file.txt

你也可以分割長的行,但是不重新填充,也就是說分割長行,但是不填充短行:

fmt -s file.txt

20. 可以看見輸出并將其寫入到一個(gè)文件中

如下使用tee命令在屏幕上看見輸出并同樣寫入到日志文件my.log中:

mycoolapp arg1 arg2 input.file | tee my.log

tee可以保證你同時(shí)在屏幕上看到mycoolapp的輸出并寫入文件 my.log。
責(zé)編AJX

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11161

    瀏覽量

    208460
  • UNIX
    +關(guān)注

    關(guān)注

    0

    文章

    296

    瀏覽量

    41369
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    663

    瀏覽量

    21956
收藏 人收藏

    評論

    相關(guān)推薦

    CISC(復(fù)雜指令集)與RISC(精簡指令集)的區(qū)別  

    RISC的指令集中指令數(shù)反了CISC,因此,引用指令的復(fù)雜度而非數(shù)量來區(qū) 分兩種指令集。 當(dāng)然,CISC也是要通過操作內(nèi)存、寄存器、運(yùn)算器來完成復(fù)雜
    發(fā)表于 07-30 17:21

    Thumb指令集是什么意思呢

    了一些變種。Thumb指令集(T變種)Thumb指令集是將ARM指令集的一個(gè)子集重新編碼形成的指令集。ARM
    發(fā)表于 12-14 09:01

    微處理器指令集設(shè)計(jì)

    微處理器指令集設(shè)計(jì)垂直指令格式指令類型及其使用頻度CISC指令集特點(diǎn) RISC指令集特點(diǎn)指令集設(shè)
    發(fā)表于 10-29 17:13 ?64次下載
    微處理器<b class='flag-5'>指令集</b>設(shè)計(jì)

    ARM指令集詳解

    ARM指令集詳解 內(nèi)容提要 ARM指令集 ARM指令集分類與指令格式 ARM指令的尋址方式 ARM
    發(fā)表于 03-09 09:39 ?263次下載
    ARM<b class='flag-5'>指令集</b>詳解

    sse指令集

    sse指令集 SSE(Streaming SIMD Extensions,單指令多數(shù)據(jù)流擴(kuò)展)指令集是Intel在Pentium III處理器中率先推出的。其實(shí),早在PIII正式推出之前
    發(fā)表于 12-25 10:59 ?1522次閱讀

    收集Unix/Linux/BSD命令和任務(wù)的文檔

    收集Unix/Linux/BSD命令和任務(wù)的文檔
    發(fā)表于 10-30 15:46 ?8次下載
    收集<b class='flag-5'>Unix</b>/<b class='flag-5'>Linux</b>/BSD<b class='flag-5'>命令</b>和任務(wù)的文檔

    thumb指令集是什么_thumb指令集與arm指令集的區(qū)別

    thumb指令集是arm指令集的一個(gè)子集,是針對代碼密度問題而提出的,它具有16位的代碼寬度。與等價(jià)的32位代碼相比較,thumb指令集在保留32位代碼優(yōu)勢的同時(shí),大大的節(jié)省了系統(tǒng)的存
    發(fā)表于 11-03 17:34 ?1.8w次閱讀
    thumb<b class='flag-5'>指令集</b>是什么_thumb<b class='flag-5'>指令集</b>與arm<b class='flag-5'>指令集</b>的區(qū)別

    mips指令集指的是什么

    指令集是存儲在CPU內(nèi)部,對CPU運(yùn)算進(jìn)行指導(dǎo)和優(yōu)化的硬程序。擁有這些指令集,CPU就可以更高效地運(yùn)行。MIPS指令集屬于精簡指令集,MIPS的所有
    發(fā)表于 12-16 10:25 ?1.3w次閱讀

    risc指令集是什么_有哪些

     RISC指令集是高性能CPU的發(fā)展方向。它與傳統(tǒng)的CISC(復(fù)雜指令集)相對。相比而言,RISC的指令格式統(tǒng)一,種類比較少,尋址方式也比復(fù)雜指令集少。當(dāng)然處理速度就提高很多了。目前在
    發(fā)表于 12-19 11:55 ?2w次閱讀
    risc<b class='flag-5'>指令集</b>是什么_有哪些

    Cortex-M系列處理器指令集_指令集特性比較總結(jié)

    本文主要介紹Cortex-M系列處理器指令集指令集特性比較總結(jié),具體的跟隨小編一起來了解一下。
    發(fā)表于 04-18 16:59 ?7812次閱讀
    Cortex-M系列處理器<b class='flag-5'>指令集</b>_<b class='flag-5'>指令集</b>特性比較<b class='flag-5'>總結(jié)</b>

    ARM架構(gòu)及ARM指令集 Thumb指令集你了解多少?

    ARM架構(gòu)及ARM指令集、Thumb指令集你了解多少?
    的頭像 發(fā)表于 02-26 16:09 ?7012次閱讀

    ESP8266 WIFI模塊的AT指令集免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是ESP8266 WIFI模塊的AT指令集免費(fèi)下載。描述Espressif AT指令集功能以及使??法指令集主要分為:基礎(chǔ) AT 命令、WiFi 功能AT
    發(fā)表于 06-12 08:00 ?8次下載

    AT指令集BC26&BC20命令手冊

    AT指令集BC26&BC20命令手冊
    發(fā)表于 09-09 11:03 ?25次下載

    PIC單片機(jī)指令集

    PIC16指令集PIC18指令集
    發(fā)表于 11-16 11:06 ?16次下載
    PIC單片機(jī)<b class='flag-5'>指令集</b>

    復(fù)雜指令集和精簡指令集有什么區(qū)別

    復(fù)雜指令集(CISC,Complex Instruction Set Computer)和精簡指令集(RISC,Reduced Instruction Set Computer)是微處理器設(shè)計(jì)中
    的頭像 發(fā)表于 08-22 11:00 ?1809次閱讀