liunx總結

liunx基本命令

  • date命令是顯示當前時間
  • history是顯示你之前敲過的命令
  • crtl+P是自動倒着輸入你歷史的命令,crtl+N與其相反,當然上下鍵也可以
  • crtl+B是光標向前移動,+f向後移動,+a到行首,+e到行尾
  • 光標前邊的刪除按刪除鍵,del或者ctrl+d是刪除光標覆蓋的字符,ctrl+u是刪除光標前面的所有,+l是清屏
  • tab鍵是自動填充加提示,按下tab會提示你打的字相關的命令,還能自動填充和提示地址,可以將你
    寫的地址下的子目錄全部顯示出來,提示都是按兩下
  • cd是打開文件夾,ls是查看文件夾內容,ls -a隱藏文件查看,ls -l還有詳細信息,pwd顯示你絕對路徑
  • bin目錄下是常用命令,boot目錄下是系統啓動文件,dev目錄下是設備文件
    etc下是安裝的軟件的配置文件,home是你的用戶的目錄,lib是系統用到的各種庫,
    media和mnt是掛載外設的,media是自動掛載的,mnt是手動掛載的,opt額外裝軟件的目錄(一般默認撞到usr),
    root是管理員目錄,usr目錄下是當前用戶的應用程序和文件
  • 絕對路徑和相對路徑:前者從根目錄開始寫,後者是當前目錄。.表示當前目錄,…表示上一級目錄,
    -是臨近目錄切換,cd ~就是去你用戶的目錄
  • 查看你用戶的所有文件:先安裝tree軟件,sudo apt-get install tree,命令行裏打上tree,想看具體文件夾
    就輸入tree 文件夾名。
  • 顏色標識(大部分是的):白色:普通文件,藍色:目錄,綠色:可執行文件,紅色:壓縮文件,青色:鏈接文件(類似快捷方式),
    黃色:設備文件,灰色:其他文件
  • 創建目錄:例如 mkdir lover,創建連續的目錄:mkdir -p aa/bb/cc,刪除空目錄:rmdir lover,
    刪除非空目錄:rm -r aa無提示rm -ri aa有提示
  • 創建文件:touch lucc.c 記得帶後綴,刪除文件(-i有提示) rm -i lucc.c或者rm lucc.c
  • cp lucc.c temp.c,前面是要複製的文件內容,後面是要複製到裏面的文件內容(文件名的好像都可以絕對路徑),
    cp hello nihao -r,是複製目錄,如果目標目錄存在就會把hello放進nihao裏,不存在就會創建一個同級nihao目錄,cp hello/* nihao -r 會把hello裏面的內容移動到nihao下面
  • cat命令可以查看文件內容(顯示的較短),more命令顯示所有內容(回車下一行,空格下一段,b是上翻,q退出)
  • mv命令可以改文件名字,mv hello.c haha.c,還可以移動到目錄裏mv hello.c haha
  • 軟連接就是快捷方式(可以跨分區),硬連接就是複製粘貼(不可以跨分區)。源文件消失軟連接無法工作,硬鏈接可以使用。軟連接目錄和文件都可以,而硬鏈接只能文件。軟連接 :ln -s 絕對路徑/文件名 軟連接名,例如:home下的hello.c ln -s /home/hello.c nihao 。硬鏈接:ln 源文件 目標文件.hard 例如:ln hello.c nihao.hard。刪除可以用rm。
  • ./可執行文件(路徑也可以),就會執行文件。du -h顯示當前目錄下文件夾大小,df -h顯示文件系統佔用大小
  • which命令跟命令,會解析你後面的命令地址在哪。
  • whoami命令顯示當前登錄用戶,
  • chmod命令修改文件讀寫權限,chmod [who][±=][mode],who有u(文件所有者),g(文件所屬組),o(其他人),a(全部),+增加權限-減少=覆蓋之前權限,mode:r(讀),w(寫),x(執行),舉例:chmod a+w filename所有人有文件寫權限,
    文件名ls -l顯示出來的,-rw-rw-r,第一個文件所有者有rw權限,文件組有rw權限,其他人有r權限。
    數字權限:0:沒有權限,r:4,w:2,x:1,chmod 777 filename給所有人rwx權限,chmod 377 filename給所有者wx權限
  • 組:一個文件可以是一組的A創建的,但是它可以屬於二組,就像你買了垃圾桶,你放到別人家裏。其他人就是三組
  • 更改文件所有者:chown 用戶名 文件名,更改用戶組:chown 用戶名:組 文件名,chgrp 組 文件名
  • 查找文件:按名字:find 查找目錄 -name “文件名”,在不知道全名的情況下,find 路徑 -name “文件部分名*”(*匹配多個字符,?匹配一個字符)。
    按文件大小:find 查找目錄 -size +10k -size -10M (查找目錄下大於10k小於10M的文件)(+10k是大於10kb,-10k是小於)
    按文件類型:find 查找目錄 -type 文件標識(d:目錄,f:普通文件,b:塊設備,c:字符設備,s:套接字,p:管道)
  • 按文件內容查找:grep -r “查找內容” 查找路徑

軟件安裝

在線安裝

  • 安裝軟件:sudo apt-get install 軟件名字,移除軟件:sudo apt-get remove 軟件名字,更新軟件列表:
    sudo apt-get update,清理所有軟件安裝包:sudo apt-get clean
  • 安裝aptitude後,sudo apt-get install aptiyude,安裝:sudo aptitude install 軟件名字,重新安裝:sudo aptitude reinstall 軟件名字,更新:sudo apt-get update,移除:sudo aptitude remove 軟件名字,顯示是否安裝成功:sudo aptitude show 軟件名字

deb包安裝

  • deb包安裝:sudo dpkg -i 安裝包名字,卸載:sudo dpkg -r 軟件包名(軟件包名會在安裝時顯示)

源碼安裝

  1. 解壓縮源代碼包
  2. 查看裏面的readme文件,或者官網會有執行安裝的步驟,根據他的步驟來
  3. 進入到安裝目錄,執行./configure
  4. 然後make一下
  5. 安裝軟件:sudo make install
  6. 卸載:sudo make distclean

U盤的掛載

  • 一般插上U盤就會自動給你掛載到/media,一般在用戶名字下面
  • 卸載U盤:umount U盤絕對路徑
  • 安裝U盤到/mnt:先sudo fdisk -l查看U盤名字,例如:/dev/sdc4,sudo mount U盤名字 /mnt
  • 拷貝文件就用cp命令,卸載U盤要退出U盤目錄,sudo umount U盤絕對路徑
  • 掛載到其他目錄的話會臨時覆蓋其他目錄裏的東西,當結束掛載會恢復,所以要掛載到mnt或者自動掛載

壓縮包管理

  • tar命令:
    • 壓縮:tar zcvf xxx.tar.gz(壓縮包名字) 壓縮文件名,tar jcvf xx.tar.bz2(壓縮包名) 壓縮文件名,你只需要改變xxx就行。壓縮多個文件往後排就行,也可以目錄/文件名
    • 參數意思:c-壓縮 x-解壓縮 v-顯示提示信息 f-指定壓縮文件名字 z-用gzip方式壓縮 j-用bzip2方式壓縮
    • 解壓縮:解壓bz2:tar jxvf 壓縮包名字 -C 目錄名,想解壓到當前目錄:tar jxvf 壓縮包名字。解壓gz:tar zxvf 壓縮包名字 -C 目錄名,想解壓到當前目錄:tar zxvf 壓縮包名字
  • rar命令:
    • 首先安裝rar:sudo apt-get install rar
    • 壓縮:rar a 壓縮包名字(xxx(可以不用帶後綴)) 壓縮文件或目錄
    • 解壓縮:rar x 壓縮包名 解壓縮目錄(不帶的話就是當前文件夾)
    • 參數意義:壓縮:a,解壓縮:x
  • zip命令:
    • 壓縮:zip -r 壓縮包名(也不用後綴) 壓縮的文件或者目錄
    • 解壓縮:unzip 壓縮包名 -d 解壓目錄 或 unzip 壓縮包名(當前文件夾)
      壓縮:命令+參數+壓縮文件名字+壓縮文件或目錄
      解壓:命令+壓縮包名字+參數+解壓目錄

進程命令

  • 查看當前在線用戶狀況:who
  • 切換設備終端:ctrl+alt+F1,2…7
  • 查看所有進程:ps aux,在TTY欄帶?的是沒有終端的。管道就是把一個的輸出當成另一個的輸入,管道用|表示。例如:ps aux | grep bash:將所有進程的輸出當成grep的輸入,在輸入裏查找bash字符。
  • 殺死進程:kill -SIGKILL 進程ID,進程ID是ps aux顯示的第二列,kill -l會顯示kill所有的命令
  • 查看當前進程的環境變量:env,想繼續篩選就要使用管道,例如env | grep PATH。環境變量格式:key=value:value:value:value
  • top命令:相當於任務管理器,只能看

網絡相關

  • 查看你電腦網卡相關信息:ifconfig命令,inet地址就是你的IP地址,硬件地址就是MAC地址。
  • 兩臺主機能否通信:ping IP地址,-c 4四條信息後結束 -i 4每四秒ping一次,能否上網就把IP改成www.baidu.com
    ,想知道對應網址的IP就用nslookup 網址

用戶管理

  • 添加用戶:sudo adduser 用戶名(不能有大寫),切換用戶:su 用戶名,useradd命令:sudo useradd -s /bin/bash -g 組名 -d /hmoe/用戶名 -m 用戶名,這個命令要自己提前創建組
  • 添加組:sudo groupadd 組名
  • 修改密碼:sudo passwd 用戶名
  • 刪除用戶:sudo userdel -r 用戶名
  • 查看用戶是否刪除或創建:vi /etc/passwd,裏面的每一行都是一個用戶

ftp服務器搭建(作用:文件的上傳和下載,想操作目錄就打包)

  • 先安裝軟件:sudo aptitude install vsftpd
  • 服務器端
    1. 修改配置文件
      • 進入etc目錄,編輯配置文件sudo vi vsftpd.conf
      • anonymous_enable=YES,允許匿名用戶登錄
      • local_enable=YES,允許本地用戶登錄
      • 取消註釋write_enable=YES,允許實名用戶上傳
      • 取消註釋local_umask=022,本地掩碼
      • 取消註釋non_upload_enable=YES,允許匿名用戶上傳
      • anon_mkdir_write_enable=YES,允許匿名用戶創建目錄
    2. 重啓服務器
      • sudo service vsftpd restart
  • 默認客戶端
    • 實名用戶登錄
      1. ftp 服務器IP
      2. 輸入服務器名字,服務器密碼
      3. 之後就會自動進入服務器家目錄,然後可以隨意在服務器的目錄切換了
      4. 退出:bye
      • 文件的上傳和下載
        • 上傳文件:put 文件名,客戶端登錄ftp的時候目錄裏有的文件才能put
        • 下載文件:get 文件名,服務器目前所處文件夾下有的才能下載
    • 匿名用戶登錄(不允許匿名用戶隨意切換目錄)
      • ftp 服務器IP
      • 用戶名:anonymous 密碼:直接回車
      • 所以要給匿名用戶一個工作目錄,你可以在服務器一個地方創建一個目錄(一般家目錄創建一個就行),這個目錄就會作爲匿名用戶的根目錄,也有默認目錄在/srv/ftp/,還是建議自己創建
      • 然後sudo vi vsftpd.conf,在代碼裏添加:anon_root=/home/yixiyu/hello(你創建的目錄絕對路徑)
      • 如果發現你無法上傳文件,就要在服務器端創建的目錄下再建立一個目錄,給他777權限,才能正常上傳,如果你直接把匿名根目錄給寫權限會導致以後無法登錄匿名用戶
  • lftp客戶端
    • 軟件安裝:sudo aptitude install lftp
    • 匿名登錄:lftp 服務器IP,用戶名:login,回車即可登錄
    • 實名登錄:lftp 服務器名@服務器IP ,回車後輸入密碼
    • lpwd命令可以告訴你,你客戶端在哪個目錄下,lcd還能切換你的本地目錄
  • 具體操作
    • put 文件名:上傳單個文件
    • mput 文件名 文件名:上傳多個文件,
    • get 文件名:下載單個文件
    • mget 文件名 文件名:下載多個文件
    • mirror 目錄名:下載整個目錄及其子目錄,
    • mirror -R 目錄名:上傳整個目錄及其子目錄

nfs服務器搭建(類似共享文件夾)

  • 安裝軟件:sudo aptitude install nfs-kernel-server
  • 服務器端
    1. 創建共享目錄(mkdir)
    2. 修改配置文件:sudo vi /etc/exports,然後在倒數第二行添加你的共享文件夾,例如/home/yixiyu/hello *(rw,sync) 配置文件解讀:前面就是你的共享文件夾,是192.168.0. (0網段是根據你電腦現在網段設置的),rw讀寫權限ro只讀,sync文件同步更新
    3. 重啓服務:sudo service nfs-kernel-server restart
  • 客戶端
    1. 掛載服務器共享目錄:mount 服務器ip:共享目錄的絕對路徑 /mnt
    2. 進入/mnt目錄進行復制粘貼等等

SSH服務器搭建(遠程登錄其他主機)

  1. 遠程登錄主機
    • 安裝軟件:sudo aptitude install openssh-server
    • 遠程登錄:ssh 用戶名@IP ,然後輸入yes,不能只寫y,然後輸入密碼
    • 退出登錄:logout
  2. scp命令(超級拷貝)
    • scp -r 目標用戶名@目標IP:目標文件絕對路徑 保存到本機的絕對路徑

其他命令

  • 清屏快捷鍵:ctrl + l
  • 查看幫助手冊:man命令,第一章是命令,第二章是內核函數,第三章是庫函數,第五章是文件格式與規範
  • 查看命令封裝:alias 命令,打造命令自己搜搜
  • echo命令可以打印後面的字符串,echo PATHPATHPATH意思是打印PATH的值,是從變量中取 值
  • poweroff:關機,reboot:重啓電腦

VI與VIM的使用

  • 先裝VIM:sudo aptitude install vim

工作模式

  • 命令模式:按i,a,o,s進入文本模式,按shift+:(其實就是:)進入末行模式
    • 移動光標:h,j,k,l(上下左右好用)
    • 按0切換到行首,按$切換到行尾,按兩次g到文首,一次G到文尾,300G跳轉到300行
    • x刪除光標後面的字符,X刪除光標前面的字符,刪除單詞:dw(要移動到單詞開頭),刪除光標前內容:d0,光標後面:D,刪除當前行:dd,刪除多行:ndd(n是整型)
    • 撤銷:u,反撤銷:U
    • 複製粘貼:粘貼:p,複製:yy,複製多行:nyy(n是整型)
    • 可視化:按v,進入可視化界面,然後上下左右進行選擇,操作:複製:y,刪除:d
    • 查找:按/後輸入查找內容,按n切換到下一處查找到的位置,N去上一處,還有查找一個單詞,把光標方式再按#,就會自動查找了
    • 縮進:>>或者<< 向右向左縮進
  • 文本模式:按esc進入命令模式
    • 按a從光標處後面開始輸入,A行尾開始
    • 按i從光標處前面開始輸入,I行尾開始
    • 按o會創建新行,O當前行上邊創建新行
    • s會刪除一個字符換取輸入,S刪除一行換取輸入
  • 末行模式:按兩下esc在進入命令模式
    • 輸入數字:跳轉行數
    • 字符串替換:s/tom/jack替換當前行第一個tom,s/tom/jack/g替換當前行所有tom,%s/tom/jack替換文中所有tom,:27,30s/tom/jack/g替換其中27-30行的tom
    • wq保存並退出,w保存,q!退出不保存

分屏操作

  • 末行模式下垂直分屏,vsp命令,切換兩個屏ctrl+ww,退出一個q或wq,光標在哪個屏就退出那個,全退出wqall。
  • vsp 跟絕對路徑也可以
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章