第一次內網實驗

目錄處理命令

  • 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:將指定行的行尾#替換為空,即去掉#

    • n1,n2s/^/\/\//g:在指定行的行首插入 //

Tags: