写得蛮好的linux学习笔记

转自:科技复兴 linsheng_111  

 

注:下面所概括的东西在不同的发行版下可能会不一样

 

linux 目录架构 6 S8 Z; }# I) y7 o8 y8 C3 G
/   
根目录 + L' w; r$ U- U. /3 f+ ^" j8 K
/bin   
常用的命令 binary file 的目錄
2 p& `* ~, s6 B$ x# }1 G /boot   
存放系统启动时必须读取的档案,包括核心 (kernel) 在内
: M1 C1 w' o* n7 n- ?6 k; v      /boot/grub/menu.lst   GRUB
设置 & /8 x7 w$ T! N+ n- z' b
     /boot/vmlinuz   
内核 # i4 O/ A; w9 g+ z2 p: n# T
     /boot/initrd     
核心解壓縮所需 RAM Disk
1 [8 x* m/ z0 J% i /dev   
系统周边设备      
- @. I1 ~* /: ? /etc   
系统相关设定文件 0 A  C5 Z* p( h+ z3 x( P# _
     /etc/DIR_COLORS   
设定颜色
; E  h/ D; O9 a7 @0 A3 t! d      /etc/HOSTNAME   
设定用户的节点名 ( m0 Z" B; b8 P( w! b' R
     /etc/NETWORKING   
只有 YES 标明网络存在 4 A2 F0 Q0 g' v5 ?  v
     /etc/host.conf
文件说明用户的系统如何查询节点名
8 V) R8 ?" h! D8 O  F      /etc/hosts
设定用户自已的 IP 与名字的对应表 6 R! h6 [4 U: U: w3 f
     /etc/hosts.allow
设置允许使用 inetd 的机器使用
: M$ /' T5 _' D" b# R      /etc/hosts.deny
设置不允许使用 inetd 的机器使用 . x" ?+ y1 z( s9 ]$ `0 e) _" w
     /etc/hosts.equiv
设置远端机不用密码 6 [9 J& Y8 U0 ]' j' X0 I: e/ n  Q
     /etc/inetd.conf
设定系统网络守护进程 inetd 的配置 1 r; V+ g$ D9 f7 N
     /etc/gateways
设定路由器
! F! ]# N6 [" x. /0 j      /etc/protocols
设定系统支持的协议 1 `2 |$ E4 T# X3 n
     /etc/named.boot
设定本机为名字服务器的配置文件
( Y. H) `' C# ?2 L* f! V      /etc/sysconfig/network-scripts/ifcfg-eth0   
设置 IP . g2 ~5 z3 `8 H5 P  D0 P
     /etc/resolv.conf   
设置 DNS   * {% v. V. ~0 e+ J
     /etc/X11  X Window
的配置文件 ,xorg.conf XF86Config 這兩個 X Server 的設定檔
# B% Q" K# Z: R9 V      /etc/fstab   
记录开机要 mount 的文件系统 2 @& ]) n$ ~, [. C( j- d+ Z$ P6 t
     /etc/inittab
设定系统启动时 init 进程将把系统设置成什么样的 runlevel 6 [! n/ {9 K- S* f1 l
     /etc/issue
记录用户登录前显示的信息 + e, s/ |6 t& ~/ _
     /etc/group
设定用户的组名与相关信息
& f! z8 C8 ^( @      /etc/passwd
帐号信息
  E/ f$ G& O8 N; y% `      /etc/shadow
密码信息
& r) X9 q1 E9 ^3 h! h3 I      /etc/sudoers
可以 sudo 命令的配置文件 2 a( F4 S8 F8 l' Q& Z1 u, s' }
     /etc/securetty
设定哪些终端可以让 root 登录
, k+ }  S8 c' p      /etc/login.defs
所有用户登录时的缺省配置
" G. o+ G, m* {1 S      /etc/exports
设定 NFS 系统用的
: i5 ]$ Y4 E: P      /etc/init.d/   
所有服務的預設啟動 script 都是放在這裡的,例如要啟動或者關閉 : R, b4 }9 k& U7 U1 M$ O
     /etc/xinetd.d/  
這就是所謂的 super daemon 管理的各項服務的設定檔目錄
  }3 n8 m* z+ j; r% V! ^      /etc/modprobe.conf   
内核模块额外参数设定
# i: a$ Q1 u8 t( k0 C      /etc/syslog.conf   
日志设置文件   k7 D# m" C$ W% W4 ~
/home   
使用者家目录
  ?9 _% N0 O  e4 |' n' i/ B /lib   
系统会使用到的函数库
6 Q. A6 [; B) _3 h9 s+ N5 /& e      /lib/modules   kernel
的相关模块 : B  W" @7 z7 y$ }" K  L
     /var/lib/rpm   rpm
套件安装处
- T9 d: R! R" c /lost+found   
系統不正常產生錯誤時,會將一些遺失的片段放置於此目錄下   C9 O7 X" B* b
/mnt     
外设的挂载点 " u6 |7 B; w; ]& h) K1 T
/media   
/mnt 类似 3 ~2 |+ b1 Y8 k; x, R7 W6 L" v
/opt     
主机额外安装的软件 6 u& o  I+ h8 E2 N
/proc   
虚拟目录,是内存的映射 4 u& n. t% `  R# g: ?; J' Z5 c* m
      /proc/version   
内核版本 ' R# F: Z# Y( F! R& c
       /proc/sys/kernel   
系统内核功能
2 ]6 C8 E& ^3 ]1 C /root   
系统管理员的家目录 9 b- E: T+ x# v( n7 ?. G
/sbin   
系统管理员才能执行的指令
. W5 `0 U/ `) {+ w /srv     
一些服務啟動之後,這些服務所需要取用的資料目錄
; m* T* A5 c4 ~' K: C, ~. M7 v /tmp     
一般使用者或者是正在執行的程序暫時放置檔案的地方 . X+ n# t; m4 u( l3 t
/usr     
最大的目录,存许应用程序和文件 * }, G1 H8 m  T# y
    /usr/X11R6
   X-Window 目录 ) M+ }: N) }6 i5 T
    /usr/src
    Linux 源代码
: H. j, j9 x* B$ X" s8 D     /usr/include
:系统头文件 : u' R/ |& Y- u+ `; `4 `9 J7 B
    /usr/openwin
存放 SUN OpenWin 0 N" g2 ~8 S  c- l( d2 T
    /usr/man
在线使用手册
( S! N* Y- M8 t3 v" I$ V     /usr/bin           
使用者可執行的 binary file 的目錄 8 w- x, a" q# D5 }  l
    /usr/local/bin     
使用者可執行的 binary file 的目錄
2 |) J2 W* [3 ?4 M+ S6 W     /usr/lib           
系统会使用到的函数库 & O" w5 l' Q4 b) /- ~5 C+ F% e
    /usr/local/lib     
系统会使用到的函数库 5 P* F( a; B& T5 q
    /usr/sbin         
系统管理员才能执行的指令
2 z) J4 L# A& G8 E) B     /usr/local/sbin   
系统管理员才能执行的指令
& A$ R0 r1 N2 `5 S) @/ k /var   
日志文件
* D0 K) H! U0 o* X/ N  q' q& H     /var/log/secure   
記錄登入系統存取資料的檔案,例如 pop3, ssh, telnet, ftp 等都會記錄在此檔案中
) l$ Z0 k, D2 A! T/ G     /var/log/wtmp      
記錄登入者的訊息資料 , last + f/ M) D6 c8 n* D, H  `
    /var/log/messages  
幾乎系統發生的錯誤訊息
' h) F/ U/ /6 H2 j4 K     /var/log/boot.log  
記錄開機或者是一些服務啟動的時候,所顯示的啟動或關閉訊息 % Q( L2 |7 R9 c% E
    /var/log/maillog   
紀錄郵件存取或往來 ( sendmail pop3 ) 的使用者記錄
( g# s- N2 ~7 Q4 L* ~% D# n     /var/log/cron      
記錄 crontab 這個例行性服務的內容
* `* a6 Q1 e' [9 p, K( i4 r/ a& i3 _     /var/log/httpd, /var/log/news, /var/log/mysqld.log, /var/log/samba, /var/log/procmail.log
, {( w1 o# K! [% w
   
分別是幾個不同的網路服務的記錄檔
( f8 o7 h7 j, |8 Y: `. x  W
7 ~( _+ R+ A$ o
一些常用的基本命令 : ( v1 u" Y, z1 U% @" X
uname -a   
查看内核版本       
3 T. t& w! |* V* a6 l, T ls -al   
显示所有文件的属性
% H$ |6 N2 g' z- U; a: N8 H pwd         
显示当前路径         
6 L( Z7 x3 B  P* ] cd -   
返回上一次目录      cd ~    返回主目录
! d2 z( Q  a4 t, C, p  G, {0 T date s      
设置时间、日期           : s* Y+ E' C$ a+ }* t0 ~
cal      
显示日历      cal 2006 - o+ I3 D3 g) V5 I( L! `/ @
bc         
计算器具                
0 Y+ f3 N; u7 A% D8 p9 F man  & info     
帮助手册
3 V# /! T8 `, f1 B6 /5 J, Z4 / locale     
显示当前字体      locale -a    所有可用字体      /etc/sysconfig/i18n 设置文件 " O: [% r. p) `- s( S) S, D3 A
LANG=en   
使用英文字体              7 G+ E" r) /; s6 h
sync      
将数据同步写入硬盘          * t& x7 _$ B% n) B$ l( O( P
shutdonw -h now & half & poweroff  
关机 " e. P5 X) C. `& q9 q# q$ H
reboot     
重启                    + A* {* R. R& m  k( ^7 D6 ~
startx  &  init 5   
进入图形介面
2 |& I* H) `: F9 D /work  & ?work   
向上、下查找文档内容 & a: }% ~2 I# d" u! N
chgrp      
改变档案群组   chgrp testing install.log   
1 }5 a2 k1 c2 c! m7 b+ j chown     
改变所属人    chown root:root install.log
" O5 ]6 J$ F9 F( A  E1 y; f2 R. K chmod      
改变属性      chmod 777 install.log     read=4  write=2  execute=1 : h1 I$ f, /4 r, c" K
cp   
复制    cp filename 9 X2 i/ i9 ]0 /2 y, I9 [- {, L
rm   
删除文件   rm -rf filename    强制删除文件
) f( x& T5 i9 H9 S rmdir   
删除文件夹
$ j7 X2 u6 W/ x. R mv  
移动     mv 123.txt 222.txt   重命名
5 c  y$ C, p* y0 H5 N/ y" E$ L mkdir     
创建文件夹 1 O( ^. s7 ~8 a+ ~, m6 s3 w
touch     
创建文件    更新当前时间 ' p$ P; c- {* I2 r/ s& L
cat      
由第一行开始显示      cat |more   分页
/ p4 v) I& b7 {: v( y# A5 I nl        
在内容前加行号 , _* k4 D: Q3 I) }
more  &  less   
一面一面翻动 . L" H/ n/ @( V' z: E
head -n filename   
显示第 N 行内容
) _6 m: M- E2 N& [  O# H: [ tail -n filename  
显示后 N 行内容
* j0 E8 z. v7 ^: ~: V$ g) o3 v/ / od        
显示非纯文档
  I% e+ h# B0 x" K* q  R( M' [. L df -h
显示分区空间 1 n) ?2 Y* J- G5 K
du  
显示目录或文件的大小
5 @1 j( p& X! n) S9 e5 c) w" G; S fdisk   
分区设置     fdisk -l /dev/hda   显示硬盘分区状态
( z/ x5 U* P; z, X/ k mkfs   
建立各种文件系统   mkfs -t ext3  /dev/ram15   
. C# d- /( s, V' |/ B fsck   
检查和修复 LINUX 档案
2 t$ W% E! g- X7 e ln      
硬链接    ln -s   软件链接 : V- c7 ?* J: n2 j" W
whereis   
查找命令
; e% x# D8 h3 ^2 C locate   
查找
  j, M& S* z% |4 k find      
查找    find / -name "***.***"   [* a/ _! m4 k4 O: D
which     
查看工具 ; `9 O% t& @* D7 z  ^4 [4 T
whoami   
显示当前用户
' z5 L! K& u& O1 e. n; E) q gcc -v   
查看 GCC 版本
% p, Q. P* J/ j9 c7 a chattr +i filename  
禁止删除    chattr -i filename   取消禁止
8 }7 ]( x7 Y. R$ X9 L% t lsattr   
显示隐藏档属性
  p7 A9 [. M$ X  z) t3 i# o: F% [( ^; V$ n6 t updatedb  
更新资料库
9 ^2 K, |! b: w  D, o3 q% a+ u3 C mke2fs   
格式化    mkfs -t ext3 # X9 @/ _) ~. g  a1 u
dd if=/etc/passwd of=/tmp/passwd.bak   
备份 2 T  X- k5 o, V% ~6 t
mount     
列出系统所有的分区 8 i" ^+ Q$ O- e, k" J; w! H( ]
mount -t iso9660 /dev/cdrom /mnt/cdrom   
挂载光盘 1 m9 J( U& C9 @- T2 l
mount -t vfat /dev/fd0 /mnt/floppy      
挂载软盘 " w- s, j0 ]; x! v3 H- C- W( q
mount -t vfat -o iocharset=utf8,umask=000 /dev/hda2 /mnt/hda2   
挂载 fat32 分区
+ _' L# j6 B# ^8 T, N mount -t ntfs -o nls=utf8,umask=000 /dev/hda3 /mnt/hda3         
挂载 ntfs 分区 0 W! P2 i, N' q6 A- ]
Linux-NTFS Project: http://linux-ntfs.sourceforge.net/
- s: d3 f# T5 p4 M# e/ /
umount /mnt/hda3  
缷载
' U9 G" X; t: K- ] ifconfig   
显示或设置网络设备 # |3 G9 /& {2 c' Q+ i
service network restart   
重启网卡   
, Q% r( P' W2 ~1 r3 y ifdown eth0  
关闭网卡
1 r. {! {2 _8 k: ~ ifup eth0   
开启网卡 * H$ /% S" o  b* u) o
clear   
清屏   d8 M% `  J$ X# T  }$ r) _7 ^
history   
历史记录        !55   执行第 55 个指令
5 Y  b6 L, c+ g7 Q/ e stty   
设置终端     stty -a
! L7 [! F- X2 a: H/ m fdisk /mbr   
删除 GRUB
  a, [3 v; c* t0 H' J2 H at     
僅進行一次的工作排程 ! H: T: A8 {, I3 L
crontab   
循環執行的例行性命令     [e] 编辑 ,[l] 显示 ,[r] 删除任务
( y: H4 Q/ L, ^7 V &      
后台运行程序     tar -zxvf 123.tar.gz & ---------> 后台运行
4 a7 f/ Q6 h2 p$ t# a% s% W jobs   
观看后台暂停的程序    jobs -l
" P3 b" O. _# i, H3 U fg      
将后台程序调到前台    fg n ------>n 是数字 , 可以指定进行那个程序 % j% k3 e! t) C3 a
bg      
让工作在后台运行 1 G! ]) [# p* W; R! /$ d
kill   
结束进程     kill -9 PID     [9] 强制结束 ,[15] 正常结束 ,[l] 列出可用的 kill 信号
3 c! Q' R/ N9 F. m ps aux  
查看后台程序    
/ f2 q; ~2 ^7 e8 x# N top     
查看后台程序    top -d 2    每两秒更新一次         top -d 2 -p10604    观看某个 PID
  ^/ O1 c. R. j3 h" M! d' J8 e         top -b -n 2 > /tmp/top.txt ----->
top 的資訊進行 2 次,然後將結果輸出到 /tmp/top.txt    ' V% g' A7 ~0 ?) R8 ?
pstree   
以树状图显示程序     [A] ASCII 來連接 , 列出 PID, [p] 列出帐号
; X2 o; W3 O+ u, x9 P: N. {2 I! ] killall   
要刪除某個服務     killall -9 httpd
: [" O  L" s1 C9 E' b0 J9 D free      
显示内存状态      free -m  --------> M 为单位显示 2 Y- X8 ]1 {+ j9 N! q
uptime   
显示目前系统开机时间
# {: F$ i$ U  o5 h1 F netstat   
显示网络状态     netstat -tulnp------> 找出目前系統上已在監聽的網路連線及其 PID
6 e# B1 B& D; Q# o( t dmesg     
显示开机信息     demsg | more
8 }" C3 J# M6 f) /7 G9 /; m nice      
设置优先权       nice -n -5 vi & -----> root 給一個 nice 植為 -5 ,用於執行 vi , ?+ T8 o5 T% z5 T0 O+ S
renice   
调整已存在优先权
. S' m3 t* }; S( `4 z+ o runlevel  
显示目前的 runlevel
& _! E0 k* X* v9 I6 w depmod   
分析可载入模块的相依性 " y5 b: v3 u7 A
lsmod     
显示已载入系统的模块
" |, S3 /* Y, L2 `' N modinfo   
显示 kernel 模块的信息
) s" i0 B1 ^4 g insmod   
载入模块
! q6 t8 y& z  t/ W9 I modprobe   
自动处理可载入模块 $ W* H! ]4 p3 C; z0 s
rmmod     
删除模块
& C0 C5 m: f8 n/ @$ j. r chkconfig   
检查,设置系统的各种服务      chkconfig --list -----> 列出各项服务状态 : b/ e7 L  n( w& I
ntsysv     
设置系统的各种服务 9 M( t+ H8 M. {, Q! M1 }; x1 n
cpio      
备份文件
5 |  i! i% z; q4 x: c6 G, n+ L
+ R' b0 v% y) Z6 J% |
, {9 A0 |% `7 r% Z. H" f( J
压缩命令:
' w3 n! a$ o. O  Y9 T: e0 H *.Z      compress
程式壓縮的檔案; , C# ]! L. J0 T$ B( z
*.bz2    bzip2
程式壓縮的檔案; / ]! G: A/ H0 V0 T/ G* H2 A
*.gz     gzip
程式壓縮的檔案;
  D2 j9 `* U( |9 h; J$ /9 u *.tar    tar
程式打包的資料,並沒有壓縮過; " u) E7 R  b  u7 l1 t+ X
*.tar.gz tar
程式打包的檔案,其中並且經過 gzip 的壓縮 0 X- ^* d9 R2 Z' W5 N' G
compress filename  
压缩文件    [-d] 解压   uncompress ) /: e$ Y+ Y( K+ _
gzip filename   
压缩    [-d] 解压   zcat 123.gz 查看压缩文件内容 2 n2 }+ m/ ?1 g7 M$ q0 w
bzip2 -z filename  
压缩    [-d] 解压    bzcat filename.bz2   查看压缩文件内容
7 {9 K$ Y/ u( @" C+ G& H tar -cvf /home/123.tar /etc  
打包,不压缩
! j! K; }" L+ V6 f. D7 s2 e tar -xvf 123.tar   
解开包
' U* @, d8 v; z6 f, u. ]  S tar -zxvf /home/123.tar.gz  
gzip 解压 7 f0 w0 R4 L! b3 Y; K: Z2 p1 l# J
tar -jxvf /home/123.tar.bz2  
bzip2 解压 ' h2 d  N4 /, U6 ^- Q1 B2 `0 z& `  E
tar -ztvf /tmp/etc.tar.gz   
查看 tar 内容 . J- }) L  b3 B" d
cpio -covB  > [file|device]   
份份
2 t$ n5 d( J4 r$ A) k cpio -icduv < [file|device]   
还原
) k6 C) g+ k& X2 G
% A: |! n: l' L7 a8 @ vi
一般用法
6 x' d3 _! A6 G2 X9 X
一般模式                编辑模式                    指令模式
$ B+ D6 w! e  d" F. j" @* | h
               a,i,r,o,A,I,R,O             :w 保存
. s1 K2 |3 u' K' L7 y7 b+ h, D9 O j
                进入编辑模式                 :w! 强制保存
9 R9 M% r( j6 y, x- n k
                dd 删除光标当前行            :q! 不保存离开
% }; }$ ~, {  X. M6 q l
                ndd 删除 n                  :wq! 保存后离开 / M0 p# w' y+ R; n
0
移动到行首         yy 复制当前行                 :e! 还原原始档
5 |5 H# ]( [* d& H9 g  T) A4 G $
移动到行尾         nyy 复制 n                   :w filename 另存为
9 /. f  O: E0 q+ j H
屏幕最上           p,P 粘贴                      :set nu 设置行号 - a$ k0 m2 Z0 n' X) w/ c! ?" /9 O
M
屏幕中央           u   撤消                       :set nonu 取消行号 5 J) B; g) P- f, v4 Z
L
屏幕最下           [Ctrl]+r 重做上一个动作        ZZ 保存离开
. [2 L: P8 K  f$ L2 A9 D3 X4 N G
档案最后一行       [ctrl]+z 暂停退出             :set nohlsearch    永久地关闭高亮显示 ( |) s$ @- h5 l" k4 B: k
/work
向下搜索                                    :sp 同时打开两个文档 # S" D" p3 x* P- U1 m& E. J
?work
向上搜索                                    [Ctrl]+w 两个文档设换 & M& }$ a. w9 /4 p$ `+ k+ W+ Y/ S# t; Y
gg
移动到档案第一行                               :nohlsearch    暂时关闭高亮显示
2 V5 P0 T( V4 C' h2 L
2 G# x3 T3 Q2 N4 q
认识 SHELL ' C3 @4 {. R8 g& |4 {
alias   
显示当前所有的命令别名       alias lm="ls -al"    命令别名     unalias lm 取消命令别名 * Y& f. j' ^5 n; T4 G
type      
类似 which 1 z2 R0 _9 K8 [: W
exprot   
设置或显示环境变量 3 a& H1 ?& `! E) y( s6 j8 ?
exprot PATH="$PATH":/sbin  
添加 /sbin PATH 路径
. q1 X. r- m) g2 y& B8 z2 Q  y+ U echo $PATH   
显示 PATH 路径
) }8 I4 ~$ N( h6 D9 I7 V6 C' X! |/ _ bash      
进入子程序
% j3 I6 m! I1 b3 ^$ V) ~ name=yang     
设定变量
( z- u7 S3 ^% t# I unset name   
取消变量
( |/ v0 @- J# k& ~+ F echo $name   
显示变量的内容
" o) /% X- W/ ]* x: L  ^ myname="$name its me"   &   myname='$name its me'     
单引号时 $name 失去变量内容 - N+ S$ _& E1 @& X+ Y
ciw=/etc/sysconfig/network-scripts/     
设置路径
0 `* ~7 R9 J, r" [& V) x env      
列出所有环境变量
+ ^+ j; X& K/ D- L9 V6 W7 t echo $RANDOM   
显示随意产生的数
6 h" s+ c" h! q; a set      
设置 SHELL
- X* _6 y( q& z6 N6 N0 y) I& K PS1='[/u@/h /w /A #/#]/$ '     
提示字元的設定 ! M1 i" k2 W" F: [9 h
   [root@linux ~]# read [-pt] variable     -----------
读取键盘输入的变量
3 X9 J9 O, x0 _6 m0 l8 L1 V2 v    
參數: & Z+ T5 z, d# i+ q$ J7 y) k; [
   -p  
:後面可以接提示字元!
  R) ?6 ]3 f& `- w  C5 v    -t  
:後面可以接等待的『秒數!』
2 N# V/ u5 p% N& P7 L, {6 T3 z declare   
声明 shell 变量
/ V1 t5 D0 o3 d* E% ` ulimit -a   
显示所有限制资料
/ j5 M' W" T) a. v3 {' k9 @) B ls /tmp/yang && echo "exist" || echo "not exist"
% m# H* b$ W; E7 u& q. r
意思是說,當 ls /tmp/yang 執行後,若正確,就執行 echo "exist" , 若有問題,就執行 echo "not exist"
/ s0 {7 T8 O: m9 l  [# ~- m; x echo $PATH | cut -d ':' -f 5      
: 为分隔符 , 读取第 5 段内容 9 s, Y# h4 g; /" f) s! ~5 ]" h# t
export | cut -c 10-20      
读取第 10 20 个字节的内容
8 k5 `2 ^! k9 c& E; l9 f last | grep 'root'   
搜索有 root 的一行 , [-v] 反向搜索
8 u) [$ E/ b  O( G( w/ W2 k cat /etc/passwd | sort   
排序显示
; Z5 t. n# M/ X cat /etc/passwd | wc      
显示『行、字数、字节数』 2 ^, N/ g: U/ S" D( ]/ Q
正规表示法
: N+ z: D. a( G" a9 F! u% J [root@test root]# grep [-acinv] '
搜尋字串 ' filename
- I- F2 t8 /& u+ U7 u9 O       
參數說明:
, E! i4 [7 X7 {5 b/ N        -a
:將 binary 檔案以 text 檔案的方式搜尋資料
/ n& {6 B% _5 m' X% _2 f        -c
:計算找到 ' 搜尋字串 ' 的次數 " L. j( }; /6 i* ?0 [- Y
       -i
:忽略大小寫的不同,所以大小寫視為相同
& O* j# @% P# }8 P5 A& Y8 ^        -n
:順便輸出行號 # ~/ N: w6 r1 b% h
       -v
:反向選擇,亦即顯示出沒有 ' 搜尋字串 ' 內容的那一行! , @: N  s7 a! g
grep -n 'the' 123.txt     
搜索 the 字符 ----------- 搜尋特定字串       
* q$ _1 |7 E" V3 z grep -n 't[ea]st' 123.txt   
搜索 test taste 两个字符 --------- 利用 [] 來搜尋集合字元 # r: R7 |/ V# R) j) a
grep -n '[^g]oo' 123.txt     
搜索前面不为 g oo----------- 向選擇 [^] 8 G/ n' L4 i" J* j0 o: i8 Q1 ^5 ]
grep -n '[0-9]' 123.txt  
搜索有 0-9 的数字
/ ^" Z) K5 V  |. m. q7 z/ u& L grep -n '^the' 123.txt
搜索以 the 为行首 ----------- 行首搜索 ^
/ G7 ]" p; g6 Z+ M8 I grep -n '^[^a-zA-Z]' 123.txt  
搜索不以英文字母开头 7 m3 Y5 t! J, z8 H2 c
grep -n '[a-z]$' 123.txt   
搜索以 a-z 结尾的行 ---------- 行尾搜索 $ - q, w/ V) C% B# h
grep -n 'g..d' 123.txt     
搜索开头 g 结尾 d 字符 ---------- 任意一個字元 .
9 [6 s- @! D5 l4 o grep -n 'ooo*' 123.txt     
搜索至少有两个 oo 的字符 --------- 重複字元 * + `9 M3 t  s0 m
sed   
文本流编辑器     利用脚本命令来处理文本文件
/ // K2 b# A8 _* u& h0 M/ R awd   
模式扫描和处理语言 2 c+ }! }. p2 T" k0 d" X1 q
nl 123.txt | sed '2,5d'   
删除第二到第五行的内容 1 l, l2 g! i. t/ a4 V$ O' Q6 F+ P
diff     
比较文件的差异
% V6 I$ b! l( U8 Q. @; K cmp      
比较两个文件是否有差异 , z  v( [8 a$ D/ z4 v" b2 x  t
patch   
修补文件
* g, q0 ^+ q* M: R/ ~+ e% T: S; p pr      
要打印的文件格式化 ! @& [5 u& N1 A9 [
; o. U; V6 C; w9 i$ Q( r. t. g
- [' Y* E0 y/ U! {5 q) i9 V
帐号管理 ; n+ J  L6 S5 j. D- ~
/etc/passwd   
系统帐号信息
7 k! K, W& y5 f /etc/shadow   
帐号密码信息     MD5 32 位加密 5 T8 F8 n" B1 G: n4 e4 ?2 J
     
在密码栏前面加『 * 』『 ! 』禁止使用某帐号
  L( p( J/ O. i% _6 o /etc/group     
系统群组信息 3 b" E1 s- B; S( W$ R
/etc/gshadow
  h; M" m  ^& {+ F3 Z! c1 ?
newgrp   
改变登陆组 & q/ h# J* T6 e8 U+ |: A. h
useradd  &  adduser   
建立新用户   ---------> useradd -m test   自动建立用户的登入目录
! n0 t5 i" A1 e+ q; n           useradd -m -g pgroup test --------->
指定所属级
& o$ L+ V; R" I9 X3 D /etc/default/useradd   
相关设定
1 z9 X4 B& z2 X! A /etc/login.defs       UID/GID
有關的設定
% q( ]! U7 N  Z& b9 ^. _! q5 M, C passwd   
更改密码 -----------> passwd test ) }9 X0 /2 S- e: U$ i6 z
usermod   
修改用户帐号
" P" F/ Z5 [2 {' } userdel   
删除帐号 ----------->userdel -r test % `9 v; y8 L4 b
chsh      
更换登陆系统时使用的 SHELL   [-l] 显示可用的 SHELL;[-s] 修改自己的 SHELL
% M- w  Z0 `- ^8 j* i7 P chfn      
改变 finger 指令显示的信息 ' c. b& E3 j7 I  m, g# j; f
finger   
查找并显示用户信息 2 ?) q+ |2 F' ]* w; d! g/ h
id        
显示用户的 ID ----------->  id test
; Y4 }2 g) {+ R3 H& u# w3 J groupadd   
添加组 - H& r& V2 c) Z: C: o2 f. ?( y
groupmod   
usermod 类似 ; i: @( T! e: D& Y3 k
groupdel   
删除组
% y. T& /9 J+ r" k! G. q su test   
更改用户    su -    进入 root, 且使用 root 的环境变量
& J" C5 g! ], t# c# G+ C sudo      
以其他身份来执行指令 % J% N4 w. n5 m
visudo     
编辑 /etc/sudoers       加入一行『 test ALL=(ALL) ALL ) f1 ]& k  k: [8 H; X* ?
           %wheel ALL = (ALL) ALL               
系统里所有 wheel 群组的用户都可用 sudo : [, o, y5 P) g/ q+ /- y
           %wheel ALL = (ALL) NOPASSWD: ALL     wheel
群组所有用户都不用密码 NOPASSWD 2 ^1 p5 o' o, r- F
       User_Alias ADMPW = vbird, dmtsai, vbird1, vbird3         
加入 ADMPW
" i- X' t$ R6 c        ADMPW ALL = NOPASSWD: !/usr/bin/passwd, /usr/bin/passwd [A-Za-z]*, /
) x! Q7 z+ V: X
       !/usr/bin/passwd root      
可以更改使用者密码 , 但不能更改 root 密码 ( 在指令前面加入 ! 代表不可 ) / a' L' D1 u7 [8 X) J6 X
PAM (Pluggable Authentication Modules,
嵌入式模組 )
) r5 D; H3 x0 S( V4 Y+ }% v who & w     
看谁在线                       , F1 c5 H9 ^4 J& j. I
last        
最近登陆主机的信息
2 {7 v; X* ~' y% e3 _7 Q3 M, q3 ~ lastlog     
最近登入的時間     读取 /var/log/lastlog ' Y5 T: N) n. j2 /  @3 t) U
talk        
与其他用户交谈 3 w7 |$ _/ T# Z3 {1 P0 h
write      
发送信息     write test   [ctrl]+d 发送 % V! Y/ J2 ~) O* B
mesg        
设置终端机的写入权限     mesg n 禁止接收      mesg y : M, u2 k& p# M+ c+ f
wall        
向所有用户发送信息     wall this is q test
% s1 Y* Y2 Z) V, y mail        
mail   
, z) X( |8 {# |2 j) q: a- ? /etc/default/useradd   
家目录默认设置 - r5 Y5 e0 m  /& E$ @6 i5 o
quota      
显示磁盘已使用的空间与限制      quota -guvs -----> 秀出目前 root 自己的 quota 限制值
/ @  v1 v- g2 Y8 L! |            quota -vu   
查询
- P8 M$ a, [3 d2 k quotacheck   
检查磁盘的使用空间与限制      quotacheck -avug  -----> 將所有的在 /etc/mtab 內,含有 quota 支援的 partition 進行掃瞄 / g# s' p; E' J1 l4 L
             [-m]
强制扫描    0 N9 E3 V% j2 @  B; ?
     quota
一定要是独立的分区 , 要有 quota.user quota.group 两件文件 , /etc/fstab 添加一句 : $ h/ /  X. G1 p3 c
     /dev/hda3 /home ext3 defaults,usrquota,grpquota 1 2
9 Z9 ~$ B9 ?5 r" x/ X& ^
     chmod 600 quota*         
设置完成 , 重启生效 6 R4 J$ M+ H' w% S, F
edquota   
编辑用户或群组的 quota   用户 ,[g] 群组 ,[p] 复制 ,[t] 设置宽限期限
  h* D. /8 p: Y1 u            edquota -a yang       edquota -p yang -u young ----->
复制    
" X2 /: c6 a& H quotaon   
开启磁盘空间限制      quotaon -auvg --------> 啟動所有的具有 quota filesystem
0 r$ z$ F( ]$ b0 ?/ e- }0 { quotaoff   
关闭磁盘空间限制      quotaoff -a  --------> 關閉了 quota 的限制
4 @' N$ y+ X0 o0 u* o6 d repquota -av     
查閱系統內所有的具有 quota filesystem 的限值狀態
! Q1 l& J0 b# L3 q$ d7 Z( O1 k  |2 t Quota
從開始準備 filesystem 的支援到整個設定結束的主要的步驟大概是: $ u/ j% h- _9 F* ?' `$ ]1 M$ X
1
、設定 partition filesystem 支援 quota 參數:
# k  H$ A0 R9 I, m# m+ w9 i; |
由於 quota 必須要讓 partition 上面的 filesystem 支援才行,一般來說, 支援度最好的是 ext2/ext3
' v  A( [* ^5 F: X1 @: {
其他的 filesystem 類型鳥哥我是沒有試過啦! 啟動 filesystem 支援 quota 最簡單就是編輯 /etc/fstab
4 ]! C" |2 g/ D6 ^9 j5 F( o- w
使得準備要開放的 quota 磁碟可以支援 quota 囉; ! _+ r+ i) L+ c( U, w/ @4 u+ J) u1 h
2
、建立 quota 記錄檔:
3 |, `7 o; B) N1 v2 G7 ?
剛剛前面講過,整個 quota 進行磁碟限制值記錄的檔案是 aquota.user/aquota.group + i, k# }. L0 U
要建立這兩個檔案就必須要先利用 quotacheck 掃瞄才行喔!
# R" C% b, h) @4 j# T  g/ o 3
、編輯 quota 限制值資料: ( h0 h- k- G7 O- N4 S4 _
再來就是使用 edquota 來編輯每個使用者或群組的可使用空間囉; 8 @) f1 /2 W; C5 i& V* W* N
4
、重新掃瞄與啟動 quota $ m# ^* c, |& Q8 {, z0 L
設定好 quota 之後,建議可以再進行一次 quotacheck ,然後再以 quotaon 來啟動吧! 4 V0 ^: f7 x# E/ S
( B) P# Y4 J1 F; n3 Z# h; ~+ b" ?
开机流程简介
# E* `' M2 a1 ^! ^ 1
、載入 BIOS 的硬體資訊,並取得第一個開機裝置的代號; ; h, L! a9 p" z& k9 L; L
2
、讀取第一個開機裝置的 MBR boot Loader ( 亦即是 lilo, grub, spfdisk 等等 ) 的開機資訊; $ K* G" _+ o# z6 I' G" H' K1 G9 }
3
、載入 Kernel 作業系統核心資訊, Kernel 開始解壓縮,並且嘗試驅動所有硬體裝置; 9 N7 F* z: M$ F" q3 m
4
Kernel 執行 init 程式並取得 run-level 資訊; ! ]# a! F& @3 }/ u: [. @
5
init 執行 /etc/rc.d/rc.sysinit 檔案;
- X  X5 o* /1 t  o  C 6
、啟動核心的外掛模組 (/etc/modprobe.conf)
7 w, M5 i8 ~+ [5 ?0 Z4 Z  @ 7
init 執行 run-level 的各個批次檔 ( Scripts ) 7 B; h# `$ F3 t# V5 J3 C! S
8
init 執行 /etc/rc.d/rc.local 檔案;
; J" q$ D) D  w6 c+ /6 R# s 9
、執行 /bin/login 程式,並等待使用者登入;
4 N: f* v  Z% g* d& P( m- K! h% {! o# r  K 10
、登入之後開始以 Shell 控管主機。 5 J5 U( X. {# w8 i  l& a
/etc/rc.d/rc3.d , S 开头的为开机启动 , K 开头的为关闭 , 接着的数字代表执行顺序
" [; l5 h* R. l# k9 j/ n" T- | GRUB vga
设定
/ y4 r+ X4 B% w& r
彩度 / 解析度   640x480  800x600  1024x768  1280x1024   bit ) H* {9 E! I, {/ l6 I$ b& A3 G1 _, o
    256        769      771      773       775      8 bit
) o, P" `- ?1 }4 [) _% [    32768       784      787      790       793     15 bit
' C+ n) ^# ^5 A$ l    65536       785      788      791       794     16 bit
1 q! `% X& Q* F
   16.8M       786      789      792       795     32 bit
6 V; J" `: _: g+ Q8 N6 O
/ T0 a3 Q. l: w; k* f# Q0 C6 K
./configure   
检查系统信息        ./configure --help | more   帮助信息
* G6 I+ f! ~  ]" h  a5 u  z! B make clean     
清除之前留下的文件 . i9 t' j( c; w+ k
make           
编译
$ q  X5 t" G6 R; N9 a) D8 t make install   
安装 , K0 j# G4 x1 K% W$ M  H! A. S) ]
rpm -q  ----->
查询是否安装              rpm -ql ------> 查询该套件所有的目录 7 d3 Z  `' q: o4 O- Q
rpm -qi ----->
查询套件的说明资料        rpm -qc[d] -----> 设定档与说明档 - g2 a' l7 V9 T
rpm -ivh  ---->
安装                     rpm -V  --------> 查看套件有否更动过
) G1 e7 p2 W+ |$ t& z* [ rpm -e  ------>
删除                     rpm -Uvh -------> 升级安装    / s$ /, s  l$ L
--nodeps ----->
强行安装                 --test -----> 测试安装

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值