美文网首页
BigData-Linux最佳操作(二)苏暖人

BigData-Linux最佳操作(二)苏暖人

作者: 北京大数据苏焕之 | 来源:发表于2018-08-02 15:40 被阅读51次

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

    关机
    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:1JLdI8bpI$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默认设置
    [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

    相关文章

      网友评论

          本文标题:BigData-Linux最佳操作(二)苏暖人

          本文链接:https://www.haomeiwen.com/subject/kytsvftx.html