linux手工筆記
一、vi編輯器常用命令:
--------------------------------
?插入文字:I鍵A鍵
?退回命令模式:ESC
?存盤:w
?不存盤退出:q
?存盤退出:wq
?強制退出:q!
?強制存盤退出: wq!
刪除一行文字dd
在VI模式下查找字符串 例如查找servername,表示如下 :/servername //查找servername字符串,按n查找下一個。
查看系統版本:lsb_release –a
二、常用命令
-------------------------------
find命令: 文件的查找
find命令在目錄結構中搜索文件,并執行指定的操作。此命令提供了相當多的查找條件,功能很強大。(find命令后的“/”表示搜索整個硬盤)
–語法:find 起始目錄尋找條件操作
Eg : find test*.txt
eg: locate test*.txt locate命令作用和find一樣,但查找速度要比find快的多。
Eg: find / -name "test" 它將尋找整個文件系統中的名為test 的文件
Eg: find /etc -name smb.conf 根據文件格式來用路徑來查找
Eg : find –atime -3 //查找72小時內修改過的文件,其中-atime為24小時制。
Eg : fine –amin -3 //查找3分鐘內修改過的文件,其中-amin單位為min。
Grep命令:文件內容的查詢
Eg : grep “hello” test1.txt
‘|’ 管道命令:第一個命令的輸出會通過管道傳給第二個命令而作為第二個命令的輸入
eg : cat text1.txt | grep “hello”
‘>’ 輸出重定向命令:輸出重定向使你能把一個命令的輸出重定向到一個文件里。
Eg: ls > 1.txt
alias別名:用來減少鍵盤輸入
eg :假如為這個長命令建立一個名為goconfig的別名,在bash提示符下鍵入如下命令:
alias goconfig='cd /usr/X11/lib/X11/fvwm/sample-configs'
unalias goconfig --取消別名
wc命令: wc命令的功能為統計指定文件中的字節數、字數、行數, 并將統計結果顯示輸出。
(- c 統計字節數。 - l 統計行數。 - w 統計字數。)
Eg: wc –lcw test.txt
關機命令:halt或者shutdown –h –now
重啟命令:reboot 或者shutdown –r now
注意這兩個命令都需要指定時間。您可以指定 "now" 或使用帶有時間秒數的 -t 選項
Comm命令: 文件比較命令
語法:comm [- 123 ] file1 file2
選項1、2或3抑制相應的列顯示。例如comm - 12就只顯示在兩個文件中都存在的行;comm - 23只顯示在第一個文件中出現而未在第二個文件中出現的行;comm - 123則什么也不顯示。
參數說明:-1 :文件1獨有的行不顯示
-2 :文件2獨有的行不顯示
-3 :文件1和文件2共有的行不顯示。
Diff命令: 該命令的功能為逐行比較兩個文本文件,列出其不同之處。它比comm命令完成更復雜的檢查。它對給出的文件進行系統的檢查,并顯示出兩個文件中所有不同的行,不要求事先對文件進行排序。
語法:diff [選項] file1 file2
Eg : diff –ruN test1 test2 >test3.diff //比較test1,test2兩個文件,并生成test3.diff差異文件。
cat命令: 命令用于連接并顯示指定的一個和多個文件的有關信息。
-n:由第一行開始對所有輸出的行數編號。
-b:和-n相似,只不過對于空白行不編號。
Head/tail查看文件的方法
如果你只想看文件的前5行,可以使用head命令,如:
eg: head -5 /etc/passwd
Eg : head –n 10 file.txt #顯示文件的前10行。
如果你想查看文件的后10行,可以使用tail命令,如:
eg : tail -10 /etc/passwd
Touch命令:改變文件或者目錄的存取時間,當沒有該文件時,則新建該文件。
Eg: touch test1.txt
Export命令:設置或顯示環境變量
語法:export [-fnp][變量名稱]=[變量設置值]
Uname命令:顯示系統信息。(cat /proc/version 命令也可以查看linux版本信息)
語法:uname [-amnrsv][--help][--version]
參數:
-a 或--all 顯示全部的信息。
-m 或--machine 顯示電腦類型。
-n 或-nodename 顯示在網絡上的主機名稱。
-r 或--release 顯示操作系統的發行編號。
-s 或--sysname 顯示操作系統名稱。
-v 顯示操作系統的版本。
Free命令:顯示內存狀態.
語法: free [-bkmotV][-s <間隔秒數>]
參數:
-b 以Byte 為單位顯示內存使用情況。
-k 以KB 為單位顯示內存使用情況。
-m 以MB 為單位顯示內存使用情況。
-o 不顯示緩沖區調節列。
-s<間隔秒數> 持續觀察內存使用狀況。
-t 顯示內存總和列。
-V 顯示版本信息。
Eg : free #顯示內存的使用信息
Eg :free –t #以總和的形式顯示內存的使用信息
Eg :free –s 5 #周期性的顯示內存使用信息,本例5秒鐘顯示一次內存信息。
useradd命令:增加一個系統用戶。
常用參數用法(-g,-r,-d)
Eg: useradd testuser #添加一個一般用戶testuser
Eg : useradd –g root testuser #添加用戶testuser,并指定用戶所在的組在root用戶組.
Eg : useradd –r testuser #添加一個系統用戶testuser
Eg : useradd –d /home/myfile testuser #添加一個用戶為testuser,其Home目錄為/home/myfile
Passwd命令:設置用戶密碼。
Eg :passwd testuser #設置testuser用戶密碼。
Eg:passwd –d testuser #刪除testuser用戶密碼。
Fc命令:可以編輯曾經執行過的指令,并以批處理的形式讓這些指令得以重新執行。
主要參數:-l ---列出第一個指令和最后一個指令之間所有的指令。
-n --不顯示編號。
Finger指令:查找并顯示用戶信息
Eg:finger –l #列出當前登錄用戶的相關信息.
Hostname命令:顯示主機名稱
Eg : hostname #顯示本機名稱
Eg : hostname zhoujinjian #更改本機名稱為zhoujinjian
Gedit命令:gnome文本編輯器。
Eg : gedit file.txt
More命令:顯示文本信息。
按“空格”鍵下翻一頁,按“b”上翻一頁。
Eg : more file.txt
Chgrp命令:改變文件或者目錄所屬的群組。
Eg : chgrp –v usergroup1 file //改變file文件的群組為usergroup,其中-v為運行時的處理信息過程。
Ll命令:顯示當前文件夾下的所有文件詳細信息。
Chmod命令:設置文件或者目錄的權限。
語法:chmod [-R] xyz 文件或目錄。(如果要連目錄下的所有次目錄或文件同時更改文件權限的話,直接加上 -R)
Eg : chmod 777 1.log //設置文件1.log具有所有權限。
eg : chmod ug+rw 1.log //設置文件1.log具有讀寫權限。
Chown命令:改變文件的擁有者或者群組。(事實上,chown也可以使用『chown user.group file』,亦即在擁有者與群組間加上小數點『.』也行! 不過很多朋友設定賬號時,喜歡在賬號當中加入小數點(例如vbird.tsai這樣的賬號格式),這就會造成系統的誤判了! 所以我們比較建議使用冒號『:』來隔開擁有者與群組啦!此外,chown也能單純的修改所屬群組呢! 例如『chown .sshd install.log』就是修改群組~看到了嗎?就是那個小數點的用途!)
語法:chown [-R] 賬號名稱 文件或目錄
Chown [-R] 帳號名稱:組名 文件或目錄
Eg : chown testuser 1.log //改變1.log用戶為testuser。
Eg :chown root:root 1.log //改變1.log用戶為kk,,用戶群組為kk.。
(如果要連目錄下的所有次目錄或文件同時更改文件擁有者的話,直接加上 -R)
Cmp命令:比較文件差異。
Eg :cmp –l test1 test2 //顯示兩個文件所有的不同信息。
Date命令:查看或者修改系統當前時間。
Eg : date //顯示當前日期
Eg : date -s “12:12:23 2006-10-10〃 //這樣可以設置全部時間
修改Linux的時間
修改Linux時間一般涉及到3個命令: date, clock, hwclock
date: 修改系統當前的時間:
[root]#date –s ‘2005/12/5 10:01:00
系統當前的時間改成2005年12月5日,10點01分
這個修改在系統重啟后就失效了,因此為了將這個時間永久生效,需要將修改的時間寫入CMOS。
看CMOS的時間:
#clock –r
將當前系統時間寫入CMOS中去
#clock –w
實例:設置時間偉2008年8月8號12:00
# date -s "2008-08-08 12:00:00"
修改完后,記得輸入:clock -w
把系統時間寫入CMOS
Rpcinfo 命令:可以使用 rpcinfo 列出遠程計算機上的程序。
Eg : rpcinfo –p //列出指定主機上使用端口映射器注冊的所有程序。如果不指定節點(計算機)名稱,程序在本地主機上查詢端口映射器。
getconf LONG_BIT :查看系統位數.
三、進程管理
---------------------------
ps命令:ps 命令是最基本同時也是非常強大的進程查看命令
使用帶有 -ef 選項的 ps,返回系統中所有用戶的所有進程的完整列表。如果您將此 ps 命令的結果傳送到 grep 中,則該結果更易于查看。
Eg : ps -ef | grep oracle
Eg : ps – aux
top命令:top命令提供了實時的對系統處理器的狀態監視。
Eg : top –n 2 #設置更新次數,本例指定更新次數為2,更新兩次后,命令終止。
Eg : top –d 3 # 指定更新周期為3秒,每3秒更新一次數據。
kill命令:通過向進程發送指定的信號來結束進程的(-9 強行殺掉指定進程)
掛起進程: 按下 Ctrl-Z 使一個運行的進程掛起
Bg命令:bg 命令使一個被掛起的進程在后臺恢復運行。
fg命令:fg使一個被掛起的進程在前臺繼續執行。
export命令: 使變量的值對當前shell的所有子進程都可見 。
四、應用軟件包安裝
---------------------------------
Tar.gz包
第一步:tar xvf file.tar.gz
第二步:./configure
第三步:Make(–當前目錄下找尋Makefile這個檔案,然後依照Makefile 中所記錄的步驟一步一步的來執行)
第四步:make install
第五步:make clean
Gzip命令:壓縮,解壓命令 ,目前 gzip 可以解開 compress, zip 與 gzip 等軟件所壓縮的文件。 至於 gzip 所創建的壓縮檔為 *.gz 的檔名!
語法: gzip [-cdtv#] 文檔名
Eg : gzip –v install.log //壓縮install.log文件。
Eg: zcat install.log.gz //由于install.log.gz是文檔檔內容,可通過zcat將其內容讀出來。(zcat 則可以讀取純文字檔被壓縮后的壓縮檔!)
Eg : gzip –d install.log.gz //解壓縮Install.log.gz文件。
Eg : gzip -9 –c install.log > install.log.gz //用最佳的壓縮來壓縮,并保留原文件。
Bzip2命令:壓縮,解壓命令。
語法: gzip [-cdkzv#] 文檔名
Eg : bzip2 –z install.log //將install.log壓縮成install.log.bz2.
Eg: bzcat install.log. bz2 //由于install.log. bz2是文檔檔內容,可通過zcat將其內容讀出來。(bzcat 則可以讀取純文字檔被壓縮后的壓縮檔!)
Eg : bzip2 –d install.log. bz2 //解壓縮Install.log. bz2文件。
Eg : bzip2 -9 –c install.log > install.log. bz2//用最佳的壓縮來壓縮,并保留原文件。
打包命令: tar
壓 縮:tar -jcv -f filename.tar.bz2 要被壓縮的文件或目錄名稱
查 詢:tar -jtv -f filename.tar.bz2
解壓縮:tar -jxv -f filename.tar.bz2 -C 欲解壓縮的目錄
Eg : tar –czvf kk.tar.gz kk //壓縮kk文件為kk.tar.gz.
Eg : tar –tzvf kk.tar.gz //列出壓縮文件kk.tar.gz的內容信息.
Eg :tar –xzvf kk.tar.gz //解壓縮kk.tar.gz文件。
RPM包
rpm -ivh rpm包 -- 安裝rpm包 (--nodeps 強制安裝)
?rpm -Uvh rpm包 --升級rpm包
?rpm -ev rpm包 --刪除rpm包并顯示卸載過程中的詳細信息
?rpm -qi 包名稱 -- 顯示安裝包的信息
?rpm –ql 包名稱 -- 包中的文件列表
Eg : rpm –qa | grep gcc //查詢系統是否安裝有gcc軟件。
常用參數:
點評:安裝軟件包 rpm -i 包全名 刪除 rpm -e name(不是包名) 參數 -ivh 獲得一個詳細的安裝進程 --nodeps 忽略依賴關系 --force 強制安裝 -U 包名:升級安裝 -F 更新不管是什么直接覆蓋 --replacepkgs這樣 RPM 將忽略該錯誤信息 -vih --repla-
安裝軟件包
rpm -i 包全名
刪除
rpm -e name(不是包名)
常用參數:
-ivh 獲得一個詳細的安裝進程
--nodeps 忽略依賴關系
--force 強制安裝
-U 包名:升級安裝
-F 更新不管是什么直接覆蓋
--replacepkgs這樣 RPM 將忽略該錯誤信息 -vih --replacepkgs
-q name :查詢
-qa查詢所有已安裝的RPM
-qi name 查詢這個軟件詳細信息
-ql 顯示列表
-qf path :查詢一個文件屬于哪個包
-qp 包名 :查文件是什么
-qpl 包名 :針對一個沒裝過的包
五、磁盤管理
------------------------------
Df命令: 檢查文件系統的磁盤空間占用情況
Eg : df //顯示當前磁盤的使用情況。
Eg : df –h //顯示磁盤容量。
du命令:統計目錄(或文件)所占磁盤空間的大小。
du 命令提供對每個目錄的文件空間使用情況的評估。在默認情況下,測量的單位是塊的數目,塊的大小通常在安裝您的系統時確定。(-h 選項以易于讀懂的形式提供大小的值)
Eg : du –h
du 報告目錄和子目錄的空間使用情況,而 df 報告已安裝文件系統的磁盤空間使用情況:
Eg: df –h
fdisk 命令 如果指定了 -l 選項,則可以將它僅用于報告的目的它提供了您的整個分區表的完整視圖,而不僅僅是您使用 df 所看到的擴展 Linux 分區
Eg: fdisk –l
Mount命令: 磁盤掛載與卸除
Eg : mount –l //查看目前已經掛載的文件系統。
1、 掛載 CD 或 DVD 光盤
Eg : mount –t iso9660 /dev/cdrom /media/cdrom //–t iso9660指定光盤格式來掛載。
Eg : mount /dev/cdrom /media/cdrom //掛載時當提示文件系統為只讀時,執行下一步
Eg: mount -o remount,rw,auto /dev/cdrom /media/cdrom/ //重新掛載:mount -o remount,rw,auto
Eg : umount /media/cdrom //將裝置文件卸除。
磁盤
–mount /dev/floppy /mnt/floppy
–umount /dev/floppy /mnt/floppy
?光盤
–mount /dev/cdrom /mnt/cdrom
–umount /dev/cdrom /mnt/cdrom
?USB
–fdisk -l /dev/sda
–mkdir /mnt/usb
–mount -t vfat /dev/sda2/mnt/usb
–ls /mnt/usb
–umount /dev/sda2
(提示:執行mount和umount操作時,請不要在掛載目錄中進行操作)
六、網絡管理
-------------------------------------
Hostname –查看主機名稱
?ifconfig –查看和設置網絡配置
–ifconfig eth0 210.34.6.89 netmask 255.255.255.128 broadcast 210.34.6.127
?ping –ping命令用于查看網絡上的主機是否在工作
Eg: ping -c 6 www.baidu.com //檢查www.baidu.com是否存在,且接收包的次數為6次。
Eg : ping –i 3 –s 1024 –t 255 www.baidu.com //檢查www.baidu.com是否存在,發送包的間隔為3秒,發送包的大小為1024字節,TTl的值為225。
?route –n –用來產生和修改路由表
?netstat –顯示網絡連接、路由表和網絡接口信
Eg :netstat –a //顯示詳細的網絡狀況。
Eg : netstat –apu //顯示UDP端口使用狀況。
Eg : netstat –s //顯示網絡信息統計。
Netconfig –設置IP、子網掩碼、網關、主DNS
service network restart 重起網絡服務使修改生效
七、Shell編程
1、程序必須以下面的行開始(必須方在文件的第一行):
#!/bin/sh
符號#!用來告訴系統它后面的參數是用來執行該文件的程序。在這個例子中我們使用/bin/sh來執行程序
2、 當編輯好腳本時,如果要執行該腳本,還必須使其可執行
chmod +x filename
3、然后,您可以通過輸入: ./filename 來執行您的腳本。
Eg:
#!/bin/sh
#對變量賦值:
a="hello world"
# 現在打印變量a的內容:
echo "A is:"
echo $a ( 取出變量值可以加一個美元符號($)在變量前面)
八、常用技巧:
1、Linux 用戶身份與群組記錄的文件: 默認的情況下,所有的系統上的賬號與一般身份使用者,還有那個root的相關信息, 都是記錄在/etc/passwd這個文件內的。至于個人的密碼則是記錄在/etc/shadow這個文件下。 此外,Linux所有的組名都紀錄在/etc/group內!這三個文件可以說是Linux系統里面賬號、密碼、群組信息的集中地啰!
2、如果已經進入xwindow可以是使用init 3命令進入console模式;可以使用ctrl+alt+f1~f6切換控制臺,ctrl+alt+f7為重新到xwindow;如果要使下次開機就進入console模式就編輯/etc/inittab 中id:5:initdefault中的5改爲3
啟動圖形界面startx,退出圖形界面Ctrl+Alt+BackSpace
在命令終端中輸入init 3可臨時進入到命令行模式,輸入init 5可臨時進入圖形界面。
3、各種接口的磁盤在Linux中的文件名分別為:
/dev/sd[a-p][1-15]:為SCSI, SATA, U盤, Flash閃盤等接口的磁盤文件名;
/dev/hd[a-d][1-63]:為 IDE 接口的磁盤文件名;
4、將英文版linux系統設置成中文顯示。(如下中文顯示設置后,可自帶拼音輸入法)
1.修改/etc/sysconf/i18n文件,把 LANG="en_US.UTF-8" 修改成: LANG="zh_CN.UTF-8"
2.修改/etc/X11/xinit/xinitrc.d/xinput.sh文件,把其中一行:
lang_region=$(echo $tmplang | sed -e 's/\..*//')
修改成:
lang_region=”zh_CN”
3,重新啟動圖形界面,就可以用英文的界面并且正確顯示中文和輸入中文。
5、Redhat 5中文顯示為亂碼解決方法:
有很多人說vi /etc/sysconfig/i18n文件,其實根本就沒有那個必要。
解決方法:
安裝
1、fonts-chinese-3.02-9.6.el5.noarch.rpm. 如果無法安裝,則加個--force
2、fonts-ISO8859-2-75dpi-1.0-17.1.noarch.rpm
多數人到了這里就沒有做其它操作了,導致仍然無法正確顯示中文。
3、cd /usr/share/fonts/
4、fc-cache -fv # //更新字體緩存
以上的兩個步驟,才是成功完成的關鍵!所以這里要特別注意!重新啟動系統即可

浙公網安備 33010602011771號