韓順平Linux視頻教程—筆記(轉(zhuǎn))

韓順平Linux視頻教程—筆記(全)

Linux****操作系統(tǒng)學(xué)習(xí)

linux****的特點(diǎn)

優(yōu)點(diǎn):

1餐屎、免費(fèi)的/開源的系統(tǒng)

2捅儒、支持多線程/多用戶的系統(tǒng)

3摧扇、安全性好

4、對內(nèi)存和文件管理優(yōu)越

linux體積最少只需要內(nèi)存4M弄抬,由于小所以可以做嵌入式開發(fā)

缺點(diǎn):

操作相對困難

Linus于1991年至1994年將unix的微型版minis加以開發(fā)出linux

現(xiàn)在redhat紅帽子、BSD宪郊、SUN等公司進(jìn)行再發(fā)行

在windows環(huán)境下可以使用(VM等)虛擬機(jī)來運(yùn)行l(wèi)inux

在linux****運(yùn)行startx****命令****可以****進(jìn)入圖形操作界面

root****是linux****下的系統(tǒng)管理員

普通用戶登陸后可以用**su- **切換為系統(tǒng)管理員

關(guān)機(jī)命令

shutdown -h now 立刻進(jìn)行關(guān)機(jī)

shutdown -r now 現(xiàn)在重新啟動計算機(jī)

reboot 現(xiàn)在重新啟動計算機(jī)

logout 注銷

vi****編輯器是linux下最有名的編輯器掂恕,也是學(xué)習(xí)linux必須掌握的工具,

在unix下也可使用vi進(jìn)行程序的開發(fā)

linux可以做java/c開發(fā)

在linux的vi編輯器內(nèi)寫一下簡單的java程序“hello,world”

1弛槐、Vi Hello.java

2懊亡、輸入i[進(jìn)入到插入模式]

public class hello{

  public static void main(String []args){

         System.out.println("hello,world");

     }

}

3、輸入esc鍵[進(jìn)入命令模式]

4乎串、輸入wq保存退出/q!退出但不保存

6店枣、編譯javac hello.java

javac Hello.java

7、運(yùn)行 java Hello [java運(yùn)行的是class文件]

ls命令顯示當(dāng)前文件

ls -l命令顯示詳細(xì)文件列表

如何在linux下開發(fā)c程序或是c++(cpp)程序

建立vi hello.cpp

include <stdio.h>

int main(){

printf("hello!");

    return 0;

}

gcc hello.cpp 用gcc編譯器編譯出來未命名會是a.out文件

gcc -o [文件名] [源文件名] 用gcc編譯器編譯文件命名

/a.out 在linux下運(yùn)行c程序只要輸入/就可以運(yùn)行


linux****下的文件目錄

linux的文件系統(tǒng)是采用級層式的樹狀目錄結(jié)構(gòu),在此結(jié)構(gòu)中的最上層

是根目錄“/”鸯两,然后在此目錄下再創(chuàng)建其他的目錄

深刻理解linux文件目錄是非常重要的闷旧。

linux下的根目錄中重要的目錄如下是系統(tǒng)自動分配的

root目錄、home目錄钧唐、bin目錄忙灼、sbin目錄、mnt目錄钝侠、etc目錄该园、var目錄、boot目錄帅韧、usr目錄里初、tmp目錄(均為同級目錄)

root目錄:用于存放root用戶相關(guān)文件的目錄

home目錄:用于存放普通用戶的相關(guān)文件的目錄

bin目錄:用于存放常用命令的目錄

sbin目錄:用于存放要具有一定權(quán)限才可以使用的命令的目錄

mnt目錄:用于默認(rèn)掛載軟驅(qū)、光驅(qū)的目錄

etc目錄:用于存放配置相關(guān)的文件的目錄

var目錄:用于存放經(jīng)常變化的文件的目錄

boot目錄:用于存放系統(tǒng)引導(dǎo)文件的目錄(重要)

usr目錄:用于存放安裝的默認(rèn)目錄(安裝文件會默認(rèn)安裝在usr目錄里)

tmp目錄:用于存入臨時文件的目錄

cd /返回到主目錄下

ls與dir功能相同顯示目錄名

顯示當(dāng)前在哪個路徑下面

pwd命令是顯示當(dāng)前在哪個路徑下


linux****的用戶管理(普通用戶無法使用)

useradd命令:useradd 用戶名(添加用戶)

passwd命令:passwd 用戶名 (修改用戶密碼)

userdel命令:userdel 用戶名 (刪除用戶)

userdel -r 用戶名(刪除用戶以及用戶主目錄)


linux****的常用命令

指定運(yùn)行級別

命令:init[012356]

運(yùn)行級別

0:關(guān)機(jī)

1:單用戶

2:多用戶狀態(tài)沒有網(wǎng)絡(luò)服務(wù)

3:多用戶狀態(tài)有網(wǎng)絡(luò)服務(wù)

4:系統(tǒng)未使用保留給用戶

5:圖形界面

6:系統(tǒng)重啟

常用運(yùn)行級別是3和5忽舟,要修改默認(rèn)的運(yùn)行級別可改文件/etc/inittab的

id:5:initdefault:這一行中的數(shù)字

在啟動引導(dǎo)界面的時候按e進(jìn)入編輯双妨,在進(jìn)入grub引界面時,請輸入e在選中第二個選項(xiàng)按e叮阅,在最后輸入 1[單用戶級別] 然后按b進(jìn)入單用戶模式斥难。

*******:可通過此方法進(jìn)行l(wèi)inux用戶密碼的修改**


linux****常用命令(2)

命令pwd [顯示當(dāng)前工作目錄]

命令cd [改變目錄]

命令ls [列出文件和目錄]

ls -a 顯示隱藏文件

ls -l 顯示長列表格式

命令mkdir [建立目錄]

命令rmdir [刪除空目錄]


linux****常用命令(3)

tab鍵可以補(bǔ)全相應(yīng)內(nèi)容

命令touch [建立空文件]

命令cp [復(fù)制命令]

cp -r dir1 dir2遞歸復(fù)制命令(復(fù)制子目錄信息)

命令mv [移動文件和改文件名]

命令rm [刪除文件和目錄]

rm -rf * [刪除所有內(nèi)容(包括目錄和文件)r遞歸f強(qiáng)制]

命令ln [建立符號連接]

ln -s 源目標(biāo)

ln -s /etc/inittab inittab [inittab指向?qū)嶋H文件/etc/inittab]

linux****常用命令(4)

命令more [顯示文件內(nèi)容,帶分頁]

命令less [顯示文件內(nèi)容帶分頁]

命令grep [在文本中查詢內(nèi)容] grep -n "查找內(nèi)容" [文件名]

命令| [管道命令] 在linux和unix系統(tǒng)中|就是管道命令帘饶,把上一個命令的

              結(jié)果交給|的后面的命令進(jìn)行處理

命令man [相當(dāng)于dos下的help]

例:Grep –n “查找內(nèi)容” [文件名] | more


linux****常用命令(5)

命令find [搜索文件及目錄]

在linux中,因?yàn)槲募到y(tǒng)是以級別式的結(jié)構(gòu)來組成的群扶,所以要在整個系統(tǒng)中找到特定的文件和目錄并不是件容易的事及刻。而"find"命令可以解決上述問題。

1竞阐、在特定的目錄下搜索并顯示指定名稱的文件和目錄

find / -name man:意思是說從根目錄開始搜索名稱為man的文件或目錄

2缴饭、搜索一段時間內(nèi)被存取/變更的文件或目錄。

find /home -amin -10:十分鐘內(nèi)存取的文件或目錄

find /home -atime -10:十小時內(nèi)存取的文件或目錄

find /home -cmin -10:十分鐘內(nèi)更改過的文件或目錄

find /home -ctime +10:十小時前更改過的文件或目錄

3骆莹、搜索指定大小的文件颗搂。

find /home -size +10k:意思是說查找/home目錄下大小為10k的文件


linux****常用命令(6) 以文件頭字段來判定文件類型,并非以文件后綴名來判定幕垦。

重定向命令:管道定向命令">"為覆蓋丢氢,">>"追加寫在原文件內(nèi)容后面

ls -l > a.txt 列表的內(nèi)容寫入文件a.txt中(覆蓋寫)

ls -al >> aa.txt列表的內(nèi)容追加到文件aa.txt的末尾

從文件中輸入信息database_program<database_data


文件所有者、所在組和其它組

在linux中的每個用戶必需屬于一個組先改,不能獨(dú)立于組外疚察。在linux中每個文件有所有者、所在組仇奶、其它組的概念貌嫡。

(1)所有者

一般為文件的創(chuàng)建者,誰創(chuàng)建了該文件,就是天然的成為該文件的所有者岛抄。

用[ls -ahl]命令可以看到文件的所有者

你也可以用[chown 用戶名 文件名]來修改文件的所有者别惦。

(2)所在組

當(dāng)某個用戶創(chuàng)建了一個文件后,這個文件的所在組就是該用戶所在的組夫椭。

用[ls -ahl]命令可以看到文件的所有組掸掸。

你可以通過[chgrp 組名 文件名]來修改文件所在的組

(3)其它組

除開文件的所有者和所在組的用戶外,系統(tǒng)的其它用戶都是文件的其它組益楼。

(4)改變用戶所在的組

在添加用戶時猾漫,可以指定將該用戶添加到哪個組中,同樣的用root的管理權(quán)限可以改變某個用戶所在的組:

usermod -g 組名 用戶名

你可以用

usermod -d 目錄名 用戶名 改變該用戶登陸的初始目錄

如何在linux中添加組

需要用root用戶來添加感凤,普通用戶無法進(jìn)行用戶和組的添加

添加組命令:groupadd 組名

查看linux中所有組的信息

命令:vi /etc/group

查看命令:cat /etc/group

組名:x:組ID號:

創(chuàng)建用戶悯周,并同時指定將該用戶分配到指定組。

命令:useradd -g 組名 用戶名

查看linux中所有用戶信息

可編輯查看命令:vi /etc/passwd

查看命令:cat /etc/passwd

用戶名:x:用戶ID:用戶所在組ID:注釋:/用戶主目錄/:該用戶所用的shell解釋器

設(shè)定密碼

命令:passwd 用戶名

  • rw- r-- r--

-為文件類型陪竿,-為普通文件禽翼,d為文件夾,l為鏈接

rw-文件的所有者對該文件的權(quán)限。權(quán)限分三種1族跛、r可讀也會用4表示闰挡;2、W可寫也會用2表示礁哄;3长酗、X可執(zhí)行也會用1表示。

r--文件所在組對該文件的權(quán)限

r--其它組的用戶對該文件的權(quán)限

如何修改文件的訪問權(quán)限的問題桐绒?

注:修改文件訪問權(quán)限只有root用戶和文件所有者夺脾。

查看當(dāng)前操作人員命令who am i

命令chmod為修改文件訪問權(quán)限的命令。

chmod 777 用戶名

解釋:

  • --- --- --- 000

  • r-- r-- r-- 444

  • rw- rw- rw- 666

  • rwx rwx rwx 777

  • rwx rw- r-- 764

Linux****下程序安裝

javaee****開發(fā)環(huán)境搭建茉继,JDK的安裝

概述:要在linux下開發(fā)java程序咧叭,則需要安裝JDK。實(shí)際上目前有很多java后臺程序就是運(yùn)行在linux環(huán)境下運(yùn)行的烁竭。也是將來的發(fā)展趨勢菲茬。

JDK****的安裝步驟:

1、把鏡像ISO文件掛載到linux操作系統(tǒng)上派撕。(linux系統(tǒng)是用掛載和卸載來管理分區(qū)文件的婉弹。)

在虛擬機(jī)上做好配置,在根目錄下進(jìn)行操作:

掛載光驅(qū)命令:mount /mnt/cdrom/

掛載光驅(qū)

卸載光驅(qū)命令:umount /mnt/cdrom/

2、把安裝文件copy到/home目錄下(文件名過長要用tab鍵來自動補(bǔ)全文件名)

命令:cp 文件名 /home

3腥刹、切換目錄到/home

命令:cd /home

4马胧、安裝(./)是解壓縮命令

命令 ./ 安裝文件名.bin

輸入yes后開始安裝,輸入no不安裝衔峰。

5佩脊、看看一個文件 /etc/profile (環(huán)境配置文件)

linux下用#來作注釋蛙粘。

6、配置profile環(huán)境配置文件


javaee****開發(fā)環(huán)境搭建 eclipse的安裝

概述:要在linux下開發(fā)java程序威彰。則需要安裝JDK出牧,如果要在集成開發(fā)工具(IDE)下開,可以安裝eclipse軟件歇盼。

eclipse****安裝

1舔痕、掛載eclipse.iso文件

2、將eclipse復(fù)制到/home目錄下

3豹缀、安裝

tar.gz文件的安裝命令:tar -zxvf 文件名.tar.gz

4伯复、啟動eclipse[進(jìn)入圖開界面]

打開終端控制臺

進(jìn)入eclipse文件后

./eclipse

myeclipse****安裝同上需在圖形界面下安裝

JDK/eclipse/myeclipse三個按順序安裝后才可以使用J2EE的開發(fā)


javaee****開發(fā)環(huán)境搭建 tomcat的安裝

概述:我們知道javaee的服務(wù)器有tomcat、jboss邢笙、weblogic啸如、websphere、resin...這些都可以安裝到linux下氮惯,我們給大家安裝tomcat

tomcat用于開發(fā)小叮雳、中型項(xiàng)目(免費(fèi))jboss也是免費(fèi)的。

weblogic妇汗、websphere用于開發(fā)大型項(xiàng)目(收費(fèi))

安裝同上

注釋重點(diǎn):

bin文件安裝使用./ 文件名.bin

tar.gz文件安裝使用tar -zxvf 文件名.tar.gz

unzip解壓縮zip文件:unzip 文件名.zip

zip壓縮文件:zip 壓縮包文件名.zip 要壓縮的文件名

在圖形界面下運(yùn)行文件后要加&進(jìn)行后臺運(yùn)行

控制臺下運(yùn)行文件命令./文件名 &

./eclipse &


javaee開發(fā)環(huán)境搭建 Mysql數(shù)據(jù)庫的安裝

概述:毫無疑問帘不,沒有數(shù)據(jù)庫,javaee項(xiàng)目將會暗淡無光杨箭,所以我們必須掌握如何在linux下安裝和使用數(shù)據(jù)庫寞焙。在linux下除了microsoft的sql server不能安裝外,其它主流的數(shù)據(jù)庫都可以安裝互婿。比如Mysql棺弊、oracle、db2...關(guān)于如何在linux下安裝Mysql數(shù)據(jù)庫我們在后面講解擒悬,各位同學(xué)可以問問google大神,看看能不能自己搞定!


linux下娛樂軟件 realplay

概述:linux下一樣有很多娛樂軟件稻艰,比如播放影的軟件之王realplay懂牧。我們給大家演示一下。請注意這次我用的是.bin的安裝文件尊勿。

安裝realplay

1僧凤、把安裝文件copy到home目錄去

2、安裝./realplay


linux****分區(qū)(1)

概述:首先我們要對硬盤分區(qū)的基本概念進(jìn)行一些初步的了解元扔,硬盤的分區(qū)主要分為基本分區(qū)(Primary Partion)和擴(kuò)展分區(qū)(Extension Partion)兩種躯保,基本分區(qū)和擴(kuò)展分區(qū)的數(shù)目之和不能大于四個。且基本分區(qū)可以馬上被使用但不能再分區(qū)澎语。擴(kuò)展分區(qū)必須再進(jìn)行分區(qū)后才能使用途事,也就是說它必須還要進(jìn)行二次分區(qū)验懊。那么由擴(kuò)展分區(qū)再分下去的是什么呢?它就是邏輯分區(qū)(Logical Partion)尸变,而且邏輯分區(qū)沒有數(shù)量上限制义图。


linux****分區(qū)(2)

對windows的用戶來說,有幾個分區(qū)就有幾個驅(qū)動器召烂,并且每個分區(qū)都會獲得一個字母標(biāo)識符碱工,然后就可以選用這個字母來指定在這個分區(qū)上的文件和目錄,它們的文件結(jié)構(gòu)都是獨(dú)立的奏夫,非常好理解怕篷。但對這些用戶初上手Red Hat Linux嗎,可就有點(diǎn)惱人了酗昼。因?yàn)閷ed Hat Linux用戶來說無論有幾個分區(qū)廊谓,分給哪一目錄使用,它歸根結(jié)底就只有一個根目錄仔雷,一個獨(dú)立且唯一的文件結(jié)構(gòu)蹂析。Red Hat Linux中每個分區(qū)都是用來組成整個文件系統(tǒng)的一部分,因?yàn)樗捎昧艘环N叫“載入”的處理方法碟婆,它的整個文件系統(tǒng)中包含了一整套的文件和目錄电抚,且將一個分區(qū)和一個目錄聯(lián)系起來。這時要載入的一個分區(qū)將使它的存儲空間在一個目錄下獲得竖共。下面我們先來看看Red Hat Linux的驅(qū)動器是如何標(biāo)識的蝙叛。

/dev/sda1

sda1:sd硬盤類型,a第一塊硬盤公给,1代表分區(qū)


linux****分區(qū)(3)

對于IDE硬盤借帘,驅(qū)動器標(biāo)識符為"hdx",其中"hd"表明分區(qū)所在設(shè)備的類型淌铐,這里是指IDE硬盤了肺然。"x"為盤號(a為基本盤,b為基本從屬盤腿准,c為輔助主盤际起,d為輔助從屬盤),""代表分區(qū)吐葱,前四個分區(qū)用數(shù)字1到4表示街望,它們是主分區(qū)或擴(kuò)展分區(qū),從5開始就是邏輯分區(qū)弟跑。例灾前,hda3表示為第一個IDE硬盤上的第三個分區(qū)或擴(kuò)展分區(qū),hdb2表示為第二個IDE硬盤上的第二個主分區(qū)或擴(kuò)展分區(qū)孟辑。對于SCSI硬盤則標(biāo)識為"sdx"哎甲,SCSI硬盤是用"sd"來表示分區(qū)所在設(shè)備的類型的蔫敲,其余則和IDE硬盤的表示方法一樣。


linux****分區(qū)(4) 幾個重要的命令

掛載命令

mount [-參數(shù)][設(shè)備名稱][掛載點(diǎn)]

特別說明:在掛載光驅(qū)時烧给,可直接使用mount /mnt/cdrom/

卸載命令

umount [設(shè)備名稱]

查看磁盤使用情況

df [參數(shù)]

比如 df -l

查看某個目錄是在哪個分區(qū)

df -h

查看分區(qū)(磁盤)使用情況

df [目錄全路徑]

查看linux系統(tǒng)分區(qū)具體情況

fdisk -l


linux****安裝

linux安裝有兩種方式

1燕偶、雙操作系統(tǒng)

2、完全獨(dú)立安裝

linux安裝時础嫡,分區(qū)是關(guān)鍵

1指么、/boot引導(dǎo)分區(qū) 100M

2、/swap交換分區(qū)一般是你的物理內(nèi)存的2倍榴鼎,但不要大于256M

3伯诬、/根分區(qū)盡可能大


*:samba****服務(wù)是必需掌握的,用來于windows文件共享

linux****下shell介紹 shell的概念

概述:每個人在成功登錄linux后巫财,系統(tǒng)會出現(xiàn)不同的提示符號盗似。例如$、~平项、#等赫舒,然后你就可以開始輸入需要的命令,若是命令正確闽瓢,系統(tǒng)就會依據(jù)命令的要求來執(zhí)行枝笨,直到注銷系統(tǒng)為止盯荤,在登錄到注銷期間严沥,輸入的每個命令都會經(jīng)常解譯及執(zhí)行垃帅。而這個負(fù)責(zé)的機(jī)制就是shell

linux****下shell介紹 shell編程

概述:其實(shí)作為命令語言互動式地解釋和執(zhí)行用戶輸入的命令只是shell功能的一個方面,shell還可以用來進(jìn)行程序設(shè)計椭符。它提供了定義變量和參數(shù)的手段以及豐富的程序控制結(jié)構(gòu)荔燎。使用shell編程類似于DOS中的處理文件,稱為shell script,雙叫shell程序或shell命令文件销钝。(推薦書《linux命令有咨、編輯器和shell編程》)shell與windows下的批處理文件類似


linux****下shell介紹 shell的分類

概述:shell有很多,但常用的就幾種:

Shell名稱 開發(fā)者 命令名稱

Bourne S.R.Bourne /bin/sh

C Bill Joy /bin/csh

Kom David /bin/ksh

1蒸健、查看目前使用的是哪種shell

命令:env (該命令可以顯示當(dāng)前操作系統(tǒng)的環(huán)境變量)

2摔吏、shell的修改

命令:chsh -s /bin/[shell文件名] (不同的shell對命令的解釋不一樣)


linux****下shell介紹 shell的命令補(bǔ)全功能

概述:是指用戶輸入命令時,并不需要輸入完整的命令纵装,而系統(tǒng)自動會找出最符合的名稱。這種功能可以節(jié)省經(jīng)常輸入命令的時間据某。直接輸入"mk"再按兩下"tab"鍵橡娄,出現(xiàn)兩頭兩個字母為"mk"的命令。cat p再按兩下"tab"鍵會出現(xiàn)開頭字母為"p"的所有文件或目錄癣籽。


linux****下shell介紹 查閱歷史記錄命令****history

概述:在linux下挽唉,我們有時可能希望知道或是使用最近執(zhí)行的命令滤祖,history可能會幫上大忙。

1瓶籽、history 5 :此項(xiàng)說明會顯示最近使用的5個命令

2匠童、!5 :此項(xiàng)說明執(zhí)行歷史編號為5的命令

3、!ls :此項(xiàng)說明執(zhí)行最后一次以"ls"開頭的命令


tcp/ip****基礎(chǔ) tcp/ip的由來

概述:linux/unix的世界就是網(wǎng)絡(luò)的世界塑顺。而網(wǎng)絡(luò)的基礎(chǔ)就是tcp/ip汤求,所以一個優(yōu)秀的linux/unix程序員必須了解并掌握tcp/ip。

tcp/ip是什么

tcp/ip是unix/linux世界的網(wǎng)絡(luò)基礎(chǔ)严拒,在某種意義上扬绪,unix網(wǎng)絡(luò)就是tcp/ip,而且tcp/ip就是網(wǎng)絡(luò)互聯(lián)的標(biāo)準(zhǔn)。它不是一個獨(dú)立的協(xié)議裤唠,而是一組協(xié)議挤牛。(tcp,ip,udp,arp,rarp等協(xié)議)

tcp/ip****基礎(chǔ) osi與tcp/ip參考模型

|

osi模型(理論)

|

tcp/ip模型(現(xiàn)實(shí))

|
|

應(yīng)用層(application)

|

應(yīng)用層:(application)smtp,ftp,telnet

|
|

表示層(presention)

|

傳輸層:(transport)解釋數(shù)據(jù)

|
|

會話層(session)

|

網(wǎng)絡(luò)層:(ip)定位ip地址和連接路徑

|
|

傳輸層(transport)

|

鏈路層:(link)與硬件驅(qū)動對話

|
|

網(wǎng)絡(luò)層(ip)

| |
|

數(shù)據(jù)鏈路層(link)

| |
|

物理層(physical)

| |

tcp/ip****基礎(chǔ) ip地址與包的路由傳遞(1)

概述:每個internet上的主機(jī)和路由器都有一個ip地址。它包括網(wǎng)絡(luò)號和主機(jī)號种蘸,所有ip地址都是32位的墓赴,ip地址按照國際標(biāo)準(zhǔn)的劃分為a,b,c,d,e五種類型。

a類:1.0.0.0至127.255.255.255

b類:128.0.0.0至191.255.255.255

c類:192.0.0.0至223.255.255.255

d類:224.0.0.0至239.255.255.255

e類:240.0.0.0至247.255.255.255

a,b,c類目前用的最多

dos下追蹤IP路由命令:tracert 目標(biāo)IP或域名

dos下測試網(wǎng)絡(luò)是否暢通:ping 目標(biāo)IP

windows查看ip情況是ipconfig

在linux/unix下查看ip情況的命令是ifconfig


linux****網(wǎng)絡(luò)環(huán)境配置(1)

第一種方法:

(1)用root身份登陸航瞭,運(yùn)行setup命令進(jìn)入到text mode setup utiliy對網(wǎng)絡(luò)進(jìn)行配置诫硕,這里可以進(jìn)行ip,子網(wǎng)掩碼沧奴,默認(rèn)網(wǎng)關(guān)痘括,dns的設(shè)置。

(2)這時網(wǎng)卡的配置沒有生效滔吠,運(yùn)行/etc/rc.d/init.d/network restart命令

我們剛才作的設(shè)置才生效

第二種方法:

(1)ifconfig eth0 X.X.X.X 對網(wǎng)卡進(jìn)行設(shè)置纲菌。(臨時生效)

(2)ifconfig eth0 network X.X.X.X 對子網(wǎng)掩碼設(shè)置。

對廣播地址和DNS使用默認(rèn)疮绷。

注意:這樣配置網(wǎng)絡(luò)將會立即生效翰舌。(臨時生效)

第三種方法:

(1)修改/etc/sysconfig/network-scripts/ifcfg-eth0這個文件里屬性可以修改。包括ip冬骚,子網(wǎng)掩碼椅贱。廣播地址,默認(rèn)網(wǎng)關(guān)只冻。

(2)這時網(wǎng)卡的配置沒有生效庇麦。運(yùn)行/etc/rc.d/init.d/network restart命令

我們剛才作的設(shè)置才生效。

這種方法是最底層的修改方法喜德。

****linux****下所有的設(shè)備都是一個文件山橄。(這個方法文便以后在linux下編程)**

/etc/sysconfig/network-scripts/ifcfg-eth0文件內(nèi)容

DEVICE=eth0 (驅(qū)動名稱)

ONBOOT=yes (系統(tǒng)啟動時默認(rèn)設(shè)備啟動)

BOOTTPROO=static (指定IP還是自動分配IP。指定IP:static舍悯;自動分配IP:dhcp)

IPADDR=192.168.44.22 (本機(jī)IP地址)

NETMASK=255.255.255.0 (子網(wǎng)掩碼)

GATEWAY=192.168.44.254 (網(wǎng)關(guān))

在虛擬機(jī)下linux與windows如何ping通航棱?

可以使用直接物理橋連睡雇;也可以使用自定義特定虛擬網(wǎng)絡(luò)。(必需在同一IP段內(nèi)才可以)


RPM****管理

概述:一種用于互聯(lián)網(wǎng)下載包的打包及安裝工具饮醇,它包含在某些linux分發(fā)版中它抱。它生成具有.RPM擴(kuò)展名的文件。RPM是RedHat Package Manager(RedHat軟件包管理工具)的縮寫朴艰,這一文件格式名稱雖然打上了RedHat的標(biāo)志观蓄,但是其原始設(shè)置理念是開放式的,現(xiàn)在包括OpenLinux/S.U.S.E以及Turbo Linux等Linux的分發(fā)版本都有采用呵晚,可以算是公認(rèn)的行業(yè)標(biāo)準(zhǔn)了蜘腌。

RPM****包的名稱格式:(適于與以后軟件編程打包命名使用)

apache-1.3.23-11.i386.rpm

apache軟件名稱

1.3.23-11軟件版本號;1.3.23為主版本號,11為副版本號

i386軟件運(yùn)行的硬件平臺

rpm文件擴(kuò)展名,代表RPM包

RPM****常用命令

RPM****查詢

rpm -qa :查詢所安裝的所有rpm軟件包

rpm -qa | more

rpm -qa | grep X

rpm -ql 軟件包名 :查詢軟件包中的文件

rpm -ql file

rpm -ql jdk

rpm -q 軟件包名 :查詢軟件包是否安裝

rpm -q xinetd

rpm -q foo

rpm -q xinetd file bash

rpm -qf 文件全路徑名 :查詢文件所屬的軟件包

rpm -qf /etc/passwd

rpm -qf /root/install.log

rpm -qi 軟件包名 :查詢軟件包信息

rpm -qi file

rpm -qp 包文件名 :查詢包的信息對這個軟件包的介紹

rpm -qp jdk-1_5_0-linux-i586.rpm

rpm -qpi jdk-1_5_0-linux-i586.rpm

rpm -qpl jdk-1_5_0-linux-i586.rpm

安裝RPM包

rpm -i RPM包全路徑名稱 :安裝包到當(dāng)前系統(tǒng) 參數(shù)i=install

rpm -ivh RPM包全路徑名稱 :安裝包到當(dāng)前系統(tǒng)有提示信息

 參數(shù)說明:i=install 安裝饵隙;v=verbose 提示撮珠;h=hash 進(jìn)度條

刪除RPM包

rpm -e RPM包的名稱

rpm -e jdk

如果其它軟件包依賴于您要卸載的軟件包,卸載時則會產(chǎn)生錯誤信息金矛。

如:$ rpm -e foo

removing these packages would break dependencies:foo is needed by bar-1.0-1

若讓RPM忽略這個錯誤繼續(xù)卸載(這可不是一個好主意芯急,因?yàn)橐蕾囉谠撥浖某绦蚩赡軣o法運(yùn)行),請使用--nodeps命令行選項(xiàng)驶俊。

升級RPM包

rpm -U RPM包全路徑名

rpm -U cvs-1.11.2-10.i386.rpm


samba****詳解

什么是samba

這些年來娶耍,windows與linux操作系統(tǒng)各自擁有自己的用戶群和市場。然而在一般公司或?qū)W校里饼酿,可能同時有windows和linux主機(jī)榕酒,windows主機(jī)彼此之間可以得用"網(wǎng)上鄰居"來訪問共享資源,NFS也能使linux主機(jī)之間實(shí)現(xiàn)資源訪問故俐。而samba服務(wù)軟件能夠使windows與linux之間實(shí)現(xiàn)資源共享想鹰。

SMB通信協(xié)議采用的是C/S結(jié)構(gòu),所以SAMBA軟件可分為客戶端及服務(wù)端兩部分药版,通過執(zhí)行SAMBA客戶端程序辑舷,linux主機(jī)便可使用網(wǎng)絡(luò)上的windows主機(jī)所共享的資源。而在linux主機(jī)上安裝SAMBA服務(wù)器槽片,則可以使windows主機(jī)訪問SAMBA服務(wù)器共享的資源何缓。

samba****軟件的安裝

步驟如下:

1、檢查是否安裝了:samba

rpm -qa | grep samba :此命令會檢查出已經(jīng)安裝了samba軟件包还栓。

若是已經(jīng)安裝了碌廓,下面會出現(xiàn)samba軟件包的具體名稱。

2剩盒、 mount /mnt/cdrom

cd /mnt/cdrom 找到samba-common-2.2.7a-7.9.0.i386.rpm

客戶和服務(wù)器均需要的文件

rpm -ivh samba-common-2.2.7a-7.9.0.i386.rpm

rpm -ivh samba-2.2.7a-7.9.0.i386.rpm (服務(wù)器端軟件)

rpm -ivh samba-client-2.2.7a-7.9.0.i386.rpm (客戶端軟件)

cd ~

umount /mnt/cdrom

3谷婆、設(shè)置samba密碼文件

//先在linux中建立一個普通用戶

//將/etc/passwd中的用戶都加到smbpasswd中

** cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd**

//設(shè)置用戶的samba密碼

smbpasswd 用戶名

4、啟動samba服務(wù)

service smb start 啟動

service smb stop 停止

service smb restart 重啟

samba****配置

共享資源的基本設(shè)置 /etc/samba/smb.conf

1、comment : 針對共享資源所做的說明文字波材。默認(rèn)值為空字符串。

comment = dir for todayhero :共享這個目錄為todayhero這個用戶

2身隐、path : 若共享的資源是目錄廷区,是指定該目錄的位置。

path = /tmp : 共享tmp這個目錄

3贾铝、guset ok :是否允許用戶不使用帳號和密碼訪問此資源

guset ok = yes : 允許用戶不使用帳號和密碼訪問此資源

guset ok = no : 不允許用戶不使用帳號和密碼訪問此資源

4隙轻、hosts allow : 設(shè)置連接主機(jī)的地址

hosts allow = 192.168.0. server.abc.com :意思是說允許來自192.168.0.或server.abc.com訪問

5、hosets deny : 設(shè)置禁止連接的主機(jī)地址

hoset deny =192.168.2. : 意思是說不允許來自192.168.2主機(jī)訪問此samba服務(wù)器的資源垢揩。

6玖绿、read only : 用于設(shè)置共享的資源是否為只讀。

read only = yes : 允許只讀

read only = no : 可以讀寫

7叁巨、writable : 設(shè)置是否允許寫入

writable = yes : 允許寫入

writable = no : 不允許寫入

8斑匪、browseable : 設(shè)置用戶是否可看到此共享資源

browseable = yes : 允許用戶看到此資源

browseable = no : 不允許用戶看到此資源

9、available : 設(shè)置是否啟用資源共享

available = yes : 啟用資源共享

available = no : 不啟用資源共享


任務(wù)調(diào)度命令

概述:

任務(wù)調(diào)度:是指系統(tǒng)在某個時間執(zhí)行的特定的命令或程序锋勺。

任務(wù)調(diào)度分類:

  1蚀瘸、系統(tǒng)工作:有些重要的工作必須周而復(fù)始的執(zhí)行。如病毒掃描等庶橱。

  2贮勃、個別用戶工作:個別用戶可能希望執(zhí)行某些程序。

設(shè)置任務(wù)調(diào)度文件:/etc/crontab

設(shè)置個人任務(wù)調(diào)度苏章。執(zhí)行crontab -e命令寂嘉。接著輸入任務(wù)到調(diào)度文件

例:5 * * * * ls -l /etc/ > /tmp/to.txt

意思說每小時的第五分鐘執(zhí)行l(wèi)s -l /etc/ > /tmp/to.txt命令

任務(wù)調(diào)度的使用crontab

1、設(shè)置任務(wù) crontab -e

2枫绅、每隔一定時間去執(zhí)行

date > /home/mydatal (將當(dāng)前時間覆蓋寫入mydata1文件中泉孩。>為覆蓋寫)

date顯示當(dāng)前時間

1)希望每天凌晨2:00去執(zhí)行 date >> /home/mydate2 (>>為追加寫)

0 2 * * * date >> /home/mydate2

2)希望每分鐘去執(zhí)行

          • date >> /home/mydate2

調(diào)度文件規(guī)則:

字段名稱 說明 范圍

分鐘 每小時中的第幾分鐘執(zhí)行 0-59

小時 每日的第幾個小時執(zhí)行 0-23

日期 每月的第幾天執(zhí)行 1-31

月歷 每年的第幾個月執(zhí)行 1-12

星期 每周的第幾天執(zhí)行 0-6

命令名稱 欲執(zhí)行的命令名稱及其參數(shù)

*1 *2 *3 *4 *5

*1代表分鐘 *2代表小時 *3代表日期 *4代表月歷 *5代表星期

如:0 22 26 5 * 表示星期* 5月 26日 22小時 0分鐘

完整意思為每年5月26日22小時0分執(zhí)行對應(yīng)任務(wù)。*表示設(shè)置為無設(shè)定

        • *代表每分鐘執(zhí)行一次

3撑瞧、怎樣去調(diào)度多個任務(wù)棵譬?

1)在crontab -e 中直接寫多個任務(wù) (優(yōu)點(diǎn):簡單;缺點(diǎn):太多太亂修改不方便)

2)可以把所有的任務(wù)预伺,寫入到一個可執(zhí)行文件(shell編程)

.sh文件為shell文件订咸,chmod 744 mytask.sh

 vi mytask.sh

    date >> /home/mydate2

    cp /home/mydate2 /root/

 :wq

 crontab -e

 * * * * * /root/mytask.sh

4、如何終止任務(wù)

終止任務(wù)調(diào)度:

crontab -r :終止任務(wù)調(diào)度  (多任務(wù)多用戶使用時禁用此命令)

crontab -l :列出當(dāng)前有那些任務(wù)調(diào)度

進(jìn)程的概念和管理

基本概念

1酬诀、在linux中脏嚷,每個執(zhí)行的程序都稱為一個進(jìn)程。每一個進(jìn)程都分配一個ID號瞒御。

2父叙、每一個進(jìn)程,都會對應(yīng)一個父進(jìn)程,而這個父進(jìn)程可以復(fù)制多個子進(jìn)程趾唱。例如WWW服務(wù)器涌乳。

3、每個進(jìn)程都可能以兩種方式存在的甜癞。前臺與后臺夕晓,所謂前臺進(jìn)程就是用戶目前的屏幕上可以進(jìn)行操作的。后臺進(jìn)程則是實(shí)際在操作悠咱,但由于屏幕上無法看到的進(jìn)程蒸辆,通常使用后臺方式執(zhí)行。

4析既、一般系統(tǒng)的服務(wù)都是以后臺進(jìn)程的方式存在躬贡,而且都會常駐在系統(tǒng)中。直到關(guān)機(jī)才會結(jié)束眼坏。

進(jìn)程就是正在執(zhí)行的程序

線程(1)輕量級的進(jìn)程

(2)進(jìn)程有獨(dú)立的地址空間拂玻,線程沒有

(3)線程不能獨(dú)立存在,它是由進(jìn)程創(chuàng)建的空骚。(在linux下是fork纺讲,在java下是Thread)

(4)相對來講,線程耗費(fèi)的CPU和內(nèi)存小于進(jìn)程囤屹。

靜態(tài)顯示系統(tǒng)執(zhí)行的進(jìn)程

ps命令是用來查看目前系統(tǒng)中熬甚,有哪些正在執(zhí)行,以及它們執(zhí)行的狀況肋坚∠缋ǎ可以不加任何參數(shù)

顯示詳細(xì)的進(jìn)程信息

1、 ps -a :意思是說顯示當(dāng)前終端的所有進(jìn)程信息智厌。

2诲泌、以用戶的格式顯示進(jìn)程信息。

ps -u :以用戶的格式顯示進(jìn)程信息铣鹏。

3敷扫、顯示后臺進(jìn)程運(yùn)行參數(shù):

ps -x :顯示后臺進(jìn)程運(yùn)行的參數(shù)。

4诚卸、可以使用ps -aux 顯示全面的進(jìn)程信息葵第。

PS:顯示的信息選項(xiàng)

字段 說明

PID 進(jìn)程識別號

TTY 終端機(jī)號

TIME 此進(jìn)程所消CPU的時間

CMD 正在執(zhí)行的命令或進(jìn)程名

終止進(jìn)程kill/killall

若是某個進(jìn)程執(zhí)行一半需要停止時,或是已消耗了很大的系統(tǒng)資源時合溺,此時可以考慮停止該進(jìn)程卒密。使用kill命令來完成此項(xiàng)任務(wù)。

終止某個進(jìn)程:kill 進(jìn)程號

kill 16251 :表示終止進(jìn)程號為16251的進(jìn)程棠赛。

kill -9 16251 :因?yàn)橛行┻M(jìn)程會捕捉某些信號哮奇。如果直接不能結(jié)束進(jìn)程可以用“-9”傳送信息膛腐。

killall可以清除進(jìn)程及進(jìn)程相關(guān)的子進(jìn)程

動態(tài)監(jiān)控進(jìn)程top 退出top按q鍵或ctrl+c鍵即可退出

top與ps命令很相似。它們都用來顯示正在執(zhí)行的進(jìn)程鼎俘。top與ps最大的不同之處哲身,在于top在執(zhí)行一段時間可以更新正在運(yùn)行的進(jìn)程。

1贸伐、監(jiān)視特定用戶

top :輸入此命令律罢,按回車鍵,查看執(zhí)行的進(jìn)程棍丐。

u :然后輸入"u"回車,再輸入用戶名沧踏,即可歌逢。

2、終止指定的進(jìn)程

top :輸入此命令翘狱,按回車鍵秘案,查看執(zhí)行的進(jìn)程。

k :然后輸入"k"回車潦匈,再輸入要結(jié)束的進(jìn)程ID號阱高。

3、指定系統(tǒng)狀態(tài)更新的時間

top -d 10 :指定系統(tǒng)更新進(jìn)程的時間為10秒茬缩。

14:06:22 up系統(tǒng)時間

4 min, 系統(tǒng)啟動多久

1 user, 當(dāng)前登陸到linux有多少用戶

load avcragc: 0.02, 0.12, 0.07負(fù)載平衡赤惊,當(dāng)前系統(tǒng)的負(fù)載情況(可全加除3大

于0.6表示系統(tǒng)負(fù)載緊張)

37 processes:當(dāng)前進(jìn)程數(shù)

36 sleeping, 休眠狀態(tài)進(jìn)程數(shù)

1 running, 正在運(yùn)行進(jìn)程數(shù)

0 zombie,僵尸進(jìn)程數(shù) 進(jìn)程無用后仍占用內(nèi)存的進(jìn)程數(shù)

0 stopped處于停止?fàn)顟B(tài)的進(jìn)程數(shù)

CPU states: 0.0% user 0.1% system 0.0% nice 0.0% iowait 99.8% idle

CPU的狀態(tài) idle為CPU閑置狀態(tài)(越大越好)

Men: 255264k av, 39420k used, 215836k free, 0k shrd, 5520k buff

                30632k actv,     140k in_d, 292k in_c

內(nèi)存使用情況

255264k av,內(nèi)存總數(shù)量

39420k used,正在使用內(nèi)存數(shù)量

215836k free,空閑內(nèi)存數(shù)量

Swap: 257032k av, 0k used, 257032k free 19376k cached

swap分區(qū)(虛擬內(nèi)存)使用情況

swap: 257032k av,swap分區(qū)(虛擬內(nèi)存)數(shù)量

0k used, 正在使用虛擬內(nèi)存數(shù)量

257032k free空閑虛擬內(nèi)存數(shù)量

19376k cached緩存內(nèi)存

可用此命令進(jìn)行釋放echo 3 > /proc/sys/vm/drop_caches 一般不刻意去釋放凰锡。


設(shè)置系統(tǒng)日期

1未舟、date命令:顯示系統(tǒng)的時間〉辔可以在直接輸入"date"命令裕膀。來查看系統(tǒng)的時間。

2勇哗、利用date命令來更改系統(tǒng)的時間昼扛。

date MMDDHHMMCCYY.SS:意思是指月月日日時時分分年年年年.秒秒。

3欲诺、查看月歷:

cal 3 2002 :查看2002年3月的月歷抄谐。

4、查看年歷:

cal 2008 :查看2008的年歷


監(jiān)控網(wǎng)絡(luò)狀態(tài)信息

顯示網(wǎng)絡(luò)統(tǒng)計信息的命令netstat

此命令用來顯示整個系統(tǒng)目前的網(wǎng)絡(luò)情況瞧栗。例如目前的連接斯稳、數(shù)據(jù)包傳遞數(shù)據(jù)、或是路由表內(nèi)容迹恐。此命令直接輸入即可使用挣惰。

如:netstat -anp (參數(shù)an按端口排序,參數(shù)p是顯示進(jìn)程號)

檢測主機(jī)連接命令ping:

是一種網(wǎng)絡(luò)檢查檢測工具。它主要是用檢測遠(yuǎn)程主機(jī)是否正常憎茂,或是兩部主機(jī)間的介質(zhì)是否為斷珍语、網(wǎng)線是否脫落或網(wǎng)卡故障。

如:ping 對方IP地址

顯示數(shù)據(jù)包經(jīng)過歷程命令:traceroute

traceroute 目標(biāo)IP或地址

此命令可以直接輸入使用竖幔,用來檢測數(shù)據(jù)包在網(wǎng)絡(luò)上傳輸?shù)倪^程板乙。從本機(jī)到遠(yuǎn)程的主機(jī)完整路徑。幫助管理員解決問題拳氢。

route

所謂路由是指將數(shù)據(jù)由來源網(wǎng)絡(luò)送往目的地網(wǎng)絡(luò)的操作募逞。在大型網(wǎng)絡(luò)中,路由是非常復(fù)雜的馋评,因?yàn)閿?shù)據(jù)包在抵達(dá)目的地時放接,可能經(jīng)過的節(jié)點(diǎn)有很多,路由表是存儲在路由器或一些其它鏈接設(shè)置上的窗體留特。其中記錄著了到指定目的地的網(wǎng)絡(luò)路徑纠脾,以及這些路徑的相關(guān)數(shù)值。

此命令可以直接輸入使用蜕青,來查看本機(jī)路由的情況苟蹈。

MySql****數(shù)據(jù)庫在linux下的使用

概述:Mysql數(shù)據(jù)庫在linux下可以充分發(fā)揮威力,Mysql數(shù)據(jù)庫越來越受到軟件公司的青睞右核,為什么呢慧脱?

(1)免費(fèi)(2)跨平臺(3)輕(4)支持多并發(fā)

在北京很多軟件公司屬于創(chuàng)業(yè)型的中、小公司贺喝。從節(jié)約成本的角度考慮磷瘤。Mysql特別適合中、小項(xiàng)目搜变。

如何在linux下使用Mysql數(shù)據(jù)庫采缚。

1)把mysql數(shù)據(jù)庫的安裝文件準(zhǔn)備好,mount / copy

2)把安裝文件解壓縮

3)繼續(xù)安裝

groupadd mysql

useradd -g mysql mysql

scripts/mysq1_install_db --user=mysql

chown -R root . (修改文件的所有者)

chown -R mysql data (修改date文件夾的所有者)

chgrp -R mysql . (改變用戶組)

啟動mysql

bin/mysqld.safe --user=mysql &

檢查一下挠他,OK扳抽,正常啟動

1)把MYSQL安裝文件copy到/home下

2)tar -zxvf 文件名.tar.gz

mv命令為linux下文件改名命令

  1. groupadd mysql (創(chuàng)建mysql用戶組)

    useradd -g mysql mysql (創(chuàng)建mysql用戶并將mysql用戶放到mysql用戶組)

    進(jìn)入mysql文件夾后才可以執(zhí)行下面語句

    scripts/mysq1_install_db --user=mysql (初始化數(shù)據(jù)庫)

    chown -R root . (修改文件的所有者, .代表當(dāng)前文件 ..代表上一級文件或文件夾;參數(shù)R是遞歸也就是文件或文件夾下所有的都繼承)

    chown -R mysql data (修改date文件夾的所有者)

    chgrp -R mysql . (改變用戶組)

    啟動mysql

    bin/mysqld.safe --user=mysql & (&表示以后臺的方式啟動)

    檢查一下殖侵,OK贸呢,正常啟動

如何進(jìn)入mysql

cd /bin

./mysql -u root -p

如果希望在任何目錄下都可以進(jìn)入mysql則需要在/root/.bash_profile中添加路

徑。(所有用戶都可以使用可以在/etc/.bash_profile文件)

****修改env PATH路徑需在.bash_profile

cd /root

.bash_profile

注銷后登陸


Mysql****數(shù)據(jù)庫在linux下的使用

3)測試mysql數(shù)據(jù)庫是否可以在linux下正確使用拢军。

建立數(shù)據(jù)庫和表

加入部分?jǐn)?shù)據(jù)

編寫一個showUsers.java文件楞陷,在控制臺顯示用戶

**********特別注意mysql的驅(qū)動要存放的位置!要放在jdk下,主目錄下/jre/lib/ext**

mysql****數(shù)據(jù)庫的使用 quit命令是退出mysql操作;drop table 表名;(刪除表)

1)進(jìn)入mysql

2)建立數(shù)據(jù)庫和表

mysql> create database spdb1; (建立數(shù)據(jù)庫)

mysql> show database; (查看數(shù)據(jù)庫)

3)建表

首先

mysql> use spdb1; (在spdb1數(shù)據(jù)庫中建表)

mysql> create table users(userId varchar(8),userName varchar(8)); (建立users表)

mysql> show tables; (查看表)

4)加入數(shù)據(jù)

mysql> insert into users valucs('0001','alex');p (將數(shù)據(jù)寫入users表中)

mysql> select * from users; (查看users表中數(shù)據(jù))

mysql> desc users; (查看數(shù)據(jù)庫users表結(jié)構(gòu))

5)使用java編寫一個ShowUser.java文件茉唉,顯示數(shù)據(jù)庫中的數(shù)據(jù)

vi ShowUser.java

java****源碼

** import java.sql.;*

** public class Showusers{**

** //main function**

** public static void main(String []args){**

** //conect to mysql database**

** try{**

** Class.forName("com.mysql.jdbc.Driver");**

** Connection ct=DriverManager.getConnection**

**("jdbc:mysql://127.0.0.1:3306/spdb1?user=root&password="); **

** Statement sm=ct.createStatement();**

** ResultSet rs=sm.executeQuery("select * from users")**

** while(rs.next()){**

** System.out.println("username="+rs.getString(2));**

** }**

** }catch(Exception e){**

** e.printStackTrace();**

** }**

** } **

** }**

}

:wq

javac ShowUsers.java

找到j(luò)dk

jdk****在/home/j2sdk1.4.2_07/jre/lib/ext

java ShowUsers


4)****如何使用命令行來備份和恢復(fù)mysql數(shù)據(jù)庫

備份: mysqldump -u root -p密碼 數(shù)據(jù)庫名 > data.bak (在mysql下的bin目

錄下執(zhí)行)

建空數(shù)據(jù)庫mysql> create database spdb1;

恢復(fù): mysql -u root -p密碼 數(shù)據(jù)庫名 < data.bak (在mysql下的bin目錄下

執(zhí)行,必須先建立一個空的數(shù)據(jù)庫才可以恢復(fù))

cd /mysql/bin

備份:./mysqldump -u root -p密碼 數(shù)據(jù)庫名 > /路徑/data.bak

恢復(fù): mysql -u root -p密碼 數(shù)據(jù)庫名 < data.bak


神奇的ssh

概述:ssh(securt shell)是一款集遠(yuǎn)程操作linux和進(jìn)行文件上傳和下載的軟件固蛾,那是相當(dāng)?shù)暮糜醚浇嶂矗谲浖編缀跛械膌inux程序員都會使用ssh。安全艾凯,方便是它最大的特點(diǎn)献幔。

1、安裝

linux的ssh服務(wù)端是在安裝linux時自動安裝一個sshd并默認(rèn)是啟動的趾诗。ssh

服務(wù)端的端口是22

windows下安裝ssh客戶端

2蜡感、使用ssh客戶端登陸到linux(前提是linux下的sshd服務(wù)啟動)


補(bǔ)充講解linux重要內(nèi)容

linux目錄結(jié)構(gòu)

/bin 普通用戶的可執(zhí)行命令,系統(tǒng)的任何用戶都可以執(zhí)行該目錄中的命令

/boot 存放linux操作系統(tǒng)啟動時所需使用的文件

/dev 系統(tǒng)中的所有設(shè)備文件

/etc 系統(tǒng)中的配置文件

/home 普通用戶的宿主目錄恃泪,每個用戶在該目錄下都有一個與用戶名同名的目錄

/mnt 中的子目錄用于系統(tǒng)中可移動設(shè)備的掛載點(diǎn)

/root 超級用戶root的宿主目錄

/sbin 系統(tǒng)的管理命令郑兴,普通用戶不能執(zhí)行他們

/tmp 系統(tǒng)的臨時目錄

/usr 系統(tǒng)應(yīng)用程序和相關(guān)文件

/var 系統(tǒng)中經(jīng)常變化的文件如日志文件和用戶郵件

當(dāng)前目錄 pwd命令可以顯示當(dāng)前目錄

相對路徑 以當(dāng)前目錄開始詢找目標(biāo)文件或文件夾 . .. ~

絕對路徑 以根目錄開始詢找目錄文件或文件夾 /目錄

工作目錄 就是執(zhí)行文件所在的目錄

運(yùn)行級別

命令:init [0123456]

運(yùn)行級別 0:關(guān)機(jī)

     1:單用戶

     2:多用戶狀態(tài)沒有網(wǎng)絡(luò)服務(wù)

     3:多用戶狀態(tài)有網(wǎng)絡(luò)服務(wù)

     4:系統(tǒng)未使用保留給用戶

     5:圖形界面

     6:系統(tǒng)重啟

常用運(yùn)行級別是3和5,要修改默認(rèn)的運(yùn)行級別可改文件

/etc/inittab的id:5:initdefault:這一行中的數(shù)字

常用命令

pwd :顯示當(dāng)前工作目錄

cd :改變目錄 (cd直接回到用戶目錄)

ls :列出文件和目錄

ls -a :顯示隱藏文件

ls -l :顯示長列表格式

mkdir :建立目錄

rmdir :刪除空目錄

touch :建立空文件

cp :復(fù)件命令 cp -r dir1 dir2 遞歸復(fù)制命令(復(fù)制子目錄信息) 參數(shù)f

      覆蓋

mv :移動文件和改文件名

rm :刪除文件和目錄

rm -rf * :刪除所有內(nèi)容(包括目錄和文件) 參數(shù)r遞歸 參數(shù)f強(qiáng)制

ln :建立符號連接(類似windows的快捷方式)

ln -s 源 目錄

ln -s /etc/inittab inittab (inittab指向?qū)嶋H文件/etc/initab)

more :顯示文件內(nèi)容贝乎,帶分頁

less :顯示文件內(nèi)容帶分頁

grep :在文本中查詢內(nèi)容 (grep -n "內(nèi)容" 文件名/目錄*)

| :管道命令 | : find / -name *.html |grep bookmark

       在find的結(jié)果中查找字符串"bookmark",顯示包含這個字符串的文件

find :搜索文件及目錄

       在linux中杈笔,因?yàn)槲募到y(tǒng)是以級別式的結(jié)構(gòu)來組成的,所以要在整 

       個系統(tǒng)中找到特定的文件和目錄并不是件容易的事糕非,而"find"命令  

       可以解決上述問題。

find的使用

在特定的目錄下搜索并顯示指定名稱的文件和目錄

搜索一段時間內(nèi)被存取/變更的文件或目錄

find /home -amin -10 十分鐘內(nèi)存取的文件或目錄

find /home -atime -10 十小時內(nèi)存取的文件或目錄

find /home -cmin -10 十分鐘內(nèi)更改過的文件或目錄

find /home -ctime +10 十小時前更改過的文件或目錄

按文件大小進(jìn)行搜索文件

find /home -size +10k 意思是說查找/home目錄下大小為10k的文件

重定向命令 > 覆蓋 >>追加 <導(dǎo)入

ls -l > a.txt 列表的內(nèi)容寫入文件a.txt中(覆蓋寫)

ls -al >> aa.txt 列表的內(nèi)容追加到文件aa.txt

從文件中輸入信息database.program < database.data

shell****使用

命令歷史和互動:用上下箭頭鍵可以重復(fù)以前所輸入的命令

命令完成功能:用tab鍵能自動完成相關(guān)命令球榆,再次按tab可得到清單

shell腳本文件:是一個文本文件/命令集合/有執(zhí)行的權(quán)限chmod 744 文件名

           執(zhí)行方式(./文件名)/(.sh后綴名的文件是shell文件)

用戶登錄后自動執(zhí)行的shell腳本文件:

.bashrc位于主目錄下

它之前執(zhí)行系統(tǒng)的腳本/etc/bashrc主要是基本配置數(shù)據(jù) (/etc/bashrc相當(dāng)于windows下的自動批處理文件autoexec.bat)

.bash_profile位于主目錄下

它之前執(zhí)行系統(tǒng)的腳本/etc/profile主要是配置環(huán)境變更

當(dāng)希望臨時加入一個路徑時押搪,可使用export

用export PATH=PATH:HOME/bin:/root/test/tl

輸出環(huán)境變量PATH引用原來的值PATHHOME表示工作主目錄:是路徑分隔符

已定義好的環(huán)境變量:

 SHELL :默認(rèn)shell

 PATH  :路徑

 USER  :當(dāng)前登錄用戶的用戶名

顯示變量內(nèi)容:echo $PATH

             echo $USER

             echo $SHELL

通配符: * 代表多個字母或數(shù)字

     ? 代表一個字母或數(shù)字

     ls a*   ls a?   ls ?at?  ls f080[1-6].tif

轉(zhuǎn)義字符: \

  ls /mnt/winl/My\ Documents

引號:

export NAME-Michael

echo Welcome $NAME,the date is date單引號 - shell不處理

任何變量和命令

echo 'Welcome $NAME,the date is date'雙引號 - 處理變量但不處理命令 

echo "Welcome $NAME,the date is date"反引號 - 把引號中的每個單詞作

為一個命令纲熏,如果是變量則先求值然后作為一個命令處理

echo "Welcome $NAME,the date is `date`"

別名命令:alias顯示系統(tǒng)當(dāng)前定義的所有alias

      alias 別名='命令或命令組'

      alias cp='cp -i'

      alias ll='ls -l --color=tty'

linux****啟動過程分析

runlevel命令 可以查看當(dāng)前的運(yùn)行級別

linux系統(tǒng)啟動過程如下:

a)BIOS自檢

b)啟動GRUB/LILO

c)運(yùn)行LINUX內(nèi)核并檢測硬件

d)運(yùn)行系統(tǒng)的第一個進(jìn)程init

e)init讀取系統(tǒng)引導(dǎo)配置文件/etc/inittab中的信息進(jìn)行初始化

f)/etc/rc.d/rc.sysinit系統(tǒng)初始化腳本

g)/etc/rc.d/rcX.d/[KS]* - 根據(jù)運(yùn)行級別X配置服務(wù)

  終止以"K"開頭的服務(wù)

  啟動以"S"開頭的服務(wù)

h)/etc/rc.d/rc.local 執(zhí)行本地特殊配置

i)其他特殊服務(wù)


壓縮和解壓問題

以zip和unzip處理.zip文件

1、zip命令的基本使用方法:

zip file.zip [要壓縮的文件]

zip后接壓縮后的文件名,在它的后面輸入要壓縮的文件即可寞埠。

2、壓縮后稿静,自動刪除原文件

zip -m file.zip to.txt

意思是說把to.txt文件壓縮成file.zip文件娇掏,to.txt會自動刪除的。

3空执、將子目錄一起壓縮

zip -r file.zip [文件夾路徑]

將當(dāng)前目錄下的子目錄一起壓縮

4浪箭、忽略子目錄的內(nèi)容

zip -j file.zip

5、將已壓縮的或沒有必要壓縮的文件去掉

zip -n .mpg: .jpg: .gif

第一種文件中間要用“:”分開辨绊。

6奶栖、壓縮某一日之后的文件

zip -t 102002 file.zip

意思是指將當(dāng)前目錄下的2002年10月20日之后文件壓縮

7、不壓縮鏈接文件的原文件

zip -y file.zip

8门坷、壓縮率問題宣鄙。-1—-9:-9的壓縮率最高

zip -9 file.zip

9、將不需要壓縮的文件排除在外

zip file.zip * -x file2.txt

在壓縮時默蚌,將當(dāng)前目錄內(nèi)的file2.txt文件排除在外

以unzip命令進(jìn)行.zip文件的解壓縮

1冻晤、直接解壓縮文件

unzip file.zip

2、排除不需要解壓縮的文件

unzip file.zip -x file2

意思是說除了file2文件外绸吸,其他的文件解壓縮

3鼻弧、查看壓縮包的內(nèi)容

unzip -Z file.zip

查看file.zip壓縮包的內(nèi)容设江。也可用"-l"、"-v"來查看壓縮包的內(nèi)容

以gzip和gunzip處理.gz文件

1温数、直接解壓縮文件

unzip file.zip

2绣硝、排除不需要解壓縮的文件

unzip file.zip -x file2

意思是說除了file2文件外,其他的文件都解壓縮

3撑刺、查看壓縮包的內(nèi)容

unzip -Z file.zip

查看file.zip壓縮包的內(nèi)容鹉胖。也可以使用"-l"、"-v"來查看壓縮包的內(nèi)容

4够傍、解壓命令

gunzip file.gz或gzip -d file.gz

gzip****與gunzip壓縮與解壓縮的用法

Linux壓縮保留源文件的方法:

gzip –c filename > filename.gz

Linux解壓縮保留源文件的方法:

gunzip –c filename.gz > filename

gunzip的用法

1.作用

gunzip命令作用是解壓文件甫菠,使用權(quán)限是所有用戶。

2.格式

gunzip [-acfhlLnNqrtvV][-s ][文件...]

或者gunzip [-acfhlLnNqrtvV][-s ][目錄]

3.主要參數(shù)

-a或--ascii:使用ASCII文字模式冕屯。

-c或--stdout或--to-stdout:把解壓后的文件輸出到標(biāo)準(zhǔn)輸出設(shè)備寂诱。

-f或-force:強(qiáng)行解開壓縮文件,不理會文件名稱或硬連接是否存在安聘,以及該文

件是否為符號連接痰洒。

-h或--help:在線幫助。

-l或--list:列出壓縮文件的相關(guān)信息浴韭。

-L或--license:顯示版本與版權(quán)信息丘喻。

-n或--no-name:解壓縮時,若壓縮文件內(nèi)含有原來的文件名稱及時間戳記念颈,則將其忽略不予處理泉粉。

-N或--name:解壓縮時,若壓縮文件內(nèi)含有原來的文件名稱及時間戳記榴芳,則將其回存到解開的文件上嗡靡。

-q或--quiet:不顯示警告信息。

-r或--recursive:遞歸處理窟感,將指定目錄下的所有文件及子目錄一并處理讨彼。

-S或--suffix:更改壓縮字尾字符串。

-t或--test:測試壓縮文件是否正確無誤柿祈。

-v或--verbose:顯示指令執(zhí)行過程点骑。

-V或--version:顯示版本信息。

4.說明

gunzip是個使用廣泛的解壓縮程序谍夭,它用于解開被gzip壓縮過的文件黑滴,這些壓縮文件預(yù)設(shè)最后的擴(kuò)展名為“.gz”。事實(shí)上紧索,gunzip就是gzip的硬連接袁辈,因此不論是壓縮或解壓縮,都可通過gzip指令單獨(dú)完成珠漂。


linux****下java網(wǎng)絡(luò)編程 -my qq

linux下網(wǎng)絡(luò)編程是linux最讓程序員著迷的地方晚缩,我們看看如何在linux進(jìn)行網(wǎng)絡(luò)編程尾膊。最終大家可以在這個基礎(chǔ)上擴(kuò)展為my qq的程序,并且會使用到mysql數(shù)據(jù)庫荞彼。

你將學(xué)習(xí)到:

1冈敛、如何使用java進(jìn)行socket編程

2、如何在java中對mysql數(shù)據(jù)庫操作

3鸣皂、windows和linux網(wǎng)絡(luò)通訊

4抓谴、了解什么是網(wǎng)絡(luò)服務(wù)這個晦澀的概念


**linux****下java開發(fā)my qq server **

vi MyServerText.java

import java.io.*; //引用java.io包

import java.net.*; //引用.net包

//服務(wù)器端

public class MyServerText {

public static void main(String []args){

  try{

      //創(chuàng)建ServertSocket

      ServertSocket ss=new ServerSocket(8888);

      System.out.println("i am listening");

      //監(jiān)聽,直到某個客戶端來連接,一但連接成功寞缝,就會得到

      //Socket[好象是一個數(shù)據(jù)管道]

      Socket s=ss.accept();

      //可以讀取從客戶端發(fā)送的信息

      InputStreamReader isr=new InputStreamReader(s.getInputStream());

      BufferedReader br=new BufferedReader(isr);

      String kk=br.readLine();

      System.out.println("client send :::"+kk);

      //從服務(wù)器端癌压,回一個消息

      OutputStreamWriter osw=new OutputStreamWriter(s.getOutputStream());

      PrintWriter pw=new PrintWriter(osw,true);

      pw.println("i get your mes:"+kk);

  } cath (Excption e) {

      e.printStackTrace();

      //TODO: handle exception

  }

}

}


MyClient

import java.io.*; //引用java.io包

import java.net.*; //引用.net包

//客戶端

public class MyClient {

public static void main(String []args){

   try {

        //連接ip:和port

        Socket s=new Socket("192.168.222.66",8888);

        //通過文件流發(fā)送消息

        OutputStreamWriter osw=new OutputStreamWriter(s.getOutputStream());

        BufferedWriter bw=new BufferedWriter(osw);

        PrintWriter pw=new PrintWriter(bw,true);

        //發(fā)送

        pw.println("hello,world!!");

        //讀取從服務(wù)器回送的信息

        InputStreamReader isr=new InputStreamReader(s.getInputStream());

        BufferedReader br=new BufferedReader(isr);

        String response=br.readLine();

        System.out.println("server response is :::"+response);

   } cath (Excption e) {

      e.printStackTrace();

   }

}

}


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市荆陆,隨后出現(xiàn)的幾起案子滩届,更是在濱河造成了極大的恐慌,老刑警劉巖被啼,帶你破解...
    沈念sama閱讀 206,013評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件帜消,死亡現(xiàn)場離奇詭異,居然都是意外死亡浓体,警方通過查閱死者的電腦和手機(jī)泡挺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來汹碱,“玉大人,你說我怎么就攤上這事荞估】却伲” “怎么了?”我有些...
    開封第一講書人閱讀 152,370評論 0 342
  • 文/不壞的土叔 我叫張陵勘伺,是天一觀的道長跪腹。 經(jīng)常有香客問我,道長飞醉,這世上最難降的妖魔是什么冲茸? 我笑而不...
    開封第一講書人閱讀 55,168評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮缅帘,結(jié)果婚禮上轴术,老公的妹妹穿的比我還像新娘。我一直安慰自己钦无,他們只是感情好逗栽,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,153評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著失暂,像睡著了一般彼宠。 火紅的嫁衣襯著肌膚如雪鳄虱。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,954評論 1 283
  • 那天凭峡,我揣著相機(jī)與錄音拙已,去河邊找鬼。 笑死摧冀,一個胖子當(dāng)著我的面吹牛倍踪,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播按价,決...
    沈念sama閱讀 38,271評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼惭适,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了楼镐?” 一聲冷哼從身側(cè)響起癞志,我...
    開封第一講書人閱讀 36,916評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎框产,沒想到半個月后凄杯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,382評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡秉宿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,877評論 2 323
  • 正文 我和宋清朗相戀三年戒突,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片描睦。...
    茶點(diǎn)故事閱讀 37,989評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡膊存,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出忱叭,到底是詐尸還是另有隱情隔崎,我是刑警寧澤,帶...
    沈念sama閱讀 33,624評論 4 322
  • 正文 年R本政府宣布韵丑,位于F島的核電站爵卒,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏撵彻。R本人自食惡果不足惜钓株,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,209評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望陌僵。 院中可真熱鬧轴合,春花似錦、人聲如沸碗短。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,199評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽豪椿。三九已至奔坟,卻和暖如春携栋,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背咳秉。 一陣腳步聲響...
    開封第一講書人閱讀 31,418評論 1 260
  • 我被黑心中介騙來泰國打工婉支, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人澜建。 一個月前我還...
    沈念sama閱讀 45,401評論 2 352
  • 正文 我出身青樓向挖,卻偏偏與公主長得像,于是被迫代替她去往敵國和親炕舵。 傳聞我的和親對象是個殘疾皇子何之,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,700評論 2 345

推薦閱讀更多精彩內(nèi)容