我個人理解,命令操作的對象叫參數,選項是對操作的過程做個修飾。就像我們說,殺雞,殺是命令,雞就是參數,而選項是個修飾,比如兇狠的殺,還是溫柔的殺。
比如刪除文件 rm file,rm是命令,file是參數,我們沒給選項,可以加個選項,執行rm -f file,這里-f就是選項,代表force,強制刪除,就是修飾這個刪除動作的過程的
⑵ 在linux中cat命令的參數和選項是一回事嗎
參數的范圍更大一些
選項指以-或者--開頭的參數,它們一般都表示某些開關
而像cat命令,一般需要一個目標文件,比如cat ./something.txt,
這個參數就不是選項了。
⑶ linux 在虛擬機狀態下如何設置上網參數
http://blog.ccidnet.com/blog.php?do=showone&uid=11088&type=blog&itemid=158746
1.bridge
:
默認使用vmnet0
將虛擬機的ip設置與主機同網段未使用ip,其餘與主機相同:
例如主機ip是10.70.54.31,設置虛擬機ip為10.70.54.22。netmask,broadcast,gateway,dns都與主機相同即可實現虛擬機主機
虛擬機互聯網
通信。
2.nat
:
默認使用vmnet8
將虛擬機設置成使用dhcp方式上網,windows下選擇"自動獲取ip",linux下開啟dhcp服務即可
也可以手動設置:
ip設置與vmnet8同網段,gateway設置成vmnet8的gateway(/etc
mware
mnet8/nat/nat.conf)中可以查到vmnet8的gateway,通常是xxx.xxx.xxx.2。
netmask,broadcast設置與vmnet8相同,dns設置與主機相同。
例如
vmnet8
ip:172.16.249.1
gw
:172.16.249.2
虛擬機設置:
ip
:172.16.249.100
gw:
172.16.249.2
3.host-only
:
默認使用vmnet1
將虛擬機ip設置與vmnet1同網段,gateway設置成vmnet1的ip,其餘設置與vmnet1相同,dns設置與主機相同
例如
vmnet1
ip
:172.16.245.1
虛擬機設置:
ip
:172.16.245.100
gateway
:172.16.245.1
這樣就實現了虛擬機主機
通信,但是
虛擬機互聯網
仍無法通信
⑷ 一般優化linux的內核,需要優化什麼參數
作為高性能WEB伺服器,只調整Nginx本身的參數是不行的,因為Nginx服務依賴於高性能的操作系統。
以下為常見的幾個Linux內核參數優化方法。
net.ipv4.tcp_max_tw_buckets
對於tcp連接,服務端和客戶端通信完後狀態變為timewait,假如某台伺服器非常忙,連接數特別多的話,那麼這個timewait數量就會越來越大。
畢竟它也是會佔用一定的資源,所以應該有一個最大值,當超過這個值,系統就會刪除最早的連接,這樣始終保持在一個數量級。
這個數值就是由net.ipv4.tcp_max_tw_buckets這個參數來決定的。
CentOS7系統,你可以使用sysctl -a |grep tw_buckets來查看它的值,默認為32768,
你可以適當把它調低,比如調整到8000,畢竟這個狀態的連接太多也是會消耗資源的。
但你不要把它調到幾十、幾百這樣,因為這種狀態的tcp連接也是有用的,
如果同樣的客戶端再次和服務端通信,就不用再次建立新的連接了,用這個舊的通道,省時省力。
net.ipv4.tcp_tw_recycle = 1
該參數的作用是快速回收timewait狀態的連接。上面雖然提到系統會自動刪除掉timewait狀態的連接,但如果把這樣的連接重新利用起來豈不是更好。
所以該參數設置為1就可以讓timewait狀態的連接快速回收,它需要和下面的參數配合一起使用。
net.ipv4.tcp_tw_reuse = 1
該參數設置為1,將timewait狀態的連接重新用於新的TCP連接,要結合上面的參數一起使用。
net.ipv4.tcp_syncookies = 1
tcp三次握手中,客戶端向服務端發起syn請求,服務端收到後,也會向客戶端發起syn請求同時連帶ack確認,
假如客戶端發送請求後直接斷開和服務端的連接,不接收服務端發起的這個請求,服務端會重試多次,
這個重試的過程會持續一段時間(通常高於30s),當這種狀態的連接數量非常大時,伺服器會消耗很大的資源,從而造成癱瘓,
正常的連接進不來,這種惡意的半連接行為其實叫做syn flood攻擊。
設置為1,是開啟SYN Cookies,開啟後可以避免發生上述的syn flood攻擊。
開啟該參數後,服務端接收客戶端的ack後,再向客戶端發送ack+syn之前會要求client在短時間內回應一個序號,
如果客戶端不能提供序號或者提供的序號不對則認為該客戶端不合法,於是不會發ack+syn給客戶端,更涉及不到重試。
net.ipv4.tcp_max_syn_backlog
該參數定義系統能接受的最大半連接狀態的tcp連接數。客戶端向服務端發送了syn包,服務端收到後,會記錄一下,
該參數決定最多能記錄幾個這樣的連接。在CentOS7,默認是256,當有syn flood攻擊時,這個數值太小則很容易導致伺服器癱瘓,
實際上此時伺服器並沒有消耗太多資源(cpu、內存等),所以可以適當調大它,比如調整到30000。
net.ipv4.tcp_syn_retries
該參數適用於客戶端,它定義發起syn的最大重試次數,默認為6,建議改為2。
net.ipv4.tcp_synack_retries
該參數適用於服務端,它定義發起syn+ack的最大重試次數,默認為5,建議改為2,可以適當預防syn flood攻擊。
net.ipv4.ip_local_port_range
該參數定義埠范圍,系統默認保留埠為1024及以下,以上部分為自定義埠。這個參數適用於客戶端,
當客戶端和服務端建立連接時,比如說訪問服務端的80埠,客戶端隨機開啟了一個埠和服務端發起連接,
這個參數定義隨機埠的范圍。默認為32768 61000,建議調整為1025 61000。
net.ipv4.tcp_fin_timeout
tcp連接的狀態中,客戶端上有一個是FIN-WAIT-2狀態,它是狀態變遷為timewait前一個狀態。
該參數定義不屬於任何進程的該連接狀態的超時時間,默認值為60,建議調整為6。
net.ipv4.tcp_keepalive_time
tcp連接狀態里,有一個是established狀態,只有在這個狀態下,客戶端和服務端才能通信。正常情況下,當通信完畢,
客戶端或服務端會告訴對方要關閉連接,此時狀態就會變為timewait,如果客戶端沒有告訴服務端,
並且服務端也沒有告訴客戶端關閉的話(例如,客戶端那邊斷網了),此時需要該參數來判定。
比如客戶端已經斷網了,但服務端上本次連接的狀態依然是established,服務端為了確認客戶端是否斷網,
就需要每隔一段時間去發一個探測包去確認一下看看對方是否在線。這個時間就由該參數決定。它的默認值為7200秒,建議設置為30秒。
net.ipv4.tcp_keepalive_intvl
該參數和上面的參數是一起的,服務端在規定時間內發起了探測,查看客戶端是否在線,如果客戶端並沒有確認,
此時服務端還不能認定為對方不在線,而是要嘗試多次。該參數定義重新發送探測的時間,即第一次發現對方有問題後,過多久再次發起探測。
默認值為75秒,可以改為3秒。
net.ipv4.tcp_keepalive_probes
第10和第11個參數規定了何時發起探測和探測失敗後再過多久再發起探測,但並沒有定義一共探測幾次才算結束。
該參數定義發起探測的包的數量。默認為9,建議設置2。
設置和範例
在Linux下調整內核參數,可以直接編輯配置文件/etc/sysctl.conf,然後執行sysctl -p命令生效
⑸ linux為什麼要有參數和選項
題主你好,
我拿最常用的ls這個命令給你舉例子吧:
如果這個命令沒有參數和選項的話,即只輸入ls,則它的行為是固定的,即"將顯示當前目錄下的內容(文件及文件夾)".
但是如果你想要只看當前目錄下的某個文件, 或者想要看某個文件的詳細信息等等,你光使用ls就辦不到了, 此時就要藉助選項和參數了, 即不同的選項有不同的功能, 你可能通過組合多個選項來實現復雜的輸出.
如ls -l 加上了-l參數我不僅可以看到當前文件夾中所有的文件或文件夾名,還可以看到它們的詳細信息,如大小等
總結:
linux命令有選項和參數是為了增加命令的靈活性,可以根據不同的需求,使用不同的選項組合.
再舉個現實一點的例子, 如果說你和你的同學都在使用ls命令, 但你想看的是當前文件夾下的所有文件或文件夾名稱, 而你的賦學想要看所有文件及文件夾的詳細信息, 該怎麼辦? ls這個命令又不會讀取你們腦子里的信息自動去判斷你們想要看的是啥,對吧,所以linux命令基本上都會設計很多參數,讓你們學習每個參數都是干什麼的,最後不同的人根據自己的需要,使用不同的參數組合,來得到自己想要的結果.
-----
希望可以幫到題主,歡迎追問.
⑹ linux命令選項和參數的順序是怎麼規定的 如gcc -o hello.c hello 和 gcc hello.c -o hello
1、如果只做編譯,不做鏈接(-c 選項,只生成.o文件,不生成執行文件),對參數順序沒有要求。
2、不同類的選項沒有順序要求(如多個 -I 屬於同一類)。
3、gcc在鏈接時,對參數中的庫的順序有要求,參數右側的庫會先於左側的庫載入;不同庫中有相同的符號定義時,鏈接順序不同會產生不同結果。
⑺ 求linux下tar命令的各種參數選項和他們的作用,要詳細一點的,謝謝,在線等答案
man tar吧,雖然看英文挺費勁的,但是堅持下來的話對以後使用linux,變成幫助非常大。
⑻ linux的命令行的參數和選項怎麼區分
linux命令行中 -r 與 -R 就是代表不同參數,根據需求用的參數不一樣。只是剛好用了r這個字母,其實沒有任何關聯。看參數可以用man或者後面加--help,具體用什麼參數要根據事情 決定
⑼ linux系統中參數-和--有什麼區別
一個-是簡寫 一般帶一個字母,兩個-是全程 一般帶完整單詞,其他沒什麼差別。操作方法如下:
1、首先linux系統的內核參數涉及到的配置文件和命令分別是: /etc/sysctl.conf文件。syctl命令文件和命令的路徑,分別如下面圖中所示。
⑽ 2 Linux終端命令
職場中,大部分都是通過 SSH客戶端 遠程操作,實現磁碟讀取,文件讀取,目錄操作,進程管理等等
打開終端3種方式,收藏夾黑色屏幕圖標點擊,右鍵打開終端,Ctrl+Alt+t組合鍵
command [-options] [parameters]
command即終端命令,options為選項一般前面有橫杠,後面是參數,選項和參數有中括弧表示可選項
man command (man表示手冊縮寫,查看命令幫助文檔)出現文檔,按回車下滾一行,按空格(或f)下翻一頁,按b上翻一頁,輸入橫杠加上對應的option可實現對應部分高亮
command --help也可以實現幫助文檔,頁面和上面不太一樣,部分還出現了中文
pwd 命令 顯示當前路徑
tree [path] 命令(默認沒有,需要安裝,sudo apt install tree)可以將你當前(或指定)路徑下的文件以樹狀遍歷(所有文件,遞歸)顯示出來
ls 命令 以列表顯示當前目錄文件,(不再深層挖掘)ls顯示出來白色是文件,藍色是文件夾,綠色是可執行文件,紅色一般是壓縮包
ls -a 顯示所有的文件包括隱藏文件,顯示結果以. 點開頭的就是隱藏文件
ls -l 用較長方式顯示文件
前面10個字母(分成第一個和後9個,第一個橫杠表示一個文件,d表示一個目錄,l表示是個鏈接(類似快捷方式),後九個,rwx表示跟讀寫等操作有關,後面講),硬鏈接數,文件所屬用戶(第一個demo),文件所屬組(第二個demo),文件大小(B為單位),最後修改時間,文件
ls -h以人性化顯示文件(一般和-l一起),可看出加了-h後,文件顯示的單位方便閱讀
cd 可以跟相對路徑和絕對路徑,路徑大小寫敏感
當前路徑用「.」表示,上級路徑「..」
cd 什麼都不加或者cd ~可以直接回家目錄/home
cd /去根目錄
cd -返回上次的目錄
mkdir創建目錄
mkdir 目錄名 不可以一次創建多級目錄(文件夾不存在情況下如mkdir a/b/c,a,b都不存在情況下,創建不了)
如果我們就是想創建多級目錄呢,使用遞歸創建目錄,會把沒有的目錄創建出來
mkdir a/b/c -p
touch創建文件
touch +文件名(建議加後綴名),可以一次創建多個文件用空格隔開
touch a.txt
touch a.txt b.txt
gedit打開文件
gedit 文件相對路徑或絕對路徑,(如果未成功打開需要加上sudo gedit)
同上個命令可以同時打開多個,打開的編輯器編輯內容點擊保存完成文件編輯
打開文件後終端進入等待狀態
rm刪除文件和文件夾
文件刪除不能恢復
rm -i 文件 這種會出現是否提示,給自己個提醒機會(centos沒有-i就有提示)
rm -f 文件 強制刪除(不提示,和上個相反)
rm -r 目錄 刪除目錄(多級遞歸刪除)
cp拷貝文件和文件夾
cp a.txt b.txt 當前路徑下的a.txt拷貝一個b.txt到當前路徑,如果已經存在b.txt直接覆蓋掉
加上-i模式可以給與提示(不是同名文件不會出現)
-f 強制復制不提示
-v 顯示一行拷貝的過程
如果是復制文件夾要加上 -r 遞歸拷貝
-a 把文件或文件夾(是遞歸拷貝)的許可權也一起復制過去
mv移動文件文件夾,重命名
mv 原路徑 目標路徑
如果存在同名文件,默認會覆蓋,還是加-i提示,如果選擇n,不會移動成功
-f 強制移動不提示
-v 顯示移動過程
移動文件夾不用加-r(刪除和拷貝不一樣)
clear 清除終端顯示內容(類似DOS cls)快捷鍵,Ctrl+L
實際效果只是往下滾動,當前輸入為第一行,拖動滾動條還是能看見之前的內容= =
tab 自動補全(有時多個可能要再按下tab出現候選提示)
which 查看命令位置
游標↑↓ 查看翻查之前調用過的命令
Ctrl+C 終止程序運行
終端字體大小調整Ctrl Shift +(放大)
Ctrl - (縮小,注意無shift)
cal顯示日歷,當日高亮
cal -3顯示當前月及上下月的日歷(沒有-別的數字)
cal -y 顯示一年的日歷
cal -j 日歷顯示是當年第幾天
cal 年份4位數(獲得年份日歷)
date顯示日期
date 加雙引號字元串格式化顯示,注意對應大小寫
%F,%T同樣實現類似效果,分別格式化日期和時間
history 獲得所有的歷史指令
history 數字 顯示最近的數字條指令
如果我看到對應指令,然後根據指令編號,直接輸入
! 指令編號 即可執行對應指令,這些歷史指令都存在於家目錄隱藏文件 .bash_history 中
cat 直接在命令行顯示文件內容,和gedit不一樣
-n 查看文件同時顯示行號
-b 文件空行不編號,但是給空出位置,顯示非空行編號
-s 兩行以上的空行只顯示一行(可以和前面的組合 -sb )
同時打開多個文件效果
more
more 文件路徑
分屏查看,會顯示已經顯示部分的百分比,
按回車滾一行,
按空格 或 Ctrl+F或F向下翻一屏,
Ctrl+B或B回滾一屏
q退出
more +num 表示從第num行開始查看,文件默認第一行為1
-p 選項 清屏 置頂顯示內容
-s 連續2行以上的空行顯示一個空行
more 也可以加多個文件,顯示不同文件有專門的分割,這是與cat的區別