快照功能:記錄當前的硬盤的狀態(tài)。剛建快照時快照占用內存為0,標記了當前硬盤的存儲狀態(tài)。當虛擬機對快照標記的內容改寫時,會將改寫的內容存儲進快照,與未改寫的部分整合得到完整的快照。當快照標記的部分被完全改寫,那么快照存儲空間完整記錄了當時拍攝時的內存狀態(tài)。
成都創(chuàng)新互聯(lián)公司于2013年創(chuàng)立,先為類烏齊等服務建站,類烏齊等地企業(yè),進行企業(yè)商務咨詢服務。為類烏齊企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。
參數(shù)形式
第一種:參數(shù)用一橫的說明后面的參數(shù)是字符形式。
第二種:參數(shù)用兩橫的說明后面的參數(shù)是單詞形式。
第三種:參數(shù)前有橫的是 System V風格。
第四種:參數(shù)前沒有橫的是 BSD風格。
cat、more、less、head、tail命令的比較:
cat命令可以一次顯示整個文件,如果文件比較大,使用不是很方便;
more命令可以讓屏幕在顯示滿一屏幕時暫停,按空格往前翻頁,按b往后翻頁。
less命令也可以分頁顯示文件,和more命令的區(qū)別就在于: 支持上下鍵卷動屏幕、查找;不需要在一開始就讀取整個文件,打開大文件時比more、vim更快。
head命令用于查看文件的前n行。
tail命令用于查看文件的后n行,加上-f命令,查看在線日志非常方便,可以打印最新增加的日志。
一般模式:
編輯模式:
命令模式:
編碼
多行操作(列編輯模式)
插入:ctrl+v進入列編輯模式,上下移動光標選擇需要插入的位置,然后輸入大寫I,輸入需要文本,最后按esc鍵退出,就會發(fā)現(xiàn)文本會在選擇的多行中插入。
刪除:ctrl+v進入列編輯模式,上下移動光標選中需要刪除的部分,然后按d,就會刪除選中的內容。
①head:顯示文件頭部內容
②tail:輸出文件尾部內容
注意:用vim和vi修改內容會刪除源文件并生成新文件,所以tail -f會失效。需要用到
追加和覆蓋語句(或),才能被tail -f監(jiān)視到。
一般用于查看小文件
查看壓縮文件中的文本內容
例:
①more:文件內容分屏查看器
②less:分屏顯示文件內容,效率比more高
1、簡單讀取
運行腳本如下
測試結果為:
2、-p 參數(shù),允許在 read 命令行中直接指定一個提示。
運行腳本如下
測試結果為:
echo [選項] [輸出內容] (輸出內容到控制臺)
輸出給定文本的sha256加密后的內容
①顯示當前時間信息
②顯示當前時間年月日
③顯示當前時間年月日時分秒
④顯示昨天
⑤顯示明天時間
⑥顯示上個月時間
需要注意的是取下個月的命令存在bug,執(zhí)行如下命令會得到21-10,但是正常應該得到21-09,需要注意
date -d "2021-08-31 +1 month" +%y-%m
⑦修改系統(tǒng)時間
⑧獲取當前時間戳
獲取秒時間戳: 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/bailongma.txt文件中添加一個11的數(shù)字
*/1 * * * * /bin/echo ”11” /root/bailongma.txt
(3)可以用tail -f 目標文件來實施監(jiān)控追加的內容
查看日志
可以用tail -f /var/log/cron.log觀察
Cron表達式見文章:
ls [選項] [目錄或是文件]
cd [參數(shù)]
例: cd -P $(dirname $p1) ; pwd 先跳轉到文件的所在目錄,再打印$p1文件的實際路徑
概述
①cp(copy):只能在本機中復制
②scp(secure copy):可以復制文件給遠程主機
scp -r test.sh hxr@hadoop102:/root
③rsync(remote sync):功能與scp相同,但是不會改文件屬性
rsync -av test.sh test.sh hxr@hadoop102:/root
④nc(netcat):監(jiān)聽端口,可以實現(xiàn)機器之間傳輸文件。
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
生成密鑰對
將公鑰發(fā)送到本機
將密鑰發(fā)送到需要登錄到本機的服務器上
修改密鑰的權限
遠程登陸
如果有多個節(jié)點需要遠程登陸,可以在.ssh下創(chuàng)建config并輸入
再次登陸
①正向代理:
②反向代理:
所謂“反向代理”就是讓遠端啟動端口,把遠端端口數(shù)據(jù)轉發(fā)到本地。
HostA 將自己可以訪問的 HostB:PortB 暴露給外網(wǎng)服務器 HostC:PortC,在 HostA 上運行:
那么鏈接 HostC:PortC 就相當于鏈接 HostB:PortB。
使用時需修改 HostC 的 /etc/ssh/sshd_config 的一條配置如下,不然啟動的進程監(jiān)聽的ip地址為127.0.0.1,即只有本機可以訪問該端口。
相當于內網(wǎng)穿透,比如 HostA 和 HostB 是同一個內網(wǎng)下的兩臺可以互相訪問的機器,HostC是外網(wǎng)跳板機,HostC不能訪問 HostA,但是 HostA 可以訪問 HostC。
那么通過在內網(wǎng) HostA 上運行 ssh -R 告訴 HostC,創(chuàng)建 PortC 端口監(jiān)聽,把該端口所有數(shù)據(jù)轉發(fā)給我(HostA),我會再轉發(fā)給同一個內網(wǎng)下的 HostB:PortB。
同內網(wǎng)下的 HostA/HostB 也可以是同一臺機器,換句話說就是 內網(wǎng) HostA 把自己可以訪問的端口暴露給了外網(wǎng) HostC。
例: 比如在我的內網(wǎng)機192.168.32.244上有一個RabbitMQ的客戶端,端口號為15672?,F(xiàn)在我希望在外網(wǎng)上訪問固定ip的云服務器chenjie.asia的6009端口,通過跳板機192.168.32.243來轉發(fā)請求到192.168.32.244:15672,從而實現(xiàn)在外網(wǎng)訪問內網(wǎng)服務的功能,即內網(wǎng)穿透。
①在192.168.32.244上啟動RabbitMQ服務
②將chenjie.asia云服務器的私鑰復制到跳板機192.168.32.243的~/.ssh下,并重命名為id_rsa。通過如下命令看是否可以遠程登陸到云服務,可以登陸則進行下一步。
③修改chenjie.asia服務器的ssh配置文件 /etc/ssh/sshd_config ,允許其他節(jié)點訪問
然后重啟sshd服務
④在跳板機192.168.32.243啟動ssh反向代理
這個進程在關閉session時會停止,可以添加啟動參數(shù) -CPfN
例:
以 root 身份執(zhí)行的程序有了所有特權,這會帶來安全風險。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 (功能描述:將數(shù)據(jù)由內存同步到硬盤中)
(2)halt (功能描述:關閉系統(tǒng),等同于shutdown -h now 和 poweroff)
(3)reboot (功能描述:就是重啟,等同于 shutdown -r now)
(4)shutdown [選項] [時間]
安裝
yum install -y telnet-server telnet
ls -i 顯示文件的節(jié)點號
find -inum 節(jié)點號 -delete 刪除指定的節(jié)點即可刪除對應的文件
啟動一個服務: systemctl start postfix.service
關閉一個服務: systemctl stop postfix.service
重啟一個服務: systemctl restart postfix.service
顯示一個服務的狀態(tài): systemctl status postfix.service
在開機時啟用一個服務: systemctl enable postfix.service
在開機時禁用一個服務: systemctl disable postfix.service
注:在enable的時候會打印出來該啟動文件的位置
列出所有已經(jīng)安裝的服務及狀態(tài):
systemctl list-units
systemctl list-unit-files
查看服務列表狀態(tài):
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。
添加腳本為服務(需要指定啟動級別和優(yōu)先級): chkconfig --add [腳本]
刪除服務: chkconfig --del [腳本]
單獨查看某一服務是否開機啟動的命令 : chkconfig --list [服務名]
單獨開啟某一服務的命令 : chkconfig [服務名] on
單獨關閉某一服務的命令: chkconfig [服務名] off
查看某一服務的狀態(tài): /etc/intd.d/[服務名] status
啟用服務就是在當前"runlevel"的配置文件目錄 /etc/systemd/system/multi-user.target.wants 里,建立 /usr/lib/systemd/system 里面對應服務配置文件的軟鏈接;禁用服務就是刪除此軟鏈接,添加服務就是添加軟連接。
su 用戶名稱 (切換用戶,只能獲得用戶的執(zhí)行權限,不能獲得環(huán)境變量)
su - 用戶名稱 (切換到用戶并獲得該用戶的環(huán)境變量及執(zhí)行權限)
echo $PATH 打印環(huán)境變量
設置普通用戶具有root權限
修改 /etc/sudoers 文件,找到下面一行(91行),在root下面添加一行,如下 所示:
或者配置成采用sudo命令時,不需要輸入密碼
修改完畢,現(xiàn)在可以用hxr 帳號登錄,然后用命令 sudo ,即可獲得root權限進行操作。
以azkaban用戶執(zhí)行引號中的命令
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中創(chuàng)建文件或者目錄會有一個默認權限的,這個默認權限是由umask決定的(默認為0022)。umask設置的是權限的“補碼”,而我們常用chmod設置的是文件權限碼。一般在/etc/profile 、~/.bashprofile 或者 ~/.profile中設置umask值。
umask計算
如root用戶的默認umask為0022(第一個0 代表特殊權限位,這里先不考慮),創(chuàng)建的文件默認權限是644(即默認666掩上umask的022),創(chuàng)建的目錄是755(即默認777掩上umask的022)。
對于root用戶的umask=022這個來說,777權限二進制碼就是(111)(111)(111),022權限二進制碼為(000)(010)(010)。
上面就是一個umask的正常計算過程,但是這樣實在是太麻煩了。我們使用如下的簡單的方法快速計算。
上面的這個方法計算是非常方便的, 為何得到奇數(shù)要+1呢?
文件的最大權限是666,都是偶數(shù),你得到奇數(shù),說明你的umask有奇數(shù)啊,讀為4,寫為2,都是偶數(shù),說明你有執(zhí)行權限的。
就按照上面的umask=023為例,在計算其他用戶權限的時候6-3=3 ,6是讀寫,3是寫和執(zhí)行,其實應該是讀寫權限減去讀權限的得到寫權限的,相當于我們多減去了一個執(zhí)行權限。所以結果加1。
umask修改
如果想單獨修改某個文件夾的新建文件的權限,可以使用setfacl命令。
例:遞歸改變文件所有者和所有組 chown -R hxr:hxr /mnt
例:
linux常用命令如下:
1、查看內核版本:uname -a。
2、控制臺-》圖形界面:init 5或者startx。
3、圖形界面-》控制臺: init3或者直接注銷。
4、如何查看ip地址:ifconfig。
5、配置ip:ifconfig eth0 ip地址。
6、重啟:reboot 或者 shutdown -r now。
7、普通用戶切換到系統(tǒng)用戶:su。
8、注銷用戶指令:logout。
9、從子機退出:ctrl+alt。
10、全屏:ctrl+alt+enter 。
基本思想:
Linux的基本思想有兩點:第一,一切都是文件;第二,每個文件都有確定的用途。其中第一條詳細來講就是系統(tǒng)中的所有都歸結為一個文件,包括命令、硬件和軟件設備、操作系統(tǒng)、進程等等對于操作系統(tǒng)內核而言,都被視為擁有各自特性或類型的文件。
ls 指令是Linux下最常用的指令之一。
ls 命令將每個由 Directory 參數(shù)指定的目錄或者每個由 File 參數(shù)指定的名稱寫到標準輸出,以及您所要求的和標志一起的其它信息。
如果不指定 File 或 Directory 參數(shù), ls 命令顯示當前目錄的內容。
基本介紹 中文名 :ls 類屬 :指令 所屬領域 :計算機 套用范圍 :linux 指令釋義,描述,許可權表示,標志,注意事項, 指令釋義 ls 指令可以說是Linux下最常用的指令之一。它有許多的選項,下面列出了 ls 指令的絕大多數(shù)選項。 List information about the FILEs (the current directory by default).Sort entries alphabetically if none of -cftuvSUX nor --sort is specified. 用法:ls [選項]... [檔案]... 運用舉例:
1.列出具體檔案 #ls -al 這個最常用,可是往往又不徹底符合要求,
2.列出一切子目錄的檔案:#ls -R 上個指令僅僅列出了本目錄下的一切目錄和檔案,可是目錄下的檔案不會循環(huán)的列出。
3.若是檔案過多一屏看不完,怎么辦?并且,關于想找到許多檔案中的某個檔案的姓名。
3.1分屏顯現(xiàn):#ls -l|more 能在當時屏退出,很有用,但不能一頁一頁翻屏
#ls -l|less 能用pgup,pgdw 翻頁,但不能在當時方位退出
3.2橫向輸出盡可能多的顯現(xiàn)檔案姓名: #ls -m
-a 列出目錄下的一切檔案,包含以 . 最初的隱含檔案。常用
-m 橫向輸出檔案名稱,并以“,”作分格符。
-c 輸出檔案的 i 節(jié)點的修正時刻,并以此排序。
-R 列出一切子目錄下的檔案。
-l 列出檔案的具體信息。
-s 在每個檔案名稱后輸出該檔案的巨細。
-k 以 k 位元組的方式表明檔案的巨細。
-i 輸出檔案的 i 節(jié)點的索引信息。
2.只顯現(xiàn)目錄:#ls -l |grep ^d 3.只顯現(xiàn)非目錄檔案:#ls -l |grep ^[^d]
3.對輸出檔案進行各種排序;
3.1 依照字元序(default): #ls -l
3.2 依照修正時刻排序: #ls -t 近來修正在最上面
3.3 逆排序 : #ls -r
3.4 按檔案巨細排序 :#ls -S 大檔案的在上
3.5 依照檔案擴展名(最終一個.后的字元)排序: #ls -X
3.6 按數(shù)字排序 :#ls -lv
-t 以時刻排序。
-r 對目錄反向排序
-f -U 對輸出的檔案不排序。
-X 以檔案的擴展名(最終一個 . 后的字元)排序。
-S 以檔案巨細排序。
-u 以檔案前次被拜訪的時刻排序。
-n 用數(shù)字的 UID,GID 替代稱號。
-o 顯現(xiàn)檔案的除組信息外的具體信息。
-p -F 在每個檔案名稱后附上一個字元以闡明該檔案的類型,“*”表明可執(zhí)行的一般
檔案;“/”表明目錄;“@”表明符號連線;“|”表明FIFOs;“=”表明套接字(sockets)。
-q 用?替代不行輸出的字元。
-x 按列輸出,橫向排序。
暫時無用選項:
-b 把檔案名稱中不可輸出的字元用反斜杠加字元編號(就象在C言語里相同)的方式列出。不常用
-d 將目錄象檔案相同顯現(xiàn),而不是顯現(xiàn)其下的檔案。
-e 輸出時刻的悉數(shù)信息,而不是輸出簡略信息。 沒用
-g 無用。
-A 顯現(xiàn)除 “.”和“..”外的一切檔案。
-B 不輸出以 “~”結束的備份檔案。
-C 按列輸出,縱向排序。
-G 輸出檔案的組的信息。
-L 列出連線檔案名稱而不是連線到的檔案。
-N 不約束檔案長度。
-Q 把輸出的檔案名稱用雙引號括起來?!?/p>
-1 一行只輸出一個檔案。
--color=no 不顯現(xiàn)五顏六色檔案名稱
--help 在規(guī)范輸出上顯現(xiàn)協(xié)助信息。
--version 在規(guī)范輸出上輸出版別信息并退出 描述 ls 命令將每個由 Directory 參數(shù)指定的目錄或者每個由 File 參數(shù)指定的名稱寫到標準輸出,以及您所要求的和標志一起的其它信息。如果不指定 File 或 Directory 參數(shù), ls 命令顯示當前目錄的內容。 在互斥對中指定多個選項不看成錯誤。每對中最后一個指定的選項確定輸出格式。 預設情況下,ls 命令按照檔案名稱的字母順序顯示所有信息。整理順序由環(huán)境變數(shù) LANG 或 LC_COLLATE 環(huán)境變數(shù)確定。在 AIX 5L Version 5.2 General Programming Concepts: Writing and Debugging Programs 中的 "National Language Support Overview for Programming" 包含更多細節(jié)。 當 ls 命令顯示目錄內容時,它不顯示名稱以 .(點)開頭的檔案項,除非使用了 -a 或者 -A 標志。如果命令由 root 用戶執(zhí)行,它預設使用 -A 標志。 格式化輸出有三種主要方式: * 每行列出一項。 * 通過指定 -C 或 -x 標志以多列列出各項。當向 tty 輸出時,-C 標志是預設格式。如果檔案或目錄名太長,ls 命令顯示單列輸出。 * 通過指定 -m 標志可以以逗號分隔系列列出項。 要確定輸出行中字元位置的數(shù)目,ls 命令使用環(huán)境變數(shù) COLUMNS。如果沒有設定此變數(shù),命令獲取顯示的當前列值。如果使用這些方法,ls 命令還不能確定字元位置的數(shù)量,它就使用預設值 80。 使用 -e 和 -l 標志所顯示的方式解釋如下: 如果第一個字元是: d 此項為目錄。 b 此項為塊特殊檔案。 c 此項為字元特殊檔案。 l 此項為符號連結,或者指定 -N 標志,或者符號連結不指向現(xiàn)有檔案。 p 此項為一個先進先出(FIFO)特殊檔案。 s 此項為本地套接字。 - 此項為普通檔案。 接下來的 9 個字元被分成 3 個集合,每個集合 3 個字元。第一組 3 字元集合顯示所有者許可權。下一組 3 字元集合顯示了組中其它用戶的許可權。最后 3 字元集合顯示了訪問此檔案的其它任何人的許可權。每個集合中的三個字元各自表示了檔案的讀、寫和執(zhí)行許可權。目錄的執(zhí)行許可權讓您可以搜尋目錄中的指定檔案。 許可權表示 如下: r 讀 w 寫(編輯) x 執(zhí)行(搜尋) - 沒有授予相應的許可權 如果檔案有 set-group-ID 方式,那么組執(zhí)行許可權字元是 s。如果檔案有 set-user-ID 方式,則用戶執(zhí)行許可權字元是 s。如果方式位被設定為 01000(八進制)(請參閱 chmod 命令以獲得此方式的含義),最后一個方式字元(通常 x 或者 -)是 T。如果沒有設定相應的執(zhí)行許可權,set-ID 的指示和方式位 01000 以大寫字母開頭(分別為 S 和 T)。方式 t 表示粘滯位是為檔案或目錄而設定的。 當使用 -e 標志時,其顯示方式與使用 -l 標志一樣,除了多出了第 11 個字元,其解釋如下: + 表示檔案有擴展安全性信息。例如,檔案可能在方式中有擴展的 ACL、TCB 或者 TP 屬性。 通過使用 aclget 命令,可以顯示檔案的訪問控制信息(ACL)。通過使用 chtcb 命令,可以顯示 TCB 和 TP 屬性的值。 - 表示檔案沒有擴展安全性信息。 當列出目錄中檔案大小時,ls 命令顯示塊總數(shù),包括間接塊。 標志 -A 列出所有條目,除了 .(點)和 ..(點-點)。 -a 列出目錄中所有項,包括以 .(點)開始的項。 -b 以八進制 ( \nnn) 表示法顯示非列印字元。 -c 使用索引節(jié)點最近一次修改的時間,用以排序(當帶 -t 標志使用時)或者用以顯示(當帶 -l 標志使用時)。該標志必須和 -t 或 -l 標志或者兩者一起使用。 -C 以多列縱向排序輸出。當往終端輸出時,此為預設方法。 -d 僅僅顯示指定目錄信息。目錄和檔案一樣處理,這在當使用 -l 標志獲取目錄狀態(tài)時非常有用。 -e 顯示方式(包括安全信息)、連結數(shù)目、所有者、組、大?。ò次辉M)、最近修改時間和每個檔案名稱稱。如果檔案是特殊檔案,大小欄位包含主要和次要設備數(shù)目。如果檔案是符號連結,會列印所連結到的檔案的路徑名,其前有 -(減號,大于號)符號。顯示符號連結的屬性。 -E 列出檔案的保留空間、固定范圍大小和范圍分配標志信息。使用該標志時,必須指定 -l 標志。 -f 在每個存儲槽中列出 Directory 參數(shù)指定的每個目錄的名稱。該標志關閉 -l、-t、 -s 和 -r 標志并且開啟 -a 標志。列表的順序就是項出現(xiàn)在目錄中的順序。 -F 如果檔案是目錄,在檔案名稱后面放置一個 /(斜杠),如果檔案可執(zhí)行,則放置一個 *(星號),如果檔案為套接字,則放置一個 =(等號),如果為 FIFO,則放置一個 |(管道)符號,如果是符號連結,則放置一個 @。 注:只有在使用 -N 標志或者連結指向一個不存在的檔案時,符號連結顯示時才后跟 -。否則,顯示目標檔案的有關信息。通過輸入 ls -f 命令,也可以調用此選項。 -g 與使用 -l 標志時顯示同樣的信息,除了 -g 標志禁止顯示所有者和符號連結信息。 -H 如果在命令行上指定了引用類型目錄檔案的符號連結,ls 命令將檔案信息和檔案類型估計為由連結引用的檔案的信息和類型,而非連結本身;然而,ls 命令將寫連結本身的名稱,而非由連結引用的檔案。 -i 顯示每個檔案報告第一列中的索引節(jié)點數(shù)目。 -L 列出連結引用的檔案或目錄內容。此為預設操作。后跟符號連結。如果使用 -l 選項,-N 選項就成為預設值,不后跟符號連結。當使用 -l 選項時,僅有 -L 選項能夠覆蓋 -N 預設值。 -l (L 的小寫)顯示方式、連結數(shù)目、所有者、組、大?。ò次辉M)和每個檔案最近一次修改時間。如果檔案是特殊檔案,大小欄位包含主要和次要設備數(shù)目。如果最近一次修改時間大于六個月之前,時間欄位以 月份 日期 年份 的格式顯示,然而六個月內修改的檔案以 月份 日期 時間 的格式顯示。 如果檔案是符號連結,,列印所連結到的檔案的路徑名,其前跟 -。顯示符號連結的屬性。-n、-g、和 -o 標志覆蓋 -l 標志。 注意事項 1. 符號連結檔案后跟一個箭頭,然后是符號連結的內容。 2. 當使用 -l 選項時,通過執(zhí)行 mkpasswd 命令,可以提高 ls 命令的執(zhí)行性能。當目錄包含不同用戶擁有的檔案時,這非常有用,比如 /tmp 目錄。 -m 使用流輸出格式(逗號分隔系列)。 -n -n 標志除顯示用戶和組 ID 而不是用戶和組名稱以外,它顯示和 -l 標志同樣的信息。 -N 當確定檔案狀態(tài)時,不跟在符號連結之后。 注:如果使用 -L 和 -N 兩個標志,最后一個標志起作用。同樣的,任何時候給定一個包含以 /(斜杠)作為最后字元的符號連結,不管使用何種選項,后面都會跟有連結。 -o -o 標志除禁止顯示組和符號連結信息之外,它顯示和 -l 標志同樣的信息。 -p 如果檔案是目錄,在每個檔案名稱后面放置一個斜杠。當將 ls 命令的輸出通過管道傳遞到 pr 命令時,這很有用,如下所示: ls -p | pr -5 -t -w80 -q 將檔案名稱中的非列印字元顯示成 ?(問號)。 -r 反轉排序順序,適當?shù)陌醋帜改嫦蚺判蚧蛘呤紫扰判蜃钆f的檔案。 -R 遞歸列出所有子目錄。 -s 按照千位元組(包括間接塊)給出每一項的大小。 -t 按照最近一次修改時間(最近的最先)而不是名稱排序。 -u 使用最近訪問時間,而不是最近修改時間用以排序(當使用 -t 標志)或者顯示(當使用 -l 標志)。如果不和 -t 或 -l 標志或兩者一起使用,則該標志無效。 -x 以多列格式橫向排序輸出。 -1 強制輸出為每行一項格式。當輸出沒有定向到終端時,此為預設值。 退出狀態(tài) 此命令返回以下退出值: 0 寫所有檔案成功。 0 產(chǎn)生錯誤。 示例 1. 要列出當前目錄中的所有檔案,請輸入: ls -a 列出所有檔案,包括 .(點)、..(點點)和其他以點開頭的檔案。 2. 要顯示詳細信息,請輸入: ls -l chap1 .profile 顯示一個長列表,包括關于 chap1 和 .profile 的詳細信息。 3. 要顯示有關目錄的詳細信息,請輸入: ls -d -l . manual manual/chap1 顯示目錄 . 和 manual 以及檔案 manual/chap1 的長列表。不使用 -d 標志時,會列出 . 和 manual 目錄中的所有檔案,而不是關于目錄本身的詳細信息。 4. 要按照修改時間列出檔案,請輸入: ls -l -t 顯示最近被修改檔案的長列表,較舊的檔案跟在后面。 檔案 /usr/bin/ls 包含 ls 命令。 /etc/passwd 包含用戶 ID。 /etc/group 包含組 ID。 /usr/share/lib/terminfo/* 包含終端信息。
Linux運維人員必會的120個命令
來自《跟老男孩學Linux運維:核心系統(tǒng)命令實戰(zhàn)》一書
前言
第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:創(chuàng)建目錄 / 22
2.5touch:創(chuàng)建空文件或改變文件的時間戳屬性 / 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:將標準輸入轉換成命令行參數(shù) / 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:統(tǒng)計文件的行數(shù)、單詞數(shù)或字節(jié)數(shù) / 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:顯示系統(tǒng)信息 / 176
5.2hostname:顯示或設置系統(tǒng)的主機名 / 178
5.3dmesg:系統(tǒng)啟動異常診斷 / 179
5.4stat:顯示文件或文件系統(tǒng)狀態(tài) / 181
5.5du:統(tǒng)計磁盤空間使用情況 / 183
5.6date:顯示與設置系統(tǒng)時間 / 186
5.7echo:顯示一行文本 / 190
5.8watch:監(jiān)視命令執(zhí)行情況 / 193
5.9which:顯示命令的全路徑 / 195
5.10whereis:顯示命令及其相關文件全路徑 / 196
5.11locate:快速定位文件路徑 / 197
5.12updatedb:更新mlocate數(shù)據(jù)庫 / 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:創(chuàng)建用戶 / 222
7.2usermod:修改用戶信息 / 227
7.3userdel:刪除用戶 / 229
7.4groupadd:創(chuàng)建新的用戶組 / 230
7.5groupdel:刪除用戶組 / 231
7.6passwd:修改用戶密碼 / 232
7.7chage:修改用戶密碼有效期 / 237
7.8chpasswd:批量更新用戶密碼 / 238
7.9su:切換用戶 / 240
7.10visudo:編輯sudoers文件 / 242
7.11sudo:以另一個用戶身份執(zhí)行命令 / 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磁盤與文件系統(tǒng)管理命令 / 257
8.1fdisk:磁盤分區(qū)工具 / 257
8.2partprobe:更新內核的硬盤分區(qū)表信息 / 265
8.3tune2fs:調整ext2/ext3/ext4文件系統(tǒng)參數(shù) / 266
8.4parted:磁盤分區(qū)工具 / 268
8.5mkfs:創(chuàng)建Linux文件系統(tǒng) / 272
8.6dumpe2fs:導出ext2/ext3/ext4文件系統(tǒng)信息 / 274
8.7resize2fs:調整ext2/ext3/ext4文件系統(tǒng)大小 / 275
8.8fsck:檢查并修復Linux文件系統(tǒng) / 278
8.9dd:轉換或復制文件 / 281
8.10mount:掛載文件系統(tǒng) / 284
8.11umount:卸載文件系統(tǒng) / 288
8.12df:報告文件系統(tǒng)磁盤空間的使用情況 / 289
8.13mkswap:創(chuàng)建交換分區(qū) / 293
8.14swapon:激活交換分區(qū) / 294
8.15swapoff:關閉交換分區(qū) / 295
8.16sync:刷新文件系統(tǒng)緩沖區(qū) / 296
第9章 Linux進程管理命令 / 298
9.1ps:查看進程 / 298
9.2pstree:顯示進程狀態(tài)樹 / 305
9.3pgrep:查找匹配條件的進程 / 306
9.4kill:終止進程 / 307
9.5killall:通過進程名終止進程 / 310
9.6pkill:通過進程名終止進程 / 311
9.7top:實時顯示系統(tǒng)中各個進程的資源占用狀況 / 313
9.8nice:調整程序運行時的優(yōu)先級 / 320
9.9renice:調整運行中的進程的優(yōu)先級 / 323
9.10nohup:用戶退出系統(tǒng)進程繼續(xù)工作 / 324
9.11strace:跟蹤進程的系統(tǒng)調用 / 325
9.12ltrace:跟蹤進程調用庫函數(shù) / 332
9.13runlevel:輸出當前運行級別 / 334
9.14init:初始化Linux進程 / 335
9.15service:管理系統(tǒng)服務 / 335
第10章 Linux網(wǎng)絡管理命令 / 338
10.1ifconfig:配置或顯示網(wǎng)絡接口信息 / 338
10.2ifup:激活網(wǎng)絡接口 / 343
ifup eth0
10.3ifdown:禁用網(wǎng)絡接口 / 343
ifdown eth0
service network restart(/etc/init.d/network restart) 激活整個網(wǎng)絡,所有網(wǎng)卡。
10.4route:顯示或管理路由表 / 344
10.5arp:管理系統(tǒng)的arp緩存 / 350
10.6ip:網(wǎng)絡配置工具 / 351
10.7netstat:查看網(wǎng)絡狀態(tài) / 358
10.8ss:查看網(wǎng)絡狀態(tài) / 362
10.9ping:測試主機之間網(wǎng)絡的連通性 / 363
10.10traceroute:追蹤數(shù)據(jù)傳輸路由狀況 / 366
10.11arping:發(fā)送arp請求 / 367
10.12telnet:遠程登錄主機 / 369
10.13nc:多功能網(wǎng)絡工具 / 370
10.14ssh:安全地遠程登錄主機 / 373
10.15wget:命令行下載工具 / 376
10.16mailq:顯示郵件傳輸隊列 / 379
10.17mail:發(fā)送和接收郵件 / 381
10.18nslookup:域名查詢工具 / 386
10.19dig:域名查詢工具 / 389
10.20host:域名查詢工具 / 393
10.21nmap:網(wǎng)絡探測工具和安全/端口掃描器 / 394
10.22tcpdump:監(jiān)聽網(wǎng)絡流量 / 398
第11章 Linux系統(tǒng)管理命令 / 407
11.1lsof:查看進程打開的文件 / 407
11.2uptime:顯示系統(tǒng)的運行時間及負載 / 411
11.3free:查看系統(tǒng)內存信息 / 411
11.4iftop:動態(tài)顯示網(wǎng)絡接口流量信息 / 413
11.5vmstat:虛擬內存統(tǒng)計 / 415
11.6mpstat:CPU信息統(tǒng)計 / 419
11.7iostat:I/O信息統(tǒng)計 / 420
11.8iotop:動態(tài)顯示磁盤I/O統(tǒng)計信息 / 423
11.9sar:收集系統(tǒng)信息 / 425
11.10chkconfig:管理開機服務 / 430
11.11ntsysv:管理開機服務 / 433
11.12 setup:系統(tǒng)管理工具 / 434
11.13ethtool:查詢網(wǎng)卡參數(shù) / 436
11.14mii-tool:管理網(wǎng)絡接口的狀態(tài) / 437
11.19rpm:RPM包管理器 / 443
11.20yum:自動化RPM包管理工具 / 446
top命令
第12章 Linux系統(tǒng)常用內置命令 / 450
12.1Linux內置命令概述 / 450
12.2Linux內置命令簡介 / 450
12.3Linux常用內置命令實例 / 452