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

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

Linux****操作系統(tǒng)學習

linux****的特點

優(yōu)點:

1、免費的/開源的系統(tǒng)

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

3、安全性好

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

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

缺點:

操作相對困難

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

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

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

在linux****運行startx****命令****可以****進入圖形操作界面

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

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

關機命令

shutdown -h now 立刻進行關機

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

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

logout 注銷

vi****編輯器是linux下最有名的編輯器,也是學習linux必須掌握的工具,

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

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

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

1、Vi Hello.java

2、輸入i[進入到插入模式]

public class hello{

  public static void main(String []args){

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

     }

}

3、輸入esc鍵[進入命令模式]

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

6、編譯javac hello.java

javac Hello.java

7、運行 java Hello [java運行的是class文件]

ls命令顯示當前文件

ls -l命令顯示詳細文件列表

如何在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下運行c程序只要輸入/就可以運行


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用戶相關文件的目錄

home目錄:用于存放普通用戶的相關文件的目錄

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

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

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

etc目錄:用于存放配置相關的文件的目錄

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

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

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

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

cd /返回到主目錄下

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

顯示當前在哪個路徑下面

pwd命令是顯示當前在哪個路徑下


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

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

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

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

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


linux****的常用命令

指定運行級別

命令:init[012356]

運行級別

0:關機

1:單用戶

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

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

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

5:圖形界面

6:系統(tǒng)重啟

常用運行級別是3和5,要修改默認的運行級別可改文件/etc/inittab的

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

在啟動引導界面的時候按e進入編輯,在進入grub引界面時,請輸入e在選中第二個選項按e,在最后輸入 1[單用戶級別] 然后按b進入單用戶模式。

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


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

命令pwd [顯示當前工作目錄]

命令cd [改變目錄]

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

ls -a 顯示隱藏文件

ls -l 顯示長列表格式

命令mkdir [建立目錄]

命令rmdir [刪除空目錄]


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

tab鍵可以補全相應內(nèi)容

命令touch [建立空文件]

命令cp [復制命令]

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

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

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

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

命令ln [建立符號連接]

ln -s 源目標

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é)果交給|的后面的命令進行處理

命令man [相當于dos下的help]

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


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

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

在linux中,因為文件系統(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中的每個用戶必需屬于一個組,不能獨立于組外。在linux中每個文件有所有者、所在組、其它組的概念。

(1)所有者

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

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

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

(2)所在組

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

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

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

(3)其它組

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

(4)改變用戶所在的組

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

usermod -g 組名 用戶名

你可以用

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

如何在linux中添加組

需要用root用戶來添加,普通用戶無法進行用戶和組的添加

添加組命令: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解釋器

設定密碼

命令: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用戶和文件所有者。

查看當前操作人員命令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。實際上目前有很多java后臺程序就是運行在linux環(huán)境下運行的。也是將來的發(fā)展趨勢。

JDK****的安裝步驟:

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

在虛擬機上做好配置,在根目錄下進行操作:

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

掛載光驅(qū)

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

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

命令: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復制到/home目錄下

3、安裝

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

4、啟動eclipse[進入圖開界面]

打開終端控制臺

進入eclipse文件后

./eclipse

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

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


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

概述:我們知道javaee的服務器有tomcat、jboss、weblogic、websphere、resin...這些都可以安裝到linux下,我們給大家安裝tomcat

tomcat用于開發(fā)小、中型項目(免費)jboss也是免費的。

weblogic、websphere用于開發(fā)大型項目(收費)

安裝同上

注釋重點:

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

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

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

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

在圖形界面下運行文件后要加&進行后臺運行

控制臺下運行文件命令./文件名 &

./eclipse &


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

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


linux下娛樂軟件 realplay

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

安裝realplay

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

2、安裝./realplay


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

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


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

對windows的用戶來說,有幾個分區(qū)就有幾個驅(qū)動器,并且每個分區(qū)都會獲得一個字母標識符,然后就可以選用這個字母來指定在這個分區(qū)上的文件和目錄,它們的文件結(jié)構(gòu)都是獨立的,非常好理解。但對這些用戶初上手Red Hat Linux嗎,可就有點惱人了。因為對Red Hat Linux用戶來說無論有幾個分區(qū),分給哪一目錄使用,它歸根結(jié)底就只有一個根目錄,一個獨立且唯一的文件結(jié)構(gòu)。Red Hat Linux中每個分區(qū)都是用來組成整個文件系統(tǒng)的一部分,因為它采用了一種叫“載入”的處理方法,它的整個文件系統(tǒng)中包含了一整套的文件和目錄,且將一個分區(qū)和一個目錄聯(lián)系起來。這時要載入的一個分區(qū)將使它的存儲空間在一個目錄下獲得。下面我們先來看看Red Hat Linux的驅(qū)動器是如何標識的。

/dev/sda1

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


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

對于IDE硬盤,驅(qū)動器標識符為"hdx",其中"hd"表明分區(qū)所在設備的類型,這里是指IDE硬盤了。"x"為盤號(a為基本盤,b為基本從屬盤,c為輔助主盤,d為輔助從屬盤),""代表分區(qū),前四個分區(qū)用數(shù)字1到4表示,它們是主分區(qū)或擴展分區(qū),從5開始就是邏輯分區(qū)。例,hda3表示為第一個IDE硬盤上的第三個分區(qū)或擴展分區(qū),hdb2表示為第二個IDE硬盤上的第二個主分區(qū)或擴展分區(qū)。對于SCSI硬盤則標識為"sdx",SCSI硬盤是用"sd"來表示分區(qū)所在設備的類型的,其余則和IDE硬盤的表示方法一樣。


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

掛載命令

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

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

卸載命令

umount [設備名稱]

查看磁盤使用情況

df [參數(shù)]

比如 df -l

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

df -h

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

df [目錄全路徑]

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

fdisk -l


linux****安裝

linux安裝有兩種方式

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

2、完全獨立安裝

linux安裝時,分區(qū)是關鍵

1、/boot引導分區(qū) 100M

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

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


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

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

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

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

概述:其實作為命令語言互動式地解釋和執(zhí)行用戶輸入的命令只是shell功能的一個方面,shell還可以用來進行程序設計。它提供了定義變量和參數(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 (該命令可以顯示當前操作系統(tǒng)的環(huán)境變量)

2、shell的修改

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


linux****下shell介紹 shell的命令補全功能

概述:是指用戶輸入命令時,并不需要輸入完整的命令,而系統(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 :此項說明會顯示最近使用的5個命令

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

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


tcp/ip****基礎 tcp/ip的由來

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

tcp/ip是什么

tcp/ip是unix/linux世界的網(wǎng)絡基礎,在某種意義上,unix網(wǎng)絡就是tcp/ip,而且tcp/ip就是網(wǎng)絡互聯(lián)的標準。它不是一個獨立的協(xié)議,而是一組協(xié)議。(tcp,ip,udp,arp,rarp等協(xié)議)

tcp/ip****基礎 osi與tcp/ip參考模型

|

osi模型(理論)

|

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

|
|

應用層(application)

|

應用層:(application)smtp,ftp,telnet

|
|

表示層(presention)

|

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

|
|

會話層(session)

|

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

|
|

傳輸層(transport)

|

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

|
|

網(wǎng)絡層(ip)

| |
|

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

| |
|

物理層(physical)

| |

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

概述:每個internet上的主機和路由器都有一個ip地址。它包括網(wǎng)絡號和主機號,所有ip地址都是32位的,ip地址按照國際標準的劃分為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 目標IP或域名

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

windows查看ip情況是ipconfig

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


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

第一種方法:

(1)用root身份登陸,運行setup命令進入到text mode setup utiliy對網(wǎng)絡進行配置,這里可以進行ip,子網(wǎng)掩碼,默認網(wǎng)關,dns的設置。

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

我們剛才作的設置才生效

第二種方法:

(1)ifconfig eth0 X.X.X.X 對網(wǎng)卡進行設置。(臨時生效)

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

對廣播地址和DNS使用默認。

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

第三種方法:

(1)修改/etc/sysconfig/network-scripts/ifcfg-eth0這個文件里屬性可以修改。包括ip,子網(wǎng)掩碼。廣播地址,默認網(wǎng)關。

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

我們剛才作的設置才生效。

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

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

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

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

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

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

IPADDR=192.168.44.22 (本機IP地址)

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

GATEWAY=192.168.44.254 (網(wǎng)關)

在虛擬機下linux與windows如何ping通?

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


RPM****管理

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

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

apache-1.3.23-11.i386.rpm

apache軟件名稱

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

i386軟件運行的硬件平臺

rpm文件擴展名,代表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包全路徑名稱 :安裝包到當前系統(tǒng) 參數(shù)i=install

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

 參數(shù)說明:i=install 安裝;v=verbose 提示;h=hash 進度條

刪除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ù)卸載(這可不是一個好主意,因為依賴于該軟件包的程序可能無法運行),請使用--nodeps命令行選項。

升級RPM包

rpm -U RPM包全路徑名

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


samba****詳解

什么是samba

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

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

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

客戶和服務器均需要的文件

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

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

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

cd ~

umount /mnt/cdrom

3、設置samba密碼文件

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

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

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

//設置用戶的samba密碼

smbpasswd 用戶名

4、啟動samba服務

service smb start 啟動

service smb stop 停止

service smb restart 重啟

samba****配置

共享資源的基本設置 /etc/samba/smb.conf

1、comment : 針對共享資源所做的說明文字。默認值為空字符串。

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

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

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

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

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

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

4、hosts allow : 設置連接主機的地址

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

5、hosets deny : 設置禁止連接的主機地址

hoset deny =192.168.2. : 意思是說不允許來自192.168.2主機訪問此samba服務器的資源。

6、read only : 用于設置共享的資源是否為只讀。

read only = yes : 允許只讀

read only = no : 可以讀寫

7、writable : 設置是否允許寫入

writable = yes : 允許寫入

writable = no : 不允許寫入

8、browseable : 設置用戶是否可看到此共享資源

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

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

9、available : 設置是否啟用資源共享

available = yes : 啟用資源共享

available = no : 不啟用資源共享


任務調(diào)度命令

概述:

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

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

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

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

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

設置個人任務調(diào)度。執(zhí)行crontab -e命令。接著輸入任務到調(diào)度文件

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

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

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

1、設置任務 crontab -e

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

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

date顯示當前時間

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í)行對應任務。*表示設置為無設定

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

3、怎樣去調(diào)度多個任務?

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

2)可以把所有的任務,寫入到一個可執(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、如何終止任務

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

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

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

進程的概念和管理

基本概念

1、在linux中,每個執(zhí)行的程序都稱為一個進程。每一個進程都分配一個ID號。

2、每一個進程,都會對應一個父進程,而這個父進程可以復制多個子進程。例如WWW服務器。

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

4、一般系統(tǒng)的服務都是以后臺進程的方式存在,而且都會常駐在系統(tǒng)中。直到關機才會結(jié)束。

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

線程(1)輕量級的進程

(2)進程有獨立的地址空間,線程沒有

(3)線程不能獨立存在,它是由進程創(chuàng)建的。(在linux下是fork,在java下是Thread)

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

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

ps命令是用來查看目前系統(tǒng)中,有哪些正在執(zhí)行,以及它們執(zhí)行的狀況??梢圆患尤魏螀?shù)

顯示詳細的進程信息

1、 ps -a :意思是說顯示當前終端的所有進程信息。

2、以用戶的格式顯示進程信息。

ps -u :以用戶的格式顯示進程信息。

3、顯示后臺進程運行參數(shù):

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

4、可以使用ps -aux 顯示全面的進程信息。

PS:顯示的信息選項

字段 說明

PID 進程識別號

TTY 終端機號

TIME 此進程所消CPU的時間

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

終止進程kill/killall

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

終止某個進程:kill 進程號

kill 16251 :表示終止進程號為16251的進程。

kill -9 16251 :因為有些進程會捕捉某些信號。如果直接不能結(jié)束進程可以用“-9”傳送信息。

killall可以清除進程及進程相關的子進程

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

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

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

top :輸入此命令,按回車鍵,查看執(zhí)行的進程。

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

2、終止指定的進程

top :輸入此命令,按回車鍵,查看執(zhí)行的進程。

k :然后輸入"k"回車,再輸入要結(jié)束的進程ID號。

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

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

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

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

1 user, 當前登陸到linux有多少用戶

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

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

37 processes:當前進程數(shù)

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

1 running, 正在運行進程數(shù)

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

0 stopped處于停止狀態(tài)的進程數(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)存

可用此命令進行釋放echo 3 > /proc/sys/vm/drop_caches 一般不刻意去釋放。


設置系統(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)絡狀態(tài)信息

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

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

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

檢測主機連接命令ping:

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

如:ping 對方IP地址

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

traceroute 目標IP或地址

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

route

所謂路由是指將數(shù)據(jù)由來源網(wǎng)絡送往目的地網(wǎng)絡的操作。在大型網(wǎng)絡中,路由是非常復雜的,因為數(shù)據(jù)包在抵達目的地時,可能經(jīng)過的節(jié)點有很多,路由表是存儲在路由器或一些其它鏈接設置上的窗體。其中記錄著了到指定目的地的網(wǎng)絡路徑,以及這些路徑的相關數(shù)值。

此命令可以直接輸入使用,來查看本機路由的情況。

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

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

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

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

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

1)把mysql數(shù)據(jù)庫的安裝文件準備好,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用戶組)

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

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

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

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

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

    啟動mysql

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

    檢查一下,OK,正常啟動

如何進入mysql

cd /bin

./mysql -u root -p

如果希望在任何目錄下都可以進入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ù)庫和表

加入部分數(shù)據(jù)

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

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

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

1)進入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

找到jdk

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

java ShowUsers


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

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

錄下執(zhí)行)

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

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

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

cd /mysql/bin

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

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


神奇的ssh

概述:ssh(securt shell)是一款集遠程操作linux和進行文件上傳和下載的軟件,那是相當?shù)暮糜醚剑谲浖編缀跛械膌inux程序員都會使用ssh。安全,方便是它最大的特點。

1、安裝

linux的ssh服務端是在安裝linux時自動安裝一個sshd并默認是啟動的。ssh

服務端的端口是22

windows下安裝ssh客戶端

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


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

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

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

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

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

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

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

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

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

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

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

/usr 系統(tǒng)應用程序和相關文件

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

當前目錄 pwd命令可以顯示當前目錄

相對路徑 以當前目錄開始詢找目標文件或文件夾 . .. ~

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

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

運行級別

命令:init [0123456]

運行級別 0:關機

     1:單用戶

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

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

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

     5:圖形界面

     6:系統(tǒng)重啟

常用運行級別是3和5,要修改默認的運行級別可改文件

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

常用命令

pwd :顯示當前工作目錄

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

ls :列出文件和目錄

ls -a :顯示隱藏文件

ls -l :顯示長列表格式

mkdir :建立目錄

rmdir :刪除空目錄

touch :建立空文件

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

      覆蓋

mv :移動文件和改文件名

rm :刪除文件和目錄

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

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中,因為文件系統(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 十小時前更改過的文件或目錄

按文件大小進行搜索文件

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

重定向命令 > 覆蓋 >>追加 <導入

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

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

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

shell****使用

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

命令完成功能:用tab鍵能自動完成相關命令,再次按tab可得到清單

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

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

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

.bashrc位于主目錄下

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

.bash_profile位于主目錄下

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

當希望臨時加入一個路徑時,可使用export

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

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

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

 SHELL :默認shell

 PATH  :路徑

 USER  :當前登錄用戶的用戶名

顯示變量內(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)當前定義的所有alias

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

      alias cp='cp -i'

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

linux****啟動過程分析

runlevel命令 可以查看當前的運行級別

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

a)BIOS自檢

b)啟動GRUB/LILO

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

d)運行系統(tǒng)的第一個進程init

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

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

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

  終止以"K"開頭的服務

  啟動以"S"開頭的服務

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

i)其他特殊服務


壓縮和解壓問題

以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 [文件夾路徑]

將當前目錄下的子目錄一起壓縮

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

zip -j file.zip

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

zip -n .mpg: .jpg: .gif

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

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

zip -t 102002 file.zip

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

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

zip -y file.zip

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

zip -9 file.zip

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

zip file.zip * -x file2.txt

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

以unzip命令進行.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:把解壓后的文件輸出到標準輸出設備。

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

件是否為符號連接。

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

-l或--list:列出壓縮文件的相關信息。

-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壓縮過的文件,這些壓縮文件預設最后的擴展名為“.gz”。事實上,gunzip就是gzip的硬連接,因此不論是壓縮或解壓縮,都可通過gzip指令單獨完成。


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

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

你將學習到:

1、如何使用java進行socket編程

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

3、windows和linux網(wǎng)絡通訊

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


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

vi MyServerText.java

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

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

//服務器端

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);

      //從服務器端,回一個消息

      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!!");

        //讀取從服務器回送的信息

        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)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容