我們大家都很熟悉windows,可能對linux不是很了解,linux系統一般都用在伺服器上,因為它做很多事情都需要打命令,沒有windows那麼智能,或者說傻瓜也可以,一般的普通用戶都不會用到,這裡我說一下我自己對linux的一些自己的見解,如果有愛好且沒基礎的人可以看看,可能會對你有些幫助的,當然關於它的歷史我就不介紹了,我在這裡只說一下它的基本內容和命令.
UNIX/Linux系統特點:
1.一切皆文件
2.配置於數據都是文件形式保存
3.由短小的程序組成
4.避免不必要的交互
5.多個程序合作完成一個任務
6.令(程序)的運行用參數控制
linux組成:
硬體、內核、shell、文件系統、應用程序
使用Linux的三種模式::
GUI圖形界面
TUI文本界面
CLI命令行界面
目錄結構:
倒置樹型結構
/
---/etc 配置文件
---/boot (另外一個磁碟分區裡面保存)
---/var 可變數據.日誌、緩存
---/home 普通用戶所有數據
---/root 管理員所有數據
---/tmp 臨時文件存儲位置
---/usr 系統軟體
---/opt 大型第三方軟體
---/bin 命令
---/sbin 系統命令
---/usr/bin
---/usr/sbin
---/usr/local/bin
---/usr/local/sbin
---/lib 程序、系統的庫(函數庫)
---/dev 設備
基本命令:
ls - list directory contents
-l 顯示詳細信息 系統裡面的快捷方式 ll
-a 顯示隱藏文件 -A 顯示隱藏文件(系統文件除外)
-d 查看目錄(不查看裡面的內容)
-h 增強可讀性
被查看的目錄:
. 當前目錄
.. 父目錄(上層目錄、上級目錄)
.DIRNAME .FILENAME 起名或者創建時控制目錄或者文件是否是隱藏的.
絕對路徑/相對路徑:
/..... ./..... ../../../
目錄結尾 用/ 文件結尾 無
./DIR/ ./FILE
cd - change dir
cd 目錄名 直接到那個目錄下面
#cd 回到用戶自己的主目錄
#cd ~ 回到用戶自己的主目錄
#cd - 回到上一個目錄
pwd查看當前目錄
mkdir - make directories 創建目錄
加-p 連同父目錄一起創建
#mkdir -p
touch 常用來創建空文件
#touch test.txt
rmdir 刪除空目錄
rm - remove files or directories 刪除文件或者目錄
-r 遞歸刪除(可以刪除目錄和目錄裡面的東西)
-f 強行刪除
cat - concatenate files and print on the standard output 顯示文件內容
more 查看文件內容 缺點:只能向下看不能向上看
q 退出
less 查看文件內容(可以向上翻頁)
q 退出
head 顯示文件前10行
-n 顯示多少行
tail 顯示文件后10行 常用來看日誌
-n 顯示多少行
-f 跟隨(不關閉) 常用來查看日誌
cp - copy files and directories
-r 包含子目錄和文件
-a 確保新文件和源文件一致
-f 若是原地方有這個文件刪除后再複製
mv 作用是移動和修改文件名
如何輸入命令:
命令 [選項]([參數])[選項的值]([參數的值]) 用空格分割
命令后:左邊是源 右邊是目標
命令后:原文件名 修改後的文件名
編輯器:gedit nano vim
vim:
#vim filename
#vim filename N
有三種模式:
1.命令模式
2.插入模式
3.末行模式
i 在游標前插入文本
I 在游標所在行首插入文本
o 在游標所在行下面插入一行
O 在游標所在行上面插入一行
a 在游標后插入文件
A 在游標所在行插入行尾插入文本
返回命令模式 Esc
進入末行模式 shift ;
:wq 保存並推出
:wq! 強行推出並保存
:q! 強行推出不保存
:% s/old/new/g 將全文的old換成new
:1,5 s/old/new/g 將1到5行的old換成new
:set number 顯示行號 :set nonumber 關閉行號
dd 刪除一行(即剪切)
Ndd 刪除N行
yy 複製一行
Nyy 複製N行
p 粘貼
u 撤銷
快速定位:
gg 到文件頭 H 到屏幕開頭 M 中間 L結尾 G 文件尾
軟體安裝:
解壓:
軟體名字:zip gzip bzip2 (cpio)
格式名字:.zip .gz .bz2 .cpio
PS:linux系統不根據後綴名識別文件類型
用file命令查看文件的類型.用-z查看的更詳細
zip:#unzip filename 解壓
gzip #gzip filename 壓縮 #gzip -d filename 解壓
bzip2: #bzip2 filename 壓縮 #bzip2 -d filename 解壓
歸檔 壓縮:
#tar -cf newfile.tar SOURCE
#tar -xf newfile.tar -C /PATH/TO/DISTDIR/
#tar -xf newfile.tar -C /PATH/TO/DISTDIR/ user1/rules.txt
#tar -tf newfile.tar
#tar -rf newfile.tar SOURCE
gzip:z bzip2:j
#tar czvf newfile.tar.gz SOURCE
常見格式(後綴名):.tar.gz .tgz .tar.bz2 .tbz
軟體管理:
rpm包:
安裝:
#rpm –ivh 包名.rpm
升級:
#rpm -Uvh zsh-4.2.6-3.el5.i386.rpm
#rpm -Fvh zsh-4.2.6-3.el5.i386.rpm
卸載:
#rpm -e zsh xxx.conf.rpmsave
查詢:
#rpm -q zsh (查詢zsh軟體是否安裝)
#rpm -qa (查詢所有安裝過的軟體)
#rpm -ql zsh (查詢zsh這個軟體安裝了那些文件和目錄)
#rpm -qf /bin/zsh (zsh這個文件是那個軟體安裝的)****
zsh-4.2.6-3.el5.i386.rpm
zsh -4 .2 .6 -3. el5. i386
軟體名 版本號 次版本號 修訂 release(發布版本) 系統平台 架構平台
fc15 x86_64
noarch
#which 命令名(返回命令的絕對路徑)
其他選項:
--force 後面加上強行安裝
--nodeps 不管依賴關係強制安裝
--root=/PATH/ 後面加上安裝在另外一個路徑
自動裝軟體包(軟體包管理):
YUM
解決依賴關係問題、自動下載軟體包.基於C/S架構.
S:直接使用光碟的根所在的目錄(/media/xxx/).
Iso鏡像:
#mount -o loop /var/ftp/rhel55.iso /media/
使用/media/目錄.(這個目錄也是光碟的根)
C:
#vi /etc/yum.repos.d/local.repo
[local-Server]
name=local-Server
baseurl=file:///media/Server (repodata目錄所在的目錄)
enabled=1
gpgcheck=0
YUM使用:
#yum clean all 清空緩存
#yum makecache
安裝:
#yum install zsh 安裝這個軟體包
#yum install httpd\* 安裝這個軟體包和相關的包
#yum groupinstall GROUPNAME 安裝一組軟體
#yum localinstall zsh-4.2.6-3.el5.i386.rpm 用yum安裝一個已經下載好的軟體
查詢:
#yum list z\* 以Z開頭的軟體全查
#yum list all 查看所有
#yum grouplist 查看一組
#yum info zsh 詳細信息
#yum search zsh 搜索
#yum whatprovides /bin/zsh 裝沒裝都可以查到
刪除:
#yum remove zsh* 卸載一個軟體包
#yum groupremove GROUPNAME 卸載一組軟體包
-y 回答yes
手動安裝lftp:
前提:系統必須安裝:開發工具、開發庫.
步驟:
1. 獲得
2. 解壓
#tar xjf lftp-3.5.10.tar.bz2
3. 配置
#cd lftp-3.5.10
#./configure (--help獲得幫助,如何配置,配置那些內容)
#echo $? 返回值是0就安裝沒問題
4. 編譯
#make (讀取Makefile文件)
5. 安裝
#make install
其他方法:
執行軟體提供的安裝程序(腳本)進行安裝.
執行軟體提供的二進位可執行文件.
軟體安裝方法特點:
rpm+yum:方便,軟體版本低.穩定性好、管理方便.性能稍差.
手動:麻煩,軟體版本新.穩定性稍差、管理稍差.性能好.
進程管理:
程序與進程:
程序是靜態的(文件),進程是動態的(運行的程序).
進程是能夠獨立運行的單位.進程作為資源申請和調度的單位.
程序和進程不存在一一對應關係.
進程可能會有依賴關係,程序沒有.
進程的運行狀態:
1. 運行
2. 中斷(睡眠)
3. 不可中斷
4. 停止
5. 殭屍
查看進程:
pstree 樹型結構顯示系統進程信息
-p顯示進程號
ps
#ps axu (#ps auxw)
#ps -ef
#ps -eo euser,ruser,suser,fuser,f,comm,label
ps提供的狀態:
D 不可打擾的中斷
R 運行
S 睡眠
T 暫停
W 沒有足夠內存可以分配
X 分頁(2.6+內核以後不會有了)
Z 殭屍
< 高優先順序的
N 低優先順序的
L 有內存分頁但是帶鎖
s 會話頭
l 多線程
前台程序
top
q退出
s更改刷新時間
h獲得幫助
M按內存排序
P按CPU排序
T按時間排序
1每個內核的CPU使用率
W保存配置
控制(關閉)進程:
kill 想進程發送信號(停止進程)
常用信號:
1 HUP 重新載入配置文件.類似重啟.
2 INT 和ctrl c一樣
9 KILL 強行中斷
15 TERM 正常結束
19 STOP 和ctrl z一樣
#kill [-ID|-NAME] PID
優先順序控制:
nice值 -20 ~ 19 越小優先順序越高 普通用戶0-19
nice
#nice -5 xclock
renice
#renice -5 PID
作業控制:(命令行)
jobs 列出所有程序
fg 後台程序改成前台
bg 前台程序改成後台
crtl z 前台程序改成後台
kill %N 終止後台進程
這些是我自己的一些見解,希望可以對想學習linux的朋友帶來一些幫助,還有一些獲得幫助的途徑在下面.
獲得幫助:
1. google wiki bbs(國外)linuxtone chinaunix 51cto linux*
2. 官網
http://dev.mysql.com/doc/refman/5.1/zh/index.html
http://www.phpchina.com/manual/apache/
3. doc
/usr/share/doc/software-name/*
4. info
#info #pinfo
/usr/share/info/*
5. man
#man ls
man類別:
1 command 命令
5 file formats and conventions 文件格式和約定
8 system management commands 系統管理類命令
#man 7 man
6. help 幫助命令
#help cd
7. 命令幫助
#rm --help
[火星人 ] linux的基本內容和命令已經有678次圍觀