Linux是一套免費使用和自由傳播的類Unix作業系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多執行緒和多CPU的作業系統。它能運行主要的UNIX工具軟體、應用程式和網路協定。它支持32位和64位硬體。Linux繼承了Unix以網路為核心的設計思想,是一個性能穩定的多用戶網路作業系統。
Linux作業系統誕生於1991 年10 月5 日(這是第一次正式向外公布時間)。Linux存在著許多不同的Linux版本,但它們都使用了Linux核心。Linux可安裝在各種計算機硬體設備中,比如手機、平板電腦、路由器、視頻遊戲控制台、台式計算機、大型機和超級計算機。
嚴格來講,Linux這個詞本身只表示Linux核心,但實際上人們已經習慣了用Linux來形容整個基於Linux核心,並且使用GNU 工程各種工具和資料庫的作業系統。
基本介紹
- 外文名:Linux
- 類別:作業系統
- 發布時間:1991年10月5日
- 創始人:林納斯·托瓦茲
- 發行版本:Debian、RedHat、Slackware等
- 特點:免費、可靠、安全、穩定、多平台
Linux簡史
主要特性
桌面環境
檔案系統
檔案類型
檔案結構
常用命令及技巧
- date :print or set the system date and time
2. stty -a: 可以查看或者列印控制字元(Ctrl-C, Ctrl-D, Ctrl-Z等)
3. passwd: print or set the system date and time (用passwd -h查看)
4. logout, login: 登錄shell的登錄和註銷命令
5. pwd: print working directory
6. more, less, head tail: 顯示或部分顯示檔案內容.
7. lp/lpstat/cancel, lpr/lpq/lprm: 列印檔案.
8. 更改檔案許可權: chmod u+x...
9. 刪除非空目錄:rm -fr dir
10.拷貝目錄: cp -R dir
11. fg jobid :可以將一個後台進程放到前台。
Ctrl-z 可以將前台進程掛起(suspend), 然後可以用bg jobid 讓其到後台運行。
job & 可以直接讓job直接在後台運行。
12. kill 的作用: send a signal to a process. eg: kill -9 傳送的是SIG_KILL信號。。。 具體傳送什麼信號 可以通過 man kill 查看。
13. ps 的用法, ps -e 或 ps -o pid,ppid,session,tpgid, comm (其中session顯示的sessionid, tpgid顯示前台進程組id, comm顯示命令名稱。)
二 .ubuntu常用命令:
* 安裝: 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
特殊 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
* 通過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終端 中就可以在終端中得到完整的路徑名。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 查看原來的值)