linux基礎學習筆記——操做

做者:liaoyihtml

更新時間:2014-6-2node

 

****************基本操做*****************linux


關機
shutdown -h now    root用戶              
init 0              root用戶
halt      root+通常用戶
poweroff正則表達式

重啓
shutdown -r now    root用戶
init6     root用戶
reboot            root+通常用戶算法

注意:
1.shutdown 比較靈活,可用於先關閉服務再關機重啓和定時,可向全部用戶發出警告。
2.關機重啓前可用幾回sync命令同步磁盤。防止數據丟失。
3.磁盤損壞用fsck /dev/sda7文件系統檢查修復。sql

註銷
logout    
ctrl+alt+backspaceshell

切換用戶
su  switch user su liaoyi  ( #root用戶,$通常用戶)數據庫

終端控制界面切換(字符<->圖形)
startx    圖形化界面
init 5
runlevel 3:ctrl+alt f1~f6(tty1-tty6),startx
runlevel 5:ctrl+alt f1~f6(tty1-tty6),f7 (tty7) 控制檯轉換(不一樣用戶)express

vi /etc/inittab  id:5:initdefault:  runlevelubuntu

tab 命令補全/文件名補全
ctrl+c 發出SIGINT信號中斷退出進程
ctrl+z  發出SIGTSTP信號暫停進程
ctrl+d  鍵盤輸入結束,離開輸入界面,至關於exit

ctrl+alt+enter  全屏
clear 清屏
echo -e '\033c'  完全清屏

man   manual操做說明  空格,pg dn ,pg up翻頁,/word 查找,q退出(/usr/share/man/)
info  linux中的在線求助命令。(/usr/share/info/)
/usr/shar/doc/  各類說明文檔

nano   一種簡單的文本編輯器

bc    計算器  scale=3 設置小數位數,quit離開

 
U盤掛載:
VM->Removble Device->USB->connect(虛擬機右下角)
fdisk -l   或 df 查看是否掛載以及優盤信息。
掛載mount -t vfat /dev/sdb1  /mnt
卸載: umount /mnt
光盤掛載:
VM->Removble Device->CD/DVD->connect
掛載mount /dev/cdrom  /media
卸載cd ..
   umount /media

****************文件系統*****************

---基本文件操做---

ls   list files
ls -a =ls --all all ls-l=ll long  ls-c按日期排列 ls -i inode ls -ail
ls /usr/include

 

cd  chang diretory
cd . 當前目錄  cd ..父目錄  cd # =cd ~=cd 家目錄  cd ~liao 進入某個帳戶的home  cd -上次目錄
pwd   print working directory
pwd -p  顯示正確路徑(不以連接文件顯示)

mkdir make directory  新建目錄
 mkdir dir1 dir2 dir3 
 mkdir -p dir1/dir2
 mkdir -m 777 dir1
rmdir  remove directory  刪除空目錄

rm -rf dir  強制遞歸刪除目錄以及目錄中的文件(recurse force)

cp    copy  複製(默認-i詢問,-f強制,-r遞歸,-u更新)
cp a.c /home   cp /tmp /home
cp -r dir3 /tmp/dir4   遞歸複製
cp -a a.c /home        保留文件原有屬性
cp -u a.c /home/a.c    目標文件與源文件有變化才複製(update)
cp -s a.c a_slink      生成軟連接
cp -l a.c a_hlink      生成硬連接
cp -d a_slink a_slink1 複製連接文件而非原文件。

mv    remove mv /home/a.c 刪除、重命名
mv -r   mv -r/home/dir


cat 查看文件(concatenate連續)
cat /etc/passwd
cat stdio.h | grep fgetc
cat stdio.h | more  分頁,自動退出
cat stdiolh | less  分頁,q退出
tac  從後面開始顯示
nl   顯示加行號
more  翻頁查看
less 翻頁查看(比more更靈活,man調用less,因此和man操做同樣)
head -n 10 a.txt  顯示頭10行  head -n -100 a.txt   除去後面100行
tail -n 10 a.tex  顯示尾10行  head -n +100 a.txt   除去前面100行
od -t c a.bin  (d十進制,f浮點數,o八進制,x十六進制)

touch 建立文件,還能夠修改文件時間(mtime(modification),ctime(status),atime(access))
ll默認顯示的是mtime,可用ll --time=ctime a.txt 顯示其餘時間。
touch -t 1309150202b a.txt  修改文件時間


file 查看文件基本數據

腳本文件名查詢:
which  根據PATH查找執行文件
type
文件名查詢
whereis   查找數據庫,快
locate    查找數據庫(/var/lib/mlocate),快(使用前可用updatedb命令讀取/etc/updatedb.conf更新數據庫)
find ./ -name a.c  直接查找磁盤,功能強大,速度慢
 1.時間
 2.用戶,用戶組
 3.權限,名稱
 4.其餘

 

/vi/vim/gedit

grep "***" ./a.c
netstat -an | grep tftp
grep:global search regular expression(RE) and print out the line
 全面搜索正則表達式並把行打印出來

wc  統計行數,單詞數,字符數(-l -c -w)


重定向
1.>   cat passwd > a.txt  覆蓋   3.<     wc < a.txt
2.>>  cat passwd >> a.txt 追加   4.<<

 

 

---磁盤與文件系統管理---

ln  link  建立連接文件
   1.硬連接: ln  filename lfilename 在某個目錄的數據塊中多了一個文件名指向同一個文件的inode號。
   2.符號連接:ln -s filename lfilename 單獨的文件inode號,存放要指向的目錄下的文件名。新連接文件,不能單獨存在。(symbolic)

df   disk free主要讀取super block來獲取磁盤總體信息
 df -h  
du  directory usage  評估文件系統的磁盤使用量

 

分區
fdisk 可新增和刪除磁盤分區(沒法處理大於2TB的磁盤)
fdisk -l 查看整個系統的磁盤設備分區狀況。
fdisk /dev/sda 針對一個磁盤進行操做
p:打印分區表
Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        2479    19912536   83  Linux
/dev/sda2            2480        2610     1052257+  82  Linux swap / Solaris
n 新建分區
d刪除分區
q不保存離開,w寫入離開

partprobe 強制讓內核從新找一次分區表

parted 處理2T以上的磁盤分區
MBR(Master Boot Record)---BIOS+MBR
GPT(GUID (Globally Unique Identifier)Partifier Partition Table Format)---EFI + GPT

parted /dev/sdc help   幫助(h)
parted /dev/sdc print  打印分區表(p)

parted> mklabel gpt     將一個MBR磁盤修改成爲GPT磁盤(支持2T以上分區)
parted>mklabel msdos   將一個GPT磁盤修改成爲MBR磁盤

parted /dev/sdc mkpart part1 ext4 0G 100G 新增分區
parted /dev/sdc rm 3  刪除分區

parted> mkpartfs 新增分區並格式化(只容許ext2)

parted> quit 提出(q)


mkfs 格式化
mkfs -t ext3 /dev/hdc6 (綜合命令,使用默認方式格式化,按兩次tab可現實支持的文件系統。)

      日誌ext3  卷標label    block大小  每一個inode對應block大小
mke2fs -j -L "liao_logical" -b 2048 -i 8192 /dev/hdc6(公用程序指定格式格式化)


fsck  磁盤檢驗:
fsck -C -f -t ext3 /dev/hdc6 強制檢查設備(實際調用e2fsck,按兩次tab現實支持fsck的文件系統)
        執行fsck時,會對文件系統有損壞,檢查的分區不能掛在系統上。
  檢測的結果若是有問題的數據會放到lost+found目錄中。
badblocks -sv /dev/hdc6 檢查磁盤是否有壞軌,mke2fs會檢測,因此通常不用。

mount 掛載
mount    查看系統當前掛載信息
mount -l 查看系統當前掛載信息(顯示卷標label)
mount -a 從新按/etc/fstab 數據將未掛載的磁盤都掛載上來。
mount -t 按照某種文件系統類型進行掛載。
mount -L 用卷標label進行掛載
mount -o 掛載時額外參數(ro,rw,async,sync,remount...)

/etc/filesystems:系統指定的測試掛載文件系統類型
/proc/filesystems:Linux系統已經加載的文件系統類型
/lib/modules/$(uname -r)/kernel/fs/*內核支持的問價系統驅動程序

磁盤掛載:mount /dev/hdc6 /mnt/hdc6
光盤掛載:mount -t iso9660 /dev/cdrom /media/cdrom
U盤掛載: mount -t vfat -o iocharset=cp950 /dev/sda1 /mnt/flash (中文語系掛載)

從新掛載根目錄:mount -o remount,rw,auto/  (單用戶模式可把只讀的根目錄從新掛載)
掛載/home到/mnt/home下:mount --bind /home /mnt/home
用卷標掛載:mount -L "liao_logical" /mnt/hdc6  (用dumpe2fs -h /dev/hdc6 查詢卷標)

umount 卸載
能夠用設備文件名或者掛載點進行卸載,注意要退出掛載目錄進行。
umount /dec/hdc6
umount /media/cdrom

其餘磁盤參數修改工具:
mknod 新建設備節點
e2label /dev/hdc6 "my_test"     修改label卷標
tune2fs                        -l 讀super block, -j轉換爲ext3文件系統,-L 修改label卷標
hdparm -Tt /dev/sda            通常用於IDE參數調整。還能夠用來測試磁盤性能。
blkid

開機掛載:
/etc/fstab
設備(卷標)           (掛載點)         文件系統    額外參數   dump(備份) fsck(磁盤檢查)
LABEL=/                 /                   ext3    defaults        1 1
tmpfs                   /dev/shm            tmpfs   defaults        0 0
devpts                  /dev/pts            devpts  gid=5,mode=620  0 0
sysfs                   /sys                sysfs   defaults        0 0
proc                    /proc               proc    defaults        0 0
LABEL=SWAP-sda2         swap                swap    defaults        0 0

實際掛載記錄:
/etc/mtab
/proc/mounts

swap構建

 

---文件的壓縮打包備份---

 compress,uncompress(.Z) -> gzip,zcat(.gz)  ->  bzip2 ,bzat(.bz2)
利用壓縮算法將文件的空餘空間充分填滿。


zip tmp.zip test        壓縮
 unzip tmp.zip          解壓縮

tar -cvf tmp.tar /home/tmp 打包
tar -xvf tmp.tar            解包


 tar -cvzf  xxx.tar.gz /home/tmp 打包並壓縮
 tar -xvzf  xxx.tar.gz           解包解壓縮
(c壓縮/x解壓,v信息,zip算法,file文件名(放最後))

dump 備份文件系統或單一目錄
restore 恢復

mkisofs 新建鏡像文件
cdrecord 光盤刻錄工具

dd  可備份完整的分區或磁盤,由於dd可讀取磁盤的扇區的表面數據

cpio 搭配find進行備份
find / |cpio -ovcB > [file|device]  備份
cpio -ivcdu < [file|device] 還原
cpio -ivct < [file|device] 查看

 

---高級文件系統管理---

Quota磁盤配額 
爲用戶分配磁盤空間,限制文件數量或磁盤容量。
須要內核與文件系統支持,基於整個文件系統進行限制,usrpuota,grpquota

1、文件系統支持
在mount的時候增長quota支持權限,usrquota,grpquota
mount -o remount,usrquota,grpquota /home
用mount,  cat /proc/mounts/,  cat /etc/mtab,  cat /etc/fstab查看

2、創建quota記錄文件
1.quotacheck :掃描文件系統並創建 Quota 的記錄文件
quotacheck -avug   根據/etc/mtab內有設定quota的文件系統執行掃描,並創建數據文件。執行一次便可。自動同步記載變動aquota.user,aquota.group.
(a-all, v-詳細,u-user, g-group, s-以M爲單位顯示,f-force)
quotacheck -avug -Mf 強制掃描文件系統。
quotacheck -vug /secbox  掃描指定文件系統。

3、啓動quota服務
quotaon -avug  只在第一次啓動quota時進行,重啓時/etc/rc.d/rc.sysinit或rc.local有啓動腳本。
quotaon -vgu /home

4、關閉quota服務
quotaoff -avug
quotaoff -vug /home

5、quota編輯與設定
1.編輯
edquota -u myquota1 根據用戶編輯quota限額
1. 文件系統 (filesystem):說明該限制值是針對哪一個文件系統 (戒 partition);
2. 磁盤容量 (blocks):這個數值是 quota 本身算出杢的,單位爲 Kbytes,請丌要更勱他;
3. soft:磁盤容量 (block) 的 soft 限制值,單位亦爲 KB
4. hard:block 的 hard 限制值,單位 KB;
5. 檔案數量 (inodes):這是 quota 本身算出杢的,單位爲個數,請丌要更勱他;
6. soft:inode 的 soft 限制值;
7. hard:inode 的 hard 限制值;
edquota -g myquotagrp  根據羣組編輯quota限額
edquota -t  編輯寬限時間
edquota -p myquota1 -u myquota2 複製給其餘用戶

2.用命令直接設定
 setquota -u myquota5 100000 200000 0 0 /home

6、顯示 quota報表
1.根據用戶羣組名查看。
 quota -uvs myquota1 myquota2
 quota -gvs myquotagrp
2.repquota -avugs 查看全部用戶,羣組的quota報表。

7、對超出限額者發出警告
warnquota
依據 /etc/warnquota.conf 的謳定,而後找出目前系統上面 quota 用量赸過 soft (就是有 grace time 出現的那些傢伙) 的帳號,透過 email 的功能將警告信件發送到用戶的電子郵件信箱。


RAID
redundant Arrays of Inexpensive Disks 容錯廉價磁盤陣列
用多個磁盤構成一個較大的磁盤,實現數據的備份(安全可靠),讀寫性能好,容量加大。
等級:
RAID-0 等量模式,性能最佳,文件切割後交錯存到各個磁盤上,讀寫快,不安全
RAID-1 映像模式,文件在每一個磁盤都有備份,完整備份,安全,讀寫慢
RAID 0+1,RAID 1+0 前兩種模式的結合。
RAID 5 每一個磁盤加入同位檢查數據(parity),可用來還原。
硬件 :使用專門的磁盤陣列卡
dev/sda-p
軟件 :軟件模擬,能夠兩塊以上磁盤或者兩個以上分區設計
/dev/md0-9
madadm

LVM
Logical Volume Manager 邏輯卷管理器  ,能夠彈性調整文件系統的容量。
PE-> LV -> VG

1.將磁盤分區製做成物理卷PV。
2.建立一個卷組VG,選擇加入物理分區PV。
3.建立邏輯卷LV,LV由VG內的PE塊組成。可經過增減PE塊擴大縮小容量。

PV:Physical Volume
· pvcreate :將實體 partition 創建成爲 PV ;
· pvscan :搜尋目前系統裏面仸何具備 PV 的磁盤;
· pvdisplay :顯示出目前系統上面的 PV 狀態;
· pvremove :將 PV 屬性移除,讓該 partition 不具備 PV 屬性


VG:Volume Group  ,PE:Physical Extend
· vgcreate :就是主要創建 VG 的挃令啦!他的參數比較夗,等一下介紹。
· vgscan :搜尋系統上面是否有 VG 存在?
· vgdisplay :顯示目前系統上面的 VG 狀態;
· vgextend :在 VG 內增長額外的 PV ;
· vgreduce :在 VG 內移除 PV;
· vgchange :設定 VG 是否啓勱 (active);
· vgremove :刪除一個 VG 啊!

LV:Logical Volume
· lvcreate :創建 LV 啦!
· lvscan :查詢系統上面的 LV ;
· lvdisplay :顯示系統上面的 LV 狀態啊!
· lvextend :在 LV 裏面增長容量!
· lvreduce :在 LV 裏面減小容量;
· lvremove :刪除一個 LV !
· lvresize :對 LV 迚行容量大小的調整!

文件系統:
ext3用resize2fs命令調整文件系統的大小

放大 LV 容量
1. 用 fdisk 謳定新的具備 8e system ID 的 partition
2. 利用 pvcreate 建置 PV
3. 利用 vgextend 將 PV 加入咱們的 vbirdvg
4. 利用 lvresize 將新加入的 PV 內的 PE 加入 vbirdlv 中
5. 透過 resize2fs 將文件系統的容量確實增長!

縮小 LV 容量


系統快照,記錄LV的數據,用來備份還原更簡單。


****************用戶管理*****************

---用戶、組管理---

/etc/passwd :保存用戶基本信息
      root:x:0:0:root:/root:/bin/bash
 liaoyi:x:503:503::/home/liaoyi:/bin/bash 
      用戶名:密碼:uid:初始組gid:用戶信息說明:home目錄:shell
/etc/shadow:保存密碼隱蔽信息
      liaoyi:$1$JLdI8bpI$rUspzQp76wAnlFLKGXTUr/:16064:0:99999:7:::
 用戶名:密碼:最近更動日期:不可更動天數:須要更改的天數:更改前提醒:        密碼失效日期:帳號失效日期:保留
/etc/group:保存組信息
 liaoyi:x:503:
 組名:組密碼(/etc/gshadow不多用):gid:組支持的帳號名稱(非初始組)
每一個文件只有一個所屬用戶和一個所屬組。
一個用戶支持多個組。
初始組:/etc/passwd組用戶的GID對應的組,/etc/group中第四列爲組支持的用戶
有效組:touch新建文件默認使用該組。其餘爲次要支持的組。
groups     查看用戶支持組,第一個爲有效組。
newgrp *** 切換有效組

/etc/gshadow:保存組密碼,組管理員

useradd 
     useradd newname(默認一個新用戶,一個新組,一個home目錄)
 useradd -u UID  username       (指定用戶ID)
 useradd -g 初始組名  username   (指定組)
 useradd -G 次要組名   username  (增長次要組)
      useradd -c usrename              增長/etc/passwd中說明信息
 useradd -d /home/cc username    (指定home目錄)
 useradd -M    username          (強制不建立home目錄)
  useradd -m    username          (強制建立home目錄)
      useradd -s /bin/csh    username   指定shell

      useradd -r    username 建立系統帳號

 useradd -r    username (指定密碼是否會失效/etc/shadow第七字段)
 useradd -e    username (指定密碼失效日期/etc/shadow第八字段)


默認參考文件:
/etc/default/useradd   useradd -D 查看,建立用戶默認基本設置
/etc/login.defs        UID,GID,密碼參數默認設置
/etc/skel/*            家目錄默認拷貝數據,.bashrc 等。

passwd
  passwd 給當前用戶增長或修改密碼
  passwd liaoyi  給指定用戶設置密碼
  echo "abc3434" | passwd  --stdin liaoyi 自動設置,可用在shell script中。

 

chage 顯示,修改密碼參數

usermod 修改用戶模式

-l  :後面接帳號名稱/etc/passwd 的第一欄
-u  :後面接 UID 數字,即 /etc/passwd 第三欄;
-g  :後面接初始羣組,修改 /etc/passwd 的第四段
-c  :後面接帳號的說明,即 /etc/passwd 第五欄;
-d  :後面接帳號的家目錄,即/etc/passwd 的第六欄;
-s  :後面接 Shell 的實際檔案,即/etc/passwd 的第七欄
      例如 /bin/bash 或 /bin/csh 等等。

-L  :將用戶的密碼凍結沒法登入。其實僅改 /etc/shadow 的密碼欄。
-U  :將解凍 /etc/shadow 密碼欄的
-f  :後面接天數,爲 shadow 的第七字段。
-e  :後面接日期,格式是 YYYY-MM-DD 也就是在 /etc/shadow 的第八欄

-G  :後面接次要羣組,修改這個使用者可以支持的羣組,修改的是 /etc/group
-a  :與 -G 合用,可『增長次要羣組的支持』而非『設定』喔!


 

userdel
 userdel  liaoyi:刪除用戶
 userdel -r liaoyi:刪除用戶+home目錄

用戶功能
finger  查看/etc/passwd中的帳戶信息
  finger           全部登錄的用戶信息username,tty,logintime office等
  finger +username 登錄用戶的username,tty,logintime office等。
chfn   change finger 更改用戶信息
    chfn  添加全名,號碼,等帳戶信息
chsh   change shell
   chsh   -l          查看全部的shell,即/etc/shells 中內容。
   chsh -s /bin/bash  設置帳戶/etc/passwd中shell
id
   id +username  查看用戶UID,GID,所屬組


groupadd  增長組
  groupadd group1
  groupadd -g gid group1
groupdel  刪除組
  groupdel group1

groupmod   修改組
groupmod -g new_gid -n new_name group1

---文件權限設置---

chgrp   修改文件所在組
    chgrp  group1  a.exe
    chgrp -R group1 dir1  遞歸修改該目錄下全部文件

chown 修改文件全部者 
    chown  liaoyi  file
    chown -R liaoyi dir
    chown liaoyi:group1 a.exe  一塊兒修改
    chown .group1 file         僅修改用戶組


chmod   change mode 改變模式(權限):
u:第一組      chmod  u+x|u-w|u+r|u-rw|u=rwx 文件或目錄名 
g:第二組      chmod  g+x|g-w|g+r|g-rw|g=rwx 文件或目錄名 
o:第三組      chmod  o+x|o-w|o+r|o-rw|o=rwx 文件或目錄名
a:全部模式    chmod a+x|a-x|a+rwx|a=wx 文件或目錄名
chmod 777 hello.c 
 

chattr 設置隱藏屬性(+爲增長屬性,-爲刪除屬性,)
chattr +i hello.c     i爲不能任何更改
chattr +a hello.c     a爲只能增長數據

lsattr hello.c    顯示隱藏屬性(隱藏屬性只適用於ext2/ext3文件系統)

umask 默認掩碼。

ACL權限:
ACL:Access Control List 針對單一用戶,單一文件或目錄進行權限設置
setfacl設置acl權限
getfacl取得acl權限


su 切換用戶
 su        non_login shell方式登陸root,環境變量不變
 su -      login shell方式登陸root,環境變量爲root
 su -l liaoyi  
 exit      退出

sodo 切換身份執行命令
 sudo -u liaoyi touch /tmp/mysshd
 根據/etc/sudoers來判斷是否可使用別人權限,默認只有root能夠。
 (輸入本身密碼確認,root不用)

visudo 修改/etc/sudoers ,使得普通用戶只須要輸入本身的密碼就能執行root的權限,可用於多人管理主機,並防止別人知道root密碼。
 

PAM模塊:
pluggable Authentication Modules 進行各類登錄數據驗證。
/etc/pam.d/*
/etc/security/*

w    系統登陸狀況查詢
who 
last
lastlog


write 在線與用戶交談
wall
mail  離線狀態下發郵件


****************網絡配置*****************

1、網卡配置
/etc/sysconfig/network-scirpts/ifcfg-eth0
1.不啓用dhcp,靜態設置IP,NetMask,Gateway
IPADDR=
NETMASK=   
GATEWAY=            注意:只能有一個網絡接口上配置網關。

2.啓用dhcp動態得到IP,NetMask,Gateway,DNS
DEVICE="eth0"
BOOTPROTO="dhcp"
HWADDR="00:0C:29:78:66:16"
IPV6INIT="no"
NM_CONTROLLED="no"  //額外的網管軟件
ONBOOT="yes"
TYPE="Ethernet"
UUID="7e6c156c-76b9-4d90-8dbb-9957b2f2022d"

service network restart
ifconfig
rount -n
ping 網關


2、主機名配置:
/etc/sysconfig/network
 NETWORKING=yes
 HOSTNAME=localhost.localdomain
/etc/hosts  私有IP對應的主機名,局域網內使用
hostname 主機名

ping 主機名,顯示主機名爲修改過的後必須重啓reboot。


3、DNS 服務器IP
/etc/resolv.conf
nameserver 111.8.14.18
nameserver 211.142.210.98

dig www.baidu.com

/etc/services
/etc/protocols
檢測信息:/etc/udev/rules.d/70-persistent-net.rules


  virtua machine setting -> network Adaper
  Bridged   虛擬機中的IP使用本計算機網卡
  NAT    ->對應  VMnet8   共享本計算機的IP
  Host-only ->對應 VMnet1
  Custom  -> (本身設定)  獨立網卡(地址)
  Lan segment


ifconfig  ip配置
ping  

ifconfig eth0 down/up
service smb start

netstat
ip地址設置
a、永久ip
 一、 設置ip:         setup
     重啓eth0    /etc/rc.d/init.d/network restart 
       或者service network restart
 關閉防火牆  1.setup->firewall diabled(永久)
        2.service iptables stop
 二、 配置eth0   /etc/sysconfig/network-scripts/ifcfg-eth0

b、臨時ip

ifconfig eth0 192.168.1.10 netmask 255.255.255.0


samba服務(widows<-->linux)
查看 rpm -q samba
安裝 cd /media/redhat********./Service
 rpm -ivh samba-3.0.25b-0.1e15.4.*86_64.rpm
    rpm -ivh common-3.0.25b-0.1e15.4.*86_64.rpm
    rpm -ivh client-3.0.25b-0.1e15.4.*86_64.rpm
配置 /etc/samba/smb.conf

a.共享目錄(share不屬於任何用戶,nobody,不須要密碼)
  修改文件:

   #=====================share difintions===================
  a.security = share 
  b.[share]//共享文件夾區分
        comment = abc//共享文件說明
        path = /home/share//共享的目錄(絕對路徑)
        public = yes//公用,任何用戶能夠訪問
        guest ok = yes//匿名訪問
        writable = yes//寫
    chmod 777 home   chmod 777 share
    setenforce 0  設置安全級別爲0;


b.有用戶目錄(USR 須要用戶名,須要密碼)
   #=====================share difintions===================
[root]
 comment = Root Directories
 browseable = yes
 writable = yes
 path = /
 valid user = smb
; valid user = MYDOMAIN\%S
添加用戶 useradd smb
         smbpasswd -a smb

重啓   /etc/init.d/smb restart
  service smb start

windows連接:\\192.168.1.12
  用戶密碼,映射網絡驅動器


tftp
安裝:rpm -ivh xinetd-2.3.14-10.el5.*86_64.rpm
 rpm -ivh  /home/tftp-server-0.42-3.1
配置:vi /etc/xinetd.d/tftp   disable=no
啓動:/etc/init.d/xinetd start
檢查 netstat -a |grep tftp

****************軟件管理*****************

軟件管理器:
debian(ubuntu,B2D) --- dpkg  --- apt-get
red hat(fedora,centOS,SuSE) --- rpm    ---yum

RPM:已經編譯好的軟件,加上了不少軟件信息。只能在系統版本同樣的環境下安裝,有依賴問題。安裝數據在/var/lib/rpm中。用於查詢升級刪除等。
softname-**.rpm:通常使用
softname-devel-***.rpm:用於開發,通常不會安裝。

SPPM:Source RPM 帶源碼,可在不一樣版本中使用。

YUM:解決軟件依賴性問題,將軟件保存在服務器不一樣容器裏,在線安裝時先下載軟件清單,保存    在/var/cache/yum裏面。根據清單並解決依賴問題安裝。

 

rpm (redhat package manager)
ykpers-1.6.0-2.fc16.i686.rpm
1.軟件名2.軟件版本3.操做系統4.硬件體系

rpm -ivh  /home/tftp-server-0.42-3.1  安裝
   (-i:install安裝 -v:信息 -h:hansh"#"進度 )
rpm -evh  samba  卸載
rpm -e tftp-server-0.42-3.1  刪除

rpm -qa  query all查詢所有
rpm -q samba    查詢是否安裝
rpm -qi samba 列出軟件詳細信息
rpm -ql samba 勒出軟件全部文件與目錄文件名。
rpm -qc samba 列出軟件的全部配置文件
rpm -qd samba 列出軟件的全部幫助文件
rpm -qR samba 列出軟件的依賴文件
rpm -qpR filename.i386 列出該軟件包內的依賴文件數據。
rpm -qf /bin/sh 列出該文件屬於哪個已安裝的軟件
 
rpm -Uvh samba  Update升級,未安裝則開始安裝。
rpm -Fvh samba  只升級已安裝的軟件。 

rpm -V logrotate 查詢軟件是否改動過。沒有則不顯示任何信息
rpm -Vf /etc/crontab 查詢系統文件是否改動過。


YUM使用
1.查詢
yum list 查看全部軟件列表(rpm -qa)
yum list updates 查看須要更新的軟件列表
yum info mdadm 查看軟件纖細信息(rpm -qi)
yum serch raid  搜索軟件
yum provides passwd  查看文件屬於哪一個軟件(rpm -qf)

2.安裝
yum install pam-devel 先解決依賴軟件問題再安裝該軟件
yum remove pam-devel 先解決依賴軟件問題再卸載該軟件

yum grouplist 查看軟件組列表
yum groupinfo XFCE-4.4 查看該軟件組詳細信息
yum groupinstall XFCE-4.4 安裝該組軟件

3.系統自動升級
yum -y update  自動yes下載安裝,與crntab搭配使用,可實現定時升級

4.rpm 設置
/etc/yum.repos.d/NeoKylin-Base.repo
版本一:
# NeoKylin-Base.repo
#
[base]
name=NeoKylin-$releasever - Base
gpgcheck=0
#baseurl=file:///media/NeoKylin-3.1-Server/
baseurl=ftp:///10.1.1.2/pub/kylin/3.1/x86_64

版本二:
[base]
name=CentOS-$releasever - Base
baseurl=file:///media/CentOS_5.8_Final/
#gpgcheck=0
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

5.清除已下載過的全部容器的相關數據
 yum clean all


其它安裝:
1.帶源代碼安裝
  a. tar -xvzf sqlite-3.3.7.tar.gz  -C /usr/local/src
  b. cd src/sqlite
  c. ./configure --prefix=/usr/local/sqlite//自動生成makefile(編譯腳本文件)
  //--prefix=/usr/local/sqlite//安裝文件存放在指定目錄下
  d.make  //執行Makefile文件(編譯代碼)
  e.make install
  f.make doc //安裝幫助文檔
  g.make clean //清空安裝時產生臨時文件,資源

2.非源代碼安裝
   a.tar -xvzf  VMwareTools-8.4.2-261024.tar.gz
   b.cd vmware-tools-distrib
   c../vmware-install.pl

linux在線安裝軟件命令
yum 軟件名 


****************進程管理*****************

進程狀態:激活: D(不能中斷)R(運行) W(等待)
          阻塞: T(暫停)    S(睡眠sleep)
     運行結束->1.父進程回收:wait,waitpid,(真正結束)
     2.未回收:Z(殭屍)(init回收)。、
工做管理
前臺進程--後臺進程  bc&  <---> fg+ID號/進程名


kill -9 15923  發送9號信號kill進程(SIGKILL)
kill -l  顯示全部信號標示符
killall -9 bc 會報錯 bc: arguments must be process or job IDs

脫機管理
nohup 在脫機或註銷系統後還能繼續工做。


ipcs 進程間通訊
ipcs -m 共享內存 -s 信號量 -q 消息隊列


進程管理
ps     將某個時間點的進程運行狀況顯示出來
ps aux (-a全部-u用戶進程-x後臺進程-f父進程)查看系統全部的進程
pstree  進程樹
top  動態顯示進程信息

進程執行順序
進程優先級PRI,值越小,優先級越大
nice值NI ,調整PRI的值。
nice  給命令新的nice值
renice


系統資源查看
free 查看內存使用狀況
uname 查看內核相關信息
uptime 查看系統啓動時間與工做負載
netstat 跟蹤網絡
dmesg 分析內核產生的信息
vmstat 檢測系統資源的變化


特殊文件與程序

 

fuser 經過文件找出正在使用該文件的程序
  fuser -uv /root/hello.c  顯示文件的打開者
  fuser -muv /secbox       顯示目錄下全部文件的打開者(umount不掉的時候)
  fuser -ki /root/hello.c  提示是否刪除文件的使用者
lsof 列出被進程打開的文件名
   lsof -u root             root用戶進程打開的全部文件
   lsof  /secbox | kssd   顯示kssd在secbox目錄打開的文件
pidof 找出某個正在執行的進程的PID
   pidof init

SELinux
美國國家安全局研發,避免用戶資源的誤用,使用MAC強制訪問機制

Subject     Policy    Context       Object
主體進程 -->  策略 --> 安全上下 -->  目標文件資源(rwx,身份)

策略:targeted,默認策略,主要針對網絡服務
      strict:完整限制
安全上下文:Identify:role:type
                 主進程(domain) --》 文件 (type)
              如:httpd(httpd_) --> /var/www/index.http(httpd_sys_content_t)

SELinux模式,切換須要重啓。
enforcing /permissive   啓動並強制/啓動不強制僅提醒
disabled                不啓動

內核關閉selinux:  
    /boot/grub/menu.lst       selinux=0
調整模式和策略配置:      
    /etc/selinux/config

查看模式
getenforce
sestatus

切換模式:
setenforce  0     -->Permissive
setenforce  1     -->Enforcing

查看上下文:
    ps aux -Z |grep httpd
    ls -Z  /var/www/index.html
重設安全上下文
     chcon -t httpd_sys_content_t /var/www/html/index.html
     restorecon -Rv /var/www/html/index.html

semanage fcontext -l |grep '/srv'  查看某文件默認上下文
semanage fcontext -a -t public_content_t "/srv/samba(/.*)" 增長默認上下文

策略與規則管理
策略--> 布爾值 --> 規則 --> 域--類型
/etc/selinux/targeted/policy/policy.21
seinfo 查看策略的信息
    seinfo -b |grep httpd 查看與httpd有關的規則(blloeans)

sesearch -b httpd_enable_homedirs -a 查看布爾值信息
getsebool  httpd_enable_homedirs     查看某布爾值
setsebllo -P httpd_enable_homedirs =0 關閉某布爾值

sesearch -a -t httpd_sys_content_t  查看文件類型相關信息
sesearch -a -s httpd_t -t httpd_*   查看進程域相關信息


selinux啓動時,相關日誌審計服務:
setroubleshoot:將錯誤信息寫入/var/log/messages中。
    cat /var/log/messages |grep setroubleshoot   查看selinux出錯信息
    sealert -l ************************          查看完整出錯信息
auditd:將詳細數據寫入/var/log/audit/audit.log  審計日誌
    audit2why < /var/log/audit/audit.log 查看出錯信息


---例行工做---


常見例行工做:
1.調度logrotate進行日誌文件的輪替
2.調度logwatch進行日誌分析,並以郵件形式發給root。
3.調度ubpdatdb進行更新locate文件名數據庫/var/lib/mlocate
4.更新whatis數據庫。
5.更新rpm數據庫
6.調度tmpwatch刪除臨時文件
7.分析網絡服務的日誌文件


at   僅執行一次(對應atd服務)
啓動:/etc/init.d/restart
開機啓動:chkconfig atd on

/var/spool/at/ at命令將要執行的工做作成腳本寫到目錄中,由atd服務脫機接管執行這些腳本文件。

使用at的帳號限制
1./etc/at.allow  容許使用
2./etc/at.deny   限制使用(默認。在沒有at.allow的狀況下查看,較爲鬆散。)
3.兩個文件都沒有,則只有root用於能使用at。


at now + 5 minutes   ctrl + d 結束命令輸入。
at 11:50 2013-12-04

at -l  (至關於atq )查詢系統上全部的at調度任務
at -d 3 (至關於atrm 3) 刪除job 3 任務。
at -c 3 查看job 3 任務在/var/spool/at中的詳細調度內容。


batch 系統有空時執行後臺任務,使用和at同樣。
cpu工做負載:執行的任務數量(batch在cpu工做負載低於0.8的時候執行工做任務。)
cpu使用率:cpu使用的多少。

crontab 循環執行 (對應crond服務)

/var/spool/cron/  針對每一個用戶任務(crontab -l可查看)
 root
/etc/crontab    針對系統任務(增長一個執行身份)
  01 * * * * root run-parts /etc/cron.hourly(目錄規劃,自動執行目錄下文件,可自定義 )
  */5 * * * * root /bin/mrtg /etc/mrtg/mrtg.cfg(直接執行命令)

/etc/cron.daily/:
cups       makewhatis.cron  prelink         tmpwatch
logrotate  mlocate.cron     readahead.cron
/etc/cron.hourly/:
0anacron  mcelog.cron
/etc/cron.monthly/:
readahead-monthly.cron
cron.weekly/:
99-raid-check

/etc/cron.d/* 針對系統任務(單一獨立定時任務,須要增長一個執行身份,格式和crontab -e同樣)

crontab命令將要執行的工做作成腳本寫到目錄中,由crond服務每隔一分鐘去查詢這三個文件
注意不要用vi直接編輯,可能出現語法錯誤致使沒法執行crontab。
/var/log/cron 每項工做會記錄在該日誌文件中。

使用crontab的帳號限制
1./etc/crontab.allow  容許使用
2./etc/crontab.deny   限制使用(默認。在沒有crontab.allow的狀況下查看,較爲鬆散。)
3.兩個文件都沒有,則只有root用於能使用crontab。

crontab -e  進入vi界面編輯任務,每一行一個任務。每一個用戶在/var/spool/cron/中都有一個文件
六段:分 時 日 月 周 命令
特殊字符:*所有    ,和    -一段時間    /n每隔n時間
例:
/1 * * * * /bin/date > /dev/pts/0
/5 * * * * /home/liaoyi/test.sh
59 23 1 5 * mail yu < /home/liaoyi/lover.txt


crontab -l 查詢系統crontab任務
crontab -r 清除全部任務

anacron
在處理系統非24小時開機而致使某些crontab任務未執行,在開機或者crontab中,crontab會調用anacron程序來執行crontab未進行的工做。
/var/spool/anacron/*
/etc/annacrontab
#period in days   delay in minutes   job-identifier   command
1 5 cron.daily  nice run-parts /etc/cron.daily
7 25 cron.weekly  nice run-parts /etc/cron.weekly
@monthly 45 cron.monthly  nice run-parts /etc/cron.monthly


---系統服務---
(service=daemon)

stand alone daemon:自行單獨啓動服務(WWW服務fttpd,FTP服務vsftpd)
super daemon :超級daemon統一管理(telnet)
優勢:1,可安全管控,相似網絡防火牆
2.客戶端鏈接結束後關閉,不用佔用資源
缺點:反應時間慢

/etc/init.d/*  系統服務啓動腳本
/etc/rc.d/init.d/*

/etc/sysconfig 系統服務的初始化環境配置文件
   syslog 日誌文件配置
   network 網絡設置
 
/etc/xinetd.conf,/etc/xinetd.d/* :Super daemon配置文件

/etc/*  各服務各自的配置文件

/var/lib/* 各服務產生的數據庫

/var/run/* 各服務的程序的PID記錄
  syslogd.pid
 

Stand along的啓動:
1./etc/init.d/syslog  start(stop/restart/status...)
 service snmpd start(stop/restart...)

super daemon 的啓動:

grep -i 'disable' /etc/xinetd/*  查看xinetd下的服務是否啓動,yes未啓動。

例:打開xinetd下的rsync服務
vim /etc/xinetd.d/rsync 
   disable = no
/etc/init.d/xinetd restart

查看啓動的端口:
grep 'rysnc' /etc/services
netstat -tnlp | grep 873

super daemon 的配置:
/etc/xinetd.conf
/etc/xinetd.d/*

 

查看系統啓動的服務:
ps aux |grep snmpd
top
netstat -tulnp 找出目前系統開啓的tcp,udp監聽的網絡服務
netstat -atunp 找出全部的有網絡的服務狀態(包含socket狀態)
service --status-all 查看目前系統上全部服務的運行狀態

設置開機當即啓動服務
chkconfig:管理系統服務默認開機啓動與否

chkconfig --list snmpd   查看服務是否開機啓動
chkconfig --level 345 atd on  開機啓動服務(並無當即啓動服務)(指定等級)

手動創建開機啓動腳本:
vim /etc/init.d/myup
#!/bin/bash
#chkconfig:2345 50 32    (等級2345啓動,以50順序啓動,以32順序結束)
#description:nothing
echo "nothing"
chkconfig --add myup;chkconfig --list myup 在rc.d/rc2-5中增長啓動連接文件S50myup
chkconfig --del myup; rm /etc/init.d/myup  刪除啓動連接

圖形化界面啓動:
ntsysv:redhat中圖形界面管理服務啓動
setup -> sevices

 

****************日誌管理*****************

日誌文件的做用:
1.解決系統方面的錯誤
2.解決網絡服務的問題
3.過往事件記錄簿

常見日誌文件:(/var/log/*)
anaconda.log          ConsoleKit  messages          spooler
anaconda.program.log  cron        ntpstats          sssd
anaconda.storage.log  cups        pm-powersave.log  tallylog
anaconda.syslog       dmesg       ppp               wpa_supplicant.log
anaconda.xlog         dmesg.old   prelink           wtmp
anaconda.yum.log      gdm         sa                Xorg.0.log
audit                 httpd       samba             Xorg.0.log.old
boot.log              lastlog     secure            Xorg.9.log
btmp                  maillog     snmpd.log         yum.log

boot.log:記錄了系統在引導過程當中發生的事件,就是linux系統開機自檢過程顯示的信息
dmesg            開機內核檢測信息(dmesg命令可查看)

cron             例行性工做調度日誌
  
用戶登陸及鏈接時間信息
lastlog          系統全部帳號最近一次登陸系統時的信息(lastlog命令可查看)

/var/run/utmp  記錄有掛當前登陸的每一個用戶的信息(who ,w,users,finger)
   who: 查看當前登陸到系統的帳戶,終端,登陸時間。
   w:   查看當前系統中的用戶,終端,登陸時間,和他們運行的進程信息
   users:在一行顯示當前登陸的用戶名。

wtmp,faillog   記錄全部正確登陸系統者的信息(wtmp)和錯誤登陸帳戶信息(faillog)(last查看wtmp)
   last:顯示系統全部登陸信息(當前+過往)
   ac 根據當前/var/log/wtmp文件,顯示用戶的鏈接時間(小時)
     (ac 總時間   ac -d  天天鏈接時間   ac -p 每一個用戶總的鏈接時間)

secure           記錄全部須要帳號密碼的軟件的登陸信息(login,圖形登陸gdm,su,sudo,聯機登陸                    ssh,telnet)

錯誤日誌:
messages         系統錯誤信息

進程統計:
touch /var/log/pacct
accton /var/log/pacct 激活accton
lastcomm 監測系統中任什麼時候候執行的命令,用accton關閉。
sa  報告,清理並維護進程統計文件


其餘常見服務日誌:
maillog或 mail/* 記錄郵件往來信息(sendmail發信協議SMTP,dovecot收信協議POP3)

http/* ,news/*,samba/*  不一樣的網絡服務的日誌文件


所需系統服務:
syslogd     主要記錄登陸系統與網絡等服務的信息
klogd       主要記錄登陸內核產生的信息
logrotate   主要進行日誌文件的輪替功能


syslogd服務
ps aux | grep syslogd  查看syslog是否啓動
chkconfig --list syslogd
 
/etc/init.d/rsyslogd start 啓動syslogd服務
service rsyslogd start
注意:/var/log/下的日誌文件vi編輯wq保存,修改後不能再繼續進行日誌操做。須要從新啓動syslogd。

1.時間發生的日期與格式
2.發生此事件的主機名
3.啓動此事件的服務名稱或函數名稱
4.該信息的實際數據內容

syslog的配置文件
/etc/syslog.conf
服務.信息等級     文件或設備或主機
服務名稱:syslog自己設置有一些服務:如auth,cron,daemon,kern,lpr,mail,news,syslog,usr,uucp等。
軟件開發商利用這些服務來記錄他們的軟件。
信息等級:info-> notice ->warning ->err ->crit ->alert ->emerg
   「.」表明大於等於該等級
           「.=」表示等於該等級
   「.!」表示除了該等級之外的全部等級
設備或文件:表明信息放着在哪裏,是輸出到設備仍是記錄到文件。
           文件的絕對路徑:/var/log/裏的文件
   打印機或其餘:/dev/lp0
           用戶名稱:顯示給用戶
   遠程主機:例如:@192.168.1.1
   *:表明全部在線的人。

日誌文件的安全設置:
chattr +a /var/log/messages 給日誌文件加上a屬性,只能增長不能修改和刪除。

日誌服務器設置:
客戶端的日誌會備份到主機上保存。服務器的syslogd監視UDP的514端口。
配置服務端:
vim /etc/sysconfig/syslog
   SYSLOGD_OPTIONS="-m 0 -r"
/etc/init.d/syslogd restart   重啓服務
netstat -lunp |grep syslog    查看syslogd服務是否監聽514端口

配置客戶端:
vim /etc/syslog.conf
*.* @192.168.1.1             將全部服務的全部等級信息備份到主機(IP)上。
/etc/init.d/syslogd restart

 

logrotate 日誌文件的輪替
logrotate是掛載cron下面進行的例行工做。/etc/cron.daily/logrotate

配置參數:
/etc/logrotate.conf
/etc/logrotate.d/

目錄轉儲:
/var/log/news/* {
           monthly
           rotate 2
           olddir /var/log/news/old
           missingok
           postrotate
               kill -HUP ‘cat /var/run/inn.pid‘
           endscript
           nocompress
       }


分析日誌文件:
logwatch套件
logcheck,須要自行安裝
logfile-0.1-4-2.tgz 鳥哥日誌分析工具

 


****************系統信息*****************

---查看服務器信息---
hostname 主機名
runlevel 運行等級
tty   終端名
uname 系統信息  uname -a
cal    calendar       日曆     cal 2013   cal 4 1992
date   date and time  時間     data +%Y/%m/%d  +%H:%M

系統資源查看
free 查看內存使用狀況
uname 查看內核相關信息
uptime 查看系統啓動時間與工做負載
netstat 跟蹤網絡
dmesg 分析內核產生的信息
vmstat 檢測系統資源的變化

---登陸界面信息---
登陸前顯示:
/etc/issue
/etc/issue.net (telnet鏈接時顯示)
登錄後顯示:
/etc/motd

---bash環境---

環境變量(系統級,通常大寫)
經常使用:PATH可執行程序路徑;LD_LIBRARY_PATH庫文件路徑;
      LOGNAME登錄用戶;HOSTNAME主機名
     echo $LANG 輸出當前語言環境變量(可在/etc/sysconfig/i18n中修改默認語言)
     LANG=en_US 修改爲英文語系


env              顯示全部環境變量
set              顯示全部變量
unset            刪除該變量
env | grep PATH  查詢某變量
export AA=123    導出爲環境變量
echo $PATH       顯示該環境變量值
export PATH=$PATH:/home  修改環境變量


系統環境變量配置文件:
/etc/profile
    設置 PATH,MAIL ,USR,HOSTNAME,HISTSIZE 系統環境變量
    讀取: /etc/inputrc        輸入按鍵環境變量
          /etc/profile.d/*.sh  vi,ls,which別名
          /sysconfig/i18n      語系變量
     

用戶環境配置文件:
~/.bash_profile
   PATH=$PATH:$HOME/bin
   讀取~/.bashrc   non-login shell僅讀取該文件
      設置rm,cp,mv別名
      讀取/etc/bashrc        
          根據UID設置umask
          根據uid設置PS1命令行提示符
          讀取/etc/profile.d/*.sh

添加本身的環境變量, 不註銷,從新運行bashrc:
source ~/.bashrc
  . ~/.bashrc    


其餘相關配置文件:
/etc/man.config  man尋找路徑,MANPATH,tarball安裝軟件後可添加。
.bash_history   用戶操做歷史命令,數量和HISTSIZE變量有關,用戶登錄載入內存。
.bash_logout   用戶註銷後執行。默認只有clear清屏


---終端機tty環境---

stty -a 查看全部快捷鍵
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>;
start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;

Ctrl+C:intr 發出SIGINT中斷程序
Ctrl+\:quit 發出SIGQUIT退出程序
ctrl+Z:susp 發出SIGTSTP信號暫停進程

Ctrl+D:eof 結束輸入

Ctrl+S:stop 中止屏幕輸出
Ctrl+Q: start 繼續程序屏幕輸出

Ctrl+W:werase 清除前一個單詞
Ctrl+U: kill  清除命令行全部文字

Ctrl+?:erase 回到以前的輸入
Ctrl+R :rprnt 查找以前命令

Ctrl+V:lnext 下次tab鍵執行空格
Ctrl+M:  Enter回車

 

****************VIM編輯****************

vim配置文件:/etc/vimrc  通常不修改
  ~/.vimrc   添加這個文件,添加vim默認設置
[root@localhost ~]# cat .vimrc
set hlsearch
set backspace=2
set autoindent
set ruler
set showmode
set nu
set bg=light
syntax on

命令行模式:esc

       移動: ^ ←h  ↓j  ↑k   →l   $
               gg,1G   跳到頭行
     56G     跳到某行
     G       跳到尾行
  刪除:x/X刪除字符
  dd刪除  3dd刪除3行
   d1G刪除光標到開頭行 dG刪除光標到最後行
  d^刪除一行中光標到開頭字符 d$刪除一行中光標到結尾字符
          
  複製: yy複製一行  3yy複製3行 
    y1G複製光標到開頭行 yG複製光標到最後行
         y^複製一行中光標到開頭字符 y$複製一行中光標到結尾字符
    
       粘貼:  p/P粘帖到光標下一行(上一行)

       撤銷     u / Ctrl+r

       查詢     /name  ?name  n/N

  可視化選擇:v,V,Ctrl+v 選擇  y複製  p粘貼  d刪除

  保存退出  ZZ 至關於:wq!

  其餘:shift+~大小寫轉換       
            gg=G自動排版
   

編輯模式      ←I      i|a       A→
              o/O在下一行插入/在上一行插入
              r/R替換一個字符/替換全部字符

底行模式 :
       退出: q 退出        
    q!不保存(強制)退出

        保存退出:wq 保存退出   
   w newfilename另存爲

   替換:n1,n2s/word1/word2/g  在n1行和n2行之間替換
              1,$s/word1/word2/g    全文替換
              1,$s/word1/word2/gc 全文替換,替換前詢問

        設置: set nu設行號   
 
        執行其餘命令: !shell命令   不退出執行shell命令

   多文件編輯:單窗口:files,n,N    
               多窗口:sp filename   Ctrl+w+↓    Ctrl+w+↑
 

        1. :%s/root/rt/g
             %:在全部行中執行替換,若是去掉"%"則只替換當前行
             s:替換操做
             g:替換行中的全部匹配點

   2.:%s/\/usr\/bin/\/home/g 
       \/usr\/bin:  "\" 轉義 目錄字符"/"
        \/home:      "\" 轉義 目錄字符"/"

   3.:%s/^/linux/g  每行開頭加入一個單詞linux
      ^:每行開頭
    4.:%s/$*\>/s/g  每一個單詞後面加上一個s
          $:每行結尾
   5.:%s/\s\+$//  去掉每行後面的空格字符
          \s:空格
          \+:一個或多個
          $:每行結尾
          /:空

中文編碼問題:
1.查看linux系統默認支持的語系:/etc/sysconfig/i18n
2.中斷接口bash的語系:LANG變量
3.文件自己編碼格式
4.打開文件的軟件設置的顯示編碼

DOS 與linux斷行字符:^M$  $
UNIX2dos -k man.config
dos2UNIX -k -n man.config man.config.linux

文件編碼格式轉換:
iconv -f big5 -t utf8 vi.big5 -o vi.utf8

****************X Window System************
X Window System

X :1 &

Xterm -display :1 &
xterm -dispaly :1 &

xclock -display :1 &
xeyes -dispay :1 &

twm -display :1 &

****************其餘*****************

fedora16配置:

解除root 屏蔽
 開機進入service recover
 cd  /etc/pam.d
 vim gdm             加#註釋第三行 user!=root
 vim gdm-password    加#註釋第三行 user!=root
 reboot

安裝vm工具:
VM ->install vmware tools
VMwareTools-8.8.2-590212.tar.gz 複製到 /tmp
解壓 tar -xvf  VMwareTools-8.8.2-590212.tar.gz
進入/vmware-tools-distrib
./vmware-install.pl 安裝
reboot

root 無密碼登錄
開機進入service recover
cd /etc
vim pssswd
把第一行*去掉。
reboot

 

附加:
windows目錄
C:\Program Files (x86)\sina
linux目錄
/home/test/socket

windows下網絡:
鏈接對方SAMBA:\\192.168.1.10
http://www.sina.com.cn
無線文件ftp共享:ftp://192.168.1.8 登錄

相關文章
相關標籤/搜索