linux基础学习笔记——操作大全

作者:liaoyi

更新时间:2014-6-2

****************基本操作*****************

关机
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文件系统检查修复。

注销
logout    
ctrl+alt+backspace

切换用户
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) 控制台转换(不同用户)

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

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

一、文件系统支持
在mount的时候增加quota支持权限,usrquota,grpquota
mount -o
remount,usrquota,grpquota /home
用mount,  cat /proc/mounts/,  cat
/etc/mtab,  cat /etc/fstab查看

二、建立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  扫描指定文件系统。

三、启动quota服务
quotaon -avug 
只在第一次启动quota时进行,重启时/etc/rc.d/rc.sysinit或rc.local有启动脚本。
quotaon -vgu /home

四、关闭quota服务
quotaoff -avug
quotaoff -vug /home

五、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

六、显示 quota报表
1.根据用户群组名查看。
 quota -uvs myquota1
myquota2
 quota -gvs myquotagrp
2.repquota -avugs
查看所有用户,群组的quota报表。

七、对超出限额者发出警告
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  离线状态下发邮件

****************网络配置*****************

一、网卡配置
/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 网关

二、主机名配置:
/etc/sysconfig/network
 NETWORKING=yes
 HOSTNAME=localhost.localdomain
/etc/hosts 
私有IP对应的主机名,局域网内使用
hostname 主机名

ping 主机名,显示主机名为修改过的后必须重启reboot。

三、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
 1、
设置ip:         setup

     重启eth0    /etc/rc.d/init.d/network
restart 
       或者service network
restart
 关闭防火墙  1.setup->firewall
diabled(永久)
        2.service iptables
stop
 2、 配置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默认设置
[[email protected] ~]# 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
登陆

linux基础学习笔记——操作大全

时间: 2024-10-04 02:18:10

linux基础学习笔记——操作大全的相关文章

linux系统构建基础学习笔记——操作

linux系统构建 ********************************************************                  ---交叉编译环境构建--- 安装arm-linux-gcc-4.3.2 (交叉编译器) tar xzvf arm-linux-gcc-4.3.2.tgz -C /cd /usr/local/arm/4.3.2/bin./arm-linux-gcc -v在/etc/bashrc文件的最后添加如下一行:   export PATH=

c/c++unix/linux基础学习笔记-常用命令和vi的使用

linux 基本命令的使用-命令在ubuntu下面执行,有些命令通用其他linux,有些不通用. 多条命令间用;号隔开,回车后可以一起执行. clear-前屏,pwd显示当前目录,cd跳转目录. sudo [命令]  -ubuntu 下以管理员身份运行命令. 一般情况下,运行当前目录下的程序,要用 ./文件名 执行. 查看当前shell名称:ps 进入另外一个shell,直接输入shell名称:ksh/tcsh/sh/bash,退出一个shell用:exit. 切换shell命令,如:exec

一篇文章带你入门Linux——马哥Linux基础学习笔记

1.课程体系: 中级: 初级:系统基础 中级:系统管理.服务安全及服务管理.Shell脚本: 高级: MySQL数据库: cache & storage 集群: Cluster lb: 4layer 7layer ha: 分布式: zookeeper 分布式文件系统 虚拟化技术: xen kvm Openstack:IAAS云: 运维工具: ansible puppet(ruby), saltstack(python) 监控工具: zabbix 大数据处理: hadoop spark, stor

linux基础学习笔记

linux 命令学习linux注意事项:1 linux严格区分大小写,windows不区分大小写,linux下所有命令都是小写的,linux系统下文件名区分大小写,windows下文件名不区分大小写. 2 linux中所有内容都是以文件形式保存,包括硬盘.如果没有写到文件中,写到内存中,那么重启后则失效.操作硬件时都是针对文件名操作. 3 linux不靠扩展名区分文件类型.靠文件权限区分文件.但操作时往往加上一些特定的“扩展名”来帮助管理员更好的识别文件,linux并不要求加上扩展名. 4 li

Linux基础学习笔记-第五课:文件权限

Linux Linux下一切皆文件,每个文件权限都有属主.属组.其他三个身份,每个身份都有read.write.excute设定 账号配置文件:/etc/passwd 密码配置文件:/etc/shadow 组配置文件: /etc/group 修改系统默认语言:/etc/sysconfig/i18n修改文件属性及权限: chgrp:修改属组 chown:修改属主 chmod:修改权限 权限对于 文件: r:可读取文件实际内容,如文本文件的文字内容 w:可编辑.新增.修改文件的内容,但不包含删除该文

Linux基础学习笔记-第三课:快捷键、终端、帮助

重启Xwindows:ALT+CTRL+BACKSPACE 终端间切换:Ctrl+Alt+F1~F6 tty1-6, F7为Xwindows Root提示符:#  普通用户:$ 环境变量的语系:$LANG, $LANG=en_US man中代号意义:man # command  ,man的配置文档在/etc/man.config,文档在/usr/share/man下 1: 用户在SHELL环境中可以操作的指令或可执行文件 2: 系统核心可以调用的函数与工具 3: 一些常用的函数与函数库 4: 设

Linux基础学习笔记-第二课:磁盘相关

MBR(Master Boot Record):用于安装开机程序,如GRUB,大小446字节 分区表(partion table):记录整块磁盘的分区信息,大小64字节 Linux中:1-4为主分区或扩展分区用,IDE 5-63共59个.SATA 5-15共11个逻辑分区可用 开机流程:BIOS--MBR(含boot loader)--boot loader读取核心--核心接管 boot loader功能: 提供选单:选择不同的开机项目 载入核心:直接指向可开机的程序分区来引导操作系统 转交其他

Linux基础学习笔记-第一课:杂项

Linux核心版本: a. x.x.x.-xx.xxx:主版本.次版本.释出版本-修改版本 b. 主次版本为奇数,为发展中版本,开发版,稳定性待测试: c. 主次版本为偶数,稳定版本 d. 要注意,redhat.centos等等是发行版本(distribution),其版本号并非Linux核心版本号. e. 核心网站:www.kernel.org f. Linux是什么?就是核心+ 应用程序组成的unix like操作系统 g. LSB(Linux Standard Base):www.linu

Linux基础学习笔记-第四课:NANO、开关机

nano: 调出帮助:F1或者Ctrl+G ^代表Ctrl,M代表Alt 关机:应有的步骤 检查系统使用状态: who :检查在线用户 netstat -a:检查网络连接 ps -aux :检查后台程序执行情况 通知在线用户关机时间:shutdown命令 数据写入硬盘:sync 关机或重启:shutdown / restart / halt / poweroff / init 0 shutdown -h now :立即关机 shutdown -h 20:25 : 20:25分关机 shutdow