Time of Update: 2018-12-06
有時在進行目錄操作的時候,經常接觸到命令,於是就要翻手冊,或上網問狗狗哥了,這裡我把平時碰到的常用的不常用的都陸續列出來,供以後學習參考……一般規則:指令 選項 參數cd . .. rm -f -rfpwd /home/xing 使用者主目錄date caltouch 建立檔案 或更新時間mkdir rmdir -r -funame -n 主機名稱 -a詳細資料 系統 時間ls -la目前的目錄所以檔案 ls -l ll
Time of Update: 2018-12-06
一、有時候系統不能掛載 windows 下的 ntfs 磁碟,這時就要手動掛載了,寫了一個簡單的指令碼:如果不知道自己磁碟編號的,可以輸入以下命令ls /dev/sda*這時可以看到例如 sda,sda1,sda2,sda5,sda6 之類的,其中編號4以前的是主要磁碟分割,4以後的是邏輯分區也可以用以下命令,查看各磁碟的詳細資料,df -h然後就可以用以下指令碼掛載了(注意修改可執行許可權哦):#!/bin/bashecho "start working"#建立檔案夾,用於以後的掛載sudo
Time of Update: 2018-12-06
一、linux之路,路漫漫其修遠兮,吾將上下而求索!先上經典書籍!1.入門篇 《LINUX權威指南》書不錯,寫的很全面也比較廣,涉及的不深,做為入門書籍不錯,可以比較全面的瞭解linux 。另外比較熱門的也可以看看《鳥哥的私房菜》等書,偏管理類的書。如果想做server方向的可以找來看看。2.驅動篇 《LINUX裝置驅動程式 》就是網上說的“LDD”,經典之作,必備書籍。國產經典《Linux驅動詳細解》也是一本非常不錯的書,很實用,書中原始碼 分析比較多,基於2440的,對linux外圍驅動有很
Time of Update: 2018-12-06
Linux核心開發的特點 相對於使用者空間內的應用程式開發,核心開發存在很多的不同,最重要的差異包括以下幾種: 1)核心編程時不能訪問C庫。 2)核心編程時必須使用GNU C。 3)核心編程時缺乏像使用者空間那樣的記憶體保護機制。 4)核心編程時浮點數很難使用。 5)核心只有一個很小的定長堆棧。 6)由於核心支援非同步中斷,搶佔和SMP,因此必須時刻注意同步和並發。 7)要考慮可移植性的重要性。 1.沒有libc庫
Time of Update: 2018-12-06
進程調度1.策略 進程可以被劃分為I/O消耗型和處理器消耗型。前者指進程的大部分時間用來提交I/O請求或是等待I/O請求,常處於可運行狀態。後者把時間大多用在執行代碼上,除非被搶佔,否則一直不停地運行,調度器不應該經常讓它們運行。 調度演算法中最基本的一類就是基於優先順序的調度。這是一種根據進程的價值和其對處理器時間的需求來對進程分級的想法。優先順序高的進程先運行,低的後運行,相同優先順序的進程按輪轉方式進行調度。
Time of Update: 2018-12-06
轉自:http://www.cnblogs.com/sunleecn/archive/2011/11/01/2232210.htmlwhereis <程式名稱>尋找軟體的安裝路徑-b 只尋找二進位檔案-m 只尋找協助檔案-s 只尋找原始碼-u 排除指定類型檔案-f 只顯示檔案名稱-B <目錄> 在指定目錄下尋找二進位檔案-M <目錄> 在指定目錄下尋找協助檔案-S <目錄> 在指定目錄下尋找原始碼locate
Time of Update: 2018-12-06
上篇: 最近從學長那裡淘到了一套單片機開發板,他給我的開發工具,驅動等都是 windwos 下的,而我一直用的是 linux……花了一個周末的時間,終於找到了一個合適的解決方案。 首先,我問了一下狗狗哥,發現 linux 下 開發51單片機的資料並不多,倒是 arm 和 avr 的支援很完善,但還是零星有點資料的。我用的是 STC89C52RC,大部分說的是使用 sdcc 編譯, gSTC-ISP 燒寫程式,hextobin
Time of Update: 2018-12-06
父進程調用子進程,可以用的命令date,who,pwd,ls,等無參數的#include <stdio.h>#include <sys/wait.h>#include <string.h>#define MAXLINE 20int main(void){char buf[MAXLINE]; /* from apue.h */ pid_t pid;int status; printf("%% "); /*
Time of Update: 2018-12-06
在作業系統中,任何東西都可以看作是檔案,檔案是作業系統邏輯組織的基本單元。對於Unix和Linux檔案系統而言,檔案系統層次標準(FHS)是其組織規範的主要參考。對檔案目錄結構稍有瞭解的人都知道,檔案系統通常由根目錄(/)出發,不斷延伸出一層一層的子目錄。★在Linux中,常用的一級子目錄包括:目錄名描述/bin集中存放一些必要的命令工具,最好不要單獨掛載,否則你會找不到那些你亟需的公用程式。/boot包含Linux的開機檔案以及核心。預設情況下為100M,這對準備RHCE考試足矣/dev集中存
Time of Update: 2018-12-06
一、特點: l 自己定製編譯的核心運行更快(具有更少的代碼) l 系統將擁有更多的記憶體(核心部分將不會被交換到虛擬記憶體中) l 不需要的功能編譯進入核心可能會增加被系統攻擊者利用的漏洞 l 將某種功能編譯為模組方式會比編譯到核心內的方式速度要慢一些二、編譯核心:1.下載源碼 www.kernel.org2.解壓 tar jxvf linux×3.cd linux×4.安裝編譯工具 sudo apt-get install build-essential
Time of Update: 2018-12-06
/proc目錄下,均為系統資訊,需要時可ls以下,以下列出常用的幾個cat /proc/cpuinfo#查看CPU資訊,內容很全哦!cat /proc/meminfo#查看記憶體資訊。cat /proc/ioports#查看IO連接埠cat /proc/swaps#查看交換分區資訊(/proc)cat /proc/interrupts#中斷資訊cat /proc/partitions#查看磁碟分割cat /proc/bus/usb/devices#查看USB裝置cat
Time of Update: 2018-12-06
一、fcitx ,稍微不穩定,比較智能1.安裝:為了防止scim與fcitx衝突,如果你安裝了scim,你最好卸載掉scimsudo apt-get purge scimsudo apt-get install fcitx fcitx-config-gtk fcitx-sunpinyinsudo apt-get install fcitx-table-all #同時安裝其他碼錶im-switch -s fcitx -z default
Time of Update: 2018-12-06
shell裡可以直接用 `env` 或者 `echo $HOME` `export` 的形式擷取或設定環境變數,那麼c語言是如何?的呢?主要有兩個函數和一個 environ 變數(字串數組):char *getenv(const char *name)int putenv(const cahr *string)#include <stdlib.h>#include <stdio.h>extern char **environ;int main ( int argc,
Time of Update: 2018-12-06
文章目錄 用數字標記法修改許可權用文本標記法修改許可權 一、Linux檔案許可權每個Linux檔案具有四種存取權限:可讀(r)、可寫(w)、可執行(x)和無許可權(-)。利用ls
Time of Update: 2018-12-06
(1)Linux下編寫動態連結程式庫。通常靜態連結庫是編譯的時候和源檔案一起編譯產生可執行檔的。動態連結程式庫則不是,它是一個已經編譯好的檔案(靜態則不是),只有當程式啟動並執行時候(但是編譯的時候要將動態連結程式庫的資訊載入進來),它才去找動態連結程式庫拿它想用的一些函數。而且動態連結程式庫可以提高通用性,編寫一個動態連結程式庫可以讓很多人一起用。有點類似類?test_so.h#ifndef _TEST_SO_H#define _TEST_SO_H #include
Time of Update: 2018-12-06
0. Advanced Linux programming | Linux進階編程 1. GNU Emacs manual | GNU Emacs 指南 2. GTK+/Gnome application development | GTK+/Gnome 應用開發(PDF) 3. Java application development on Linux | Linux 系統下的Java程式開發(PDF) 4. Linux device drivers | Linux 裝置驅動 5.
Time of Update: 2018-12-06
中斷和中斷處理常式1.中斷 中斷本質上是一種特殊的電訊號,由硬體裝置發向處理器。處理器接收到中斷後,會馬上向作業系統反映此訊號的到來,然後由OS負責處理這些新到來的資料。硬體裝置產生中斷的時候並不考慮與處理器的時鐘同步,核心隨時可能因為新到來的中斷而被打斷。不同的裝置對應的中斷不同,都通過一個唯一的數位識別碼,稱之為插斷要求(IRQ)線。
Time of Update: 2018-12-06
下半部和推後執行的工作1.下半部 下半部的任務就是執行與中斷處理密切相關但中斷處理常式本身不執行的工作,對於在上半部和下半部之間劃分工作,儘管不存在某種嚴格的規則,但還是有一些提示可供借鑒: 1)如果一個任務對時間非常敏感,將其放在中斷處理常式中執行。 2)如果一個任務和硬體相關,將其放在中斷處理常式中執行。 3)如果一個任務要保證不被其他中斷(特別是相同的中斷)打斷,將其放在中斷處理常式中執行。 4)其他所有任務,考慮放置在下半部執行。
Time of Update: 2018-12-06
下半部和推後執行的工作4.tasklet tasklet是通過非強制中斷實現的,它由兩類非強制中斷代表:HI_SOFTIRQ和TASKLET_SOFTIRQ。兩者唯一區別在於前者優先於後者執行。 tasklet由tasklet_struct結構體表示,每個結構體代表一個tasklet,在<linux/interrupt.h>中定義:struct tasklet_struct { struct tasklet_struct *next; /*
Time of Update: 2018-12-06
核心同步方法1.原子操作 原子操作可以保證指令以原子的方式執行——執行過程不被打斷。核心提供了兩組原子操作介面,一組針對整數進行操作,另一組針對單獨的位進行操作。 針對整數的原子操作只能對 atomic_t 類型的資料進行處理。 除了原子整數操作外,核心還提供了一組針對位這一級資料進行操作的函數。位操作函數是對普通的記憶體位址進行操作的,它的參數是一個指標和一個位號,第0位是給定地址的最低有效位。