第三章 Linux常用命令(補)
二 文件操作命令
1)創建空文件或修改文件時間
touch 文件名
命令名稱:touch
命令所在路徑:/bin/touch
執行權限:所有用戶
2)刪除
rm -rf 文件名
-r 刪除目錄
-f強制
命令名稱:rm
命令英文原意:remove
命令所在路徑:/bin/rm
執行權限:所有用戶
3)cat 文件名查看文件內容。從頭到尾
命令名稱:cat
命令所在路徑:/bin/cat
執行權限:所有用戶
-n列出行號
4)more 文件名分屏顯示文件內容
命令名稱:more
命令所在路徑:/bin/more
執行權限:所有用戶
空格:向下翻頁 b:向上翻頁 q:退出
6) head 文件名 顯示文件頭
命令名稱:head
命令所在路徑:/usr/bin/head
執行權限:所有用戶
head -n 行數 文件名指定顯示文件頭幾行
head -n 20 文件名
head -20 文件名
tail -n 行數 文件名指定顯示文件尾行
7)鏈接文件
ln
命令名稱:ln
命令英文原意:link
命令所在路徑:/bin/ln
執行權限:所有用戶
ln -s 源文件 目標文件//軟鏈接,相當於windows快捷方式
ln 源文件 目標文件//硬鏈接,拷貝加同步更新,
//不能給目錄,不能跨分區
文件名都必須寫絕對路徑,否則軟連接移後失效
三.文件和目錄都能操作的命令
1)複製
命令名稱:cp
命令英文原意:copy
命令所在路徑:/bin/cp
執行權限:所有用戶
cp 源文件 目標位置
-r 複製目錄
-p連帶文件屬性複製
-d若源文件是鏈接文件,則複製鏈接屬性
-a相當於 -pdr
cp aa /tmp/原名複製
cp aa /tmp/bb改名複製
2)剪切或改名
命令名稱:mv
命令英文原意:move
命令所在路徑:/bin/mv
執行權限:所有用戶
mv 源文件 目標位置
mv /root/aa /tmp/
mv aa bb
四.權限管理(難點)
1分析權限位
-rw-r--r-- 1 root root 0 08-11 01:45 abc
權限位是十位
第一位:代表文件類型
-普通文件
d目錄文件
l鏈接文件
後九位:屬主權限u 屬組權限g 其他人權限o
r讀4
w寫2
x執行1
2.修改權限
chmod
命令名稱:chmod
命令英文原意:change the permissions mode of a file
命令所在路徑:/bin/chmod
執行權限:所有用戶
邏輯描述法:
chmod u+x aaaa文件的屬主加上執行權限
chmod u-x aaaa文件的屬主減去執行權限
chmod g+w,o+w aaaa多個身份用“,”分隔
chmod u=rwx aaaa文件的屬主不考慮當前權限直接賦予指定權限
chmod a-x aaa代表所有身份(u,g,o)
數字描述法:
chmod 755 aa
chmod 644 aa
重要實驗:
提問:root用戶創建一個目錄(默認rwxr-xr-x),在目錄中新建一個文件,然後將新建的文件設爲777,普通用戶能否刪除該文件?
實驗需要相關知識(後天學):
useradd 用戶名 #添加用戶
passwd 用戶名 #爲用戶設置密碼
從新開一個終端,用新建的用戶登錄進行實驗
結果:失敗
原因:rwx權限對於目錄和文件,實際意義是不一樣的
文件:
r cat more head tail 查看文件內容
w echo vim修改文件內容
x sh (execute)執行
目錄:
r ls find tree列出文件
w touch mkdir rm創建刪除文件
x cd進入目錄
結論:
1、 對文件有寫權限,只代表可以修改這個文件,要想刪除文件,需要對文件所在目錄有寫權限。
2、只要對目錄有寫權限,目錄中的文件,就算是root創建的,普通用戶一樣能刪除。
賦予權限要合理
對目錄w權限,就意味着需要有rwx
對腳本執行,需要rx 並對該目錄有rx權限
3.修改屬主和屬組
命令名稱:chown
命令英文原意:change file ownership
命令所在路徑:/bin/chown
執行權限:所有用戶
chown 用戶名 文件名改變文件屬主
chown user1 aauser1 必須存在
chown user1:user1 aa 改變屬主同時改變屬組
chgrp 組名 文件名 改變文件屬組
提問:爲何新建文件權限644,新建目錄755?
4.創建文件的默認權限掩碼值
umask顯示0022
第一位特殊權限位,不提
其他爲三類用戶的權限掩碼值,用做大權限777減去掩碼值
777
- 022
--------------
755
就是創建文件的默認權限
疑問:
新建目錄mkdir test默認是755權限
新建文件touch file 默認是644權限
解答:
Linux安全機制,不給新建文件X權限。
五.幫助命令
1.man 命令名 查看命令的幫助(只用於有文件實體的命令)
命令名稱:man
命令英文原意:manual
命令所在路徑:/usr/bin/man
執行權限:所有用戶
2.命令 help 查看shell內核命令bash
六.查找命令
1.whereis 命令名 查找命令的命令,同時看到幫助文檔位置
命令名稱:whereis
命令所在路徑:/usr/bin/whereis
執行權限:所有用戶
which相同,可看到命令別名
2.find搜索文件命令
準備知識:
通配符——常用於文件查找
*任意字符任意多個
?任意字符一個
[] 指範圍值
^反向匹配
正則表達式——常用於內容查找
. 除換行外任意符號
*任意個
? /s 貪婪模式
^開頭
$結尾
命令名稱:find
命令所在路徑:/usr/bin/find
執行權限:所有用戶
1. 按照文件名查找
find 查找位置 -name 文件名
find / -name aabbcc 精確查找文件aabbcc
find /etc -name init* 查找在/etc下以init開頭的文件
2. 按照用戶
-user 用戶名按照屬主用戶名查找文件
-group 組名按照屬組組名查找文件
3. 按照文件大小
-size+50k:大於50k,-50k:小於50k,50k:等於50kkM
find / -size +50k 查找/下大於50k的文件
默認單位512Byte
4. 按照類型
-type 類型 按照文件類型查找f:普通d:目錄l:鏈接
5. 按照權限
find /root -perm 644按照權限查找
6. 按照文件名(不區分大小寫)
-iname按照文件名查找,不區分大小寫
7. 按照i節點
-inum按照i節點查找
find / -inum 2739078
邏輯連接符-a(and)-o(or)
多條件查找,條件之間可加邏輯連接符
find /etc –size -10M -a -size +1M 查找小於10M並大於1M的文件
對查找到的文件,進一步處理
find ... -exec 命令 {} \;
{} 表示find查詢的結果集
\ 是轉義符 表示一個命令或符號使用其本身的意義,不使用別名
; 分號是表示語句的結束
是固定格式,只能這樣寫。注意中間的空格。
轉義符的作用是什麼?
在linux中有一個別名機制,如rm刪除文件,執行的卻是rm -i(用which rm 可以查看命令別名),使用rm刪除文件前會提示,就是因爲rm -i這個參數。如果想使用命令原意,可以在加\轉義,
如:\rm test.txt 則不會提示,直接刪除
實例:
找到文件後查看詳情:
find /etc -name inittab -exec ls -l {} \;
find /etc -name init* -a -type f -exec ls -l {} \; 要過濾掉目錄,只列出文件,否則ls會列出很多文件
找到testfile後,直接刪除,默認不需要確認,直接刪除,也不需要加-f選項
find /test -name testfile -exec rm {} \;
找samlee用戶的所有文件並刪除
find /home -user samlee -exec rm –r {} \;
找samlee用戶的所有文件並刪除,刪除前會一個提示確認
find /home -user samlee -ok rm -r {} \;
結合使用:查二進制文件並顯示詳情
find /etc -name init* -a -type f -exec ls -l {} \;
3.grep“字符串” 文件名查找符合條件的字串行。
命令名稱:grep
命令所在路徑:/bin/grep
執行權限:所有用戶
grep -i “root” /etc/passwd
-v 反向選擇
-i 忽略大小寫
find:在系統當中搜索符合條件的文件名,如果需要匹配,使用通配符匹配。通配符是完全匹配。
grep:在文件當中搜索符合條件的字符串,如果需要匹配,使用正則表達式匹配,正則表達式是包含匹配
七.壓縮和解壓縮
.gz 和 .bz2 linux可以識別的常見壓縮格式
.tar .gz .tar .bz2常見的壓縮和打包命令
壓縮同時打包
tar -zcvf 壓縮文件名 源文件
tar -zcvf aa.tar.gz aa
-z 壓縮.gz格式 -j壓縮.bz2格式
-c:打包
-v:顯示壓縮過程
-f:指定壓縮包名
注意:選項f必須在最後,否則報錯。
tar -zxvf 壓縮文件名解壓縮同時解打包
-x解壓縮
查看不解包
tar -ztvf aa.tar.gz查看不解包
tar -jtvf aa.tar.bz2
-t 只查看,不解壓
tar -jxvf root.tar.bz2 -C /tmp/指定解壓縮位置
八.網絡命令
1.ping測試網絡連通性
命令名稱:ping
命令所在路徑:/bin/ping
執行權限:所有用戶
ping -c 次數 ip探測網絡通暢
2.ifconfig 查詢本機網絡信息
類似windows中的ipconfig/all
命令名稱:ifconfig
命令英文原意:interface configure
命令所在路徑:/sbin/ifconfig
執行權限:root
可臨時修改網卡IP地址
ifconfig eth0 192.168.1.1 mask 255.255.255.0
3.netstat 查看網絡狀態的命令 常用選項組合 –ptlun
-t查看tcp端口
-u查看udp端口
-l監聽
-n以IP和端口號顯示,不用域名和服務名顯示
-a查詢所有連接
-p查看進程名
4.write和wall(write all)廣播命令
write user 回車
>發送內容
>ctrl+d保存發送
--------------------------我是分割線^-^-------------------------
wall回車
>發送內容
>ctrl+d保存發送
所有用戶都能收到信息
九.關閉和重啓命令
1)shutdown -h now沒有特殊情況,使用此命令
-h 關機halt
-r 重啓reboot
shutdown -r now等同於reboot
命令名稱:shutdown
命令所在路徑:/sbin/shutdown
執行權限:root
2)reboot
命令名稱:reboot
命令所在路徑:/sbin/reboot
執行權限:root
十.掛載命令
linux所有存儲設備都必須掛載使用,包括硬盤。硬盤開機自動掛載,但多媒體(光盤,U盤等)需要手動掛載。
命令名稱:mount
命令所在路徑:/bin/mount
執行權限:所有用戶
光盤掛載
/dev/sda1 第一個scsi硬盤的第一分區
/dev/cdrom 光盤設備軟連接(方便記憶)
/dev/hdc 光盤設備名centos 5.5
/dev/sr0 光盤設備名centos 6.x
以上三個文件都是一回事兒,版本不同而已。
mount -t 文件系統 設備描述文件 掛載點(已經存在空目錄)
mount -t iso9660 /dev/cdrom /mnt/cdrom
光盤卸載
umount /dev/cdrom
umount /mnt/cdrom 強調:退出掛載目錄,才能卸載
U盤掛載:虛擬機USB設備存在,鼠標焦點在虛擬機內部,而不是外部主機,否則被外部主機識別爲U盤
fdisk -l查看設備識別情況,U盤插入後會識別爲sdb
mount -t vfat /dev/sdb1 /mnt/usb
CentOS6.x系列掛載時不需要制定-t類型也能自動識別掛載成功!!
服務器管理規範:
越是安全等級要求高的服務器,越是嚴格限制用戶等級,不能所有人都是root,遠程服務器不能關機。
服務器不允許在負載高峯執行高負載命令。例如殺毒、大數據壓縮解壓縮,複製,全盤搜索。
作業
1、整理筆記
2、課堂練習
3、作業題
4、預習:vi和軟件安裝