第一次內網實驗
-
ls
-
英文原意 list
-
命令路徑 /bin/ls ,說明所有用戶都可以執行的,因為不在sbin中
-
顯示目錄文件
-
ls [-ald] [文件或目錄],-d是只查看目錄本身
-
-i 任何目錄的一個id號,i節點
-
-
文件類型
-
-文件
-
d目錄
-
l軟鏈接
-
-
文件許可權
-
-rw-r–r–
-
所屬者u ,所屬組g,其他用戶o
-
r讀,w 寫,x執行
-
-
mkdir
-
英文:make directiories
-
所在目錄: /bin/mkdir
-
語法: mkdir -p 【目錄名】
-
-p是創建多級子目錄
-
mkdir {1..10}.txt
-
-
cd
-
change directory :更改目錄
-
shell內置命令
-
cd 【目錄】
-
-
pwd
-
print working directory:顯示當前目錄
-
/bin/pwd
-
-
rmdir
-
remove empty directory:刪除空目錄
-
/bin/rmdir
-
-
cp
-
copy:複製文件或目錄
-
/bin/cp
-
語法:cp -rp 【源文件或目錄】 【目標目錄】,-r是複製目錄,-p是保留屬性
-
複製的同時可以改名
-
-
mv
-
move:剪切文件、改名
-
/bin/mv
-
mv 【源目錄或文件】 【目標目錄】
-
-
rm
-
remove:刪除文件,如果加 -r 可以刪除目錄
-
/bin/rm
-
語法:rm [-rf] 【刪除的文件或目錄】,-r是刪除目錄,-f是強制執行
-
文件處理命令
-
touch
-
touch:創建空文件
-
/bin/touch
-
語法:touch 【文件名】
-
注意: touch “a b ” 中間有空格的話用引號括起來,否則表示兩個文件
-
-
cat
-
cat:顯示文件內容,-n 顯示行號
-
/bin/cat
-
語法: cat 【文件名】
-
cat 不適合瀏覽內容比較多的文件,怎麼辦呢?使用more命令
-
-
tac
-
/usr/bin/tac:cat倒著寫,功能就是倒著輸出內容
-
-
more
-
more:分頁顯示文件內容,適合內容較多的文件查看
-
/bin/more
-
語法:more 【文件名】
-
瀏覽的時候,翻頁:f或空格(f可能表示forward) ,換行:enter回車鍵 ,退出:q
-
注意:more命令不能往回翻看,如果有的時候我們查看文件,但是翻過了,怎麼辦呢?使用less
-
-
less
-
less:分頁顯示文件內容,還可以搜索
-
/usr/bin/less
-
語法:less 【文件名】
-
向上翻頁是由pageup或向上箭頭,搜索使用 : /搜索內容 ,使用 n 跳轉到搜索的下一個內容(n表示next)
-
-
head
-
head:顯示文件內容的前面幾行,使用 -n指定行數,默認是10行
-
/usr/bin/head
-
語法: head -n 行數 【文件名】 ,-n 表示lines
-
-
tail
-
tail:查看末尾的幾行
-
/usr/bin/tail
-
語法: tail -n 行數 【文件名】
-
鏈接命令
-
ln
-
link:生成鏈接文件
-
/bin/ln
-
語法:ln -s 【源文件】 【目標文件】 ,ln -s 創建軟連接
-
示例:ln -s /etc/issue issue.soft 創建軟連接,ln /etc/issue issue.hard 創建硬鏈接
-
軟連接類似windows的快捷方式,軟連接的許可權是 lrwxrwxrwx
-
硬鏈接其實就如同 cp -p +同步更新 ,如同拷貝,並且保存了文件的屬性,但是和拷貝不一樣,硬鏈接會保持同步更新
-
當源文件刪除後,軟體自然是找不到源文件了,但是硬鏈接依然可以訪問,相當於可以做一個實時備份,但是硬鏈接不能跨分區。但是軟連接可以。硬鏈接不可以將目錄作為一個硬鏈接,軟連接可以
-
硬鏈接的i節點和源文件相同
-
文件搜索命令
-
find
-
find:文件搜索
-
/bin/find
-
find 【搜索範圍】 【匹配條件】
-
搜索方式
-
-name更具名字,-iname名字不區分大小寫
-
-size 根據文件大小
-
-user 根據用戶
-
-amin -cmin -mmin 根據時間屬性查找(access 訪問時間 change 文件屬性 modify文件內容)
-
-
案例:
-
find /etc -name init :將/etc 下面的所有init文件找到
-
find /etc -name init :將/etc 目錄下所有包含init的文件找到
-
find /etc -name init* :將/etc目錄下所有以init開頭的文件找到
-
find /etc -name init??? :以init開頭後面跟三個字元的
-
-iname 不區分大小寫
-
find / -size +204800:查找/根目錄大於204800大小的文件,使用 – 號表示小於,不加符號表示等於
-
find /home -user zrw :查找home下用戶zrw的所有文件
-
find /etc -cmin -5:查找5分鐘之內修改過屬性的文件(-5 表示5分鐘內,+5 表示超過5分鐘)
-
find /etc -name inittab -exec ls -l \; :表示查找/etc下名字為initab 並且顯示詳細資訊
-
-
條件:
-
-a表示and,比如: find /etc -size +1680 -a -size -2000 :查找大於1680小於2000的文件
-
-o 表示or
-
-
-
locate
-
locate:在文件資料庫中查找文件,類似於windows下everything這個軟體,查找非常快
-
/usr/bin/locate
-
locate 【文件名】
-
updatedb 更新資料庫
-
-
which
-
which:搜索命令所在位置以及別名
-
語法:which 【命令】
-
案例: which ls
-
-
whereis
-
whereis :搜索命令所在位置以及幫助文檔的路徑
-
語法:whereis 【命令名稱】
-
-
grep
-
grep:在文件中搜索字元串匹配的行並輸出
-
-i ,不區分大小寫
-
-v,排除指定字元串
-
語法: grep mysql /root/install.log :在log中查找mysql相關的行
-
grep -A 3 “root” /etc/passwd:-A表示後3行,-B表示前面
-
許可權管理命令
-
chmod
-
change the permissons mode of a file:改變文件或目錄的許可權
-
/bin/chmod
-
語法: chmod [ {ugoa}{+-=}{rwx}] 【文件或目錄】,或者使用數字 chmod 777 【文件名或目錄】
-
-R可以遞歸修改,會改變某一文件或目錄下說有文件或目錄的許可權
-
許可權。
-
r: ls
-
w: mkdir/rm/rmdir/touch
-
x: cd
-
-
-
chown
-
change file ownership:更改許可權所有者
-
/bin/chown
-
chown 【用戶】 【 文件或目錄】
-
-
chgrp
-
change file group ownership:改變文件霍姆的所有組
-
/bin/chgrp
-
chgrp 【用戶組】 【文件或目錄】
-
-
創建用戶和組
-
創建用戶: useradd 名字 ,passwd 密碼
-
創建組: groupadd 組名字
-
-
預設創建許可權
-
umask -S :查看默認許可權設置
-
幫助命令
-
man
-
manual:獲得幫助資訊,幫助手冊
-
/usr/bin/man
-
語法: man 【命令或配置文件】
-
案例
-
man ls
-
man services:配置文件
-
-
man 1 【命令】 、man 5 【配置文件】,如果一個命令同時也是配置文件,那麼可以使用這種方式進行查看
-
當然配置文件也可以使用 apropos 配置文件
-
-
–help
-
–help:只會將主要選項列出來,幾乎所有的命令都可以使用help
-
【命令】 –help
-
-
info
-
information:與man差不多
-
-
whatis
-
whatis:查看命令簡簡訊息
-
whatis 【命令】
-
案例: whatis ls
-
-
help
-
help:shell內置命令的幫助資訊,其實shell就是一個命令解析器
-
語法:help 【shell內置命令】
-
案例: help umask,如果使用man umask是查不到幫助資訊的,因為它屬於shell內置命令,所以要使用help
-
比如不知道 if 怎麼用,可以: help if ,因為 if for 都是內置命令
-
壓縮解壓命令
-
gzip
-
GNU zip:壓縮文件成.gz的文件
-
路徑:/bin/gzip
-
語法:gzip 【文件}
-
注意:壓縮後的文件格式為 .gz,注意這個命令只能壓縮 文件,不能壓縮目錄,壓縮後不保留源文件
-
-
gunzip
-
GNU unzip:解壓縮.gz的壓縮文件
-
等效於:gzip -d
-
語法:gunzp 【gz壓縮文件】
-
-
tar
-
tar:打包目錄
-
路徑:/bin/tar
-
語法:tar 選項【-zcf】 【打包及壓縮後文件名】 【目錄】
-
-c :打包
-
-v:顯示詳細資訊 verbose
-
-f:指定文件名 file
-
-z:打包的同時進行壓縮
-
-
注意:壓縮後的文件格式:.tar.gz
-
案例:
-
tar -cvf test.tar ./test :打包test目錄,文件名為test.tar。然後可以再進行壓縮:gzip test.tar
-
tar -zcvf test.tar.gz ./test :打包的同時進行壓縮,等效於前面兩個步驟
-
-
解壓縮:tar 選項【-zxvf】 【文件名】
-
-x:解包:extract
-
-z:解壓縮
-
-f:文件名
-
-v:顯示詳細資訊
-
-
-
zip
-
zip:壓縮文件或目錄,windows也存在這種格式,linux的壓縮格式windows幾乎都可以解壓,但是反過來就不一定
-
路徑:/usr/bin/zip
-
語法:zip 選項【-r】 【壓縮後文件】 【文件或目錄】,-r 指壓縮目錄
-
壓縮後的文件名:.zip
-
對比gzip:zip壓縮完後可以保留源文件,再加 -r 可以壓縮目錄,但是壓縮比不是很高
-
-
unzip
-
unzip:解壓.zip 壓縮文件
-
unzip 【壓縮文件】
-
案例:unzip test.zip
-
unzip test.zip -d /tmp/test1:指定目錄
-
-
bzip2
-
bzip2:壓縮文件,壓縮後文件為.bz2
-
路徑:/usr/bin/bzip2
-
語法:bzip2 選項【-k】 【文件】
-
-k產生壓縮文件後保留原文件
-
-
與gzip對比:gzip的一個升級版本,比gzip多了一個選項 -k,壓縮比非常驚人
-
與tar結合: tar -cjf 【打包及壓縮後文件名】 【目錄】:打包並壓縮成.bz2文件。-f表示以bzip2格式進行壓縮
-
tar -cjf test.tar.bz2 ./test :打包並壓縮成bz2格式
-
tar -xjf test.tar.bz2 :解壓縮
-
-
-
bunzip2
-
bunzip2:解壓縮
-
語法: bunzip2 選項【-k】 【壓縮文件名】
-
網路命令
-
write
-
write:給用戶發送消息,以 Ctrl+D保存結束
-
路徑:/usr/bin/write
-
語法:write <用戶名>
-
write zrw:之後就可以輸入內容,進行通訊
-
-
wall
-
write all:發廣播消息,給所有用戶發送消息
-
路徑:/usr/bin/wall
-
語法:wall 【消息】
-
-
ping
-
ping:測試網路連通性
-
/bin/ping
-
語法: ping 【選項】 【ip地址】,-c 指定發送次數
-
-
ifconfig
-
ifocnfig:interface configure,查看和設置網卡資訊
-
/sbin/ifconfig:執行許可權root
-
語法:ifconfig 【網卡名稱】 【ip地址】
-
案例:ifconfig eth0 192.168.116.5 :臨時更愛eth0網卡的ip地址,注意是臨時的,重啟不生效
-
-
mail
-
mail:查看發送電子郵件
-
/bin/mail
-
語法:mail 【用戶名】
-
案例:mail root :向root用戶發送mail
-
接收:直接輸入mail ,可以查看接收的mail,使用help可以查看mail支援的命令格式,然後輸入對應的命令查看內容,輸入序列化可以看具體的那封信
-
有時系統會給root發送郵件,這些郵件一般都是很重要的
-
-
last
-
last:列出目前與過去登入系統的用戶資訊
-
語法:last
-
-
lastlog
-
lastlog:檢查某特定用戶上次登錄的時間
-
語法:lastlog 【-u】 【用戶id】
-
案例:lastlog -u 502
-
-
traceroute
-
traceroute:顯示數據包到主機之間的路徑
-
路徑:/bin/traceroute
-
語法:traceroute
-
案例: traceroute www.baidu.com
-
注意:你在網上的任何操作都是有記錄的,所以要小心
-
-
netstat
-
netstat:顯示網路相關資訊
-
語法:netstat 【選項】
-
-t:TCP協議:tcp有點像打電話,先要接聽,雙方確定身份,而udp有點像發簡訊,不管你在不在就發了
-
-u:UDP協議
-
-l:監聽
-
-r:路由
-
-n:顯示IP地址和埠號
-
-
案例
-
netstat -tlun:查看本機監聽的埠
-
netstat -an:查看本機所有的網路連接
-
netstat -rn:查看本機的路由表
-
-
-
setup
-
setup:配置網路,是redhat自帶的管理工具集合,在其他版本中不存在
-
-
mount
-
mount:掛載
-
/bin/mount
-
語法:mount [-t 文件系統] 設備文件名 掛載點
-
案例: mount -t iso9660 /dev/sr0 /mnt/cdrom
-
linux的外設都要手動掛載
-
-
umount
-
umount:卸載,比如你掛載了光碟,現在要彈出光碟的話,在linux中需要umount卸載後才可以彈出
-
umount 【設備文件名】
-
注意:卸載的時候,不能在掛載目錄下
-
關機重啟命令
-
shutdown
-
shutdown 【選項】 【時間】
-
選項
-
-c:取消前一個關機命令
-
-h:關機
-
-r:重啟
-
-
案例
-
shutdown -h now
-
shutdown -r
-
-
注意:使用shutdown 關機重啟會更加安全。
-
關機重啟前,最好關閉服務,遠程伺服器不要使用關機,要使用重啟
-
-
其他關機命令
-
halt
-
poweroff:相當於直接斷電,慎用
-
init 0
-
-
其他重啟命令:
-
reboot
-
init 6
-
-
系統運行級別
-
0:關機
-
1:單用戶:和windows的安全模式相似,啟動最核心服務,可以進去進行一些修復,只有root登錄
-
2:不完全多用戶,不含NFS服務:network file system,網路文件系統,比如網路文件共享,不建議使用NFS,因為有安全隱患
-
3:完全多用戶
-
4:未分配
-
5:圖形介面
-
6:重啟
-
使用:cat /etc/inittab:查看所有運行級別,可以在這個文件裡面修改默認的系統運行級別
-
使用:runlevel:查看當前運行級別
-
-
logout
-
logout:退出登錄
-
做完工作之後一定要在伺服器logout,這是安全意識。不管是遠程登錄還是本地登錄
-
vim文本編輯命令
vim常用操作
-
插入命令
-
a:在游標所在字元後插入,大寫 A 表示在行尾插入
-
i:在游標所在字元前插入,大寫 I 表示在行首插入
-
o:表示在游標所在行的下面,新建行。大寫 O 表示在游標所在行的上面,新建行
-
-
定位命令
-
0:表示行首
-
$:表示行尾
-
gg:到第一行
-
G:到最後一行
-
nG:到第n行
-
:n:到din行
-
set nu:設置行號,等同於 :set number
-
set nonu :取消行號:set nonumber
-
-
刪除命令
-
x:刪除游標所在字元
-
nx:刪除游標所在後面n個字元
-
dd:刪除本行
-
dG:刪除游標所在行到末尾
-
D:刪除游標所在到行尾
-
:n1,n2d:刪除從n1到n2的字元
-
-
複製和剪切
-
yy:複製當前行
-
nyy:複製當前行以下n行
-
dd:剪切當前行
-
ndd:剪切當前行以下n行
-
p:粘貼在當前所在行下
-
P:粘貼在當前所在行上
-
-
替換和取消命令
-
r:replace的意思,替換當前字元
-
R:從當前字元開始替換,按esc 結束
-
u:撤銷上一步操作
-
-
搜索和替換命令
-
/string:搜索指定字元串,區分大小寫,使用 :set ic 忽略大小寫
-
n:搜索指定字元串的下一個位置
-
:%s/old/new/g:替換,如果不用g,使用 c 的話,每一次替換會詢問是否替換
-
:n1,n2s/old/new/g:替換指定位置之間的字元串
-
-
保存退出
-
:w:保存修改
-
:w newfilename:保存為新文件
-
:wq:保存並退出
-
ZZ:快捷鍵保存並退出
-
q!:不保存修改腿粗和
-
wq!:強行保存修改並退出(文件所有者才可以使用)
-
使用技巧
-
導入命令執行結果
-
:r !命令
-
案例:
-
:r !ls
-
:r !cat test.txt
-
:r test.txt :導入test.txt 文件內容
-
!date:在vim 編輯中查看命令
-
r !date:直接將命令執行的結果寫入文件中
-
-
-
連續注釋行
-
n1,n2s/^/#/g:在指定範圍行的行首插入#
-
n1,n2s/^#//g:將指定行的行尾#替換為空,即去掉#
-
-