91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux Shell命令具體有哪些

發布時間:2021-11-01 10:12:23 來源:億速云 閱讀:114 作者:柒染 欄目:系統運維

這期內容當中小編將會給大家帶來有關Linux Shell命令具體有哪些,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

引言

Shell作為Unix系操作系統當中最有魅力且不可或缺的組件,經過數十載的洗禮不僅沒有被淘汰,而且愈加變得成熟穩健,究其原因,大概因為它是個非常穩固的粘合劑,能夠把大量功能強大的組件任意配搭,總能很好很快地完成用戶的任務。

本文的一些命令很可能看起來是”雕蟲小技”,我們只好仰慕一下Shell大牛了,但是有些細節我會稍加發掘加以說明,遇到有趣的地方希望能博您一笑了。

1.以SUDO運行上條命令

$ sudo !!

大家應該都知sudo,不解釋。但通常出現的情況是,敲完命令執行后報錯才發現忘了sudo。這時候,新手用戶就會:按上箭頭,按左箭頭,盯著光標回到開始處,輸入sudo,回車;高手用戶就蛋定多了,按Ctrl-p,按Ctrl-a,輸入sudo,回車。

這里介紹這個是天外飛仙級別的,對,就直接sudo !!。

當然這幾種解決方式效果是完全一樣的,只是款不一樣,嗯,不解釋。

兩個感嘆號其實是bash的一個特性,稱為事件引用符(event designators)。!!其實相當于!-1,引用前一條命令,當然也可以!-2,!-50。默認情況下bash會在~/.bash_history文件內記錄用戶執行的最近500條命令,history命令可以顯示這些命令。

2.以HTTP方式共享當前文件夾的文件

$ python -m SimpleHTTPServer

這命令啟動了Python的SimpleHTTPServer模塊,考慮到Python在絕大多數的Linux發行版當中都默認安裝,所以這個命令很可能是最簡單的跨平臺傳文件的方法。

命令執行后將在本機8000端口開放HTTP服務,在其他能訪問本機的機器的瀏覽器打開ttp://ip:8000即打開一個目錄列表,點擊即可下載。

3.在以普通用戶打開的VIM當中保存一個ROOT用戶文件

:w !sudo tee %

這題目讀起來糾結,其實是很常見的,常常忘記了sudo就直接用vim編輯/etc內的文件,(不過也不一定,vim發現保存的文件無法保存時候會提示)等編輯好了,保存時候才發現沒權限。曲線方法是先保存個臨時文件,退出后再sudo cp回去。不過實際上在vim里面可以直接完成這個過程的,命令就是如此。

查閱vim的文檔(輸入:help :w),會提到命令:w!{cmd},讓vim執行一個外部命令{cmd},然后把當前緩沖區的內容從stdin傳入。

tee是一個把stdin保存到文件的小工具。

而%,是vim當中一個只讀寄存器的名字,總保存著當前編輯文件的文件路徑。

所以執行這個命令,就相當于從vim外部修改了當前編輯的文件,好完工。

4.切換回上一個目錄

$ cd -

應該不少人都知道這個,橫桿-代表上一個目錄的路徑。

實際上cd -就是cd $OLDPWD的簡寫,bash的固定變量$OLDPWD總保存著之前一個目錄的路徑。

相對地,$PWD總保存著當前目錄的路徑。這些變量在編寫shell腳本時候相當有用。

5.替換上一條命令中的一個短語

$ ^foo^bar^

又是另外一個事件引用符(event designator),可以把上一條命令當中的foo替換成bar。

在需要重復運行調試一道長長的命令,需要測試某個參數時候,用這個命令會比較實用;但多數人會首先選擇按上箭頭提出上道命令,再移動光標去修改某參數,這樣更直觀,但效率上就不夠使用引用符高,而且在腳本中用這個方法可以簡化很多。

這道命令的原始樣式應該是這樣的:

!!:s/foo/bar/

本文一開始介紹過!!,后面的一段大家應該很熟悉,vim、sed的替換操作都是這樣的語法。

關于事件引用符的更多用法可以深入閱讀The Definitive Guide to Bash Command Line History

6.快速備份一個文件

$ cp filename{,.bak}

這道命令把filename文件拷貝成filename.bak,大家應該在一些比較復雜的安裝教程里面見過這樣的用法。其原理就在于bash對大括號的展開操作,filename{,.bak}這一段會被展開成filename filename.bak再傳給cp,于是就有了備份的命令了。

大括號在bash里面是一個排列的意義,可以試試這個:

$ echo {a,b,c}{a,b,c}{a,b,c}

將輸出三個集合的全排列:

aaa aab aac aba abb abc aca acb acc
baa bab bac bba bbb bbc bca bcb bcc
caa cab cac cba cbb cbc cca ccb ccc

7.免密碼SSH登錄主機

$ ssh-copy-id remote-machine

這個命令把當前用戶的公鑰串寫入到遠程主機的~/.ssh/authorized_keys內,這樣下次使用ssh登錄的時候,遠程主機就直接根據這串密鑰完成身份校驗,不再詢問密碼了。前提是你當前用戶有生成了公鑰,默認是沒有的,先執行ssh-keygen試試吧!

這個命令如果用手工完成,是這樣的:

your-machine$ scp ~/.ssh/identity.pub remote-machine:
your-machine$ ssh remote-machine
remote-machine$ cat identity.pub >> ~/.ssh/authorized_keys

如果你想刪掉遠程主機上的密鑰,直接打開authorized_keys,搜索你的用戶名,刪除那行,即可。

8.抓取LINUX桌面的視頻

$ ffmpeg -f x11grab -s wxga -r 25 -i :0.0 -sameq /tmp/out.mpg

我們在一些視頻網站上看到別人的3D桌面怎么怎么酷的視頻,通常就是這么來的,ffmpeg可以直接解碼X11的圖形,并轉換到相應輸出格式。

ffmpeg的通常用法是,根據一堆參數,輸出一個文件,輸出文件通常放***,下面解析下幾個參數:

-f x11grab 指定輸入類型。因為x11的緩沖區不是普通的視頻文件可以偵測格式,必須指定后ffmpeg才知道如何獲得輸入。

-s wxga 設置抓取區域的大小。wxga是1366*768的標準說法,也可以換成-s 800×600的寫法。

-r 25 設置幀率,即每秒抓取的畫面數。

-i :0.0 設置輸入源,本地X默認在0.0

-sameq 保持跟輸入流一樣的圖像質量,以用來后期處理。

后記

說Shell是一種編程語言,可能有些尷尬,雖然很多人每天都在用Shell,但從來沒見它榮登TIOBE編程語言排行榜之類的,可以說毫無名分,因為很多用戶沒意識到它是一種語言,只當做這是一個能夠很好完成任務的工具,基本得理所當然,就好像GUI程序的菜單、按鈕一樣。

掌握Shell,通常能夠讓任務在數秒鐘內完成,這就讓Shell跟C、Perl、Python這些語言區別開來,沒人否認后者更能勝任更多的任務,但是他們是在不同的層面上去做,Shell依賴大量的系統組件黏合調用,而后者依賴各種庫,各所擅長不同的應用領域,比喻就是,Shell是混凝土,可以很方便地粘合一些建筑組件而成為穩固的高樓大廈;但同樣是粘合劑,粘玻璃窗、粘書報、粘皮鞋,混凝土是絕對不合適的,Shell并不擅長一些細致操作,比如它連浮點運算都不支持,更別提什么圖形運算什么的。但這并不妨礙Shell來幫我們完成很多粗重任務。

上述就是小編為大家分享的Linux Shell命令具體有哪些了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

重庆市| 长治县| 宜丰县| 称多县| 循化| 元阳县| 鹤庆县| 奉节县| 洞头县| 朝阳区| 德州市| 股票| 普陀区| 叶城县| 沂源县| 余庆县| 留坝县| 于田县| 巴林右旗| 靖边县| 深水埗区| 会昌县| 信丰县| 无棣县| 内乡县| 当阳市| 武平县| 蒙城县| 肇州县| 灵寿县| 黎平县| 鹤壁市| 汾阳市| 叶城县| 南丰县| 中宁县| 六安市| 托里县| 双城市| 汉源县| 高碑店市|