--linux實戰--1
支持多線程./多用戶的
安全性好
對內存和文件管理優越
linux最小只需要4m--》使用嵌入式開發
--命令
通配符
* 代表多個字母或數字
? 代表一個字母或數字
[1-6] 代表1-6之間
\ 轉義符
startx 進入圖形界面
shutdown -h now 立刻關機
shutdown -r now 重新啟動
reboot 重新啟動
su 切換用戶
logout 用戶注銷
--vi編輯器的使用
1...
vi Hello.java
i --進入insert編輯模式
輸入 esc 鍵【進入命令模式】
輸入 : --這時有兩個選擇
wq 表示退出報存
q! 退出不保存
ls --查看當前目錄下的文件
ls -l --查看文件的詳細信息
ls -a --查看隱藏目錄信息
linux的文件系統是采用級層式的樹狀目錄結構,在此結構中的
最上層是跟目錄'/'
cd / --切換目錄用 cd / 是進入根目錄
dir --跟ls 差不多都是現實目錄用的
linux 重要目錄結果圖 見 1-1....usr目錄是默認安裝程序的目錄圖沒有。
pwd --顯示在哪個路徑下。
useradd --添加用戶
passwd --設置密碼
userdel --刪除用戶
userdel -r --刪除用戶以及用戶的主目錄
init [0123456] --命令初始化模式
linux 運行級別
0:關機
1:單用戶
2:多用戶狀態沒有網絡服務
3:多用戶狀態有網絡服務
4:系統未使用保留給用戶
5: 圖形界面
6: 系統重啟
常用運行級別是3和5 要修改默認的運行級別可改文件
/etc/inittab的id:5:initdefault:這一行中的數字 這個文件時第一個被讀取的
/etc/rc.d/rd.sysinit --系統初始化腳本
/etc/rc.d/rcX.d/[KS]* --根據運行級別X配置服務
終止以'K'開頭的服務
啟動以'S'開頭的服務
/etc/rc.d/rc.local --執行本地特殊配置
....如果修改成6或者0 在進去界面中要
在ubuntu 中/etc/inittab 沒內容
在進入grub引導界面時,請輸入e
在選中第二行輸入e
在最後輸入1【單用戶級別】
----------------------------沒試過-------------
pwd --顯示工作目錄
ls --列出文件和目錄
ls -a 顯示隱藏文件
ls -l 顯示長列表格式
ls -al
mkdir --建立目錄
rmdir --刪除空目錄
tounch --建立空文件
cp --復制命令
cp -rf --拷貝
mv --移動文件和改文件名
rm --刪除文件和目錄
rm -rf * --刪除所有內容 包括目錄和文件 r遞歸 f強制
ln --建立符號連接
ln -s 源目標
ln -s /etc/inittab inittab
--inittab指向時間文件/etc/inittab
more --顯示文件內容,帶分頁
less --顯示文件內容帶分頁
grep --在文本中查詢關鍵詞
| --管道命令 --把上面一個命令的結果交給|
的後面的命令處理
man --man命令相當於dos下的help命令
find --搜索文件及目錄
find / -name 文件 -- 從根目錄開始找
find /home -amin -10: --十分鐘內存取的文件或目錄
find /home -atime -10: --十小時內存取的文件或目錄
find /home -cmin -10: --十分鐘內更改過的文件或目錄
find /home -ctime -10: --十小時前更改過的文件或目錄
find /home -size +10k --找/home目錄下文件大小是10k的 文件
重定向命令
> 文件 --管道定向命令 表示把 > 左邊的搜索的結果 寫入到
右邊的 文件裡面 沒有就創建 有就覆蓋。。(覆蓋寫)
>> 文件 -- 同上面的命令 只不過文件不覆蓋只追加(追加寫)
linux 的每一個用戶必須屬於一個組
ls -ahl --查看文件所有者
在linux中添加組
groupadd policeman
vi /etc/group --vi 命令可以看文件也可以改文件
cat /etc/group -- cat 只查看不修改的命令
創建用戶,並同時指定將該用戶分配到哪個組
useradd -g 組名 用戶名
修改用戶所在組
usermod -g 組名 用戶名
改變用戶登錄的初始目錄
usermod -d 目錄名 用戶名
查看linux中所有用戶信息
vi /etc/passwd
cat /etc/passwd
權限分為三種:r可讀 用4表示,w 可寫用2表示,x可執行 用1表示
查看文件信息時下面這段表示
-rw-r--r--
分成四段 -,rwx-,r--,r--
- 表示文件類型 d(目錄) l(鏈接)
rwx- 文件的所有者對該文件的權限
rw-- 文件所在組的用戶對改文件的權限ho
r-- 其它組的用戶對該文件的權限
改變權限的命令賦予abc權限
chmod 改變文件或目錄的權限
chmod 755 abc :rwxr-xr-xr
chmod u=rwx,g=rx,o=rx abc :同上 u=用戶權限,g=組權限 0=不同其它組其它用戶權限
chmod u-x,g+w abc:給abc去除用戶執行的權限,增加組寫的權限
chmod a+r abc : 給所有用戶添加讀的權限
--改變所有者(chown)和用戶組(chgrp)命令
chgrp 組名 文件名 --來修改文件所在組
chown 用戶名 文件名 --來修改文件的所有者
chown 用戶名 ./目錄名 --來修改目錄的所有者
chown -R 用戶名 ./目錄名 --來修改目錄及其下面的所有文件 和目錄的所有者
jdk安裝步驟/
1.把 mypackage.iso 掛載到linux操作系統上
在vm做好配置
mount /mnt/cdrom --使用該命令掛載 在跟目錄下使用
umont /mnt/cdrom --卸載光驅
2.把安裝文件copy到 /home 因為iso光驅文件時不可讀的安裝時 會寫入東西 會造成不成功
cp 文件 /home --拷貝命令
3. cd /home 切換到home目錄
4. ./???.bin 回車。。。
5.看看一個文件 /etc/profile【環境配置文件】
6.配置自己安裝的jdk文件
JAVA_HOME = /.....
PATH=$PATH:/......
CLASSPATH=.:/......
export JAVA_HOME PATH CLASSPATH
eclipse 安裝也一樣
tar -zxvf ???.tar.gz 安裝tar.gz文件
啟動eclipse 【進入圖形界面】
ctrl+alt+T 進入終端
./綠色文件 啟動 --有些文件不支持這樣啟動 只能在圖形界面
進入終端敲此命令啟動
myeclipse 必須在圖形界面下安裝
tomcat 安裝同上
---》分區
df --查看linux系統分區情況
-h 更詳細的分區的情況
-l
fdisk -l
=======>
linux下的Shell
--所有命令都必須通過shell解析器解釋成可執行代碼再傳遞 給linux內核執行。
--shell還可以進行程序設計
有三種shell 在以下目錄
/bin/sh
/bin/csh
/bin/bsh
==》
查看目前使用的shell
env --使用該命令查看環境配置
chsh -s /bin/csh ---修改shell
alias 用法給命令取別名
例如: ls -l /home
別名llh: alias llh = 'ls -l /home'
使用zip和unzip壓縮和解壓
壓縮文件
zip aa.zip 文件名
zip aa.zip 文件名1,文件名2
zip -r aa.zip 文件夾
zip -m aa.zip 文件 壓縮完成後刪除原文件
zip -y aa.zip 文件 不壓縮鏈接文件
gzip 和 gunzip處理.gz文件
解壓縮文件
unzip aa.zip
history 5 --此項說明會顯示 最近使用的5個命令
!5 --此項說明執行歷史編號為5的命令
!ls--此項說明執行最後一次以“ls”開頭的命令
==》
tcp/ip基礎
tcp/ip協議由 (tcp,ip,udp,arp,rarp等協議組成)
見圖 1-2
應用層
傳輸層
iP層
鏈路層
ping ip --拼命令
tracert ip --查看拼接網絡的追蹤路由
traceroute
ifconfig --下查看ip情況的命令是 windows是ipconfig
ifconfig eth0 down --禁用設備eth0
ifconfig eth0 up --打開設備eth0
關閉linux中的防火牆 (用setup命令道text mode設置)
--對網絡配置進行生效使用下面語句
/etc/rc.d/init.d/network restart
在linux中,所有的設備都是文件..
===>對網絡進行配置
1....
setup -- 永久修改
/etc/rc.d/init.d/network restart 對網絡配置進行生效
2...
ifconfig eth0 ip地址
---這樣配置網絡將會立即生效但是是臨時的。。
3...
修改 /etc/sysconfig/network-scripts/ifcfg-eth0
這個文件裡各個屬性可以修改,包括ip,子網掩碼,廣播地址
,默認網關..是永久修改
/etc/rc.d/init.d/network restart 對網絡配置進行生效
DEVICE=eth0 --設備名
ONBOOT=yes --開機是否啟動
BOOTPROTO=dbcp --dbcp代表自動分配ip staic代表自己分配固 定ip
===》
rpm管理 redhat package manager
例如:apache-1.3.23-11.i386.rpm
=》rpm常用命令
rpm -qa --查詢linux中安裝哪些rpm軟件
rpm -q 包名部分
rpm -i rpm包全路徑名稱 ---安裝包到當前系統
rpm -ivh rpm包全路徑名稱 ---安裝包到當前系統有提示和進度條
i = install
v = verbose
h = hash
rpm -e rpm包全路徑名稱 --刪除rpm包
rpm -e --nodeps rpm包全路徑名稱 --強制刪除rpm包
rpm -u rpm包全路徑名稱 --rpm包升級
===》
samba服務器 ---用於window和linux文件共享
samba的安裝步驟
1.. 看看是否已經安裝了samba
rpm -q samba
2.. 如有就卸載
rpm -e samba
3.. 把自己安裝的文件掛載到linux下
4.. 把samba安裝文件copy到/home目錄下准備安裝
5.. 開始安裝
rpm -i samba安裝rpm文件
6.. 創建一個用戶 useradd xx。。。
7.. 添加samba的使用用戶
cat /etc/passwd | mksmbpasswd.sh > /etc/samba/sabpasswd
8..設置samba密碼
smbpasswd 用戶
9.. 啟動samba服務器,測試
service smb start ---啟動smb服務
service smb stop ---停止smb服務
service smb restart ---重啟smb服務
10..啟動samba後在 windows中訪問 //linux使用的ip
可以訪問到linux中共享的文件
===》
設置任務調度命令crontab
1...
crontab -e --設置任務
2...
每隔一定時間去執行 date > /home/mydata1
希望,每天凌晨2:00去執行 date >> /home/mydata2
-- crontab -e 中加入0 2 * * * date >> /home/mydata2
---0 2 * * * 帶表了 分 時 月 年 星期
3.怎樣去調度多個任務
1... 在crontab -e 中接著寫
2... 可以把所有的任務,寫入到一個可執行文件(shell 編程)
conrtab -r --終止 任務
===》
監控網絡狀態信息
進程.
進程就是正在執行的程序
線程
輕量級的進程
進程有獨立的地址空間。線程沒有
線程不能獨立存在,它是由進程創建。
相對講,線程耗費的cpu,和內存小於進程
ps命令用來查看目前系統中有哪些正在執行。以及它們執行的狀況
1..ps -a --顯示當前終端的所有進程信息
2..ps -u --以用戶的格式顯示進程信息
3..ps -x --顯示後台進程運行參數
pa -aux --看的全面,信息也全面
kill 進程pid號 --終止進程
kill -9 進程pid號 --強制終止進程
killlall 進程pid號 --刪掉該進程和所有子進程
top與ps命令很相似。它們都用來顯示正在執行的進程。
Top與ps最大的不同之處。在於top在執行一段時間可以更新正在運行的進程
1.監視特定用戶
top:輸入此命令。查看執行的進程
u:然後輸入u回車 再輸入用戶名,監視特定用戶
2.終止指定的進程
top--》回車--》k --》回車--》進程id號
tip -d 10 ---指定系統更新進程的時間為10秒。
14:06:22 UP 4 MIN, 1 USER,LOAD AVERAGE:0.02,0.12,0.07
--4 min 代表系統啟動了多久 1 user 用戶數
--load average: 0.02,0.12,0.07 當前系統負載情況 如果/3>0.6就 代表系統使用率大於60%
37 processes: 36 sleeping,1 running,0 zombie, o stopped
--37 processes: 進程數 36 sleeping:休眠數 1 running 運行數
0 zombie 僵屍進程數 沒用的進程 但是又占用了內存。
0 stopped 停止數
Cpu states : 0.0% user 0.1% system 0.0% nice 0.0% inwait 99.8% idle
--Cpu 使用情況 99.8% idle 代表有多少Cpu 閒置
Mem: 255264k av, 39428k used,215836k free, 0 shrd, 5528k buff
--內存使用情況 used 使用中的 free 空閒的
Swap: 257032k av, 0k used, 257032k free
--虛擬內存使用情況
date --顯示系統時間 MMDDHHMMCCYY.SS 月月日日時時分分年年年年.秒秒
cal 3 2002 --查看2002年3月的日歷
cal 2008 --查看2008的年歷
netstat --網絡信息
netstat -an --檢測主機連接命令ping:
===》
Mysql數據庫在linux下的使用
groupadd mysql
useradd -g mysql mysql
cd mysql --進入mysql 才能執行下面一句
scripts/mysql_install_db --user=mysql
chown -R root . (修改 文件的 所有者)
chown -R mysql data (修改date文件夾的所有者)
chgrp -R mysql . (改變用戶組)
啟動mysql
bin/mysqld_safe ---user =mysql & 【&表示以後台的方式啟動】
檢查一下
下面命令是在msql bin目錄下執行的
cd bin
./mysql -u root -p
備份 mysqldump -u root -p密碼 數據庫名 > data.bak
恢復:mysql -u root -p密碼 數據庫名 < data.bak
看表的結構 --desc
用戶環境變量配置root/home/用戶/.bash_profile中添加路徑
/.bashrc 用戶登錄的時候啟動文件
系統環境變量配置 /etc/profile
/etc/bashrc
特別注意mysql驅動要存放的位置jdk下的。
/jre/lib/ext/
===》
ssh(secure shell)的使用
===》
ftp的安裝與配置
===》
linux 下網絡編程
1...如何使用linux
2...
3...
4...