linux 常用命令有:
pwd 命令
使用 pwd 命令找出您所在的當前工作目錄(文件夾)的路徑。該命令將返回一個絕對(完整)路徑,該路徑基本上是所有以 / 開頭的目錄的路徑。絕對路徑的一個示例是 /home/username。
cd 命令
要瀏覽 Linux 文件和目錄,請使用 cd 命令。根據您所在的當前工作目錄,它需要目錄的完整路徑或名稱。假設您位於 /home/username / Documents 中,並且想要轉到 Documents 的子目錄 Photos。為此,只需鍵入以下命令:cd Photos。另一種情況是,如果您想切換到一個全新的目錄,例如 /home/username / Movies。在這種情況下,您必須輸入 cd,然後輸入目錄的絕對路徑:cd /home/username / Movies。有一些快捷方式可幫助您快速導航:cd ..(帶有兩個點)將一個目錄向上移動 cd 直接轉到主文件夾 cd-(帶連字元)移動到上一個目錄附帶說明一下,Linux 的 shell 是區分大小寫的。因此,您必須准確輸入名稱的目錄。
ls 命令
LS 命令用於查看目錄的內容。默認情況下,此命令將顯示當前工作目錄的內容。如果要查看其他目錄的內容,請鍵入 ls,然後鍵入目錄的路徑。例如,輸入 LS / 家 / 用戶名 / 文檔查看的內容的文件。您可以使用 ls 命令使用以下變體:ls -R 還將列出子目錄中的所有文件 ls -a 將顯示隱藏的文件 ls -al 將列出文件和目錄以及詳細信息,例如許可權,大小,所有者等。
cat 命令
cat(連接的縮寫)是 Linux 中最常用的命令之一。它用於在標准輸出(sdout)上列出文件的內容。要運行此命令,請鍵入 cat,然後輸入文件名及其擴展名。例如:cat file.txt。以下是使用 cat 命令的其他方法:cat> filename 創建一個新文件 cat filename1 filename2> filename3 連接兩個文件(1 和 2),並將它們的輸出存儲在新文件中(3)將文件轉換為大寫或小寫使用,cat filename | tr a-z A-Z >output.txt
cp 命令
使用 cp 命令將文件從當前目錄復制到另一個目錄。例如,命令 cp scenery.jpg/home /username/ Pictures 將在您的 Pictures 目錄中創建一個 Scene.jpg 副本(來自當前目錄)。
mv 命令
mv 命令的主要用途是移動文件,盡管它也可以用於重命名文件。mv 中的參數類似於 cp 命令。您需要輸入 mv,文件名和目標目錄。例如:mv file.txt/home /username/ Documents。
mkdir 命令
使用 mkdir 命令創建一個新目錄 - 如果鍵入 mkdir Music,它將創建一個名為 Music 的目錄。還有一些額外的 mkdir 命令:要在另一個目錄中生成新目錄,請使用此 Linux 基本命令 mkdir Music / Newfile 使用 p(父級)選項在兩個現有目錄之間創建一個目錄。例如,mkdir -p Music / 2022 / Newfile 將創建新的 「2022」 文件。
rmdir 命令
如果需要刪除目錄,請使用 rmdir 命令。但是,rmdir 僅允許您刪除空目錄。
rm 命令
該 RM 命令用於刪除目錄以及其中的內容。如果只想刪除目錄(作為 rmdir 的替代方法),請使用 rm -r。注意:使用此命令時要格外小心,並仔細檢查您所在的目錄。這將刪除所有內容,並且沒有撤消操作。
touch 命令
該觸摸命令允許您創建通過 Linux 命令行新的空白文件。例如,輸入 touch /home/username/Documents/Web.html 在 Documents 目錄下創建一個名為 Web 的 HTML 文件。
locate 命令
您可以使用此命令來定位文件,就像 Windows 中的搜索命令一樣。此外,將 - i 參數與該命令一起使用將使其不區分大小寫,因此即使您不記得其確切名稱,也可以搜索文件。要搜索包含兩個或多個單詞的文件,請使用星號(*)。例如,locate -i school * note 命令將搜索包含單詞 「school」 和 「 note」 的任何文件,無論它是大寫還是小寫。
find 命令
在類似定位命令,使用 查找也搜索文件和目錄。區別在於,您可以使用 find 命令在給定目錄中查找文件。例如,find /home/-name notes.txt 命令將在主目錄及其子目錄中搜索名為 notes.txt 的文件。使用查找時的其他變化 是:要查找當前目錄中使用的文件,請使用 find . -name notes.txt 要查找目錄,請使用 /-type d -name notes. txt13. grep 命令無疑對日常使用很有幫助的另一個基本 Linux 命令是 grep。它使您可以搜索給定文件中的所有文本。為了說明這一點,grep blue notepad.txt 將在記事本文件中搜索單詞 blue。包含搜索到的單詞的行將被完整顯示。
sudo 命令
該命令是 「SuperUser Do」 的縮寫,使您能夠執行需要管理或超級用戶許可權的任務。但是,建議不要將此命令用於日常使用,因為如果您做錯了一些事情,很容易發生錯誤。
df 命令
使用 df 命令可獲取有關系統磁碟空間使用情況的報告,以百分比和 KB 表示。如果要以兆位元組為單位查看報告,請輸入 df -m。
命令
如果要檢查文件或目錄佔用了多少空間,答案是 (磁碟使用情況)命令。但是,磁碟使用情況摘要將顯示磁碟塊號,而不是通常的大小格式。如果要以位元組,千位元組和兆位元組為單位查看它,請在命令行中添加 - h 參數。
head 命令
所述頭命令用於查看任何文本文件的第一行。默認情況下,它將顯示前十行,但是您可以根據自己的喜好更改此數字。例如,如果只想顯示前五行,則鍵入 head -n 5 filename.ext。
tail 命令
該命令與 head 命令具有相似的功能,但是 tail 命令將顯示文本文件的最後十行,而不是顯示第一行。例如,tail -n filename.ext。
diff 命令
diff 命令是差異的縮寫,diff 命令逐行比較兩個文件的內容。分析文件後,它將輸出不匹配的行。程序員在需要進行程序更改時經常使用此命令,而不是重寫整個源代碼。此命令最簡單的形式是 diff file1.ext file2.ext
tar 命令
該 tar 命令是最常用的命令歸檔多個文件到一個壓縮包。類似於 zip 格式常見的 Linux 文件格式,壓縮是可選的。該命令具有很長的功能列表,非常復雜,例如將新文件添加到現有檔案中,列出檔案內容,從檔案中提取內容等等。查看一些實際示例,以了解有關其他功能的更多信息。
chmod 命令
chmod 是另一個 Linux 命令,用於更改文件和目錄的讀取,寫入和執行許可權。由於此命令相當復雜,因此您可以閱讀完整的教程以正確執行它。
chown 命令
在 Linux 中,所有文件均歸特定用戶所有。該 CHOWN 命令使您可以更改或文件的所有權轉讓給指定的用戶名。例如,chown linuxuser2 file.ext 將使 linuxuser2 成為 file.ext 的所有者。
Jobs 命令
jobs 命令將顯示所有當前作業及其狀態。作業基本上是由 Shell 啟動的進程。
kill 命令
如果您的程序無響應,則可以使用 kill 命令手動終止它。它將向運行異常的應用發送特定信號,並指示該應用自行終止。您總共可以使用 64 個信號,但是人們通常只使用兩個信號:SIGTERM(15) — 請求程序停止運行,並給它一些時間來保存其所有進度。如果在輸入 kill 命令時未指定信號,則將使用此信號。SIGKILL(9) - 強製程序立即停止。未保存的進度將丟失。除了知道信號之外,您還需要知道要殺死的程序的進程標識號(PID)。如果您不知道 PID,只需運行命令 ps ux。在知道您要使用什麼信號以及程序的 PID 之後,輸入以下語法:kill [signal option] PID.
ping 命令
使用 ping 命令檢查與伺服器的連接狀態。例如,只需輸入 ping google.com,該命令將檢查您是否能夠連接到 Google 並測量響應時間。
wget 命令
Linux 命令行非常有用 - 您甚至可以在 wget 命令的幫助下從 Internet 下載文件。為此,只需鍵入 wget,然後輸入下載鏈接即可。
uname 命令
該 UNAME 命令,短期對於 Unix 名,將列印您的 Linux 系統,如計算機名稱的詳細信息,操作系統,內核,等等。
top 命令
作為與 Windows 中的任務管理器等效的終端,top 命令將顯示正在運行的進程的列表以及每個進程使用的 CPU 數量。監視系統資源使用情況非常有用,尤其是知道哪個進程由於消耗太多資源而需要終止時。
history 命令
當您使用 Linux 一段時間後,您會很快注意到每天可以運行數百個命令。因此,如果您想查看之前輸入的命令,運行歷史記錄命令特別有用。
man 命令
對某些 Linux 命令的功能感到困惑嗎?不用擔心,您可以使用 man 命令從 Linux 的外殼程序中輕松地學習如何使用它們。例如,輸入 man tail 將顯示 tail 命令的手動指令。
echo 命令
此命令用於將一些數據移到文件中。例如,如果要將文本 「Hello,我的名字叫 John」 添加到名為 name.txt 的文件中,則可以鍵入 echo Hello, my name is John >> name.txt
zip,unzip 命令
使用 zip 命令將文件壓縮到 zip 歸檔文件中,然後使用 unzip 命令從 zip 歸檔文件中提取壓縮文件。
hostname 命令
如果您想知道主機 / 網路的名稱,只需鍵入 hostname。在末尾添加 - I 將顯示您的網路的 IP 地址。
useradd,userdel 命令
❷ linux常用的命令有哪些
Linux運維人員必會的120個命令
來自《跟老男孩學Linux運維:核心系統命令實戰》一書
前言
第1章 Linux命令行簡介 / 1
1.1Linux命令行概述 / 1
1.2在Linux命令行下查看命令幫助 / 4
1.3Linux shutdown reboot halt / 9
關機:
shutdown -h now
halt
init 0
第2章 文件和目錄操作命令 / 13
2.1pwd:顯示當前所在的位置 / 13
2.2cd:切換目錄 / 16
2.3tree:以樹形結構顯示目錄下的內容 / 18
2.4mkdir:創建目錄 / 22
2.5touch:創建空文件或改變文件的時間戳屬性 / 27
2.6ls:顯示目錄下的內容及相關屬性信息 / 30
2.7cp:復制文件或目錄 / 39
2.8mv:移動或重命名文件 / 42
2.9rm:刪除文件或目錄 / 45
2.10rmdir:刪除空目錄 / 48
2.11ln:硬鏈接與軟鏈接 / 49
2.12readlink:查看符號鏈接文件的內容 / 54
2.13find:查找目錄下的文件 / 55
2.14xargs:將標准輸入轉換成命令行參數 / 68
2.15rename:重命名文件 / 71
2.16basename:顯示文件名或目錄名 / 72
2.17dirname:顯示文件或目錄路徑 / 72
2.18chattr:改變文件的擴展屬性 / 73
2.19lsattr:查看文件擴展屬性 / 75
2.20file:顯示文件的類型 / 76
2.21md5sum:計算和校驗文件的MD5值 / 77
2.22chown:改變文件或目錄的用戶和用戶組 / 80
2.23chmod:改變文件或目錄許可權 / 81
2.24chgrp:更改文件用戶組 / 85
2.25umask:顯示或設置許可權掩碼 / 86
2.26老男孩從新手成為技術大牛的心法 / 90
第3章 文件過濾及內容編輯處理命令 / 91
3.1cat:合並文件或查看文件內容 / 91
3.2tac:反向顯示文件內容 / 103
3.3more:分頁顯示文件內容 / 104
3.4less:分頁顯示文件內容 / 107
3.5head:顯示文件內容頭部 / 109
3.6tail:顯示文件內容尾部 / 111
3.7tailf:跟蹤日誌文件 / 114
3.8cut:從文本中提取一段文字並輸出 / 115
3.9split:分割文件 / 117
3.10paste:合並文件 / 118
3.11sort:文本排序 / 123
3.12join:按兩個文件的相同欄位合並 / 127
3.13uniq:去除重復行 / 129
3.14wc:統計文件的行數、單詞數或位元組數 / 131
3.15iconv:轉換文件的編碼格式 / 133
3.16dos2unix:將DOS格式文件轉換成UNIX格式 / 134
3.17diff:比較兩個文件的不同 / 135
3.18vimdiff:可視化比較工具 / 138
3.19rev:反向輸出文件內容 / 139
3.20tr:替換或刪除字元 / 140
3.21od:按不同進制顯示文件 / 143
3.22tee:多重定向 / 145
3.23vi/vim:純文本編輯器 / 147
3.24老男孩逆襲思想:做Linux運維的多個好處 / 152
第4章 文本處理三劍客 / 153
4.1grep:文本過濾工具 / 153
4.2sed:字元流編輯器 / 159
4.3awk基礎入門 / 165
第5章 Linux信息顯示與搜索文件命令 / 176
5.1uname:顯示系統信息 / 176
5.2hostname:顯示或設置系統的主機名 / 178
5.3dmesg:系統啟動異常診斷 / 179
5.4stat:顯示文件或文件系統狀態 / 181
5.5:統計磁碟空間使用情況 / 183
5.6date:顯示與設置系統時間 / 186
5.7echo:顯示一行文本 / 190
5.8watch:監視命令執行情況 / 193
5.9which:顯示命令的全路徑 / 195
5.10whereis:顯示命令及其相關文件全路徑 / 196
5.11locate:快速定位文件路徑 / 197
5.12updatedb:更新mlocate資料庫 / 199
5.13老男孩逆襲思想:新手在工作中如何問問題不會被鄙視 / 200
第6章 文件備份與壓縮命令 / 201
6.1tar:打包備份 / 201
6.2gzip:壓縮或解壓文件 / 208
6.3zip:打包和壓縮文件 / 211
6.4unzip:解壓zip文件 / 212
6.5scp:遠程文件復制 / 214
6.6rsync:文件同步工具 / 216
6.7老男孩逆襲思想:新手如何高效地提問 / 220
第7章 Linux用戶管理及用戶信息查詢命令 / 222
7.1 useradd:創建用戶 / 222
7.2usermod:修改用戶信息 / 227
7.3userdel:刪除用戶 / 229
7.4groupadd:創建新的用戶組 / 230
7.5groupdel:刪除用戶組 / 231
7.6passwd:修改用戶密碼 / 232
7.7chage:修改用戶密碼有效期 / 237
7.8chpasswd:批量更新用戶密碼 / 238
7.9su:切換用戶 / 240
7.10visudo:編輯sudoers文件 / 242
7.11sudo:以另一個用戶身份執行命令 / 244
7.12id:顯示用戶與用戶組的信息 / 248
7.13w:顯示已登錄用戶信息 / 249
7.14who:顯示已登錄用戶信息 / 250
7.15users:顯示已登錄用戶 / 252
7.16whoami:顯示當前登錄的用戶名 / 253
7.17last:顯示用戶登錄列表 / 253
7.18lastb:顯示用戶登錄失敗的記錄 / 254
7.19lastlog:顯示所有用戶的最近登錄記錄 / 255
第8章 Linux磁碟與文件系統管理命令 / 257
8.1fdisk:磁碟分區工具 / 257
8.2partprobe:更新內核的硬碟分區表信息 / 265
8.3tune2fs:調整ext2/ext3/ext4文件系統參數 / 266
8.4parted:磁碟分區工具 / 268
8.5mkfs:創建Linux文件系統 / 272
8.6mpe2fs:導出ext2/ext3/ext4文件系統信息 / 274
8.7resize2fs:調整ext2/ext3/ext4文件系統大小 / 275
8.8fsck:檢查並修復Linux文件系統 / 278
8.9dd:轉換或復制文件 / 281
8.10mount:掛載文件系統 / 284
8.11umount:卸載文件系統 / 288
8.12df:報告文件系統磁碟空間的使用情況 / 289
8.13mkswap:創建交換分區 / 293
8.14swapon:激活交換分區 / 294
8.15swapoff:關閉交換分區 / 295
8.16sync:刷新文件系統緩沖區 / 296
第9章 Linux進程管理命令 / 298
9.1ps:查看進程 / 298
9.2pstree:顯示進程狀態樹 / 305
9.3pgrep:查找匹配條件的進程 / 306
9.4kill:終止進程 / 307
9.5killall:通過進程名終止進程 / 310
9.6pkill:通過進程名終止進程 / 311
9.7top:實時顯示系統中各個進程的資源佔用狀況 / 313
9.8nice:調整程序運行時的優先順序 / 320
9.9renice:調整運行中的進程的優先順序 / 323
9.10nohup:用戶退出系統進程繼續工作 / 324
9.11strace:跟蹤進程的系統調用 / 325
9.12ltrace:跟蹤進程調用庫函數 / 332
9.13runlevel:輸出當前運行級別 / 334
9.14init:初始化Linux進程 / 335
9.15service:管理系統服務 / 335
第10章 Linux網路管理命令 / 338
10.1ifconfig:配置或顯示網路介面信息 / 338
10.2ifup:激活網路介面 / 343
ifup eth0
10.3ifdown:禁用網路介面 / 343
ifdown eth0
service network restart(/etc/init.d/network restart) 激活整個網路,所有網卡。
10.4route:顯示或管理路由表 / 344
10.5arp:管理系統的arp緩存 / 350
10.6ip:網路配置工具 / 351
10.7netstat:查看網路狀態 / 358
10.8ss:查看網路狀態 / 362
10.9ping:測試主機之間網路的連通性 / 363
10.10traceroute:追蹤數據傳輸路由狀況 / 366
10.11arping:發送arp請求 / 367
10.12telnet:遠程登錄主機 / 369
10.13nc:多功能網路工具 / 370
10.14ssh:安全地遠程登錄主機 / 373
10.15wget:命令行下載工具 / 376
10.16mailq:顯示郵件傳輸隊列 / 379
10.17mail:發送和接收郵件 / 381
10.18nslookup:域名查詢工具 / 386
10.19dig:域名查詢工具 / 389
10.20host:域名查詢工具 / 393
10.21nmap:網路探測工具和安全/埠掃描器 / 394
10.22tcpmp:監聽網路流量 / 398
第11章 Linux系統管理命令 / 407
11.1lsof:查看進程打開的文件 / 407
11.2uptime:顯示系統的運行時間及負載 / 411
11.3free:查看系統內存信息 / 411
11.4iftop:動態顯示網路介面流量信息 / 413
11.5vmstat:虛擬內存統計 / 415
11.6mpstat:CPU信息統計 / 419
11.7iostat:I/O信息統計 / 420
11.8iotop:動態顯示磁碟I/O統計信息 / 423
11.9sar:收集系統信息 / 425
11.10chkconfig:管理開機服務 / 430
11.11ntsysv:管理開機服務 / 433
11.12 setup:系統管理工具 / 434
11.13ethtool:查詢網卡參數 / 436
11.14mii-tool:管理網路介面的狀態 / 437
11.19rpm:RPM包管理器 / 443
11.20yum:自動化RPM包管理工具 / 446
top命令
第12章 Linux系統常用內置命令 / 450
12.1Linux內置命令概述 / 450
12.2Linux內置命令簡介 / 450
12.3Linux常用內置命令實例 / 452
❸ Linux 命令行技巧
ALT快捷鍵在WIN下Xshell不可用
ctrl + a 游標切換到命令行行首
ctrl + e 游標切換到命令行末尾
ctrl + l 清屏 等同於 clear
ctrl + u 清除剪切游標之前的內容
ctrl + k 清楚剪切游標之後的內容
ctrl + w 清除剪切游標之前的一個word
alt + d 清除剪切游標之後的一個word
ctrl + y 粘貼剛才刪除字元
ctrl + h 向行首刪除一個字元
ctrl + d 向行尾刪除一個字元,空行時等於 exit 和 logout
ctrl + _ 恢復剛操作的命令 xshell無法使用
ctrl + b 游標向行首移動一個字元 ( backwards )
ctrl + f 游標向行尾移動一個字元( forwards )
ctrl + ← 游標向行首移動一個word
ctrl + → 游標向行尾移動一個word
ctrl + r 歷史命令中查找 (關鍵字可用)
ctrl + z 轉入後台運行
history 10 顯示最近使用過的10個命令
!! 執行前一個命令
! + 字元 執行前一個以「字元」開頭的命令
! + Num 執行對應行號的命令
! + ? abc 執行前一個包含abc的命令
! -n 執行n個命令之前的那個命令
!* 調用上一條命令的所有參數
!$ 調用上一條命令的最後一個參數
!-: 調用上一條命令除了最後一個參數的部分
ALT + <num> + . 調用上一條命令中任意一個部分
!!:gs/<$1>/<$2> 替換上一條命令中所有$1為$2
!!:gs^$1^$2 替換上一條命令中第一個$1為$2
❹ Linux 命令大全
linux上可用的命令分別是在/usr/bin,
/usr/sbin,
/bin,
/sbin這些目錄當中,可以用man命令查看每一個命令的使用手冊,用man查出來的,是最靠譜
❺ 求助:LINUX常用SHELL命令
分類: 電腦/網路 >> 操作系統/系統故障
問題描述:
歡迎大家的投稿!!!!!!!
解析:
LINUX常用命令
1 文件與目錄操作命令
1.1文件內容查詢命令
grep、fgrep、egrep
CODE:[Copy to clipboard]語法:grep[選項][查找模式][文件名1,文件名2,……]
選項:
QUOTE:
-E 每個模式作為一個擴展的正則表達式對待
-F 每個模式作為一組固定字元串對待,而不作為正則表達式
-i 比較時不區分大小寫
-l 顯示首次匹配匹配串所在的文件名並用換行符將其分開。當在文件中多次出現匹配串時,不重復顯示次文件名;
-x 只顯示整行嚴格匹配的行
1.2文件查找命令 find、locate
語法:
CODE:[Copy to clipboard]find 起始目錄 尋找條件 操作
以名稱和文件屬性查找
QUOTE:
-name『字串『 查找文件名匹配所給字串的所有文件,字串內可用通配符*、?、[]。
-lname『字串『 查找文件名匹配所給字串的所有符號鏈接文件,字串內可用通配符*、?、[]。
-gid n 查找屬於ID號為n的用戶組的所有文件。
-uid n 查找屬於ID號為n的用戶的所有文件。
-group『字串『 查找屬於用戶組名為所給字串的所有的文件。
-user『字串『 查找屬於用戶名為所給字串的所有的文件。
-path『字串『 查找路徑名匹配所給字串的所有文件,字串內可用通配符*、?、[]。
-perm 許可權 查找具有指定許可權的文件和目錄,許可權的表示可以如711、644。
-type x 查找類型為 x的文件,
語法:locate 相關字
1.3文件的復制、刪除和移動命令
文件復制命令
CODE:[Copy to clipboard]cp [選項] 源文件或目錄 目標文件或目錄
選項:
QUOTE:
- a 通常在拷貝目錄時使用
-d 拷貝時保留連接
-f 刪除已經存在的目標文件而不提示
-i 和f選項相反
-p 此時cp除復制源文件內容外,還將其修改的時間和訪問許可權也復制到新文件中
-r 若給出的源文件是一目錄文件,此時cp將遞歸復制該目錄下的所有的子目錄和文件,此時目標文件必須為一個目錄名;
-l 不作拷貝,只是鏈接文件
文件移動命令
CODE:[Copy to clipboard]mv[選項] 源文件或目錄 目標文件或目錄
QUOTE:
-i 互動式操作
-f 禁止互動式操作
文件刪除命令
CODE:[Copy to clipboard]rm[選項] 文件…
QUOTE:
-f 忽略不存在的文件,從不給出提示
-r 指示rm將參數中列出的全部目錄和子目錄均遞歸地刪除
-i 進行互動式刪除
1.4文件鏈接命令
CODE:[Copy to clipboard]ln [選項] 目標 [鏈接名] 或 ln [選項] 目標 目錄
QUOTE:
選項:
- s 建立符號鏈接
1.5目錄的創建和刪除命令
mkdir 創建一個目錄
語法:
CODE:[Copy to clipboard]mkdir [選項] dirname
選項:
- m 對新建目錄設置存取許可權
-p 可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項後,系統將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄。
rmdir 刪除空目錄
語法:
CODE:[Copy to clipboard]rmdir [選項] dirname
QUOTE:
選項:
- p 遞歸刪除目錄dirname,當子目錄刪除後其父目錄為空時,也一同被刪除。
1.6改變工作目錄,顯示目錄內容命令
1、改變工作目錄:
CODE:[Copy to clipboard]cd [directory]
2、顯示當前工作的目錄的絕對路徑:
CODE:[Copy to clipboard]pwd
3、顯示目錄內容:
CODE:[Copy to clipboard]ls [選項] [目錄或是文件]
QUOTE:
選項:
- a 顯示指定目錄下所有子目錄與文件,包括隱藏文件;
-c 按照文件的修改時間排序
-C 分成多列顯示各項
-d 如果參數是目錄,只顯示其名稱而不顯示其下的個文件
-F 在目錄名後面標記「/」,可執行文件後面標記「*」,符號鏈接後面標記「@」,管道(或FIFO)後面標記「|」,socket文件後面標記「=」。
-l 以長格式來顯示文件的詳細信息
-L 若指定的名稱為一個符號鏈接,則顯示鏈接所指向的文件
-t 顯示時按修改時間而不是名字排序
-u 顯示時按文件上次存取的時間而不是名字排序
4、改變文件或目錄的訪問許可權命令
CODE:[Copy to clipboard]chmod [who] [+| - | = ] [mode] 文件名?
QUOTE:
Who選項:
- u表示用戶,即文件和目錄的所有者
-g表示同組用戶
-o(other)表示其他用戶
-a (all)表示所有用戶
QUOTE:
操作符號:
+ 添加某個許可權 - 取消某個許可權
= 賦予給定許可權並取消其他所有的許可權(如果有的話)
QUOTE:
mode 選項:
- r 可讀
-w 可寫
-x 可執行
CODE:[Copy to clipboard]chgrp [-R] group filename? 改變目錄或文件所屬的組
CODE:[Copy to clipboard]chown [-Rv] 用戶或組 文件
1.7備份與壓縮命令
1、tar命令 為文件和目錄創建檔案
語法:
CODE:[Copy to clipboard]tar [主選項+輔助選項] 文件或者目錄
QUOTE:
u 主選項
c 創建新的檔案文件。如果用戶想備份一個目錄或是一些文件,則選此項
r 把要存檔的文件追加到檔案文件的末尾
t 列出檔案文件的內容,查看已經備份了哪些文件;
u 更新文件
x 從檔案文件中釋放文件;
u 輔助選項
b 該選項為磁帶機設定的,其後跟一位數字,用來說明區塊的大小,系統預設值為20
f 使用檔案文件或設備,這個選項通常是必選的
k 保存已經存在的文件。例如把某個文件還原,在還原的過程中,遇到相同的文件,不會進行覆蓋;
m 在還原文件時,把所有文件的修改時間設定為現在;
M 創建多卷的檔案文件,以便在幾個磁碟中存放;
v 詳細報告tar處理的文件信息
w 每一步都要求確認
z 用gzip來壓縮/解壓縮文件
2、gzip命令 壓縮/解壓縮命令
語法:
CODE:[Copy to clipboard]gzip [選項] 壓縮(解壓縮)的文件名
QUOTE:
選項:
-c 將輸出寫到標准輸出上,並保留原有文件
-d 將壓縮文件解壓
-l 顯示每個壓縮文件的詳細信息
-r 遞歸式地查找指定目錄並壓縮其中的所有文件或者是解壓縮
-t 測試、檢查壓縮文件是否完整
-v 對每一個壓縮和解壓的文件,顯示文件名和壓縮比
3、unzip 命令
用MS windows下的壓縮軟體winzip壓縮的文件在linux系統下展開
語法:
CODE:[Copy to clipboard]unzip [選項] 壓縮文件名.zip
QUOTE:
選項:
-x 文件列表 解壓縮文件,但不包括指定的file文件
-v 查看壓縮文件目錄,但不解壓
-t 測試文件有無損壞 ,但不解壓
-d 目錄 將壓縮文件解到指定目錄下
-z 只顯示壓縮文件的註解
-n 不覆蓋已經存在的文件
-o 覆蓋已經存在的文件且不要求用戶確認
-j 不重建文檔的目錄結構,把所有文件解壓到同一目錄下
1.8在LINUX環境下運行DOS命令
linux系統提供了一組稱為mtools的可移植工具,可以讓用戶輕松地從標準的DOS軟盤上讀寫文件和目錄。
QUOTE:
mcd 目錄名 改變MSDOS目錄
m 源文件 目標文件 在MSDOS和UNIX之間復制文件;
mdel 目錄名 刪除MSDOS目錄
mdir 目錄名 顯示MSDOS目錄
mformat 驅動器號 在低級格式化的軟盤上創建MSDOS文件系統
rnlabel 驅動器號 產生MSDOS卷標
mmd 目錄名 刪除MSDOS目錄
mren 源文件 目標文件 重新命名已存在的MSDOS文件
mtype 文件名 顯示MSDOS文件的內容
2 設備管理命令
1)linux採用下面的形式定義一個IDE硬碟:
CODE:[Copy to clipboard]/dev/hd[drive][partition]
2)SCSI硬碟使用同樣的機製表示:
CODE:[Copy to clipboard]/dev/sd[drive][partition]
3)對於一般的LINUX分區,可以用mkfs將其格式化並生成文件系統,命令如下:
CODE:[Copy to clipboard]mk2fs –c <partition>; <size>;
4)裝載文件系統:
CODE:[Copy to clipboard]mount –t ext2 [-o optioms] partition mountpiont
其中,
QUOTE:
-t為指定裝載文件系統的類型;
-o指定一些選項,如只讀ro,可讀可寫rw等等;
partition定義分區名稱;
mountpiont定義文件系統被裝載的目錄名稱。
5)裝載CD-ROM文件系統:
CODE:[Copy to clipboard]mount –t iso9660 –r /dev/cdrom /mnt/cdrom
6)裝載軟碟機文件系統:
CODE:[Copy to clipboard]mount –t msdos –rw /dev/fd0 /dev/mnt/floppy
7)卸載文件系統
CODE:[Copy to clipboard]umount /mnt/cdrom
磁帶設備的安裝要注意以下幾點:
QUOTE:
1、 首先要選擇一個唯一的SCSI ID號,然後再將設備鏈接到適當的位置
2、 選擇驅動程序。
3、 生成設備文件。SCSI磁帶設備的主要設備號是9,次要設備號是0。設備文件名通常是/dev/nrst0(不支持回繞的磁帶設備)或/dev/nst0(支持回繞的磁帶設備)
用 ls /dev/*rst*
檢查磁帶設備文件是否存在,如果不存在,用
mknod –m 666 /dev/nrst0 c 9 9
mknod –m 666 /dev/rst0 c 9 0 生成
4、 可以對塊長度、緩存、磁帶密度等參數進行一些設置,例如
mt setblk 20 將塊長度指定為20
mt setblk 0 指定塊程度沒有限制
5、 通過檢查系統的啟動信息可以確定系統是否識別了新的磁帶設備。用dmesg命令,查看是否有以下類似的信息:
aha274x:target 4now synchronous at 4.4Mb/s
Vendor:TANDBERG Model:TDC 3800 Rev: =05:
Type: Sequential-Access ANSI SCSI revision: 02
Detected scsi tape st0 at scsi0, id4, lun0
Scsi : detected 1 SCSI tape 1 SCSI crom 1 SCSI disk total
3 軟體包管理命令
3.1軟體安裝的步驟
在LINUX系統上安裝軟體的步驟有:
QUOTE:
1、 查找所要安裝軟體的源文件
2、 把源文件解開放到一個目錄中,命令如下:
tar zxvf <源文件名>;
3、 針對本操作系統配置源文件。可以是編輯make文件或其他文件,也可能是運行該軟體自帶的自動配置工具,如./configure
4、 make源文件,通常是運行make命令,即執行 make
5、 安裝二進制文件和其他支撐文件,運行命令: make install
6、 最後,完成所有其他必須的配置
3.2軟體包管理命令
QUOTE:
rpm –ivh <軟體包>;
安裝指定的軟體包,並在安裝過程中用#表示安裝的進度
rpm –Uvh <軟體包>;
更新一個已經存在的或還沒安裝好的軟體包,並刪除所有該軟體包的舊版本。
rpm –e
卸載一個rpm軟體包
rpm –qa
查看系統中已經安裝的軟體包
rpm –q <軟體包>;
查看系統中某個軟體包的版本號;
rpm –qlp <軟體包>;
列出某個軟體包中的所有文件
rpm –qf <軟體包>;
找出一個文件屬於哪個軟體包
4 LINUX系統常用命令
4.1 與系統管理有關的命令
Wall (Write All)
QUOTE:
對全部已 登錄的用戶發送信息,用戶可以先反要發送的信息寫好存入一個文件中,然後輸入:
# wall < FileName
例:Wall 『Thank you !』
Write
向某一用戶發送信息。
Write xxq
hello
輸入Ctrl+C組合即可終止
Shutdown命令
CODE:[Copy to clipboard]Shutdown [選項] [時間] [警告信息]
QUOTE:
-k 並不真正關機,而只是發出警告信息給所有的用戶。
-r 關機後立即重新啟動。
-h 關機後不重新啟動。
-f 快速關機,啟動時跳過fsck。
-n快速關機,不經過init程序。
-c 取消一個已經運行的shutdown
例:系統馬上關機:Shutdown –h now
Free命令
查看當前系統內存的使用情況,
CODE:[Copy to clipboard]Free [-b] [-k] [-m]
CODE:[Copy to clipboard]-b 以位元組為單位顯示。
-k 以K位元組為單位顯示。
-m 以M位元組為單位顯示。
Uptime
QUOTE:
顯示系統已經運行了多長的時間:現在時間、系統已經運行的時間、目前有多少登錄用戶、系統在過去的1分鍾、5分鍾和15分鍾內的平均負載。
4.2與用戶有關的命令
Passwd命令
設置、更換用戶口令。
CODE:[Copy to clipboard]Passwd [用戶名]
Su
使一個普通的用戶具有超級用戶的權利,離開可用EXIT命令。
4.3其它命令
Echo命令
在顯示器上顯示一段文字,一般起到一個提示的作用。
CODE:[Copy to clipboard]echo [-n] 字元串
Cal命令
顯示某年某月的日歷。
CODE:[Copy to clipboard]cal [選項] [月[年]]
QUOTE:
選項的含義:
-j 顯示也給定月中的每一天是一年中的和幾天(從1月1日算起)。
-y 顯示也整年的日歷。
Date命令
date命令的功能是顯示和設置系統日期和時間。
4.4磁碟管理
磁碟空間管理
df命令
檢查文件系統的磁碟空間佔用局部。
CODE:[Copy to clipboard]Df [選項]
QUOTE:
-a 顯示所有文件系統的磁碟使用情況,包括0塊(block)的文件系統,如/proc文件系統。
-k 以K位元組為單位顯示。
-i 顯示i節點信息,而不是磁碟塊。
- t 顯示各指定類型的文件系統的磁碟空間使用情況。
-x 列出不是某一指定類型文件系統的磁碟窨使用情況(與t相反)。
-T 顯示文件系統類型。
命令
的英文原意為disk usage,含義為顯示磁碟空間的使用情況。功能是統計目錄(或文件)所佔磁碟空間的大小。
CODE:[Copy to clipboard] [選項] [Names…]
QUOTE:
-s 對每人Names 參數只給也佔用的數據塊總數。
-a 遞歸地顯示指定目錄中各文件用子孫目錄中的各文件佔用的數據塊總數。
-b 以位元組為單位列也磁碟窨使用情部(預設以K位元組為單位)
-k 以1024位元組為單位列也磁碟空間使用情況。
-c 最後再加上一個總計(系統預設)
-l 計算所有的文件大小,對硬鏈接文件,則計算多次。
-x 跳過在不同文件系統上的目錄不予統計。
dd命令
把指定的輸入文件拷貝到指定的輸出文件中,並且在拷貝的過程中可以進行格式轉換。語法:
CODE:[Copy to clipboard]dd 〔選項〕
QUOTE:
if =輸入文件(或設備名稱)。
of =輸出文件(或設備名稱)。
ibs = bytes 一次讀取bytes位元組,即讀入緩沖區的位元組數。
skip = blocks 跳過讀入緩沖區開頭的ibs*blocks塊。
obs = bytes 一次寫入bytes位元組,即寫 入緩沖區的位元組數。
bs = bytes 同時設置讀/寫緩沖區的位元組數(等於設置obs和obs)。
cbs = bytes 一次轉換bytes位元組。
count = blocks 只拷貝輸入的blocks塊。
conv = ASCII 把EBCDIC碼轉換為ASCII碼。
conv = ebcdic 把ASCII碼轉換為EBCDIC碼。
conv = ibm 把ASCII碼轉換為alternate EBCDIC碼。
conv = blick 把變動位轉換成固定字元。
conv = ublock 把固定們轉換成變動位
conv = ucase 把字母由小寫變為大寫。
conv = lcase 把字母由大寫變為小寫。
conv = notrunc 不截短輸出文件。
conv = swab 交換每一對輸入位元組。
conv = noerror 出錯時不停止處理。
conv = sync 把每個輸入記錄的大小都調到ibs的大小(用ibs填充)。
fdformat命令
低級格式化軟盤。
CODE:[Copy to clipboard]format [-n] device
QUOTE:
-n 格式化後不做檢驗
4.5常用的網路命令
FTP命令
Tel命令。
Netstat命令
QUOTE:
-a 顯示所有的scoket,包括正在監聽和。
-c 每隔1秒就重新顯示一遍,直到用戶中斷它。
-i 顯示所有網路介面的信息,格式同」ifconfig –e」
-n 以網路IP地址代替名稱,顯示也網路連接情形。
-r 顯示核心路由表,格式同」route –e:。
-t 顯示TCP協議的連接情況。
-u 顯示UDP協議的連接情況。
-v 顯示正在進行的工作。
nslookup命令。
finger命令,功能是查詢用戶的信息。
ping命令。
(用戶和組的管理可以使用工具:TurboUserCfg或是XturboUserCfg。)
4.6有關進程的命令。
進程和啟動
CODE:[Copy to clipboard]at [-V] [-q] [-f文件名] [-mldbv]時間
at –c 作業 [作業….]
AT命令啟動的進程系統只執行一次。
batch [-V] [-q 隊列] [-f 文件名] [-mv] [時間]
在系統負載較小時,資源比較空閑時執行。
cron命令
按一定的時間間隔執行命令。
crontab命令
用於安裝、刪除或列出用於驅支cron後台進程的表格。
進程查看
CODE:[Copy to clipboard]who命令。
w命令
是一個比who命令更強大的命令
w –[husfV] [user]
-h 不顯示標題。
-u 當列出當前進程和CPU時間時忽略用戶名。
-s 使用短模式。不顯示登錄時間JCPU和PCPU時間。
-f 切換顯示FROM項,也就是遠程主機名項。
-V 顯示版本信息。
user 只顯示指定用戶的情況。
ps命令。
-e 顯示所有進程。
-f 全格式
-h 不顯示標題。
-l 長格式。
-w 寬輸出。
a 顯示終端上所有進程,包括其他用戶的進程。
r 只顯示正在運行的進程。
x 顯示沒有控制終端的進程。
top 命令
動態顯示系統當前的進程和其他狀況。
5系統的啟動過程。
5.1初始啟動
在PC機啟動時,BIOS從指定的啟動設備中讀入「主引導記錄」(MBR)。MBR的格式是:
地址偏移量 內容 大小
+00 h 可執行的代碼(啟動模塊) 可能變化
+1BE h 第一分區表項 16位元組
+1CE h 第二分區表項 16位元組
+1DE h 第三分區表項 16位元組
+1EE h 第四分區表項 16位元組
+1FE h 可執行的標記(AA55 h) 2位元組
啟動模塊包含足以裝入操作系統的代碼,或者是第二步的載入代碼的位置。啟動模塊需要使用BIOS調用來從磁碟裝入數據,而這些中斷調用,如INT 13h等,限制了最大磁碟柱面號為1023。這也就是說啟動模塊需要載入的一切內容,如初始內存磁碟、內核、啟動的時間信息等,必須存放在1024個柱面以內。
在MBR中只有四個分區表項,每個表項的格式如下:
地址偏移 內容 大小
+00h 分區狀態:00代表非啟動分區,80h代表啟動分區 1位元組
+01h 分區的起始位置 磁頭 1位元組
+02h 分區的起始位置 柱面和扇區 1位元組
+04h 分區的類型 1位元組
+05h 分區的結束位置 磁頭 1位元組
+06h 分區的結束位置 柱面和扇區 1位元組
+08h 在主引導區和本分區的第一個扇區間的扇區數目 4位元組
+0Ch 分區內的扇區數目 4位元組
5.2 Linux的啟動過程
1啟動的命令行參數
在Linux啟動時,它處理所有傳遞給它的命令行參數。這可以影響Linux的運行方式。命令行參數包括:
QUOTE:
mem=xxxM:定Linux可以使用的內存大小。這在用戶的計算機系統有超過64MB的內存時才需要。因為從前的主板只對第一個64MB內存進行緩存,使用超過64MB的內存會使整個計算機的性能下降,所有內存均按無緩存的速度運行。
single:使Linux按單用戶方式啟動,預設方式是多用戶方式。
root=/dev/xxx:指定Linux要安裝為根文件系統的設備。
init=<file>;:指定作為初始化進程的文件。
initrd=<dev>;:指定作為初始內存磁碟的設備。
ro:指定根文件系統為只讀。
rw:指定根文件系統為可讀可寫。
2 Init進程
在內核初始化自身和找到的硬體設備後,在後台啟動進程init(/ *** in/init),init進程號1運行。
在UNIX世界中有許多啟動過程的版本,一些是基於系統V,一些是基於BSD。大多數Linux版本使用系統V的實現方法,在這里描述的就是這樣。
init是由文件/etc/inittab內容和功能控制的,隨啟動模式是單用戶或多用戶而不同。
QUOTE:
單用戶模式:init進程忽略/etc/inittab文件,在執行少數幾個腳本程序後調用/dev/console shell。這樣,用戶就可以有了一個shell,而且可以執行一定限度的任務。
多用戶模式:init進程把系統帶入/etc/inittab文件指定的運行級別。Init通過標準的Linux方法進入一個指定的進行級別。
3.進行級別
Linux與其他UNIX操作系統一樣,可以任何時刻處於任何一個運行級別。這些運行級別提供的功能不同,為主要是由於其運行的服務方程序(後台daemon)的不同造成的。Linux共有6種運行級別。
QUOTE:
0:關閉計算機或終止計算機運行,這個級別就是系統停止運行。
1:單用戶啟動級別,系統只有一個用戶,就是root,該用戶在控制台登錄。
2:多用戶運行級別,但無網路功能。在這個運行級別,網路功能沒有啟動,但是系統允許多個用戶登錄,可以通過虛擬控制台或串列線路。
3:多用戶模式,有網路功能。在這個運行級別,所有標准網路服務均被啟動。
4:目前沒有實現。
5:X11運行級別,在這個運行級別,X伺服器軟體運行,提供圖形界面的登錄方式。
6:系統重新啟動。
查詢當前運行級別:runlevel;
4在啟動過程中運行的腳本
在init進程運行時,它負責查看預設的運行級別,並進入該運行級別。這是通過運行在/etc/rc.d/rcX.d目錄下的腳本程序來實現的,其中X代表運行的級別,即一個運行級別對應一個目錄。不同的字母開頭的文件有不同的作用。其中:
以K開頭的腳本程序是系統離開某個運行級別時執行的,作用是停止某種服務。當系統從某個支持級別變為其他級別時,首先要進行原運行級別所對應的所有K程序。
以S開頭的腳本程序是系統進入某個運行級別時所執行的,作用是啟動某種服務。當系統改變為某個運行級別時,就要運行新運行級別所對應的所有S程序。
5增加啟動腳本程序
用戶可能有一些特定的硬體設備要初始化,或需要在系統啟動時初始化一些其他應用程序,用戶可以增加自己的初始化腳本程序來完成這些工作。通常步驟是:
復制一個已經存在的腳本,這樣可以得到一個通用的框架格式。
修改這個腳本,以完成自己的需求,要注意使程序可以處理啟動和關閉的參數,盡管可能關閉處理什麼也不需要干。
把這個肢本拷貝到/etc/rc.d/init.d目錄下,命名為」serv」。
按下面的方法在相應的目錄下建立運行控制鏈接:
CODE:[Copy to clipboard]ln –s ../init.d/serv/etc/rc.d/rc3.d/s99 serv
進行測試。
6 LILO和其他的啟動模塊
要啟動Linux,啟動模塊是必須的。一般用於Linux的啟動模塊是LILO,LILO用自己的主引導區代替一般的主引導區。LILO可以通過修改/etc/lilo.conf文件內容來進行配置,對引導區內容的更新通過lilo命令來完成。
下面給也了一個裝有DOS,TurboLinux3.4.0和RedHat 5.2系統的計算機的lilo.conf文件。在例子中的數字標號是用戶加上去並要在文中詳細解釋的。
CODE:[Copy to clipboard]# more /etc/lilo.conf
boot=dev/had
map=/boot/map
instll/boot/boot.b
prompt
#表示啟動盤是/dev/had,這是主IDE硬碟。
timeout=50
#表示等待用戶輸入的時間是50秒。
default=TL3.4
other=dev/hda1
#表示如果在上述的時間內沒有輸入,預設的啟動系統是TL3.4,即TurboLinux 3.4.0
label=dos
table=dev/had
#表示如果在LILO提示用戶輸入啟動系統時,用戶按了<Tab>;鍵,各個系統將以label的內容顯示出來,供用戶選擇。
image=/mnt/tl3.4/boot/vmlinuz
label=TL3.4
root=/dev/hda3
read-only
TurboLinux的啟動文件,/mnt/tl3.4/boot/vmlinuz被確定,根文件系統在/dev/hda3,根文件系統是只讀方式的。
CODE:[Copy to clipboard]image=/mnt/rh5.2/boot/vmlinuz-2.0.36-0.7
label=RH5.2
root=/dev/hda4
read-only
RedHat的啟動文件,/mnt/rh5.2/boot/vmlinuz-2.0,36-0.7被確定,根文件系統在/dev/hda4,根文件系統可讀寫。
❻ Linux命令
快照功能:記錄當前的硬碟的狀態。剛建快照時快照佔用內存為0,標記了當前硬碟的存儲狀態。當虛擬機對快照標記的內容改寫時,會將改寫的內容存儲進快照,與未改寫的部分整合得到完整的快照。當快照標記的部分被完全改寫,那麼快照存儲空間完整記錄了當時拍攝時的內存狀態。
參數形式
第一種:參數用一橫的說明後面的參數是字元形式。
第二種:參數用兩橫的說明後面的參數是單詞形式。
第三種:參數前有橫的是 System V風格。
第四種:參數前沒有橫的是 BSD風格。
cat、more、less、head、tail命令的比較:
cat命令可以一次顯示整個文件,如果文件比較大,使用不是很方便;
more命令可以讓屏幕在顯示滿一屏幕時暫停,按空格往前翻頁,按b往後翻頁。
less命令也可以分頁顯示文件,和more命令的區別就在於: 支持上下鍵卷動屏幕、查找;不需要在一開始就讀取整個文件,打開大文件時比more、vim更快。
head命令用於查看文件的前n行。
tail命令用於查看文件的後n行,加上-f命令,查看在線日誌非常方便,可以列印最新增加的日誌。
一般模式:
編輯模式:
命令模式:
編碼
多行操作(列編輯模式)
插入:ctrl+v進入列編輯模式,上下移動游標選擇需要插入的位置,然後輸入大寫I,輸入需要文本,最後按esc鍵退出,就會發現文本會在選擇的多行中插入。
刪除:ctrl+v進入列編輯模式,上下移動游標選中需要刪除的部分,然後按d,就會刪除選中的內容。
①head:顯示文件頭部內容
②tail:輸出文件尾部內容
注意:用vim和vi修改內容會刪除源文件並生成新文件,所以tail -f會失效。需要用到
追加和覆蓋語句(>或>>),才能被tail -f監視到。
一般用於查看小文件
查看壓縮文件中的文本內容
例:
①more:文件內容分屏查看器
②less:分屏顯示文件內容,效率比more高
1、簡單讀取
運行腳本如下
測試結果為:
2、-p 參數,允許在 read 命令行中直接指定一個提示。
運行腳本如下
測試結果為:
echo [選項] [輸出內容] (輸出內容到控制台)
輸出給定文本的sha256加密後的內容
①顯示當前時間信息
②顯示當前時間年月日
③顯示當前時間年月日時分秒
④顯示昨天
⑤顯示明天時間
⑥顯示上個月時間
需要注意的是取下個月的命令存在bug,執行如下命令會得到21-10,但是正常應該得到21-09,需要注意
date -d "2021-08-31 +1 month" +%y-%m
⑦修改系統時間
⑧獲取當前時間戳
獲取秒時間戳: date +%s
獲取毫秒時間戳:$[ (date +%s%N) /1000000]
查看日歷
(1)查看當前月的日歷
(2)查看2017年的日歷
例:
對比gzip/gunzip,zip/unzip可以壓縮文件和目錄且保留源文件。
①zip:壓縮
②unzip:解壓縮
只能壓縮文件不能壓縮目錄,不保留原來的文件。
gzip 文件 (只能將文件壓縮為*.gz文件)
gunzip 文件.gz (解壓縮文件命令)
例: crontab -e
(1)進入crontab編輯界面。會打開vim編輯你的工作。
(2)每隔1分鍾,向/root/longma.txt文件中添加一個11的數字
*/1 * * * * /bin/echo 」11」 >> /root/longma.txt
(3)可以用tail -f 目標文件來實施監控追加的內容
查看日誌
可以用tail -f /var/log/cron.log觀察
Cron表達式見文章: https://www.jianshu.com/writer#/notebooks/46619194/notes/75177408
ls [選項] [目錄或是文件]
cd [參數]
例: cd -P $(dirname $p1) ; pwd 先跳轉到文件的所在目錄,再列印$p1文件的實際路徑
概述
①cp():只能在本機中復制
②scp(secure ):可以復制文件給遠程主機
scp -r test.sh hxr@hadoop102:/root
③rsync(remote sync):功能與scp相同,但是不會改文件屬性
rsync -av test.sh test.sh hxr@hadoop102:/root
④nc(netcat):監聽埠,可以實現機器之間傳輸文件。
nc -lk 7777 (-l表示listen,-k表示keep)
強制覆蓋不提示的方法:cp
例:scp -r test.sh hxr@bigdata1:/root
例:rsync -av test.sh hxr@bigdata1:/root
例:
nc -lp 10000 > nc_test.txt
nc -w 1 hadoop102 < nc_test.txt
遠程登錄時默認使用的私鑰為~/.ssh/id_rsa
生成密鑰對
將公鑰發送到本機
將密鑰發送到需要登錄到本機的伺服器上
修改密鑰的許可權
遠程登陸
如果有多個節點需要遠程登陸,可以在.ssh下創建config並輸入
再次登陸
①正向代理:
②反向代理:
所謂「反向代理」就是讓遠端啟動埠,把遠端埠數據轉發到本地。
HostA 將自己可以訪問的 HostB:PortB 暴露給外網伺服器 HostC:PortC,在 HostA 上運行:
那麼鏈接 HostC:PortC 就相當於鏈接 HostB:PortB。
使用時需修改 HostC 的 /etc/ssh/sshd_config 的一條配置如下,不然啟動的進程監聽的ip地址為127.0.0.1,即只有本機可以訪問該埠。
相當於內網穿透,比如 HostA 和 HostB 是同一個內網下的兩台可以互相訪問的機器,HostC是外網跳板機,HostC不能訪問 HostA,但是 HostA 可以訪問 HostC。
那麼通過在內網 HostA 上運行 ssh -R 告訴 HostC,創建 PortC 埠監聽,把該埠所有數據轉發給我(HostA),我會再轉發給同一個內網下的 HostB:PortB。
同內網下的 HostA/HostB 也可以是同一台機器,換句話說就是 內網 HostA 把自己可以訪問的埠暴露給了外網 HostC。
例: 比如在我的內網機192.168.32.244上有一個RabbitMQ的客戶端,埠號為15672。現在我希望在外網上訪問固定ip的雲伺服器chenjie.asia的6009埠,通過跳板機192.168.32.243來轉發請求到192.168.32.244:15672,從而實現在外網訪問內網服務的功能,即內網穿透。
①在192.168.32.244上啟動RabbitMQ服務
②將chenjie.asia雲伺服器的私鑰復制到跳板機192.168.32.243的~/.ssh下,並重命名為id_rsa。通過如下命令看是否可以遠程登陸到雲服務,可以登陸則進行下一步。
③修改chenjie.asia伺服器的ssh配置文件 /etc/ssh/sshd_config ,允許其他節點訪問
然後重啟sshd服務
④在跳板機192.168.32.243啟動ssh反向代理
這個進程在關閉session時會停止,可以添加啟動參數 -CPfN
例:
以 root 身份執行的程序有了所有特權,這會帶來安全風險。Kernel 從 2.2 版本開始,提供了 Capabilities 功能,它把特權劃分成不同單元,可以只授權程序所需的許可權,而非所有特權。
例如:linux不允許非root賬號只用1024以下的埠,使用root啟動命令nginx,會導致nginx許可權過高太危險。所以用setcap命令
sudo setcap cap_net_bind_service=+eip /bigdata/nginx/sbin/nginx
正確的關機流程為 :sync > shutdown > reboot > halt
(1)sync (功能描述:將數據由內存同步到硬碟中)
(2)halt (功能描述:關閉系統,等同於shutdown -h now 和 poweroff)
(3)reboot (功能描述:就是重啟,等同於 shutdown -r now)
(4)shutdown [選項] [時間]
安裝
yum install -y telnet-server telnet
ls -i 顯示文件的節點號
find -inum 節點號 -delete 刪除指定的節點即可刪除對應的文件
啟動一個服務: systemctl start postfix.service
關閉一個服務: systemctl stop postfix.service
重啟一個服務: systemctl restart postfix.service
顯示一個服務的狀態: systemctl status postfix.service
在開機時啟用一個服務: systemctl enable postfix.service
在開機時禁用一個服務: systemctl disable postfix.service
註:在enable的時候會列印出來該啟動文件的位置
列出所有已經安裝的服務及狀態:
systemctl list-units
systemctl list-unit-files
查看服務列表狀態:
systemctl list-units --type=service
查看服務是否開機啟動: systemctl is-enabled postfix.service
查看已啟動的服務列表: systemctl list-unit-files | grep enabled
查看啟動失敗的服務列表: systemctl --failed
查看服務日誌: journalctl -u postfix -n 10 -f
命令類似systemctl,用於操作native service。
添加腳本為服務(需要指定啟動級別和優先順序): chkconfig --add [腳本]
刪除服務: chkconfig --del [腳本]
單獨查看某一服務是否開機啟動的命令 : chkconfig --list [服務名]
單獨開啟某一服務的命令 : chkconfig [服務名] on
單獨關閉某一服務的命令: chkconfig [服務名] off
查看某一服務的狀態: /etc/intd.d/[服務名] status
啟用服務就是在當前"runlevel"的配置文件目錄 /etc/systemd/system/multi-user.target.wants 里,建立 /usr/lib/systemd/system 裡面對應服務配置文件的軟鏈接;禁用服務就是刪除此軟鏈接,添加服務就是添加軟連接。
su 用戶名稱 (切換用戶,只能獲得用戶的執行許可權,不能獲得環境變數)
su - 用戶名稱 (切換到用戶並獲得該用戶的環境變數及執行許可權)
echo $PATH 列印環境變數
設置普通用戶具有root許可權
修改 /etc/sudoers 文件,找到下面一行(91行),在root下面添加一行,如下 所示:
或者配置成採用sudo命令時,不需要輸入密碼
修改完畢,現在可以用hxr 帳號登錄,然後用命令 sudo ,即可獲得root許可權進行操作。
以azkaban用戶執行引號中的命令
gpasswd -d [username] [groupname] 將用戶從組中刪除
gpasswd -a [username] [groupname] 將用戶加入到組中
用戶組的管理涉及用戶組的添加、刪除和修改。組的增加、刪除和修改實際上就是對 /etc/group文件的更新。
0首位表示類型 - 代表文件 d 代表目錄 l 鏈接文檔(link file)
三種特殊許可權suid、sgid、sticky
例子:
變更文件許可權方式一
例:chmod u-x,o+x houge.txt
變更文件許可權方式二
例:chmod -R 777 /mnt/ 修改整個文件夾的文件許可權
在linux中創建文件或者目錄會有一個默認許可權的,這個默認許可權是由umask決定的(默認為0022)。umask設置的是許可權的「補碼」,而我們常用chmod設置的是文件許可權碼。一般在/etc/profile 、~/.bashprofile 或者 ~/.profile中設置umask值。
umask計算
如root用戶的默認umask為0022(第一個0 代表特殊許可權位,這里先不考慮),創建的文件默認許可權是644(即默認666掩上umask的022),創建的目錄是755(即默認777掩上umask的022)。
對於root用戶的umask=022這個來說,777許可權二進制碼就是(111)(111)(111),022許可權二進制碼為(000)(010)(010)。
上面就是一個umask的正常計算過程,但是這樣實在是太麻煩了。我們使用如下的簡單的方法快速計算。
上面的這個方法計算是非常方便的, 為何得到奇數要+1呢?
文件的最大許可權是666,都是偶數,你得到奇數,說明你的umask有奇數啊,讀為4,寫為2,都是偶數,說明你有執行許可權的。
就按照上面的umask=023為例,在計算其他用戶許可權的時候6-3=3 ,6是讀寫,3是寫和執行,其實應該是讀寫許可權減去讀許可權的得到寫許可權的,相當於我們多減去了一個執行許可權。所以結果加1。
umask修改
如果想單獨修改某個文件夾的新建文件的許可權,可以使用setfacl命令。
例:遞歸改變文件所有者和所有組 chown -R hxr:hxr /mnt
例:
❼ 關於LINUX最基本的一些命令
Linux常用命令大全
系統信息
arch 顯示機器的處理器架構(1)
uname -m 顯示機器的處理器架構(2)
uname -r 顯示正在使用的內核版本
dmidecode -q 顯示硬體系統部件 - (SMBIOS / DMI)
hdparm -i /dev/hda 羅列一個磁碟的架構特性
hdparm -tT /dev/sda 在磁碟上執行測試性讀取操作
cat /proc/cpuinfo 顯示CPU info的信息
cat /proc/interrupts 顯示中斷
cat /proc/meminfo 校驗內存使用
cat /proc/swaps 顯示哪些swap被使用
cat /proc/version 顯示內核的版本
cat /proc/net/dev 顯示網路適配器及統計
cat /proc/mounts 顯示已載入的文件系統
lspci -tv 羅列 PCI 設備
lsusb -tv 顯示 USB 設備
date 顯示系統日期
cal 2007 顯示2007年的日歷表
date 041217002007.00 設置日期和時間 - 月日時分年.秒
clock -w 將時間修改保存到 BIOS
關機 (系統的關機、重啟以及登出 )
shutdown -h now 關閉系統(1)
init 0 關閉系統(2)
telinit 0 關閉系統(3)
shutdown -h hours:minutes & 按預定時間關閉系統
shutdown -c 取消按預定時間關閉系統
shutdown -r now 重啟(1)
reboot 重啟(2)
logout 注銷
文件和目錄
cd /home 進入 '/ home' 目錄'
cd .. 返回上一級目錄
cd ../.. 返回上兩級目錄
cd 進入個人的主目錄
cd ~user1 進入個人的主目錄
cd - 返回上次所在的目錄
pwd 顯示工作路徑
ls 查看目錄中的文件
ls -F 查看目錄中的文件
ls -l 顯示文件和目錄的詳細資料
ls -a 顯示隱藏文件
ls *[0-9]* 顯示包含數字的文件名和目錄名
tree 顯示文件和目錄由根目錄開始的樹形結構(1)
lstree 顯示文件和目錄由根目錄開始的樹形結構(2)
mkdir dir1 創建一個叫做 'dir1' 的目錄'
mkdir dir1 dir2 同時創建兩個目錄
mkdir -p /tmp/dir1/dir2 創建一個目錄樹
rm -f file1 刪除一個叫做 'file1' 的文件'
rmdir dir1 刪除一個叫做 'dir1' 的目錄'
rm -rf dir1 刪除一個叫做 'dir1' 的目錄並同時刪除其內容
rm -rf dir1 dir2 同時刪除兩個目錄及它們的內容
mv dir1 new_dir 重命名/移動 一個目錄
cp file1 file2 復制一個文件
cp dir/* . 復制一個目錄下的所有文件到當前工作目錄
cp -a /tmp/dir1 . 復制一個目錄到當前工作目錄
cp -a dir1 dir2 復制一個目錄
ln -s file1 lnk1 創建一個指向文件或目錄的軟鏈接
ln file1 lnk1 創建一個指向文件或目錄的物理鏈接
❽ Linux 命令行展開介紹及示例
在Linux bash中可以使用命令行展開特性一步完成需要分開成多步完成的操作,達到事半功倍的效果。在Linux指令參數位置使用"{}" 將相應的參數括起來,括弧中的參數以逗號分隔,然後bash在執行這一指令時會自動將括弧中的內容進行展開。
示例1:
同時創建多個目錄,在/tmp目錄下創建a_c,a_d,b_c,b_d等目錄,只需要在命令行中執行如下命令即可,無須單個創建:
執行結果如下:
示例2:
需要在/tmp/mylinux 目錄下創建如下目錄樹。
創建命令如下:
執行結果如下:
在這里可以使用指令tree來查看目錄的層級結構,以更直觀的方式將目錄樹顯示出來:
❾ Linux系統常用操作命令有哪些
前言
第1章 Linux命令行簡介 / 1
1.1Linux命令行概述 / 1
1.2在Linux命令行下查看命令幫助 / 4
1.3Linux shutdown reboot halt / 9
關機:
shutdown -h now
halt
init 0
第2章 文件和目錄操作命令 / 13
2.1pwd:顯示當前所在的位置 / 13
2.2cd:切換目錄 / 16
2.3tree:以樹形結構顯示目錄下的內容 / 18
2.4mkdir:創建目錄 / 22
2.5touch:創建空文件或改變文件的時間戳屬性 / 27
2.6ls:顯示目錄下的內容及相關屬性信息 / 30
2.7cp:復制文件或目錄 / 39
2.8mv:移動或重命名文件 / 42
2.9rm:刪除文件或目錄 / 45
2.10rmdir:刪除空目錄 / 48
2.11ln:硬鏈接與軟鏈接 / 49
2.12readlink:查看符號鏈接文件的內容 / 54
2.13find:查找目錄下的文件 / 55
2.14xargs:將標准輸入轉換成命令行參數 / 68
2.15rename:重命名文件 / 71
2.16basename:顯示文件名或目錄名 / 72
2.17dirname:顯示文件或目錄路徑 / 72
2.18chattr:改變文件的擴展屬性 / 73
2.19lsattr:查看文件擴展屬性 / 75
2.20file:顯示文件的類型 / 76
2.21md5sum:計算和校驗文件的MD5值 / 77
2.22chown:改變文件或目錄的用戶和用戶組 / 80
2.23chmod:改變文件或目錄許可權 / 81
2.24chgrp:更改文件用戶組 / 85
2.25umask:顯示或設置許可權掩碼 / 86
2.26老男孩從新手成為技術大牛的心法 / 90
第3章 文件過濾及內容編輯處理命令 / 91
3.1cat:合並文件或查看文件內容 / 91
3.2tac:反向顯示文件內容 / 103
3.3more:分頁顯示文件內容 / 104
3.4less:分頁顯示文件內容 / 107
3.5head:顯示文件內容頭部 / 109
3.6tail:顯示文件內容尾部 / 111
3.7tailf:跟蹤日誌文件 / 114
3.8cut:從文本中提取一段文字並輸出 / 115
3.9split:分割文件 / 117
3.10paste:合並文件 / 118
3.11sort:文本排序 / 123
3.12join:按兩個文件的相同欄位合並 / 127
3.13uniq:去除重復行 / 129
3.14wc:統計文件的行數、單詞數或位元組數 / 131
3.15iconv:轉換文件的編碼格式 / 133
3.16dos2unix:將DOS格式文件轉換成UNIX格式 / 134
3.17diff:比較兩個文件的不同 / 135
3.18vimdiff:可視化比較工具 / 138
3.19rev:反向輸出文件內容 / 139
3.20tr:替換或刪除字元 / 140
3.21od:按不同進制顯示文件 / 143
3.22tee:多重定向 / 145
3.23vi/vim:純文本編輯器 / 147
3.24老男孩逆襲思想:做Linux運維的多個好處 / 152
第4章 文本處理三劍客 / 153
4.1grep:文本過濾工具 / 153
4.2sed:字元流編輯器 / 159
4.3awk基礎入門 / 165
第5章 Linux信息顯示與搜索文件命令 / 176
5.1uname:顯示系統信息 / 176
5.2hostname:顯示或設置系統的主機名 / 178
5.3dmesg:系統啟動異常診斷 / 179
5.4stat:顯示文件或文件系統狀態 / 181
5.5:統計磁碟空間使用情況 / 183
5.6date:顯示與設置系統時間 / 186
5.7echo:顯示一行文本 / 190
5.8watch:監視命令執行情況 / 193
5.9which:顯示命令的全路徑 / 195
5.10whereis:顯示命令及其相關文件全路徑 / 196
5.11locate:快速定位文件路徑 / 197
5.12updatedb:更新mlocate資料庫 / 199
5.13老男孩逆襲思想:新手在工作中如何問問題不會被鄙視 / 200
第6章 文件備份與壓縮命令 / 201
6.1tar:打包備份 / 201
6.2gzip:壓縮或解壓文件 / 208
6.3zip:打包和壓縮文件 / 211
6.4unzip:解壓zip文件 / 212
6.5scp:遠程文件復制 / 214
6.6rsync:文件同步工具 / 216
6.7老男孩逆襲思想:新手如何高效地提問 / 220
第7章 Linux用戶管理及用戶信息查詢命令 / 222
7.1 useradd:創建用戶 / 222
7.2usermod:修改用戶信息 / 227
7.3userdel:刪除用戶 / 229
7.4groupadd:創建新的用戶組 / 230
7.5groupdel:刪除用戶組 / 231
7.6passwd:修改用戶密碼 / 232
7.7chage:修改用戶密碼有效期 / 237
7.8chpasswd:批量更新用戶密碼 / 238
7.9su:切換用戶 / 240
7.10visudo:編輯sudoers文件 / 242
7.11sudo:以另一個用戶身份執行命令 / 244
7.12id:顯示用戶與用戶組的信息 / 248
7.13w:顯示已登錄用戶信息 / 249
7.14who:顯示已登錄用戶信息 / 250
7.15users:顯示已登錄用戶 / 252
7.16whoami:顯示當前登錄的用戶名 / 253
7.17last:顯示用戶登錄列表 / 253
7.18lastb:顯示用戶登錄失敗的記錄 / 254
7.19lastlog:顯示所有用戶的最近登錄記錄 / 255
第8章 Linux磁碟與文件系統管理命令 / 257
8.1fdisk:磁碟分區工具 / 257
8.2partprobe:更新內核的硬碟分區表信息 / 265
8.3tune2fs:調整ext2/ext3/ext4文件系統參數 / 266
8.4parted:磁碟分區工具 / 268
8.5mkfs:創建Linux文件系統 / 272
8.6mpe2fs:導出ext2/ext3/ext4文件系統信息 / 274
8.7resize2fs:調整ext2/ext3/ext4文件系統大小 / 275
8.8fsck:檢查並修復Linux文件系統 / 278
8.9dd:轉換或復制文件 / 281
8.10mount:掛載文件系統 / 284
8.11umount:卸載文件系統 / 288
8.12df:報告文件系統磁碟空間的使用情況 / 289
8.13mkswap:創建交換分區 / 293
8.14swapon:激活交換分區 / 294
8.15swapoff:關閉交換分區 / 295
8.16sync:刷新文件系統緩沖區 / 296
第9章 Linux進程管理命令 / 298
9.1ps:查看進程 / 298
9.2pstree:顯示進程狀態樹 / 305
9.3pgrep:查找匹配條件的進程 / 306
9.4kill:終止進程 / 307
9.5killall:通過進程名終止進程 / 310
9.6pkill:通過進程名終止進程 / 311
9.7top:實時顯示系統中各個進程的資源佔用狀況 / 313
9.8nice:調整程序運行時的優先順序 / 320
9.9renice:調整運行中的進程的優先順序 / 323
9.10nohup:用戶退出系統進程繼續工作 / 324
9.11strace:跟蹤進程的系統調用 / 325
9.12ltrace:跟蹤進程調用庫函數 / 332
9.13runlevel:輸出當前運行級別 / 334
9.14init:初始化Linux進程 / 335
9.15service:管理系統服務 / 335
第10章 Linux網路管理命令 / 338
10.1ifconfig:配置或顯示網路介面信息 / 338
10.2ifup:激活網路介面 / 343
ifup eth0
10.3ifdown:禁用網路介面 / 343
ifdown eth0
service network restart(/etc/init.d/network restart) 激活整個網路,所有網卡。
10.4route:顯示或管理路由表 / 344
10.5arp:管理系統的arp緩存 / 350
10.6ip:網路配置工具 / 351
10.7netstat:查看網路狀態 / 358
10.8ss:查看網路狀態 / 362
10.9ping:測試主機之間網路的連通性 / 363
10.10traceroute:追蹤數據傳輸路由狀況 / 366
10.11arping:發送arp請求 / 367
10.12telnet:遠程登錄主機 / 369
10.13nc:多功能網路工具 / 370
10.14ssh:安全地遠程登錄主機 / 373
10.15wget:命令行下載工具 / 376
10.16mailq:顯示郵件傳輸隊列 / 379
10.17mail:發送和接收郵件 / 381
10.18nslookup:域名查詢工具 / 386
10.19dig:域名查詢工具 / 389
10.20host:域名查詢工具 / 393
10.21nmap:網路探測工具和安全/埠掃描器 / 394
10.22tcpmp:監聽網路流量 / 398
第11章 Linux系統管理命令 / 407
11.1lsof:查看進程打開的文件 / 407
11.2uptime:顯示系統的運行時間及負載 / 411
11.3free:查看系統內存信息 / 411
11.4iftop:動態顯示網路介面流量信息 / 413
11.5vmstat:虛擬內存統計 / 415
11.6mpstat:CPU信息統計 / 419
11.7iostat:I/O信息統計 / 420
11.8iotop:動態顯示磁碟I/O統計信息 / 423
11.9sar:收集系統信息 / 425
11.10chkconfig:管理開機服務 / 430
11.11ntsysv:管理開機服務 / 433
11.12 setup:系統管理工具 / 434
11.13ethtool:查詢網卡參數 / 436
11.14mii-tool:管理網路介面的狀態 / 437
11.19rpm:RPM包管理器 / 443
11.20yum:自動化RPM包管理工具 / 446
top命令
第12章 Linux系統常用內置命令 / 450
12.1Linux內置命令概述 / 450
12.2Linux內置命令簡介 / 450
12.3Linux常用內置命令實例 / 452