linux基礎知識學習筆記


1、Linux介紹

Linux版本:

  內核版本:最基本的核心程序,只要用於企業和個人在此基礎自行開發所需功能。

  發行版本:在內核基礎上增加了一些常用軟件,滿足企業和用戶直接使用的基本需求。

Linux應用領域:

  個人桌面:圖形桌面開發

  服務器領域:整個系統就像dos命令行一樣,全部命令操作。

  嵌入式領域(智能硬件):在Linux基礎上開發自己所需的功能然后將程序燒到硬盤中去執行。

  后兩個實用最廣泛;

2、Linux目錄和文件操作

Linux目錄:

  Linux的四種文件類型:

    1.可分享的

    可以分享給其他系統掛載使用的目錄,所以包括執行文件與用戶的郵件等數據, 是能夠分享給網絡上其他主機掛載用的目錄;

    2.不可分享的

    自己機器上面運作的裝置文件或者是與程序有關的socket文件等, 由於僅與自身機器有關,所以當然就不適合分享給其他主機了。

    3.不變的

    有些數據是不會經常變動的,跟隨着distribution而不變動。 例如函式庫、文件說明文件、系統管理員所管理的主機服務配置文件等等;

    4.可變動的

    經常改變的數據,例如登錄文件、一般用戶可自行收受的新聞組等。

  事實上,FHS針對目錄樹架構僅定義出三層目錄底下應該放置什么數據而已,分別是底下這三個目錄的定義:

  / (root, 根目錄):與開機系統有關;

  /usr (unix software resource):與軟件安裝/執行有關;

  /var (variable):與系統運作過程有關。

  /:根目錄,Linux文件系統的入口.也是最高一級的目錄.

  /etc:系統配置文件目錄,不建議在此目錄下存放可執行文件,重要的配置文件有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d等,修改配置文件之前記得備份。

  /usr:應用程序存放目錄,軟件的安裝路徑

    /usr/lib:存放不能直接運行的,卻是許多程序運行所必需的一些函數庫文件。

    /usr/bin:存放應用程序;

    /usr/share:存放共享數據;

    /usr/lib:存放不能直接運行的,卻是許多程序運行所必需的一些函數庫文件。

    /usr/local:存放軟件升級包。

    /usr/share/doc:系統說明文件存放目錄。

    /usr/share/man:程序說明文件存放目錄。

  /var:放置系統執行過程中經常變化的文件;

    /var/log:隨時可能更改的日志文件;

    /var/log/message:所有的登錄文件存放目錄;

    /var/spool/mail:郵件存放的目錄;

    /var/run:程序或服務啟動后,其PID(端口號)存放在該目錄下。

  /lib:系統使用的函數庫的目錄,程序在執行過程中,需要調用一些額外的參數時需要函數庫的協助。比較重要的目錄為/lib/modules。

  /bin:可執行二進制文件的目錄,如常用的命令ls、tar、mv、cat等;類似於/usr/bin

  /home:系統默認的用戶家目錄,新增用戶賬號時,用戶的家目錄都存放在此目錄下,~表示當前用戶的家目錄,~test表示用戶test的家目錄。用戶的個人文件都存放在此目錄下。

  /tmp:一般用戶或正在執行的程序臨時存放文件的目錄,任何人都可以訪問,重要數據不可放置在此目錄下

  這里介紹了一些常用的目錄,想要了解更多請前往:http://www.cnblogs.com/silence-hust/p/4319415.html

文件操作:

  1、文件的顯示

  ls:顯示當前目錄下的文件和目錄

  ls -a:顯示當前目錄下的所有文件和目錄,包括隱藏文件和目錄。

  ls -l:顯示當前目錄下文件盒目錄的詳細信息。

  ls -h:以合適的單位顯示當前目錄下的文件和目錄的大小

  ls -alh 或 ls -a -l -h:三者不分前后順序

  例:ls  /bin:查看根目錄下,bin文件夾里的所有內容;

  2、目錄的跳轉

  cd:打開某個文件夾,后跟文件夾名或文件夾的路徑

  cd - :跳轉到上一次操作,只在最后兩步之間來回跳轉。

  cd ~:跳轉到當前路徑的家目錄下,例如/home/hadoop

  pwd:顯示當前的絕對路徑

  cd ..:跳轉到當前路徑的上一層

  .:表示當前路徑

  ..:當前路徑的上一層

  ../../..:當前路徑上三層

  3、正則表達式 

  *:通配符,匹配任意字符,*.txt所有以.txt結尾的文件名。

  [abc]:中括號中的人一個匹配成功即可,相當於a,b,c的並集;可寫成[a-c]。

  ?:表示此處有一個字符,未知的,不能是空;

  ‘^a’:以a開頭的內容

  ‘a$’:以a結尾的內容

  4、文件創建和刪除

  gedit:打開要編輯的文件。

  mkdir:創建文件夾

  mkdir a :當前目錄創建文件夾a

  mkdir A/B/C -p:創建三級文件夾

  tree:顯示文件樹

  rm:刪除文件(不進回收站)

  rm a/* -r:刪除文件夾內的內容

  rm a -r:刪除文件夾

  rmdir:刪除空文件夾

    -i:交互式詢問刪除

    -f:不交互直接刪除

  ln:給原文件創建快捷方式,分軟連接和硬鏈接

  ln 原文件名 快捷鍵名

  軟連接:刪除快捷方式對原文件沒影響,刪除原文件快捷方式打不開

  ln -s 原文件名 快捷鍵名

  硬鏈接:刪除原文件,快捷方式不影響查看,相當於一個文件的多個名字備份,直到刪到最后一個才能刪除原文件。

  5、文件搜索

  grep:從文件中搜索內容。

  grep -n 't':顯示所有帶‘t’的內容,不區分大小寫,顯示行號

  grep -i 't':忽略大小寫

  grep -v 't':顯示除帶‘t’以外的內容

  ‘t’:可以用正則表達式來代替

  find:查找當前路徑下的文件

  find 路徑名 + ……

    -name   filename             #查找名為filename的文件
    -perm                              #按執行權限來查找
    -user    username           #按文件屬主來查找

    -size    -2M                     #按文件大小查找,小於2兆

  6、文件的復制和移動

  cp 想要復制的文件名 復制到的文件名 :文件的復制

    -v:顯示復制進度條

    -i:交互式復制

    -f:強制性復制

    -a:同事復制文件的隱性信息,比如權限,軟連接本身

    -r:復制文件夾 例cp b a/ -r :將b文件夾復制到a文件夾下

      cp b/* a/ -r :將b文件夾下的內容復制到a文件夾下

  mv:移動就是剪切

  mv 05.tmt 05.tot:將第一個名字重命名為第二個名字

  7、文件的壓縮

  tar -cvf xxx.tar *:打包當前路徑所有文件為xxx.tar

  tar -zcvf xxx.tar.gz * :壓縮當前文件夾所有文件

  gzip xxx.tar:壓縮打包好的文件夾xxx.tar得到文件名為:xxx.tar.gz

  gzip test.tar:同上,gzip xxx.tar

  tar -xvf xxx.tar:解壓文件

  gzip -d xxx.tar.gz:解壓文件

  tar -zxvf xxx.tar.gz (-C路徑):解壓當前壓縮文件到指定路徑

  上述中的‘z’可改成‘j’是一種算法壓縮,xxx.tar.bz2就是一種bz2算法壓縮

  zip(-r) myzip.zip *:直接壓縮文件夾所有內容

  unzip -d .test/AA myzip.zip:解壓文件到指定文件夾

  8、文件的權限

  -,+,=:減少,增加,設置權限

  chomd u-w 文件名:給用戶減少寫操作權限

  u:擁有用戶,o:其他人,g:同組人,a:所有

  r,w,x:讀,寫,執行      數字賦值分別為:4,2,1,u=rwx,o=rwx,g=rwx等價於a=rwx

  a=  :等於空表示什么權限都沒有

  chomd 777 文件名:文件夾的權限

  chomd 777 文件名 -R:文件夾內所有文件的權限

  chown:修改文件的擁有者

  chgrp:修改文件所屬組

常用快捷鍵操作  

  1、實用操作命令

  clear:清空當前的屏幕,只是將當前頁面內容上移,並沒有刪除。

  Tab:用來自動補全輸入

  touch:在當前文件夾中創建文件,Linux沒有文件名后綴的形式,例test.txt只是一個文件名。

  \:反斜杠,轉義字符。例 ls \*a 顯示*a文件夾里的文件和目錄

  >:輸出重定向,將內容輸出到此文件中,沒有此文件就創造文件,有此文件就刪除原文件內容,將此內容輸出到文件中。

  >>:同上,只是在存在同名文件時,將此內容追加到文件后,並不刪除原文件內容。

  例:ls > test.txt:將想要顯示的內容保存到test.txt文件中去。  

  more:文件內容大於一屛時,將文件里的內容滾屏顯示。

  | (管道):連接兩個命令。例 ls -alh|more

  cat:查看文件內容,如果文件內容較多,可用鼠標滾珠查看,一掃而過。

  cat 文件名 > 文件名:實現將文件的內容復制到另一個文件

  cat 多個文件名 > 文件名:實現多個文件的合並。 

  2、幫助文檔 

  history:歷史輸入命令

  --help:幫助文檔

  ls -help :查看ls命令的幫助

  manual:Linux手冊。比help好用很多,顯示格式也比較好看。

  man ls :查看ls命令解釋

  man 2或3 ls :以不同語言形式展現命令幫助,(2代表C語言,3代表……)

  which:查看命令的位置,例 which ls:查看ls命令所在的位置

  bin 文件夾下都是執行程序,/bin,/usr/bin都是

  mount :掛載命令

  3、查看日期

  cal:查看當前日歷

  cal -y 2018 :顯示2018年的日歷

  date:顯示當前時間(ntp:網絡時間協議)

  date [MMDDhhmm[[yy]ss]]:格式化輸出

  date ‘+%Y-%m’ :格式化輸出

  4、進程控制

  ps:查看進程信息,相當於任務管理器

  ps -aux:顯示所有正在運行的程序

    -a:顯示終端上的所有進程 

    -u:顯示進程的詳細狀態

    -x:顯示沒有控制終端的進程

    -w:顯示加寬以便顯示更多信息

    -r:只顯示正在進行的進程

  top:動態顯示進程 

  m:內存,c:CPU等可按照屬性的首字母排序

  kill:殺死正在進行的進程

  kill pid 或 kill -9 pid(殺不死用這個)

  5、關機與重啟

  reboot:重啟

  shutdown -r now :立刻重啟

  shutdown -h now :立刻關機

  shutdown -h 20:35 :八點三十五關機

  shutdown -h +10 :十小時后關機

  init  0 :關機

  init 6 :重啟

  df :檢查當前磁盤情況

  du :顯示當前路徑下的所有文件的大小及路徑

  du -h :顯示文件大小的單位

編輯器及其常用操作操作

  1、編輯器選擇和模式

   編輯器:sublime,vim:命令模式,編輯模式,末行模式

  sublime的安裝和使用技巧:

  subl:打開快捷鍵

  gedit:打開文本編輯器

  vim是vi的升級版本……

  vim 1.py +23:直接打開跳轉到23 行

  v:進入可視模式,按字符移動選取

  r:替換當前字符

  R:替換光標后的字符

  /+內容:找想要的內容

  N,n :向上或向下跳轉

  vi 1.py :直接進入命令模式

  進入編輯模式的三種方式:

    i:當前光標位置的前面插入

    o:在下一行插入

    a:當前光標后插入

  esc:編輯模式回到命令模式

  I:行首    A:行末    O:上一行

  命令模式下:

  shift+zz:保存並退出

  :+x:保存並退出

  命令模式-->末行模式的轉變用:冒號

  末行模式下:

  X  加密文件

  冒號+w:保存

  冒號+q:退出

  冒號+wq:保存並退出

  !:強制執行

  2、編輯模式常用快捷鍵

  ctrl + n :自動提示補全

、 h,j,k,l,M:左,下,上,右,中

  L:當前屏幕最后一行

  yy:復制,例:8yy從光標當前所在行復制8行

  p:粘貼

  dd:剪切,例:8dd從當前行剪切8行

  u:撤銷

  ctrl + r:反撤銷

  G: 跳到最后一行

  15G:跳到15行

  1G:跳到第一行

  gg:跳到第一行

  w:往右跳一個字

  d:往左跳一個字

  ctrl + d:向下半屏

  ctrl + u:向上半屏

  ctrl + f:向下一屏

  ctrl + b:向上一屏

  3、編輯模式下的刪除操作

  X:刪除左邊的字符

  x:刪除當前字符

  D:刪除光標這一行的行末內容

  d0:刪除光標前的內容

  dw:刪除光標后的所有內容

  >> << :文本的左右移動或Tab鍵

  .:上一步執行的命令

  4、末行模式

  :%s/123/abc/g  :將當前文本中所有的123都替換成abc。

  :1,10s/123/abc/g:將當前文本1到10行的替換

  vim例可實現shell命令操作

  :!+終端的shell命令

  vim 的分屏操作,Linux安裝軟件等:有待補充

 

 

  

  

 

 

 

  

  

 

    

 

 

  

  

  

  

 

 

 

  

  

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM