linux五子棋
① 請給出常用應用程序所用的埠
0 通常用於分析操作系統。這一方法能夠工作是因為在一些系統中「0」是無效埠,當你試圖使用一種通常的閉合埠連接它時將產生不同的結果。一種典型的掃描:使用IP地址為0.0.0.0,設置ACK位並在乙太網層廣播。
1 tcpmux 這顯示有人在尋找SGI Irix機器。Irix是實現tcpmux的主要提供者,預設情況下tcpmux在這種系統中被打開。Iris機器在發布時含有幾個預設的無密碼的帳戶,如lp, guest, uucp, nuucp, demos, tutor, diag, EZsetup, OutOfBox, 和4Dgifts。許多管理員安裝後忘記刪除這些帳戶。因此Hacker們在Internet上搜索tcpmux並利用這些帳戶。
7 Echo 你能看到許多人們搜索Fraggle放大器時,發送到x.x.x.0和x.x.x.255的信息。常見的一種DoS攻擊是echo循環(echo-loop),攻擊者偽造從一個機器發送到另一個機器的UDP數據包,而兩個機器分別以它們最快的方式回應這些數據包。另一種東西是由DoubleClick在詞埠建立的TCP連接。有一種產品叫做「Resonate Global Dispatch」,它與DNS的這一埠連接以確定最近的路由。Harvest/squid cache將從3130埠發送UDP echo:「如果將cache的source_ping on選項打開,它將對原始主機的UDP echo埠回應一個HIT reply。」這將會產生許多這類數據包。
11 sysstat 這是一種UNIX服務,它會列出機器上所有正在運行的進程以及是什麼啟動了這些進程。這為入侵者提供了許多信息而威脅機器的安全,如暴露已知某些弱點或帳戶的程序。這與UNIX系統中「ps」命令的結果相似。再說一遍:ICMP沒有埠,ICMP port 11通常是ICMP type=11。
19 chargen 這是一種僅僅發送字元的服務。UDP版本將會在收到UDP包後回應含有垃圾字元的包。TCP連接時,會發送含有垃圾字元的數據流知道連接關閉。Hacker利用IP欺騙可以發動DoS攻擊。偽造兩個chargen伺服器之間的UDP包。由於伺服器企圖回應兩個伺服器之間的無限的往返數據通訊一個chargen和echo將導致伺服器過載。同樣fraggle DoS攻擊向目標地址的這個埠廣播一個帶有偽造受害者IP的數據包,受害者為了回應這些數據而過載。
21 ftp 最常見的攻擊者用於尋找打開「anonymous」的ftp伺服器的方法。這些伺服器帶有可讀寫的目錄。Hackers或Crackers 利用這些伺服器作為傳送warez (私有程序) 和pr0n(故意拼錯詞而避免被搜索引擎分類)的節點。
22 ssh PcAnywhere 建立TCP和這一埠的連接可能是為了尋找ssh。這一服務有許多弱點。如果配置成特定的模式,許多使用RSAREF庫的版本有不少漏洞。(建議在其它埠運行ssh)。還應該注意的是ssh工具包帶有一個稱為make-ssh-known-hosts的程序。它會掃描整個域的ssh主機。你有時會被使用這一程序的人無意中掃描到。UDP(而不是TCP)與另一端的5632埠相連意味著存在搜索pcAnywhere的掃描。5632(十六進制的0x1600)位交換後是0x0016(使進制的22)。
23 Telnet 入侵者在搜索遠程登陸UNIX的服務。大多數情況下入侵者掃描這一埠是為了找到機器運行的操作系統。此外使用其它技術,入侵者會找到密碼。
25 smtp 攻擊者(spammer)尋找SMTP伺服器是為了傳遞他們的spam。入侵者的帳戶總被關閉,他們需要撥號連接到高帶寬的e-mail伺服器上,將簡單的信息傳遞到不同的地址。SMTP伺服器(尤其是sendmail)是進入系統的最常用方法之一,因為它們必須完整的暴露於Internet且郵件的路由是復雜的(暴露+復雜=弱點)。
53 DNS Hacker或crackers可能是試圖進行區域傳遞(TCP),欺騙DNS(UDP)或隱藏其它通訊。因此防火牆常常過濾或記錄53埠。需要注意的是你常會看到53埠做為UDP源埠。不穩定的防火牆通常允許這種通訊並假設這是對DNS查詢的回復。Hacker常使用這種方法穿透防火牆。
67&68 Bootp和DHCP UDP上的Bootp/DHCP:通過DSL和cable-modem的防火牆常會看見大量發送到廣播地址255.255.255.255的數據。這些機器在向DHCP伺服器請求一個地址分配。Hacker常進入它們分配一個地址把自己作為局部路由器而發起大量的「中間人」(man-in-middle)攻擊。客戶端向68埠(bootps)廣播請求配置,伺服器向67埠(bootpc)廣播回應請求。這種回應使用廣播是因為客戶端還不知道可以發送的IP地址。
69 TFTP(UDP) 許多伺服器與bootp一起提供這項服務,便於從系統下載啟動代碼。但是它們常常錯誤配置而從系統提供任何文件,如密碼文件。它們也可用於向系統寫入文件。
79 finger Hacker用於獲得用戶信息,查詢操作系統,探測已知的緩沖區溢出錯誤,回應從自己機器到其它機器finger掃描。
80 web站點默認80為服務埠,採用tcp或udp協議。
98 linuxconf 這個程序提供linux boxen的簡單管理。通過整合的HTTP伺服器在98埠提供基於Web界面的服務。它已發現有許多安全問題。一些版本setuid root,信任區域網,在/tmp下建立Internet可訪問的文件,LANG環境變數有緩沖區溢出。此外因為它包含整合的伺服器,許多典型的HTTP漏洞可能存在(緩沖區溢出,歷遍目錄等)
109 POP2 並不象POP3那樣有名,但許多伺服器同時提供兩種服務(向後兼容)。在同一個伺服器上POP3的漏洞在POP2中同樣存在。
110 POP3 用於客戶端訪問伺服器端的郵件服務。POP3服務有許多公認的弱點。關於用戶名和密碼交換緩沖區溢出的弱點至少有20個(這意味著Hacker可以在真正登陸前進入系統)。成功登陸後還有其它緩沖區溢出錯誤。
111 sunrpc portmap rpcbind Sun RPC PortMapper/RPCBIND。訪問portmapper是掃描系統查看允許哪些RPC服務的最早的一步。常見RPC服務有:rpc.mountd, NFS, rpc.statd, rpc.csmd, rpc.ttybd, amd等。入侵者發現了允許的RPC服務將轉向提供服務的特定埠測試漏洞。記住一定要記錄線路中的daemon, IDS, 或sniffer,你可以發現入侵者正使用什麼程序訪問以便發現到底發生了什麼。
113 Ident auth 這是一個許多機器上運行的協議,用於鑒別TCP連接的用戶。使用標準的這種服務可以獲得許多機器的信息(會被Hacker利用)。但是它可作為許多服務的記錄器,尤其是FTP, POP, IMAP, SMTP和IRC等服務。通常如果有許多客戶通過防火牆訪問這些服務,你將會看到許多這個埠的連接請求。記住,如果你阻斷這個埠客戶端會感覺到在防火牆另一邊與e-mail伺服器的緩慢連接。許多防火牆支持在TCP連接的阻斷過程中發回RST,著將回停止這一緩慢的連接。
119 NNTP news 新聞組傳輸協議,承載USENET通訊。當你鏈接到諸如:news://comp.security.firewalls/. 的地址時通常使用這個埠。這個埠的連接企圖通常是人們在尋找USENET伺服器。多數ISP限制只有他們的客戶才能訪問他們的新聞組伺服器。打開新聞組伺服器將允許發/讀任何人的帖子,訪問被限制的新聞組伺服器,匿名發帖或發送spam。
135 oc-serv MS RPC end-point mapper Microsoft在這個埠運行DCE RPC end-point mapper為它的DCOM服務。這與UNIX 111埠的功能很相似。使用DCOM和/或RPC的服務利用機器上的end-point mapper注冊它們的位置。遠端客戶連接到機器時,它們查詢end-point mapper找到服務的位置。同樣Hacker掃描機器的這個埠是為了找到諸如:這個機器上運行Exchange Server嗎?是什麼版本?這個埠除了被用來查詢服務(如使用epmp)還可以被用於直接攻擊。有一些DoS攻擊直接針對這個埠。
137 NetBIOS name service nbtstat (UDP) 這是防火牆管理員最常見的信息。
139 NetBIOS File and Print Sharing 通過這個埠進入的連接試圖獲得NetBIOS/SMB服務。這個協議被用於Windows「文件和列印機共享」和SAMBA。在Internet上共享自己的硬碟是可能是最常見的問題。大量針對這一埠始於1999,後來逐漸變少。2000年又有回升。一些VBS(IE5 VisualBasic Scripting)開始將它們自己拷貝到這個埠,試圖在這個埠繁殖。
143 IMAP 和上面POP3的安全問題一樣,許多IMAP伺服器有緩沖區溢出漏洞運行登陸過程中進入。記住:一種Linux蠕蟲(admw0rm)會通過這個埠繁殖,因此許多這個埠的掃描來自不知情的已被感染的用戶。當RadHat在他們的Linux發布版本中默認允許IMAP後,這些漏洞變得流行起來。Morris蠕蟲以後這還是第一次廣泛傳播的蠕蟲。這一埠還被用於IMAP2,但並不流行。已有一些報道發現有些0到143埠的攻擊源於腳本。
161 SNMP(UDP) 入侵者常探測的埠。SNMP允許遠程管理設備。所有配置和運行信息都儲存在資料庫中,通過SNMP客獲得這些信息。許多管理員錯誤配置將它們暴露於Internet。Crackers將試圖使用預設的密碼「public」「private」訪問系統。他們可能會試驗所有可能的組合。SNMP包可能會被錯誤的指向你的網路。Windows機器常會因為錯誤配置將HP JetDirect remote management軟體使用SNMP。HP OBJECT IDENTIFIER將收到SNMP包。新版的Win98使用SNMP解析域名,你會看見這種包在子網內廣播(cable modem, DSL)查詢sysName和其它信息。
162 SNMP trap 可能是由於錯誤配置
177 xdmcp 許多Hacker通過它訪問X-Windows控制台, 它同時需要打開6000埠。
513 rwho 可能是從使用cable modem或DSL登陸到的子網中的UNIX機器發出的廣播。這些人為Hacker進入他們的系統提供了很有趣的信息。
553 CORBA IIOP (UDP) 如果你使用cable modem或DSL VLAN,你將會看到這個埠的廣播。CORBA是一種面向對象的RPC(remote procere call)系統。Hacker會利用這些信息進入系統。
600 Pcserver backdoor 請查看1524埠。
一些玩script的孩子認為他們通過修改ingreslock和pcserver文件已經完全攻破了系統-- Alan J. Rosenthal.
635 mountd Linux的mountd Bug。這是人們掃描的一個流行的Bug。大多數對這個埠的掃描是基於UDP的,但基於TCP的mountd有所增加(mountd同時運行於兩個埠)。記住,mountd可運行於任何埠(到底在哪個埠,需要在埠111做portmap查詢),只是Linux默認為635埠,就象NFS通常運行於2049埠。
1024 許多人問這個埠是干什麼的。它是動態埠的開始。許多程序並不在乎用哪個埠連接網路,它們請求操作系統為它們分配「下一個閑置埠」。基於這一點分配從埠1024開始。這意味著第一個向系統請求分配動態埠的程序將被分配埠1024。為了驗證這一點,你可以重啟機器,打開Telnet,再打開一個窗口運行「natstat -a」,你將會看到Telnet被分配1024埠。請求的程序越多,動態埠也越多。操作系統分配的埠將逐漸變大。再來一遍,當你瀏覽Web頁時用「netstat」查看,每個Web頁需要一個新埠。
1025,1026 參見1024
1080 SOCKS 這一協議以管道方式穿過防火牆,允許防火牆後面的許多人通過一個IP地址訪問Internet。理論上它應該只允許內部的通信向外達到Internet。但是由於錯誤的配置,它會允許Hacker/Cracker的位於防火牆外部的攻擊穿過防火牆。或者簡單地回應位於Internet上的計算機,從而掩飾他們對你的直接攻擊。WinGate是一種常見的Windows個人防火牆,常會發生上述的錯誤配置。在加入IRC聊天室時常會看到這種情況。
1114 SQL 系統本身很少掃描這個埠,但常常是sscan腳本的一部分。
1243 Sub-7木馬(TCP)
1524 ingreslock 後門許多攻擊腳本將安裝一個後門Shell於這個埠(尤其是那些針對Sun系統中sendmail和RPC服務漏洞的腳本,如statd, ttdbserver和cmsd)。如果你剛剛安裝了你的防火牆就看到在這個埠上的連接企圖,很可能是上述原因。你可以試試Telnet到你的機器上的這個埠,看看它是否會給你一個Shell。連接到600/pcserver也存在這個問題。
2049 NFS NFS程序常運行於這個埠。通常需要訪問portmapper查詢這個服務運行於哪個埠,但是大部分情況是安裝後NFS運行於這個埠,Hacker/Cracker因而可以閉開portmapper直接測試這個埠。
3128 squid 這是Squid HTTP代理伺服器的默認埠。攻擊者掃描這個埠是為了搜尋一個代理伺服器而匿名訪問Internet。你也會看到搜索其它代理伺服器的埠:8000/8001/8080/8888。掃描這一埠的另一原因是:用戶正在進入聊天室。其它用戶(或伺服器本身)也會檢驗這個埠以確定用戶的機器是否支持代理。
5632 pcAnywere 你會看到很多這個埠的掃描,這依賴於你所在的位置。當用戶打開pcAnywere時,它會自動掃描區域網C類網以尋找可能得代理(譯者:指agent而不是proxy)。Hacker/cracker也會尋找開放這種服務的機器,所以應該查看這種掃描的源地址。一些搜尋pcAnywere的掃描常包含埠22的UDP數據包。
6776 Sub-7 artifact 這個埠是從Sub-7主埠分離出來的用於傳送數據的埠。例如當控制者通過電話線控制另一台機器,而被控機器掛斷時你將會看到這種情況。因此當另一人以此IP撥入時,他們將會看到持續的,在這個埠的連接企圖。(譯者:即看到防火牆報告這一埠的連接企圖時,並不表示你已被Sub-7控制。)
6970 RealAudio RealAudio客戶將從伺服器的6970-7170的UDP埠接收音頻數據流。這是由TCP7070埠外向控制連接設置的。
13223 PowWow PowWow 是Tribal Voice的聊天程序。它允許用戶在此埠打開私人聊天的連接。這一程序對於建立連接非常具有「進攻性」。它會「駐扎」在這一TCP埠等待回應。這造成類似心跳間隔的連接企圖。如果你是一個撥號用戶,從另一個聊天者手中「繼承」了IP地址這種情況就會發生:好象很多不同的人在測試這一埠。這一協議使用「OPNG」作為其連接企圖的前四個位元組。
17027 Concent 這是一個外向連接。這是由於公司內部有人安裝了帶有Concent "adbot" 的共享軟體。Concent "adbot"是為共享軟體顯示廣告服務的。使用這種服務的一種流行的軟體是Pkware。有人試驗:阻斷這一外向連接不會有任何問題,但是封掉IP地址本身將會導致adbots持續在每秒內試圖連接多次而導致連接過載:
機器會不斷試圖解析DNS名—ads.concent.com,即IP地址216.33.210.40 ;216.33.199.77 ;216.33.199.80 ;216.33.199.81;216.33.210.41。(譯者:不知NetAnts使用的Radiate是否也有這種現象)
27374 Sub-7木馬(TCP)
30100 NetSphere木馬(TCP) 通常這一埠的掃描是為了尋找中了NetSphere木馬。
31337 Back Orifice 「elite」 Hacker中31337讀做「elite」/ei』li:t/(譯者:法語,譯為中堅力量,精華。即3=E, 1=L, 7=T)。因此許多後門程序運行於這一埠。其中最有名的是Back Orifice。曾經一段時間內這是Internet上最常見的掃描。現在它的流行越來越少,其它的木馬程序越來越流行。
31789 Hack-a-tack 這一埠的UDP通訊通常是由於"Hack-a-tack"遠程訪問木馬(RAT, Remote Access Trojan)。這種木馬包含內置的31790埠掃描器,因此任何31789埠到317890埠的連接意味著已經有這種入侵。(31789埠是控制連接,317890埠是文件傳輸連接)
32770~32900 RPC服務 Sun Solaris的RPC服務在這一范圍內。詳細的說:早期版本的Solaris(2.5.1之前)將portmapper置於這一范圍內,即使低埠被防火牆封閉仍然允許Hacker/cracker訪問這一埠。掃描這一范圍內的埠不是為了尋找portmapper,就是為了尋找可被攻擊的已知的RPC服務。
33434~33600 traceroute 如果你看到這一埠范圍內的UDP數據包(且只在此范圍之內)則可能是由於traceroute。
② 用c語言在linux下編寫一個五子棋程序!
五子棋的核心演算法
五子棋是一種受大眾廣泛喜愛的游戲,其規則簡單,變化多端,非常富有趣味性和消遣性。這里設計和實現了一個人機對下的五子棋程序,採用了博弈樹的方法,應用了剪枝和最大最小樹原理進行搜索發現最好的下子位置。介紹五子棋程序的數據結構、評分規則、勝負判斷方法和搜索演算法過程。
一、相關的數據結構
關於盤面情況的表示,以鏈表形式表示當前盤面的情況,目的是可以允許用戶進行悔棋、回退等操作。
CList StepList;
其中Step結構的表示為:
struct Step
{
int m; //m,n表示兩個坐標值
int n;
char side; //side表示下子方
};
以數組形式保存當前盤面的情況,
目的是為了在顯示當前盤面情況時使用:
char FiveArea[FIVE_MAX_LINE][FIVE_MAX_LINE];
其中FIVE_MAX_LINE表示盤面最大的行數。
同時由於需要在遞歸搜索的過程中考慮時間和空間有效性,只找出就當前情況來說相對比較好的幾個盤面,而不是對所有的可下子的位置都進行搜索,這里用變數CountList來表示當前搜索中可以選擇的所有新的盤面情況對象的集合:
CList CountList;
其中類CBoardSituiton為:
class CBoardSituation
{
CList StepList; //每一步的列表
char FiveArea[FIVE_MAX_LINE][FIVE_MAX_LINE];
struct Step machineStep; //機器所下的那一步
double value; //該種盤面狀態所得到的分數
}
二、評分規則
對於下子的重要性評分,需要從六個位置來考慮當前棋局的情況,分別為:-,¦,/,\,//,\\
實際上需要考慮在這六個位置上某一方所形成的子的布局的情況,對於在還沒有子的地方落子以後的當前局面的評分,主要是為了說明在這個地方下子的重要性程度,設定了一個簡單的規則來表示當前棋面對機器方的分數。
基本的規則如下:
判斷是否能成5, 如果是機器方的話給予100000分,如果是人方的話給予-100000 分;
判斷是否能成活4或者是雙死4或者是死4活3,如果是機器方的話給予10000分,如果是人方的話給予-10000分;
判斷是否已成雙活3,如果是機器方的話給予5000分,如果是人方的話給予-5000 分;
判斷是否成死3活3,如果是機器方的話給予1000分,如果是人方的話給予-1000 分;
判斷是否能成死4,如果是機器方的話給予500分,如果是人方的話給予-500分;
判斷是否能成單活3,如果是機器方的話給予200分,如果是人方的話給予-200分;
判斷是否已成雙活2,如果是機器方的話給予100分,如果是人方的話給予-100分;
判斷是否能成死3,如果是機器方的話給予50分,如果是人方的話給予-50分;
判斷是否能成雙活2,如果是機器方的話給予10分,如果是人方的話給予-10分;
判斷是否能成活2,如果是機器方的話給予5分,如果是人方的話給予-5分;
判斷是否能成死2,如果是機器方的話給予3分,如果是人方的話給予-3分。
實際上對當前的局面按照上面的規則的順序進行比較,如果滿足某一條規則的話,就給該局面打分並保存,然後退出規則的匹配。注意這里的規則是根據一般的下棋規律的一個總結,在實際運行的時候,用戶可以添加規則和對評分機制加以修正。
三、勝負判斷
實際上,是根據當前最後一個落子的情況來判斷勝負的。實際上需要從四個位置判斷,以該子為出發點的水平,豎直和兩條分別為 45度角和135度角的線,目的是看在這四個方向是否最後落子的一方構成連續五個的棋子,如果是的話,就表示該盤棋局已經分出勝負。具體見下面的圖示:
四、搜索演算法實現描述
注意下面的核心的演算法中的變數currentBoardSituation,表示當前機器最新的盤面情況, CountList表示第一層子節點可以選擇的較好的盤面的集合。核心的演算法如下:
void MainDealFunction()
{
value=-MAXINT; //對初始根節點的value賦值
CalSeveralGoodPlace(currentBoardSituation,CountList);
//該函數是根據當前的盤面情況來比較得到比較好的可以考慮的幾個盤面的情況,可以根據實際的得分情況選取分數比較高的幾個盤面,也就是說在第一層節點選擇的時候採用貪婪演算法,直接找出相對分數比較高的幾個形成第一層節點,目的是為了提高搜索速度和防止堆棧溢出。
pos=CountList.GetHeadPosition();
CBoardSituation* pBoard;
for(i=0;ivalue=Search(pBoard,min,value,0);
Value=Select(value,pBoard->value,max);
//取value和pBoard->value中大的賦給根節點
}
for(i=0;ivalue)
//找出那一個得到最高分的盤面
{
currentBoardSituation=pBoard;
PlayerMode=min; //當前下子方改為人
Break;
}
}
其中對於Search函數的表示如下:實際上核心的演算法是一個剪枝過程,其中在這個搜索過程中相關的四個參數為:(1)當前棋局情況;(2)當前的下子方,可以是機器(max)或者是人(min);(3)父節點的值oldValue;(4)當前的搜索深度depth。
double Search(CBoardSituation&
board,int mode,double oldvalue,int depth)
{
CList m_DeepList;
if(deptholdvalue))== TRUE)
{
if(mode==max)
value=select(value,search(successor
Board,min,value,depth+1),max);
else
value=select(value,search(successor
Board,max,value,depth+1),min);
}
return value;
}
else
{
if ( goal(board)<>0)
//這里goal(board)<>0表示已經可以分出勝負
return goal(board);
else
return evlation(board);
}
}
注意這里的goal(board)函數是用來判斷當前盤面是否可以分出勝負,而evlation(board)是對當前的盤面從機器的角度進行打分。
下面是Select函數的介紹,這個函數的主要目的是根據 PlayerMode情況,即是機器還是用戶來返回節點的應有的值。
double Select(double a,double b,int mode)
{
if(a>b && mode==max)¦¦ (a< b && mode==min)
return a;
else
return b;
}
五、小結
在Windows操作系統下,用VC++實現了這個人機對戰的五子棋程序。和國內許多隻是採用規則或者只是採用簡單遞歸而沒有剪枝的那些程序相比,在智力上和時間有效性上都要好於這些程序。同時所討論的方法和設計過程為用戶設計其他的游戲(如象棋和圍棋等)提供了一個參考。
參考資料:http://www.3800hk.com/Article/cxsj/vc/jdsfvc/2005-08-06/Article_33695.html
③ linux 鏂囦歡瀛樻斁Windows涓鍙浠ヨ劇疆銆佹帶鍒惰$畻鏈虹‖浠墮厤緗鍜屼慨鏀規樉紺哄睘鎬х殑搴旂敤紼嬪簭鏄痏___銆
1.璁よ瘑鐢佃剳紜浠 涓涓瀹屾暣鐨勭數鑴戠郴緇熷寘鎷紜浠跺拰杞浠朵袱閮ㄥ垎銆傞【鍚嶆濅箟錛岀‖浠訛紝灝辨槸鐢佃剳涓閭d簺鐪嬪緱瑙佹懜寰楃潃鐨勫疄鐗╄懼囷紝濡備富鏈恆佹樉紺哄櫒銆傝岃蔣浠跺垯鏄鐩稿圭‖浠舵墍璇寸殑錛屽畠鏄鎸囩數鑴戜笂榪愯屾墍闇鐨勫悇縐嶇▼搴忓強鍏舵湁鍏崇殑鏂囨。鏉愭枡錛屽備竴涓緇樺浘杞浠舵垨鑰呬竴涓浜斿瓙媯嬪皬娓告垙銆傜數鑴戠殑紜浠跺拰杞浠剁己涓涓嶅彲銆傜‖浠舵槸杞浠惰兘澶熷伐浣滅殑鐗╄川鍩虹錛屾槸鈥滆韓浣撯濓紱鑰岃蔣浠舵槸鐢佃剳鐨勭伒欖傦紝鏄鎺у埗鍜屾搷浣滅數鑴戠殑鏍稿績銆傚畠浠鐩歌緟鐩告垚錛屽叡鍚屾瀯鎴愬畬鏁寸殑鐢佃剳緋葷粺銆備粠澶栬備笂鐪嬶紝鐢佃剳鍖呮嫭錛氭樉紺哄櫒銆佷富鏈恆侀敭鐩樸侀紶鏍囧拰闊崇便 鍏朵腑涓繪満鏄鏈閲嶈佺殑銆備漢浠閫氳繃閿鐩樸侀紶鏍囩瓑杈撳叆璁懼囧皢鏁版嵁杈撳叆鍒頒富鏈猴紝緇忚繃涓繪満鐨勬暟鎹澶勭悊鍚庯紝灝嗙粨鏋滈氳繃鏄劇ず鍣ㄣ佹墦鍗版満絳夎緭鍑鴻懼囪緭鍑虹粰鎴戜滑鐪嬨備富鏈虹殑涓昏佺粍鎴愰儴鍒嗘湁錛欳PU銆佸唴瀛樸佺‖鐩樸佷富鏉褲佹樉鍗°佸0鍗°佸厜椹便佽蔣椹辯瓑銆傜幇鍦ㄥ緢澶氱被浼兼樉鍗$殑閮ㄤ歡閮藉彲浠ラ泦鎴愬埌涓繪澘涓娿侰PU鍙堢О涓澶澶勭悊鍣錛孋PU鏄鑻辨枃 Central Processing Unit鐨勭緝鍐欍傚氨鍍忎漢浠鐨勫ぇ鑴戜竴鏍烽噸瑕併傚畠鎸囨尌銆佽皟搴︾數鑴戠殑鎵鏈夊伐浣溿傚鉤甯告垜浠鎵璇寸殑濂2銆佸3銆佸4鎸囩殑鏄疌PU鐨勫瀷鍙楓 鍐呭瓨錛屽畠鍙浠ュ垎涓轟袱綾伙細涓綾繪槸RAM錛屽彨鍋氶殢鏈哄瓨鍌ㄥ櫒錛屽畠璐熻矗涓存椂瀛樻斁絳夊緟CPU澶勭悊鐨勬暟鎹錛屾柇鐢靛悗鍏朵腑鐨勬暟鎹灝變細涓㈠け錛屽畠娌℃湁璁板繂鍔熻兘銆傘傚傛灉鎶奀PU姣斾綔鐏杞︾殑杞﹀帰錛孯AM灝辨槸絝欏彴錛岃屼笂銆佷笅鐏杞︾殑浜轟滑灝辨槸絳夊緟澶勭悊鐨勬暟鎹錛屽彧鑳芥殏鏃剁殑鍋滅暀鍦ㄧ珯鍙頒笂銆傚彟涓綾繪槸ROM錛屽彨鍙璇誨瓨鍌ㄥ櫒錛屽彧鑳借誨嚭涓嶈兘鍐欏叆錛屾柇鐢靛悗瀹冪殑鍐呭逛笉浼氫涪澶便備富鏈轟腑鐨勫叾浠栬懼囨垜浠榪欓噷灝變笉涓涓浠嬬粛錛屾諱箣瀹冧滑閮藉悇鍙稿叾鑱岋紝浣跨數鑴戞e父榪愯岋紝浠庤屼嬌鐢佃剳鎴愪負鎴戜滑宸ヤ綔鐢熸椿鐨勫ソ甯鎵嬨 2.浜嗚В鐢佃剳杞浠 鎴戜滑鐭ラ亾錛岀數鑴戝彲浠ョ敤鏉ュ伐浣溿佸︿範銆佸ū涔愮瓑銆傞櫎浜嗗繀欏葷殑鐢佃剳紜浠朵箣澶栵紝榪橀渶瑕佹湁杞浠躲傞氬父錛屾垜浠鎶婂彧鏈夌‖浠舵病鏈夎蔣浠剁殑鐢佃剳縐頒負鈥滆8鏈衡濓紝瀹冧笉鑳藉仛浠諱綍鏈夋剰涔夌殑宸ヤ綔銆傜洰鍓嶆牴鎹杞浠剁殑鐢ㄩ斿彲浠ュ皢鍏跺垎涓虹郴緇熻蔣浠跺拰搴旂敤杞浠朵袱澶х被銆傜郴緇熻蔣浠舵槸闈㈠悜鐢佃剳緋葷粺錛屼負楂樻晥鐜囩殑浣跨敤鍜岀$悊鐢佃剳鐨勮蔣銆佺‖浠惰祫婧愶紝鏀鎸佸簲鐢ㄨ蔣浠剁殑榪愯岃岃捐$殑紼嬪簭銆備緥濡傛搷浣滅郴緇熴佺▼搴忚捐¤璦鍜岃璦澶勭悊紼嬪簭銆佺綉緇滅郴緇熻蔣浠躲佺郴緇熸湇鍔$▼搴忕瓑銆傚叾涓璚indows鎿嶄綔緋葷粺灝辨槸鎴戜滑緇忓父鐢ㄧ殑銆傚簲鐢ㄨ蔣浠舵槸闈㈠悜鐢ㄦ埛錛屼負瑙e喅瀹為檯闂棰樿岀紪鍐欑殑鍚勭嶇▼搴忋傚畠鍙浠ョ敱鐢ㄦ埛鑷宸辨潵緙栧啓錛屼篃鍙浠ヨ喘涔般傚儚鎴戜滑緇忓父浣跨敤鐨勫姙鍏杞浠秓ffice XP 銆佺粯鍥捐蔣浠禤hotoshop銆佹父鎴忚蔣浠剁孩鑹茶︽垝絳夌瓑銆 鍦ㄤ釜浜虹數鑴戜笂錛屾渶甯哥敤鐨勬搷浣滅郴緇熸湁浜旂嶏細DOS銆乄indows銆乁nix/Xenix銆丩inux銆丱S/2銆侱OS緋葷粺鈥斺斾粠1981騫撮棶涓栬嚦浠婄殑17騫翠腑錛孌OS緇忓巻浜7 嬈″ぇ鐨勭増鏈鍗囩駭錛屼粠1.0 鐗堝埌鐜板湪鐨 7.0 鐗堬紝涓嶆柇鍦版敼榪涘拰瀹屽杽銆俉indows緋葷粺鈥斺擶indows鏄疢icrosoft鍏鍙稿湪1985騫11鏈堝彂琛ㄧ殑絎涓浠g獥鍙h嗚夌晫闈錛屼嬌 PC 鏈哄紑濮嬭繘鍏ヤ簡鎵璋撶殑鍥懼艦鐢ㄦ埛鐣岄潰錛圙UI錛欸raphical User Interface錛夐樁孌點俇nix緋葷粺銆俇nix緋葷粺鏈鍒濇槸鍦ㄤ腑灝忓瀷鏈轟笂榪愮敤銆俇nix鏄涓涓澶氱敤鎴風郴緇燂紝涓鑸瑕佹眰閰嶆湁8M浠ヤ笂鐨勫唴瀛樺拰杈冨ぇ瀹歸噺鐨勭‖鐩樸侺inux緋葷粺 鈥斺擫inux鏄鐩鍓嶅叏鐞冩渶澶х殑涓涓鑷鐢卞厤璐硅蔣浠訛紝鍏舵湰韜鏄涓涓鍔熻兘鍙涓嶶nix鍜學indows鐩稿茬編鐨勬搷浣滅郴緇燂紝鍏鋒湁瀹屽囩殑緗戠粶鍔熻兘銆 搴旂敤杞浠舵槸闈㈠悜鐢ㄦ埛錛屼負瑙e喅瀹為檯闂棰樿岀紪鍐欑殑鍚勭嶇▼搴忋傚畠鍙浠ョ敱鐢ㄦ埛鑷宸辨潵緙栧啓錛屼篃鍙浠ヨ喘涔般傚儚鎴戜滑緇忓父浣跨敤鐨勫姙鍏杞浠禣ffice XP銆佺粯鍥捐蔣浠禤hotoshop銆佹父鎴忚蔣浠剁孩鑹茶︽垝絳夌瓑銆 紜鐩樺氨鏄紜浠剁殑涓縐,鐢ㄦ潵瀛樺偍鏂囦歡鐨,杞鐩樹篃鏄涓縐嶅瓨鍌ㄨ懼,瑕佽蔣椹辨墠鑳界敤,鐜板湪鍙鏈1.44MB鐨,瀹歸噺澶灝忎簡,鐜板湪涓鑸閮戒笉鐢ㄤ簡,鐜板湪宸茬粡閫愭笎琚玌鐩樻墍浠f浛浜
④ arm-linux-gcc 編譯後,在開發板上沒法運行
你是不是說反了?或者是說你的環境變數已經有arm-linux-gcc了,而你又用了另一個交叉編譯版本,所以導致不能運行?
⑤ c語言能用來做什麼
C語言是許多高級計算機語言的基礎,學好C語言,能更好地學習其他語言,為以後學習打基礎。它既具有高級語言的特點,又具有匯編語言的特點。它的應用廣泛,具備很強的數據處理能力,各類科研都需要用到C語言。它是面向過程的語言。學好是語言再學習使用其他語言也會有很大的幫助。
⑥ Linux系統中玩到讓你停不下來的命令行游戲
大家好,我是良許。
在使用 Linux 系統時,命令行不僅可以讓我們在工作中提高效率,它還可以在生活上給我們提供各種 娛樂 活動,因為你可以使用它玩許多非常有意思的 游戲 ,這些 游戲 可都不需要使用專用顯卡。
命令行 游戲 盡管比較簡單,看上去只是一行行枯燥的代碼,但有,還是有不少的 Linux 系統 游戲 卻要復雜和有趣一些。實際上,命令行 游戲 一個重要的功能就是需要我們發揮想像力和創造力,在空白的紙上描繪出動人的景象,這非常有利於開發我們的大腦。
下面,我們將介紹幾款可以在 Linux 系統中用命令行也能玩的 游戲 。
網路黑客 於1987年首次發布,這款 游戲 還在一直在不停的開發中(3.6.6版本於2020年3月8日發布)。
在一些網友眼中,這款 游戲 被看作是所有流氓類 游戲 的鼻父。尤其是近年來類似的 游戲 也大受歡迎,諸如超越光速、以撒的結合、盜賊遺產、節奏地牢、暗黑地牢等。
這類 游戲 圍繞著 探索 和生存展開, 游戲 開始時,你要創造自己的角色,扮演一個傳統的夢幻性角色,比如騎士或巫師,然後 游戲 會給你介紹你所扮演角色的主要目標,那就是在地牢的最底層找到盡可能多的護身符,剩下的目標取決於你自己了,可以任意地在 游戲 中任意發揮。
矮人要塞 是在這個名單中唯一一個沒有開源的 游戲 ,不過我們任然選擇把它放入此次名單中,因為它的影響力和受歡迎程度實在太大了。
在矮人要塞這個 游戲 中,你要麼負責控制一個矮人玩要塞模式,挖地洞、種田、狩獵等,要麼玩冒險模式,在一個隨機產生的大世界裡玩耍,這個世界是由首都、村莊、地下墓穴、迷宮、強盜營地等組成的。
要塞模式包括很多面,從手工生產到與鄰居交易,再到防禦敵人;冒險模式雖然依賴於傳統的流氓 游戲 機制,但是其開發深度遠遠超過像網路黑客這樣的 游戲 。
弗羅茨 其實並不是一款真正意義的 游戲 ,它是 Infocom 公司的 游戲 和其他 Z-machine 游戲 (如佐克)的解釋器。 佐克 是有史以來最流行的文本冒險 游戲 之一,與上世紀80年代發布的其他文本冒險 游戲 不同,佐克可以解釋相當復雜的文襪螞本命令(用水晶鑰匙開門),就憑這個,它大大提高了 游戲 的可玩性,會給你帶來栩栩如生的感覺。
佐克分為三部 游戲 (佐克 l:偉大的地下帝國,佐克 II:羅博茲的巫師,佐克 III:地牢大師),你可以直接從Infocom網站免費下載所有 游戲 。 為了找到更有趣的 Z-machine 游戲 ,下面介紹幾場不容錯過的 游戲 比賽:
迷路的豬 :是一款非常有趣的 游戲 , 游戲 難度適中。 游戲 大致的內容是你跟隨一個獸人,你們必須找回一頭逃走的豬。這款 游戲 於2007年發布,在2007年的互動小說大賽中名列第一。
蜘蛛網 :這個 游戲 大致是讓你扮演一個被俘間諜的角色,你的目標是向審問者講述祥好悉一個似是而非的故事。可別小看這個 游戲 ,你在 游戲 中說的每一句話、每一個細節都會被質疑,你需要發揮聰明才智去和審問者博弈。
見證者 :這個 游戲 由 Infocom 公司創建,它是一個謀殺類的文本 游戲 ,充滿神秘和冒險,故事發生在洛杉磯一個安靜的郊區,玩家扮演一個偵探,負責調查一個叫 Freeman Linder 的有錢人,他害怕自己的生命受到威脅,玩家需要根據所提供的線索解開謎團。
當我們在等待程更新下載或者安裝時,有幾個簡單的 游戲 來打發時間是很不錯的,BSD 游戲 就是不錯的選擇。BSD 游戲 包含有一個數量相當大的 Linux 系統 游戲 命令行,它們有些最初是與一些BSD 游戲 一起分發的。
BSD 游戲 包括冒險,算術,雙陸棋,五子棋,黑客,智力競賽,俄羅斯方塊等謹乎。
要啟動任何包含在BSD 游戲 中的 游戲 包,只需在終端中輸入其名稱並按下 enter 鍵。
大災變:黑暗之日 是一款基於回合制的生存 游戲 ,在這個 游戲 中,倖存者必須為看到另一個日出而戰斗,因為僵屍、殺人機器人、巨型昆蟲和其他致命的敵人無處不在。
游戲 以一種相當典型的流氓式的方式開始:你醒來時沒有記憶,你的直接目標包括保證食物安全、 探索 你的周圍環境等,你的目的是在這個過程中不被殺死。
大災變:黑暗之日 可以在終端軟體上玩,也可以用圖形化的 tileset 玩。除了 Linux 系統,它還可在 Windows、macOS、iOS 和 Android 上運行。
2014年,義大利網路開發商加布里埃爾·西魯利(Gabriele Cirulli)發布了《2048》,互聯網立刻愛上了它,因為這個 游戲 雖然簡單卻讓人著迷。這個 游戲 的目的是移動有編號的瓷磚,使兩個具有相同編號的瓷磚相互接觸,從而使它們合並為一個瓷磚,按照這個方式,直到玩家創建一個編號為2048的瓷磚。
GitHub 頁面雖然提供了有關如何下載和安裝2048客戶端的說明,但實際上只需要兩個命令:
受最初投幣 游戲 的啟發,貪吃蛇是一款多人玩家的 Linux 系統命令行 游戲 , 游戲 屏幕上最多有四條由 游戲 玩家控制的蛇,其他的蛇是系統生成。 如果您的系統上安裝了貪吃蛇,您可以在終端中輸入以下命令開始 游戲 :
該 游戲 由 WASD 方向鍵或 vim 鍵綁定控制,您可以隨時按 Escape 或 Ctrl+C 退出 游戲 。
⑦ linuxwho鍛戒護鏌ョ湅鐢ㄦ埛淇℃伅linuxwho鍛戒護
linux涓嬫庝箞鏌ョ湅ssh鐨勭敤鎴風櫥褰曟棩蹇楋紵
ssh鐢ㄦ埛鐨勭櫥褰曟棩蹇椾富瑕佹槸wtmp鍜寀tmp榪2涓鏂囦歡錛屽垎鍒浣嶄簬/var/log/鐩褰曞拰/var/run鐩褰曪紝閮芥槸浜岃繘鍒舵枃浠訛紝鍥犳や笉鑳界洿鎺ヤ嬌鐢╟at銆乼ail絳夊懡浠よ繘琛屾煡鐪嬶紝闇瑕佷嬌鐢╳ho銆亀銆乽sers鍜宭ast榪4涓鍛戒護榪涜屾煡鐪嬶紝涓嬮潰鎴戠畝鍗曚粙緇嶄竴涓嬪備綍浣跨敤榪4涓鍛戒護鏉ユ煡鐪媠sh鐢ㄦ埛鐧誨綍鏃ュ織錛
who
榪欎釜鍛戒護涓昏佺敤浜庡垪鍑哄綋鍓嶅凡鐧誨綍Linux緋葷粺鐨勭敤鎴鳳紝濡備笅錛岃緭鍑轟緷嬈′負鐢ㄦ埛鍚嶃乼ty鍙楓佺櫥褰曟椂闂翠互鍙婅繙紼嬭繛鎺ヤ富鏈篒P錛
濡傛灉鎸囨槑浜唚tmp鏂囦歡錛屽垯who鍛戒護浼氬垪鍑轟互鍓嶆墍鏈夌櫥褰曡板綍錛屽備笅錛屼粠涓婂埌涓嬶紝鏃墮棿瓚婃潵瓚婅繎錛岀涓琛屼負絎涓嬈$櫥闄嗭紝鏈鍚庝竴琛屼負鏈鍚庝竴嬈$櫥闄嗭細
w
榪欎篃鏄涓涓鐢ㄤ簬鏄劇ず褰撳墠宸茬櫥褰昄inux緋葷粺鐢ㄦ埛鐨勫懡浠わ紝涓昏佺敤浜庢煡鐪媢tmp鏂囦歡錛岀浉姣旇緝who鍛戒護鏉ヨ達紝瀹冭緭鍑虹殑淇℃伅鏇磋︾粏錛屽備笅錛屽寘鎷鐢ㄦ埛鍚嶃乼ty鍙楓佽繙紼嬭繛鎺ュ湴鍧銆佺櫥闄嗘椂闂淬佺┖闂叉椂闂翠互鍙婂綋鍓嶇敤鎴鋒e湪鍋氱殑浜嬶紙鎵ц岀殑鍛戒護錛夌瓑錛
users
榪欎釜鍛戒護涔熶富瑕佺敤浜庢樉紺哄嚭褰撳墠宸茬櫥褰昄inux緋葷粺鐨勭敤鎴鳳紝涓涓浼氳瘽瀵瑰簲涓涓鐢ㄦ埛錛屽傛灉涓涓鐢ㄦ埛鏈夊氭′細璇濓紝閭d箞灝變細鏄劇ず澶氭★紝濡備笅錛
last
榪欎釜鍛戒護涓昏佺敤浜庢樉紺烘渶榪戞浘鐧誨綍Linux緋葷粺鐨勭敤鎴鳳紝浠庝笂鍒頒笅鏃墮棿瓚婃潵瓚婁箙榪滐紝鏈榪戠殑浼氭樉紺哄湪鏈涓婇潰錛屾渶榪滅殑浼氭樉紺哄湪鏈涓嬮潰錛岄拡瀵箇tmp鏂囦歡錛屽備笅錛岃緭鍑轟緷嬈′負鐢ㄦ埛鍚嶇О銆乼ty璁懼囧彿銆佽繙紼嬮摼鎺ュ湴鍧銆佺櫥褰曟椂闂淬佺櫥鍑烘椂闂寸瓑錛屽傛灉鐘舵佷竴鐩翠負still錛屽垯璇存槑褰撳墠鐢ㄦ埛姝e湪浣跨敤Linux緋葷粺錛
鑷蟲わ紝鎴戜滑灝卞畬鎴愪簡浣跨敤who銆亀銆乽sers鍜宭ast榪4涓鍛戒護鏉ユ煡鐪媠sh鐢ㄦ埛鐧誨綍鏃ュ織銆傛葷殑鏉ヨ達紝鏁翠釜榪囩▼闈炲父綆鍗曪紝鍙瑕佷綘鏈変竴瀹氱殑Linux鍩虹錛岀啛鎮変竴涓嬩笂闈㈢殑鍛戒護鍜岃存槑錛屽緢蹇灝辮兘鎺屾彙鐨勶紝鍙浠ュ弬鑰冧竴涓嬭繖涓鏂囩珷https://blog.csdn.net/kingwolfs/article/details/84481927錛屼粙緇嶇殑闈炲父璇︾粏錛屽笇鏈涗互涓婂垎浜鐨勫唴瀹硅兘瀵逛綘鏈夋墍甯鍔╁惂錛屼篃嬈㈣繋澶у惰瘎璁恆佺暀璦榪涜岃ˉ鍏呫
c璇璦涓鍏辨湁21涓浠涔堬紵
1.銆奀璇璦鍏ラ棬鏁欑▼銆嬶細寮曞叆澶ч噺鐨凜璇璦紼嬪簭妗堜緥錛屾妸綆楁硶鍜岃娉曠粨鍚堣搗鏉ワ紝閫氳繃寮曞煎ぇ瀹剁敱嫻呭叆娣卞湴緙栧啓C紼嬪簭錛岃╁ぇ瀹舵帉鎻C璇璦銆傚皢浠庝腑瀛︿細C璇璦璇娉曘佹暟緇勩佹ā鍧楀寲紼嬪簭璁捐℃寚閽堛佹枃浠剁殑杈撳叆涓庤緭鍑虹瓑銆
2.銆奀璇璦瀹炵幇鏂囦歡綾誨瀷緇熻$▼搴忋嬶細浣跨敤C璇璦瀹炵幇涓涓鏂囦歡綾誨瀷緇熻$▼搴忋
3.銆奀璇璦瀹炵幇澶氱嚎紼嬫帓搴忋嬶細浣跨敤C璇璦澶氱嚎紼嬫ā鍨嬪疄鐜頒簡鎺掑簭綆楁硶銆
4.銆3涓狢璇璦瀹炰緥甯︿綘鎺屾彙閫掑綊鏂規硶璁恆嬶細閫氳繃3涓狢璇璦緙栫▼瀹炰緥錛岃╀綘鍦ㄥ埄鐢ㄩ掑綊瑙e喅瀹為檯闂棰樼殑榪囩▼涓瀛︿範閫掑綊騫舵帉鎻″叾鏍稿績鎬濇兂銆
5.銆奀璇璦瀹炵幇LRU緙撳瓨銆嬶細浣跨敤C璇璦瀹炵幇LRU緙撳瓨錛屼粠涓瀛︿範LRU緙撳瓨鐨勫熀鏈姒傚康銆丆璇璦鐩稿叧緙栫▼鎶宸э紝鍙屽悜閾捐〃鐨凜璇璦瀹炵幇浠ュ強鍝堝笇琛ㄧ殑C璇璦瀹炵幇銆6.銆奀璇璦瀹炵幇閫氳褰曘嬶細浣跨敤C璇璦瀹屾垚涓涓綆鍗曠殑閫氳褰曘備細娑夊強鍒扮粨鏋勪綋銆佹暟緇勩侀摼琛ㄧ瓑閲嶈佹傚康銆
7.銆奀璇璦鍒朵綔綆鍗曡$畻鍣ㄣ嬶細鐢–璇璦鍋氫竴涓綆鍗曠殑璁$畻鍣錛岃繘琛屽姞銆佸噺銆佷箻銆侀櫎鎿嶄綔銆傚︿範C璇璦鐨勫熀鏈璇娉曪紝涓庤緭鍏ヤ笌杈撳嚭銆
8.銆奀璇璦瀹炵幇澶ф暟璁$畻鍣錛堝姞鍑忎箻闄わ級銆嬶細閫氳繃C璇璦瀹炵幇涓涓綆鏄撹$畻鍣錛岀敤浜庤В鍐充換鎰忛暱搴︾殑鏈夌﹀彿鏁存暟鐨勫姞銆佸噺銆佷箻銆侀櫎榪愮畻銆傚皢鍒╃敤鍏ㄦ柊鐨勬暟鎹緇撴瀯鏉ヨ〃紺哄ぇ鏁幫紝騫跺皢鏂版暟鎹緇撴瀯瀛樺偍鐨勫ぇ鏁拌漿鍖栦負瀛楃︾敤浜庢樉紺恆備互鍙婂熀浜庡ぇ鏁版柊鐨勬暟鎹緇撴瀯瀹屾垚鍔犮佸噺銆佷箻銆侀櫎鐨勮$畻綆楁硶璁捐°9.銆奀璇璦瀹炵幇鑱婂ぉ瀹よ蔣浠躲嬶細浣跨敤C璇璦瀹炵幇鑱婂ぉ瀹よ蔣浠訛紝瀛︿範騫跺疄璺靛熀鏈鐨凩inuxsocket閫氫俊鐨勭浉鍏蟲妧鏈錛屽姞娣卞筎CP/IP鍗忚鏍堢殑鐞嗚В銆
10.銆奀璇璦瀹炵幇web鏈嶅姟鍣ㄣ嬶細浣跨敤C璇璦瀹炵幇涓涓猈eb鏈嶅姟鍣ㄣ傚皢浼氬︿範C璇璦緗戠粶寮鍙戱紝epollIO澶嶇敤鏈哄埗錛岀啛鎮塋inux涓嬬殑C璇璦紼嬪簭緙栬瘧鏂規硶錛孧akefile緙栧啓絳夋妧11.銆奀璇璦瀹炵幇Linuxpwd鍛戒護銆嬶細閫氳繃瀹炵幇linuxpwd鍛戒護錛屼互鐞嗚Вlinux鏂囦歡緋葷粺鐨勫熀鏈姒傚康鍙婂唴閮ㄥ疄鐜幫紝騫剁啛鎮塴inux緋葷粺涓庢枃浠剁郴緇熺浉鍏崇殑緋葷粺璋冪敤鎺ュ彛銆
12.銆奀璇璦瀹炵幇FTP鏈嶅姟鍣ㄣ嬶細鏇村姞娣卞叆鐨勭悊瑙e楁帴瀛楃紪紼嬫ā鍨嬶紝騫朵笖浜嗚В搴旂敤灞傚崗璁錛團TP錛夊備綍鍦ㄥ楁帴瀛楀熀紜涓婂畾涔夈傛湰欏圭洰瀹炵幇浜嗘敮鎸乴ist錛実et錛宷uit絳夊懡浠ょ殑FTP鏈嶅姟鍣ㄣ
13.銆奀璇璦瀹炵幇Linuxwho鍛戒護銆嬶細閫氳繃C璇璦瀹炵幇Linuxwho鍛戒護欏圭洰鐨勫︿範錛屽彲浠ユ帉鎻Linux鎿嶄綔緋葷粺涓轟笂灞傛彁渚涚殑璁塊棶緋葷粺鏁版嵁鏂囦歡鐨勬帴鍙c傛洿濂界殑鐞嗚ВLinux鎿嶄綔緋葷粺宸ヤ綔鐨勫師鐞嗐
14.銆奀璇璦瀹炵幇Linuxcp鍛戒護銆嬶細閫氳繃瀹屾垚C璇璦瀹炵幇Linuxcp鍛戒護欏圭洰鐨勫︿範錛屽彲浠ユ帉鎻Linux鎿嶄綔緋葷粺涓鐨勬枃浠禝O鐩稿叧鐨勭郴緇熷嚱鏁板拰鐩褰曠浉鍏蟲搷浣滅殑緋葷粺鍑芥暟錛屾瘮濡俹pen,write,opendir,readir銆傛繁鍏ヤ簡瑙Linux鐜澧冪郴緇熺紪紼嬨
15.銆奀璇璦瀹炵幇Linuxls鍛戒護銆嬶細鏈璇劇▼瀛︿範linux鐩褰曚笌鏂囦歡灞炴э紝浣跨敤C璇璦瀹炵幇Linuxls鍛戒護銆傚叾涓娑夊強鍒發s鐨勫師鐞嗭紝濡備綍鑾峰彇鑾峰彇鏂囦歡鐨勫睘鎬э紝鎺╃爜鐨勭浉鍏崇煡璇嗐傝よ瘑linux緋葷粺鍑芥暟opendir()錛宺eaddir()絳夌殑璋冪敤鏂規硶銆
16.銆奀璇璦瀹炵幇Linuxtouch鍛戒護銆嬶細閫氳繃瀹屾垚涓涓狢璇璦瀹炵幇Linuxtouch鍛戒護欏圭洰錛屽︿範鍩轟簬LINUX鐜澧冪殑緋葷粺緙栫▼鎶鏈錛屽挨鍏禠inux鏂囦歡IO鎿嶄綔鐩稿叧鎶鏈銆傝兘銆17.銆奀璇璦瀹炵幇ping紼嬪簭銆嬶細甯﹂嗕綘瀛︿範鐢–璇璦瀹炵幇ping鍛戒護銆傞氳繃鏈欏圭洰涓浣犲彲浠ユ洿娣卞叆鍦扮悊瑙TCP/IP鍗忚錛屽楁帴瀛楃紪紼嬶紝鎺屾彙C璇璦榪涜岀綉緇滅紪紼嬬殑鎶宸ф柟娉曘
18.銆奀璇璦鐗團lappyBird銆嬶細浣跨敤C璇璦鏉ュ疄鐜頒竴涓瀛楃︾増FlappyBird錛屾劅鍙椾笉涓鏍風殑椋庨噰銆傛湰璇劇▼瀛︿範鍚庡皢浼氱啛鎮塁璇璦錛屼互鍙婄粯鍥懼簱ncurses鐨勪嬌鐢ㄣ傛湰璇劇▼閫傚悎鏈塁璇璦鍩虹錛屾兂鍋氱粌鎵嬮」鐩鐨勫悓瀛︼紝鍙浠ユ湁鏁堢殑瀛︿範ncurses緇樺浘搴撶殑浣跨敤錛屽仛涓浜涙湁瓚g殑浜嬫儏銆19.銆奀璇璦瀹炵幇璐鍚冭泧銆嬶細灝嗗湪Linux騫沖彴浣跨敤C璇璦緙栫▼錛屽湪緇堢鐣岄潰涓婄帺璐鍚冭泧銆傚垎涓轟笁涓闃舵碉紝涓闃舵靛浘鍍忓簱錛屼簩闃舵電粯鍒舵父鎴忓浘鍍忕晫闈錛屼笁闃舵靛疄鐜拌椽鍚冭泧銆傞愭ュ疄鐜頒竴涓娓告垙鐨勫埗浣滆繃紼嬨
20.銆奀璇璦蹇閫熷疄鐜頒簲瀛愭嬨嬶細鐢ㄦ渶綆鍗曠殑浠g爜鏉ュ疄鐜頒簲瀛愭嬫父鎴忥紝甯鍔╁ぇ瀹跺嶄範鍩虹鐭ヨ瘑錛屽︿範浜嗗備綍璁捐″苟瀹炵幇涓涓浜斿瓙媯嬫父鎴忥紝宸╁滻澶у剁殑鍩虹鐭ヨ瘑銆傛秹鍙婂埌C璇璦鐨勫熀紜閫昏緫鍒ゆ柇錛岀▼搴忚捐′笌緙栧啓銆21.銆奀璇璦鍒朵綔2048銆嬶細2048鏄涔嬪墠鍗佸垎鐏鐖嗙殑涓嬈劇泭鏅烘父鎴忋傚皢浣跨敤C璇璦瀹屾垚涓涓2048娓告垙銆傞傚悎瀵笴璇璦鏈変竴瀹氬熀紜錛屾兂鍋氶」鐩緇冩墜鐨勫悓瀛︼紝鏈璇劇▼瀛︿範鍚庡皢浼氫簡瑙C璇璦錛屼互鍙婄粯鍥懼簱ncurses鐨勫疄鐢ㄣ
Linux鍛戒護琛屾墽琛宺oot鏉冮檺鐨勫懡浠わ紵
浣跨敤sudo鍛戒護錛屽懡浠ゆ牸寮弒udo闇瑕乺oot鏉冮檺鐨勫叿浣揷ommand>sudo浣誇竴鑸鐢ㄦ埛涓嶉渶瑕佺煡閬撹秴綰х敤鎴風殑瀵嗙爜鍗沖彲鑾峰緱鏉冮檺銆傝屽彲浠ヤ嬌鐢╯udo鍛戒護鐨勭敤鎴峰垯鐢/etc/sudoers閰嶇疆鏂囦歡鏉ョ$悊銆傜紪杈/etc/sudoers鐨勬柟娉曪細
1.鍏堢粰root鐢ㄦ埛/etc/sudoers鏂囦歡鐨勭紪杈戞潈闄愶紝#chmod740/etc/sudoers2.#vi/etc/sudoers,榪涘叆緙栬緫妯″紡錛屾壘鍒拌繖涓琛岋細rootALL=(ALL)ALL鍦ㄨ搗涓嬮潰娣誨姞xxxALL=(ALL)ALL(榪欓噷鐨剎xx鏄浣犵殑鐢ㄦ埛鍚)錛岀劧鍚庝繚瀛橀鍑恆
3.鎶/etc/sudoers鏂囦歡鐨勬潈闄愬嶅師錛#chmod440/etc/sudoers浣跨敤sudo鍚庯紝闇瑕佽緭鍏ヤ竴嬈″綋鍓嶇敤鎴風殑瀵嗙爜榪涜岃韓浠介獙璇侊紙姝ゅ勬敞鎰忥紝騫墮潪root鐢ㄦ埛鐨勫瘑鐮侊紒錛夛紝浜斿垎閽熷悗錛屽啀嬈′嬌鐢╯udo鍛戒護鏃訛紝闇瑕佸啀嬈¤よ瘉銆傚懡浠ゅ疄渚嬶細$whoamimao$sudowhoamipasswordformao:root$