Linux 學習筆記,linux學習筆記

來源:互聯網
上載者:User

Linux 學習筆記,linux學習筆記
     Linux是一套免費使用和自由傳播的類Unix作業系統,是一個基於POSIX和UNIX的多使用者、多任務、支援多線程和多CPU的作業系統。它能運行主要的UNIX工具軟體、應用程式和網路通訊協定。它支援32位和64位硬體。Linux繼承了Unix以網路為核心的設計思想,是一個效能穩定的多使用者網路作業系統。     Linux的基本思想有兩點:第一,一切都是檔案;第二,每個軟體都有確定的用途。其中第一條詳細來講就是系統中的所有都歸結為一個檔案,包括命令、硬體和軟體裝置、作業系統、進程等等對於作業系統核心而言,都被視為擁有各自特性或類型的檔案。至於說Linux是基於Unix的,很大程度上也是因為這兩者的基本思想十分相近。  linux shell命令 系統命令 

命令 作用 用法
ls 展示目錄檔案 ls -al <directory>
cd 改變目錄 cd <route>
mkdir/rmdir 建立/刪除目錄 cd <directory>
touch 建立檔案 touch <file>
date/cal 系統時間/日曆  
 
ps 顯示進程  
pwd 顯示目前的目錄  
df/du 顯示記憶體  
ifconfig 配置  
kill/reboot/shutdown 殺進程/重啟/關機  
cp/rm/mv 複製/刪除/移動 cp <srcouce> <destination>
 
ssh 遠程登入 ssh haoqi@haoqi-otc
chown/chgrp/chmod 修改許可權 chmod a+x <dir/file>
diff 對比檔案差異 diff <src>  <dest>
find 尋找檔案 find <dir> -name <file>
ping 檢查連通性 ping <IP>
tar 壓縮/解壓 tar -cvf <file.tar> 壓縮tar -xvf <file.tar> 解壓
 
which 尋找指令檔 which -a <file>
whereis 尋找檔案 whereis <file>
  文本處理命令  
cat 從第一行顯示檔案內容 cat [-n] <file>
grep 正則尋找內容 grep -n ’RE‘ 顯示行號
cut 把每一行分塊 cut -d 'RE' -f2 根據RE分割,選取2塊
echo 顯示文字 echo -[ne] "string" n換行 e轉義可用
sed 文字替換 sed 1,20s/a/b/g 第1-20行把a替換成b
awk 對一行的文文書處理 awk '{print $1 "\t" $3}' 將一行的第一塊和第三塊列印出來
 
tr 字元轉換 tr  “ ” ”\t“   把“ ”替換成tab
 unset 刪除變數 unset <var>
type  顯示命令類型 type <command/dir/file>
alias/unalias 建立/刪除別名 alias string1='string2'
command > file1 file2 < command file2 << "EOF"結束輸入
command 2>&1 / &> file3 command2 >> file1繼續添加 資料流重新導向
  Regex(grep '')
^word word在行首 grep -n '^the' 行首是the的行
word$ word在行尾 grep -n '\.$'  行尾是。的行
. 一定有任意一個字元 grep -n 'go.g' 包含go_g的行
\ 轉義  
word* 有0到無窮個前面的字元 grep -n 'goo*g' 包含go_____g的行
[list] 一定有一個[]內的字元 grep -n 'go[oa]g'包含goog/goag的
 
[n1-n2] 有一個範圍內的字元 grep -n '^[0-9]' 行首為數字
[^list] 不在列表內的字元 grep -n '[^a-zA-Z]' 不包含字母
word\{n,m\} 重複n-m邊前面的word字元 grep -n 'go\{2,5\}g' 行的gg之間有2-5個o
     
     
     
  vim操作  
i/ESC 進入編輯/一般 模式  
n G 去第n行 11G 去11行
gg/G 第一行/最後一行  
ctrl+f / b 向上/下翻頁  
Home/End 行首/尾  
/word   ?word 向後/前尋找word /aaa  尋找aaa所在的行並定位
 
n 重複前一個操作  
:n1,n2s/a/b/g 一般模式下的替換 :2,20s/a/b/g 第2-20行a替換成b
x 刪除一個字元  
dd 刪除一行  
n dd 刪除游標之後的n行 111111dd 刪除111111行,用於清空
n yy 複製游標之後的n行 11yy
 
p 複製到游標所在位置  
u 撤銷上一步操作,類似ctrl+z  
:wq/wq! 一般模式,儲存並退出vim  
:set nu 設定行標  
:r/w <file> 讀寫另一個檔案 :r a.txt
   判斷語句 []判斷語句一般用中括弧[] 來進行識別,數值和變數的比較也有所不同,且有固定的格式,中括弧及內容都需要空格隔開,例如判斷string1和string2是否相等,如果為真返回0 [ "string1" = "string2" ]    整數數值比較,不用<> =來進行比較
-eq 等於 [ n1 -eq n2 ]
-ne 不等於  
-lt 小於litter than  
-le 小於等於  
-gt 大於great than  
-ge 大於等於  
判斷變數和字串
-d 變數是不是目錄 [ -d /directory ] 
-z 變數是否有值  
-f 變數是不是檔案  
-n 字串是否為空白  
     
     
 二 .ubuntu常用命令1. dpkg: package manager for Debian
  * 安裝: dpkg -i package
  * 卸載: dpkg -r package
  * 卸載並刪除設定檔: dpkg -P |--purge package
  * 如果安裝一個包時。說依賴某些庫。 可以先 apt-get install somelib...
  * 查看軟體包安裝內容 :dpkg -L package
  * 查看檔案由哪個軟體包提供: dpkg -S filename
  * 另外 dpkg還有 dselect和aptitude 兩個frontend.
  2. apt
  * 安裝: apt-get install packs
  * apt-get update : 更新源
  * apt-get upgrade: 升級系統。
  * apt-get dist-upgrade: 智能升級。安裝新軟體包,刪除廢棄的軟體包
  * apt-get -f install : -f == --fix broken 修複依賴
  * apt-get autoremove: 自動刪除無用的軟體
  * apt-get remove packages :刪除軟體
  * apt-get remove package --purge 刪除包並清除設定檔
  * 清除所以刪除包的殘餘設定檔: dpkg -l |grep ^rc|awk '{print $2}' |tr ["/n"] [" "]|sudo xargs dpkg -P
  * 安裝軟體時候包的臨時存放目錄 : /var/cache/apt/archives
  * 清除該目錄: apt-get clean
  * 清除該目錄的舊版本的軟體緩衝: apt-get autoclean
  * 查詢軟體some的依賴包: apt-cache depends some
  * 查詢軟體some被哪些包依賴: apt-get rdepends some
  * 搜尋軟體: apt-cache search name|regexp
  * 查看軟體包的作用:apt-cache show package
  * 查看一個軟體的編譯依賴庫: apt-cache showsrc packagename|grep Build-Depends
  * 下載軟體的原始碼 : apt-get source packagename (注: sources.list 中應該有 deb-src 源)
  * 安裝軟體包源碼的同時, 安裝其編譯環境 :apt-get build-dep packagename (有deb-src源)
  * 如何將本地光碟片加入安裝源列表: apt-cdrom add
  3. 系統命令:
  * 查看核心版本: uname -a
  * 查看ubuntu 版本: cat /etc/issue
  * 查看網卡狀態 : ethtool eth0
  * 查看記憶體,cpu的資訊: cat /proc/meminfo ; cat /proc/cpuinfo
  (/proc下面的有很多系統資訊)
  * 列印檔案系統空間使用方式: df -h
  * 查看硬碟分區情況: fdisk -l
  * 產看檔案大小: du -h filename;
  * 查看目錄大小: du -hs dirname ; du -h dirname是查看目錄下所有檔案的大小
  * 查看記憶體的使用: free -m|-g|-k
  * 查看進程: ps -e 或ps -aux -->顯示使用者
  * 殺掉進程: kill pid
  * 強制殺掉: killall -9 processname
  4. 網路相關: 
  * 配置 ADSL: sudo pppoeconf
  * ADSL手工撥號: sudo pon dsl-provider
  * 啟用 ADSL : sudo /etc/ppp/pppoe_on_boot
  * 斷開 ADSL: sudo poff
  * 根據IP查網卡地址: arping IP地址
  * 產看本網資訊(包括ip等): ifconfig | ifconfig eth0
  * 查看路由資訊: netstat -r
  * 關閉網卡: sudo ifconfig eth0 down
  * 啟用網卡: sudo ifconfig eth0 up
  * 添加一個服務: sudo update-rc.d 服務名 defaults 99
  * 刪除一個服務: sudo update-rc.d 服務名 remove
  * 臨時重啟一個服務: /etc/init.d/服務名 restart
  * 臨時關閉一個服務: /etc/init.d/服務名 stop
  * 臨時啟動一個服務: /etc/init.d/服務名 start
  * 控制台下顯示中文: sudo apt-get install zhcon
  * 尋找某個檔案: whereis filename 或 find 目錄 -name 檔案名稱
  *通過ssh傳輸檔案
  scp -rp /path/filename username@remoteIP:/path #將本地檔案拷貝到伺服器上
  scp -rp username@remoteIP:/path/filename /path #將遠程檔案從伺服器下載到本地
  5. 壓縮:
  *解壓縮 a.tar.gz: tar zxvf a.tar.gz
  *解壓縮 a.tar.bz2: tar jxvf a.tar.bz2
  *壓縮aaa bbb目錄為xxx.tar.gz: tar zcvf xxx.tar.gz aaa bbb
  *壓縮aaa bbb目錄為xxx.tar.bz2: tar jcvf xxx.tar.bz2 aaa bbb[6] 6. Nautilus:
  特殊 URI 地址
  * computer:/// - 全部掛載的裝置和網路
  * network:/// - 瀏覽可用的網路
  * burn:/// - 一個燒錄 CDs/DVDs 的資料虛擬目錄
  * smb:/// - 可用的 windows/samba 網路資源
  * x-nautilus-desktop:/// - 案頭項目和表徵圖
  * file:/// - 本地檔案
  * trash:/// - 本地資源回收筒目錄
  * ftp:// - FTP 檔案夾
  * ssh:// - SSH 檔案夾
  * fonts:/// - 字型檔夾,可將字型檔拖到此處以完成安裝
  * themes:/// - 系統主題檔案夾
  * 顯示隱藏檔案: Ctrl+h
  * 顯示地址欄: Ctrl+l
  * 查看已安裝字型: 在nautilus的地址欄裡輸入”fonts:///“,就可以查看本機所有的fonts[6] 7.補充部分:* 查看本地所有的tpc,udp監聽連接埠: netstat -tupln (t=tcp, u=udp, p=program, l=listen, n=numric)
  * 通過man搜說相關命令: man -k keyword . eg: man -k user
  * 或者用 apropos
  * 統計檔案所佔用的實際磁碟空間: du (du - estimate file space usage)
  * 統計檔案中的字元,位元組數: wc -c/-l/-w (wc - print the number of newlines, words, and bytes in files)
  * 查看檔案的內容: od -x/-c/.... (od - dump files in octal and other formats)
  我認為od最有用的就是檔案的位元組流了: od -t x1 filename
  查看檔案的 Ascii 碼形式: od -t c filename (其中統計資訊最左邊的是: 位元組數)
  * 尋找命令所在檔案的位置: which od 輸出: /usr/bin/od
  查看該檔案由哪個包提供: dpkg -S /usr/bin/od 輸出: coreutils: /usr/bin/od
  再查看coreutils包的全部內容就知道了linux的核心命令: dpkg -L coreutils
  然後 info coreutils 哈哈,認真學吧, 滿世界都是命令!
  * 可以用man 命令產看某個命令的所有section 的解釋: man -a tty
  然後用q,和next 轉換到下一個section的解釋
  * bash 的好用的快速鍵:
  ctrl+a:游標移到行首。
  ctrl+b:游標左移一個字母
  ctrl+c:殺死當前進程。
  ctrl+d:退出當前 Shell。
  ctrl+e:游標移到行尾。
  ctrl+h:刪除游標前一個字元,同 backspace 鍵相同。
  ctrl+k:清除游標後至行尾的內容。
  ctrl+l:清屏,相當於clear。
  ctrl+r:搜尋之前打過的命令。會有一個提示,根據你輸入的關鍵字進行搜尋bash的history
  ctrl+u: 清除游標前至行首間的所有內容。
  ctrl+w: 移除游標前的一個單詞
  ctrl+t: 交換游標位置前的兩個字元
  ctrl+y: 粘貼或者恢複上次的刪除
  ctrl+d: 刪除游標所在字母;注意和backspace以及ctrl+h的區別,這2個是刪除游標前的字元
  ctrl+f: 游標右移
  ctrl+z : 把當前進程轉到後台運行,使用’ fg ‘命令恢複。比如top -d1 然後ctrl+z ,到後台,然後fg,重新恢複
  * 快速粘貼:先在一個地方選中文字,在欲粘貼的地方按滑鼠 中鍵 即可。
  * 等效中鍵:a 、按下滑輪等效於中鍵。b、同步選取滑鼠 左右鍵,等效於中鍵。
  * 快速重啟X服務: 同步選取: Alt + Ctrl + Backspace 三個鍵。
  * 開啟"運行"視窗: 同步選取 Alt + F2 鍵。
  * 戴屏: a、全屏:直接按下 PrtScr 鍵。
  b、當前視窗:同步選取 Alt + PrtScr 鍵。
  c、延時戴屏:在 終端 或 "運行"視窗中輸入命令: gnome-screenshot --delay 3 ,將延時 3 秒後戴屏。
  * 直接將 檔案管理工具 中的檔案拖到 GNOME終端 中就可以在終端中得到完整的路徑名。[6]  8.ulimit
  ulimit:顯示(或設定)使用者可以使用的資源的限制(limit),這限制分為軟式節流(當前限制)和硬限制(上限),其中硬限制是軟式節流的上限值,應用程式在運行過程中使用的系統資源不超過相應的軟式節流,任何的超越都導致進程的終止。
  ulimited 不限制使用者可以使用的資源,但本設定對可開啟的最大檔案數(max open files)
  和可同時啟動並執行最大進程數(max user processes)無效
  -a 列出所有當前資源極限
  -c 設定core檔案的最大值.單位:blocks
  -d 設定一個進程的資料區段的最大值.單位:kbytes
  -f Shell 建立檔案的檔案大小的最大值,單位:blocks
  -h 指定設定某個給定資源的硬極限。如果使用者擁有 root 使用者權限,可以增大硬極限。任何使用者均可減少硬極限
  -l 可以鎖住的實體記憶體的最大值
  -m 可以使用的常駐記憶體的最大值,單位:kbytes
  -n 每個進程可以同時開啟的最大檔案數
  -p 設定管道的最大值,單位為block,1block=512bytes
  -s 指定堆棧的最大值:單位:kbytes
  -S 指定為給定的資源設定軟極限。軟極限可增大到硬極限的值。如果 -H 和 -S 標誌均未指定,極限適用於以上二者
  -t 指定每個進程所使用的秒數,單位:seconds
  -u 可以啟動並執行最大並發進程數
  -v Shell可使用的最大的虛擬記憶體,單位:kbytes
  eg: ulimit -c 1000(可以先通過ulimit -c 查看原來的值)       小哥哥的學習筆記喲,棒棒棒!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.