标签归档Linux

ubuntu 重开命令,ubuntu 重开网卡方法

ubuntu 重开命令,ubuntu 重开网卡方法
ubuntu 重开命令
双重开命令:
1、reboot
2、shutdown -r now 立刻还开(root用户使用)
3、shutdown -r 10 过10分钟自动还开(root用户以)
4、shutdown -r 20:35 在时空为20:35时分重新开(root用户以)
如若是经过shutdown命令设置更开的讲话,可以据此shutdown -c命令撤销重开

关机命令:
1、halt 立刻关机
2、poweroff 立刻关机
3、shutdown -h now 立刻关机(root用户用)
4、shutdown -h 10 10分钟后自动关机
要是是由此shutdown命令设置关机的讲话,可以据此shutdown -c命令撤销重开

ubuntu 重开网卡方法
查看网卡信息: ifconfig
设定一个网卡IP:ifconfig eth1 192.168.1.10 netmask 255.255.255.0
双重开网卡使设定生效:sudo /etc/init.d/networking restart
故而ubuntu的系统——>系统管理——>网络的网络设置
关门澳门新葡亰官网网卡 ifdown eth0
敞开网卡 ifup eth0
更开网卡,优点是得指定网卡,不影响外网络接口

《鸟哥的Linux私房菜》读书笔记1

1.MBR 得以说凡是整硬盘最要害的地方了,因为以 MBR
里面著录了少单重点的事物,分别是:开机管理程序,与磁盘分割表 ( partition
table )。下次记忆人家在谈话磁盘分割的上,
不要看系统真的会在硬盘上面用力、努力的划标签!实际上,他极其特别之法力就是修改
MBR 里面的 partition table 啦!
2.,一粒硬盘最多足发 4 个( Primary + Extended ) 的扇区,其中, Extended
只能发出一个, 因此,你要是要是分成四片磁盘分割的言辞,那么最多就是是可:
pppp,
pppe
3.本身 Extended 是勿能够以任何系统方面被采用的,还需要再行额外的以 Extended
分割成 Logical ( 逻辑 ) 分割才会被使用.由于硬盘在 Primary + Extended
最多可起四个,因此,在 Linux 底下,已经以 partitiontable 1 ~ 4
先留下来了,如果光所以了 2 个 P + E 的口舌,那么以见面空有个别单 partition
number呦(/dev/hda1,/dev/hda2)!所以首先独Logical 的代号由 5
号开始计算起(/dev/hda5,/dev/hda6…).
4.[Ctrl] + [Alt] + [F1] ~ [F6] :文字接口登入 tty1 ~ tty6
终端机;
[Ctrl] + [Alt] + [F7] :图形接口桌面。startx启动xwindow界面;
5.终止程序运行/终止指令运行:Ctrl+c
6.等同exit,即End of File:Ctrl+d
7.以 x 与 目录 的干相当的重中之重,
如果您当拖欠目录底下无能够实行另外命令的话,那么当为就是无法入了,因此,
请特别在意的凡,如果您想要开有目录为有些丁登吧, 请记得将拖欠目录的
x 属性给开呦!(x与文档关系虽从未有过如此样子了)
eg:drwxr-xr-x是针对性的,而drwxr–r–是怪的,即后两者x权利都尚未,就更不能够r了。
8.当 Windows 底下一个档案是否有所行之力是凭着由『 附檔名 』来判断的,
例如:.exe, .bat, .com 等等,但是当 Linux 底下,
我们的档案是否能够实施,则是藉由是否富有 x
这个特性来控制的!所以,跟档名是没有绝对的关联的!(linux文档运行程序和扩张名从未涉嫌!)
9.由于汉语无法显示在文型态的终端机上面,
所以这同一苑会化为怪怪的乱码,可以采用『ltn@ltn:~$ LANG=en ls -al
』之类的语法来显示。
10. 
. 代表时的目录,也可以用 ./ 来代表,如“ls -al ./”;
.. 代表及等同重叠目录,也得 ../ 来表示。
11.df命令,显示磁盘空间/类型/容量等,“df -hT”;
12.每当df命令的根基及,实现挂载:
先是成立挂载点,即新建文件夹,比如/mnt/E,现在以windows下的DATA(E盘)挂载到/mnt/E:
“sudo mount -t fuseblk /dev/sda6 /mnt/E”;
若果失去调动挂载:“sudo umount /mnt/E”。
(当然好“sudo umount
/dev/sda6”,不过该磁盘在其余地方为有挂载,我而免思转手在还解挂了,不过个别高居悬挂载会发问题,不建议。)
可就此mount命令观看所有挂载的信;
要是开机就活动挂载,则用改/etc/fstab文件了;(通过“cat
/etc/fstab”命令查看文件)
13.翻文件”cat -nA
filename”显示内容与行号。cat–concatenate。cat将文件全部显得,不好用。
14.more 代cat,“more filename”可以利用空格翻页,Enter下一行,/xxx
查找xxx等(n查看下单xxx),q退出more。但是more只能往下,不够利索。
15.less比more与cat都好,可用pageup,pagedown,/xxx(配合n),?xxx向上查找(配合N)。
16.非纯粹文字文件显示: od命令,“od -x”十六进制显示。
17.文档底老三单时间:
modification time (mtime):当该档案的『内容数据』变更时,就见面更新是日子!
内容数据
凭的是档案的情,而不是档案的属性喔!(ls 命令默认显示)
status time (ctime):当该档的『状态
(status)』改变时,就见面更新是时刻,举例来说, 像
是权力和性为转移了,都见面更新是时空啊~
access time (atime):当『该档的情节被取用』时,就见面更新是读取时间
(access)。
18.whereis命令只好用来程序名的摸索,而且就摸二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s);which查找命令(在path下环境变量下的吩咐)“which
-a java”.
19.locate命令用于查找文件,它比find命令的觅速度快,因为她自从数据库查找,而休硬盘查找。比较好用。
20.find,在硬盘中查找,比较缓慢了。“find /Myfile -name file1”。

《鸟哥的Linux私房菜》读书笔记2

  1. 压缩后缀与削减程序:
    *.Z compress 程序压缩的档案;
    *.bz2 bzip2 序压缩的档案;
    *.gz gzip 程序压缩的档案;
    *.tar tar 程序打包的数据,并无减少了;
    *.tar.gz tar 程序打包的档案,其中又通过 gzip 的削减。
    瞩目,压缩会替换原文件。
    2.
    zcat念博压缩文件内容,而休待解压,适用于compass/gzip压缩文件;用bzcat读取bzip2压缩文件。
  2. 打包(非压缩)tar
    “tar -cvf dir.tar dir”只由包不减;
    “tar -zcvf dir.tar.gz dir”打包并就此gzip压缩;
    “tar -zxvf
    dir.tar.gz”解压解包(先cd进入目的路径,tar.gz用绝对路径表示)
  3. vi
    “vi
    file”进入一般模式,按“:wq”(强制“:wq!”)保存并脱离;一般模式下遵循i/o/a/R进入编辑模式,按ESC退回一般模式;一般模式下以/,:?进入指令模式,。
    vi一般模式被,在脚会展示“插入”“替换”字样。
  4. vi一般模式受到之通令:之——光标移动
    0:行首;
    $:行末;
    H:屏幕首行;
    M:屏幕中;
    L:屏幕末行;
    gg:文档首行(1G);
    G:文档末行;
    <space>:右变一个字符;
    留意:前面可加常数n的授命:<space><G>和方向键等;
  5. vi一般模式遭遇的吩咐:之——查找替换:
    /word:向下搜寻;
    ?word:向上搜索;
    上述2命令用n顺序搜索,N逆向搜索;
    :n1,n2s/word1/word2/gc:在第n1及n2之间,将word1交替为word2(s),并需要确认(gc),无需确认则为(g);
    专注:以上命令可用$代替文档末行;
  6. vi一般模式面临之授命:之——复制粘帖删除:
    x,X:x向后去一个字符,X向前剔除;nx:向后删除n个字符;
    dd:删除该行;ndd:向下删除n行;d$:删除光标所在到终极一行;
    yy:复制该行;nyy:复制该行向下n行;
    p,P:p在底下粘帖;P在点粘帖;
    u:撤销动作;Ctrl+r:重开动作;
    .:重复动作;
  7. vi一般模式面临之通令:之——进入编辑:
    i,I:i当前字符处插入,I行首插入(看起挺自私,以己“I”为核心);
    a,A:a当前字符下一样新插,A行末插入(很让);
    o,O:o下一行,O上一行(特立独行的师);
    r,R:r取代一个字符,R不鸣金收兵取代字符,ESC结束;
  8. vi命令模式命令:
    :w:保存;:w!:强制保存;:w [filename]:另存;
    :q:离开;:wq:先保存再离;:q!:强制离开无保留;
    ZZ:档案修改,则保留并去;否则直接去;
    :r [filename]:将filename内容增补加过来,放在光标后面行;
    :! command:暂时执行command命令;
    :set nu:显示行号;:set nonu:不显;
  9. vi区畈选择档案馆:
    Ctrl+v,可摘区块,y进行复制所选块,d删除块。
  10. 在 DOS 使用的断行字符为 ^M$ ,我们誉为 CR 与 LF 两单记号。 而在 Linux
    底下,则是独自来 LF ($) 这个断行符号。
    可用”unix2dos [-kn] file [newfile]”和”dos2unix [-kn] file
    [newfile]”进行换;

fedora 配置使用有限

fedora 配置利用简单

fedora 16 无线网设置

fodera16凡是3.x的木本,无线网卡的教有硌不平等。
可以用如下方法安装,需要先用有线网来设置几只确保,步骤如下:

  1. 履行是令看看网卡

    lspci | grep Network

假设是Broadcom Corporation这个厂商的
相应没问题 我们继承
以下且在root下实施

  1. 行及时点儿独rpm包 它见面为公的yum添加我们得之来源

    rpm -Uvh
    http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
    rpm -Uvh
    http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm

  2. 下一场可以考虑升级以下系统 当然没有时间的话 也得不升官持续

    yum search kmod-wl

举行就无异步关键是今fedora是3.x的Linux内核了
一旦直接yum install kmod-wl是蛮的

  1. 咱随后要扣下我们的体系版本

    uname -r

然后选择刚才search到的名字被寓自己系统编号的管安装

  1. 于设置成功以后 等一会若还从来不起无线网络

可以手动加载一下令

modprobe wl

重新等等就应当会看出任务栏的纱里生无线网络了

fedora 16 Gvim 自动最大化

  1. 安装 wmctrl

    yum install wmctrl
    
  2. 在 ~/.vimrc 中多如下代码

    function Maximize_Window()
      silent !wmctrl -r :ACTIVE: -b add,maximized_vert,maximized_horz
    endfunction
    
  3. 在 ~/.bashrc 中益如下代码

    alias gvim='gvim -c "call Maximize_Window()"'
    

fedora 16 Gvim 与系统剪贴板的互操作

  1. 以gvim中之情节复制到系统的剪贴板 “+y

  2. 以系统的推贴板的情复制到gvim中 “+p

fedora 16 Gvim 选择输入法

  1. Activities->Applications->Other->Input Method Selector,
    点击弹出输入法选择器

  2. 点击 Use IBus后面的Preferences链接,弹出IBus Preferences,选择Input
    Method那个Tab

  3. 于下拉菜单里挑 +Show all input
    method,然后打中间挑选Chinese,这样就可以看到Chinese的子菜单中之中文输入法了

  4. 挑之中同样宗 “拼 Pinyin”,然后点击右侧的
    Add按钮,这样即便可以用拼音输入法参加输入法挑了,此时就是得像Windows下一样进行输入法切换了,默认是Alt+Shift进行下一个输入法的选项,两只常因此输入法的切换是和Windows下一致用Ctrl+空格,当然你可变更输入法切换的快捷键,在生IBus
    Preferences中之General中好变动这点儿独切换快捷键。

只要未能够挑输入法,请安装IBus输入法,root帐哀号下用yum安装

yum install ibus
yum install ibus-sunpinyin

fedora 16 yum卸载时拿安装时提到的管共卸载

  1. yum list yum* 列出yum的插件

  2. 在列有底插件中找到yum-plugin-remove-with-leaves.noarch这个插件

  3. 设置之插件 yum install yum-plugin-remove-with-leaves.noarch

  4. 接下来以yum -h 可以窥见差不多矣一个option

    –remove-leaves remove dependencies no longer needed by any other
    packages

  5. 动用此option就可用设置时提到的包一并去

fedora 16 root用户下运作chrome浏览器

运行/opt/google/chrome/google-chrome –user-data-dir=””

fedora 16 删除多余的水源

linux的动被,有时见面特意升级内核(或者在yum
updata时莫小心升级了基本)
这时,需要去旧的基础或者不小心升级的基业。

简易的删除方法:

  1. rpm 删除法:

    rpm -qa | grep kernel*  (查找所有linux内核版本)
    rpm -e kernel-(想要删除的版本)
    
  2. yum 删除法

    yum remove kernel-(要删除的版本)
    
  3. 手动删除
    抹/lib/modules/目录下非需之内核库文件
    删去/usr/src/kernel/目录下不待之根本源码
    剔除/boot目录下启动之主干档案禾内核映像
    反grub的配备,删除不待之基业启动列表

fedora 16 Gvim使用tags文件

采取ctags -R生成的tags文件可以让以Gvim中任意跳反函数的位置。
至于tags文件的变动与导入:

  1. ctags -R 命令执行后当当前目录生成的tags文件不可知转目录。
    要是想当大团结的目录中生成tags文件,先cd进入自己之目录,然后在ctags中指定代码的职位。
    比如: ctags -R /***/***/mycode

  2. 导入ctags文件有2个方法
    gvim启动时指定tags文件,gvim -t /path/tags
    gvim启动后,输入导入命令,:set tags=/path/tags

fedora 16 yum 只下载安装包但是免装

yum 有只插件可以确保你独自生充斥相应的rpm,但是未装。

yum install yum-plugin-downloadonly.noarch

装完毕这插件,yum会增加2单参数:

--downloadonly
--downloaddir=/path/to/dir
ex: yum install **** --downloadonly --downloaddir=/home/wangyb

fedora 18 小企鹅输入法的安装(fcitx)

第一卸载ibus输入法,在装置fcitx

yum remove ibus
yum remove imsettings imsettings-libs im-chooser
yum install fcitx
yum install fcitx-pinyin -y
yum install fcitx-sunpinyin

接下来修改 ~/.bashrc,加入以下代码:

export GTK_IM_MODULE=xim
export XMODIFIERS="@im=fcitx"
export QT_IM_MODULE=xim

以imsetting中选择默认的输入法为 fcitx

imsettings-list
imsettings-switch FCITX

:
fcitx的配置文件:~/.config/fcitx/config
sunpinyin的配备文件:~/.config/fcitx/conf/fcitx-sunpinyin.config

安装 fcitx-configtool 来配置 fcitx

yum install fcitx-configtool.x86_64

fedora 18 交换Caps Lock和 Control

xfce桌面环境下,在 ~/.bashprofile最后加入一句:

/usr/bin/setxkbmap -option "ctrl:swapcaps"

fedora 18 安装视频解码器

yum install gstreamer-plugins-bad gstreamer-ffmpeg gstreamer-plugins-ugly

fedora 18 开机自动启动 Filezilla

发段子时间,每次开机后Filezilla总是由自然启动,一直寻找不交由。
新生把session清空了随后才好,估计可能是哪次没有正常关闭Filezilla的情景下就是关机了。
xfce的场子,如下步骤清除session
[Settings] -> [Session and Startup] -> Tab[Session] ->
Button[clear saved sessions]

fedora 18 开机自动启用 Numlock 键

  1. 安装 numlockx:yum install numlockx

  2. .bashprofile 中益如下内容

    set numlock on
    if [ -x /usr/bin/numlockx ]; then
    /usr/bin/numlockx on
    fi

fedora 18 输入Default keyring

发出段时日,每次开机后首差启动 google-chrome时,总是提示输入密码 [Enter
Password for Default Keyring to Unlock]
恐怕是用户初始密码修改的故,解决方法如下:

  1. 删除 ~/.gnome2/keyrings/Default.keyring

  2. 下次登录时再唤醒输入密码的话,输入空密码即可

fedora 18 设置默认 JDK

  1. 自Oracle 官方网站下载 JDK (比如 jdk1.7.015)

  2. 解压 jdk1.7.015,并将解压后的文件夹拷贝到 /usr/lib/jvm 中

  3. alternatives –config java 只能看看fedora默认的 openjdk

  4. 安装 oracle jdk

    alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_15/bin/java 500
    alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.7.0_15/bin/jar 500
    alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_15/bin/javac 500
    
  5. alternatives –config java 能看到 2种
    jdk了,然后择第二栽刚装之jdk,如下:

    [root@localhost jvm]# alternatives –config java

    There are 2 programs which provide ‘java’.

    Selection Command

    • 1 /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
    • 2 /usr/lib/jvm/jdk1.7.0_15/bin/java

    Enter to keep the current selection[+], or type selection number:
    2

  6. 假设javac 和 jar也发出2栽的话,也像第5步那样设置一下

  7. java -version 验证默认 jdk 是否已改成

    [root@localhost jvm]# java -version
    java version “1.7.0_15”
    Java(TM) SE Runtime Environment (build 1.7.0_15-b03)
    Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)

晋升至fedora20 后,emacs启动有问题

问题:
Symbol’s function definition is void: semantic-mrub-update

化解办法:
去遗留的 *.elc 文件

cd ~/.emacs.d/emacs-plugins
find . -name '*.elc' -delete

eclipse产生 C [libsoup-2.4.so.1+0x6d9c1]错误

缓解智:
以eclipse的安排文件eclipse.ini 加上
-Dorg.eclipse.swt.browser.DefaultType=mozilla

如问题还存在尝试添加:
-Dorg.eclipse.swt.browser.XULRunnerPath=/usr/lib64/xulrunner/

其三剑客之awk

老三剑客之awk

第1章 awk简介

1.1 awk简介

  • 无异于栽名字怪的语言。
  • 模式扫描与处理。处理文本流,水流。

awk不仅仅是linux系统中之一个限令,而且是相同种编程语言,可以就此来处理数据以及转变报告。

处理的多少足以是一个要多独公文,可以是自专业输入,也得经过管道获取标准输入,awk可以

以命令行上直接编辑命令进行操作,也得以编制成awk程序来进行更加复杂的使。这里根本讲解

awk命令行的下。

效仿完本章你会了解:

  • 域(字段)与记录
  • 模式以及配合
  • 中心的awk执行进程
  • awk常用内置变量(预定义变量)
  • awk数组(工作备受于常用)

再有一对外awk用法:(这里不发介绍)

  • awk语法:循环,条件
  • awk常用函数:print
  • 向awk传递参数
  • awk引用shell变量
  • awk编程

 

1.2 awk环境简介

[root@linux-node1 ~]# cat /etc/redhat-release

CentOS release 6.6 (Final)

 

[root@linux-node1 ~]# uname -r

2.6.32-504.el6.x86_64

 

[root@linux-node1 ~]# awk –version

GNU Awk 3.1.7

 

[root@linux-node1 ~]# which awk

/bin/awk

#/bin下和/sbin下的下令区别:

/bin : commands in this dir are all system installed user commands
   系统的有命

/sbin:  commands in this dir are all system installed super user
commands  超级用户指令
系统管理命令,这里存放的凡系统管理员使用的军事管制程序 

/usr/bin: user commands for applications  后期安装的一部分软件之周转脚本

/usr/sbin: super user commands for applications  超级用户的一些管理程序

 

 

1.3 awk的格式

awk指令是由于模式,动作,或者模式以及动作之结缘成。

模式既pattern,可以接近理解成sed的模式匹配,可以由表达式组成,也可是简单单刚刚斜杠之间的正则表达式。比如NR=1,这就是是模式,可以将他懂得呢一个准。

动作即action,是由当大括哀号里的同久或多长达告词组成,语句之间因此分号隔开。如awk使用格式:

 澳门新葡亰官网 1

 

祈求1-1 awk命令行格式

awk处理的情好来专业输入(<),一个要多个公文文件要管道。

澳门新葡亰官网 2

 

祈求1-2 awk模式动作解释图

pattern既模式,也得知晓为法,也给找哪个,你寻找哪个?高矮,胖瘦,男女?都是规则,既模式。

action 既动作,可以领略啊涉嫌啥,找到人随后你要召开什么。

 

1.4 awk执行进程

在深深了解awk前,我们得掌握awk如何处理文件的。

以身作则1-1 演示文件之创建

[root@linux-node1 ~]# mkdir -p /server/files/

[root@linux-node1 ~]# head /etc/passwd > /server/files/awkfile.txt

[root@linux-node1 ~]# cat /server/files/awkfile.txt  

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

 

[root@linux-node1 ~]# awk ‘NR>=2{print $0}’
/server/files/awkfile.txt

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

 

[root@linux-node1 ~]# awk ‘NR>=2{print NR,$0}’
/server/files/awkfile.txt

2 bin:x:1:1:bin:/bin:/sbin/nologin

3 daemon:x:2:2:daemon:/sbin:/sbin/nologin

4 adm:x:3:4:adm:/var/adm:/sbin/nologin

5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

6 sync:x:5:0:sync:/sbin:/bin/sync

7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

8 halt:x:7:0:halt:/sbin:/sbin/halt

9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

10 uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

awk是通过平等履一行的拍卖文件,这条命令中隐含模式有(条件)和动作有(动作),awk将处理模式指定的行。

小结awk执行过程:

a)awk读入第一推行内容

b)判断称模式被之极(NR>=2)

l 如果匹配配默认则执行相应之动作({print
$0})

l 如果无配合原则,继续读博下一行

c))继续读博下一行

d)重复过程a-c,直到读取到最终一推行(EOF:end of file)

 

 1.5 区域及著录

名称

含义

field

域,区域,字段

record

记录,默认一整行

eg:$1,$2,$3,$NF

$0: 整行,一个记录

$ 取 引用

 

1.5.1 字段(区域)

各条记下都是由于多单字段(field)组成的,默认情况下里面的隔符是出于空白符(即空格或制表符)来分隔,并且以分隔符记录在停放变量FS中。每行记录之字段数保存在awk的放置变量NF中。

 

 

贪图1-4 awk区域分隔符

awk使用内置变量FS来记录字段分隔符的情节,可以经过BEGIN语词来改,也可以指令行上通过-F参数来转,下面通过示范来增进学习。

以身作则1-3  FS演示文件生成

[root@linux-node1 ~]# awk -F “:” ‘NR>=2&&NR<=5{print $1,$3}’
/server/files/awkfile.txt

bin 1

daemon 2

adm 3

lp 4

1.5.2记录

awk对每个要拍卖的输入数据人为都是怀有格式和结构的,而不只是同等堆积字符串。默认情况下,每一样履内容还变成同久记下,并以易行符结束。

 

² 默认情况 -一行==一个记下,每行都是一个记录。

² RS ==》 record separator 每个记录读入的时节的分隔符。

² NR==》 number of record 行号,记录之屡屡。awk当前拍卖在的,记录的累累。

² ORS==》 output record separate 输出食肉的隔符

 

awk使用内置变量来存放记录分隔符,RS表示的是输入的笔录分隔符,这个价值为堪以特定的措施修改。

前方我们谈到过的$0,awk使用$0来代表整条记录。记录分隔符\n保在RS变量中。另外awk对各一行的记录号都发一个置变量NR来保存,每处理完一长记下NR的价就会见活动+1.

脚通过演示来加强一下啊是记录,记录分隔符。

以身作则1-5 NR记录行号

[root@linux-node1 files]# awk ‘{print NR,$0}’ awkfile.txt

1 root:x:0:0:root:/root:/bin/bash

2 bin:x:1:1:bin:/bin:/sbin/nologin

3 daemon:x:2:2:daemon:/sbin:/sbin/nologin

4 adm:x:3:4:adm:/var/adm:/sbin/nologin

5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

6 sync:x:5:0:sync:/sbin:/bin/sync

7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

8 halt:x:7:0:halt:/sbin:/sbin/halt

9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

10 uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

 

演示1-6 RS记录分隔符

#因为/为分隔符记录一行

[root@linux-node1 files]# awk ‘BEGIN{RS=”/”}{print NR,$0}’
awkfile.txt

1 root:x:0:0:root:

2 root:

3 bin

4 bash

bin:x:1:1:bin:

5 bin:

6 sbin

7 nologin

daemon:x:2:2:daemon:

8 sbin:

9 sbin

10 nologin

adm:x:3:4:adm:

11 var

12 adm:

13 sbin

14 nologin

lp:x:4:7:lp:

15 var

16 spool

17 lpd:

18 sbin

19 nologin

#因:为分隔符记录一行

[root@linux-node1 files]# awk ‘BEGIN{RS=”:”}{print NR,$0}’
awkfile.txt  

1 root

2 x

3 0

4 0

5 root

6 /root

7 /bin/bash

bin

8 x

9 1

10 1

11 bin

12 /bin

13 /sbin/nologin

daemon

14 x

15 2

16 2

17 daemon

18 /sbin

19 /sbin/nologin

adm

20 x

21 3

22 4

23 adm

24 /var/adm

25 /sbin/nologin

lp

26 x

27 4

28 7

29 lp

30 /var/spool/lpd

31 /sbin/nologin

awk 眼中之公文,从头到尾一截连接的字符串,恰巧中间小\n(回车换行符)

 

示例1-7 RS为空值

#RS为空值的时候以指定行输出为平推行

[root@linux-node1 files]# awk ‘BEGIN{RS=””}{print NR,$1,$2,$3}’
awkfile.txt  

 

 

说明:

当行首打印输出记录号,并打印出各个一行$0的情节

 

号案例1:计算文件中每个单词的更数量

[root@linux-node1 files]# sed -ri.bak ‘s#[:/0-9]+# #g’
awkfile.txt

1)单词将成一排(排队)

中 -o 表示“only-matching 精确匹配

[root@linux-node1 files]# egrep -o “[a-zA-z]+” awkfile.txt |sort|
uniq -c|sort -r

      5 x

      5 sbin

      4 nologin

      4 bin

      3 root

      3 adm

      2 var

      2 lp

      2 daemon

      1 spool

      1 lpd

      1 bash

2)统计

[root@linux-node1 files]# awk ‘BEGIN{RS=”() | \n”}{print $0}’
awkfile.txt|sort |uniq -c|sort -rn

      5 x

      5 sbin

      4 nologin

      4 bin

      3 root

      3 adm

      2 var

      2 lp

      2 daemon

      1 spool

      1 lpd

      1 bash

      1

 

供销社案例2: 统计文件被每个字母的重新数量

 

笔录小结:

  1. 象放冰箱分几步?打开冰箱,把大象放上,关闭冰箱门。
  2. 差不多为此NR,NF,$数字,配合而进行调试awk命令。
  3. NR存放着每个记录之哭丧(行号)读取新行时候会自动+1
  4. RS是记录之分隔符,简单了解就是是可以指定每个记录之尾声标志。
  5. (用RS替换\n)
  6. RS作用就是是象征一个记下之毕。
  7. FS标识在每个区域的结。

1.6 模式匹配

1.6.1 正则表达式

awk支持之正则表达式元字符

元字符

功能

示例

解释

^

字符串开头

/^cool/

相当有为cool开头的字符串

$

字符串结尾

/cool$/

配合有以cool结尾的字符串

.

相当任意单个字符

(包括回车符)

/c..l/

配合配字母c,然后简单独随机字符,再为l结尾的执行,比如ckk1,c@#1等

*

配合配0单或多单引字符

/a*cool/

相当配0独或多独a之后跟cool的履,比如cool,aaacool

+

重新同一不良或同一不良以上

/a+b/

匹配一个要多独a加b的实行

配合配0个或一个指路字符

/a?b/

匹配b或ab的行

[]

匹配指定字符组内的不论一个字符

/^[abc]/

配合为字母a或b或c开头的施行

[^]

匹配不以指定字符组

/^[^abc]/

 匹配不坐字母a或b或c开头的履

x{m}

x重复m次

x重复至少m次

x重复至少m次,但未超n次

待指定参数:–posix或者–re-interval

/(cool){5}

急需留意的一点凡,cool加括号还是无加括号的界别,x可以使字符串也可以单独是一个字符,所有/cool\{5\}/表示匹配coo再加上5独l,即coolllll,

^(cool\){2,\}则象征匹配coolcool,

coolcoolcool等

x{m,}

/(cool){2,}/

 

/(cool){5,6}/

正则表达式的采用,默认是当行内查找匹配的字符串,若有相当则执行action操作,但是有时单纯需要稳定的排列来配合指定的正则表达式,比如:$3这无异排查找匹配tom的施行,这样虽需要另外两个门当户对操作符:

~:用于对记录或字段的表达式进行(匹配)

!~:用于表达和~想法的意。(不般配)

#相当配 第五列以l或者a开头的保有行 ,这里(l|a) 可以变成[al]

[root@linux-node1 files]# awk ‘$3~/^(l|a)/{print $0}’ awkfile.txt

adm x adm var adm sbin nologin

lp x lp var spool lpd sbin nologin

#取eth0 ip

[root@linux-node1 files]# ifconfig eth0| awk -F “[ :]+”
‘NR==2{print $4}’

10.0.0.7

[root@linux-node1 files]# ifconfig eth0| awk -F “addr:| Bcast:”
‘NR==2{print $2}’  

10.0.0.7

[root@linux-node1 files]# echo “—–=====1#######2”

—–=====1#######2

[root@linux-node1 files]# echo “—–=====1#######2″|grep
“[-=#]”

—–=====1#######2

[root@linux-node1 files]# echo “—–=====1#######2″|grep -o
“[-=#]”

=

=

=

=

=

#

#

#

#

#

#

#

[root@linux-node1 files]# echo “—–=====1#######2″|egrep -o
“[-=#]+”

—–=====

#######

 

 

 

#匹配o出现一样潮或简单潮的行打印第一排列和最终一排列

[root@linux-node1 files]# awk –posix ‘$1~/o{1,2}/{print NR,$1,$NF}’
awkfile.txt

1 root bash

3 daemon nologin

1.6.2较表达式

示例1-18

[root@linux-node1 files]# awk ‘NR>=2&&NR<=5{print NR,$0}’
awkfile.txt

2 bin x bin bin sbin nologin

3 daemon x daemon sbin sbin nologin

4 adm x adm var adm sbin nologin

5 lp x lp var spool lpd sbin nologin

1.6.3限量模式

awk ‘/start pos/,/end pos/{print $0} ‘ test.txt

awk ‘/start pos/,NR==XXX{print $0}’ passwd.oldboy

界定模式之下,范围条件的下,表达式必须配合一行,

[root@linux-node1 files]# awk ‘NR==2,NR==5{print NR,$1,$3}’
awkfile.txt

2 bin bin

3 daemon daemon

4 adm adm

5 lp lp

[root@linux-node1 files]# awk ‘NR==2,NR==5{print NR,$0}’ awkfile.txt
     

2 bin x bin bin sbin nologin

3 daemon x daemon sbin sbin nologin

4 adm x adm var adm sbin nologin

5 lp x lp var spool lpd sbin nologin

[root@linux-node1 files]# awk ‘NR==2,NR<=5{print NR,$0}’
awkfile.txt  

2 bin x bin bin sbin nologin

1.6.4店家案例:取出常用服务端口号

ftp http https mysql ssh 端口号
/etc/services 文件

[root@linux-node1 files]# awk -F “[ /]+”
‘$1~/ftp|https|mysql|ssh)$/{print $1,$2}’ /etc/services|uniq

小结:

  1. 模式===》条件
  2. 正则表达式
  3. 法表达式(NR>=2
    NR==2)
  4. 克表达式
  5. (NR==2,NR==5)
  6. /正则表达式-开始/,/正则结束/
  7. $1~/正则表达式-开始/,$3~/正则结束/ 行,记录。
  8. 区域:FS刀分隔的,FS区域分隔符
  9. 笔录:RS刀分隔的,RS记录分隔符
  10. FS===>NF 区域之数据
  11. RS===>NR 记录号,随着记录的增多NR自动+1

 

1.7 awk构造的追忆

1.7.1 BEGIN模块

BEGIN模式之前我们来以演示中干,自定义变量,给内容变量赋值等,都是故了。需要留意的凡BEGIN模式后要属跟一个action操作块,包含在大括号内。awk必须在针对输入文件进行其他处理前先行实施BEGIN定义之action操作块。我们可免苟任何输入文件,就可以针对BEGIN模块进行测试,因为awk需要先实行完BEGIN模式,菜对输入文件举行处理。BEGIN模式时被用来改内置变量ORS,RS,FS,OFS等之价。

示例1-25

[root@linux-node1 files]# awk ‘BEGIN{print “this is begin!\nand
thiscommand donnot have file”}’

this is begin!

and thiscommand donnot have file

说明:

莫公文awk依旧可以处理BEGIN模式下的操作块。

1.7.2 END模块

END 于awk读博了所有的公文的当儿

awk编程思想:

1.先处理,最后又END模块输出。

及BEGIN模式相对于的END模式,格式一样,但是END模式仅以awk处理完所有输入行后才进行拍卖。并且于END模式下awk不兼容任何输入行。

1.7.3 总结awk执行进程

1.读入一行

2.判定是否是用之行 条件$3>15 满足超过15 执行action :print

3.休满足条件重复1,2手续

1.7.4 企业案例3:统计文件里的空行数量

[root@linux-node1 files]# grep -c “^$” /etc/services

16

[root@linux-node1 files]# awk ‘/^$/{a=a+1;print a}’ /etc/services  

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

[root@linux-node1 files]# awk ‘/^$/{a=a+1}END{print a}’ /etc/services
            

16

 

 head -20 /etc/passwd >awkfile2.txt

面试题:awkfile2.txt 里面 以:为分隔符,区域3不胜让15履行,一共来小个?

[root@linux-node1 files]# awk -F “:” ‘$3>15{print $0}’
awkfile2.txt   

nobody:x:99:99:Nobody:/:/sbin/nologin

dbus:x:81:81:System message bus:/:/sbin/nologin

usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin

vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin

rpc:x:32:32:Rpcbind Daemon:/var/cache/rpcbind:/sbin/nologin

rtkit:x:499:497:RealtimeKit:/proc:/sbin/nologin

#计量同一不行,输出一不行

[root@linux-node1 files]# awk -F “:” ‘$3>15{a=a+1;print a}’
awkfile2.txt           

1

2

3

4

5

6

#处理终结文件之后更输出a   这里a=a+1 可以为此a++代替

[root@linux-node1 files]# awk -F “:” ‘$3>15{a=a+1;}END{print a}’
awkfile2.txt        

6

店家面试题5:1+…..+100 1加以到100的价值,用awk实现

root@linux-node1 files]# seq 100 > test.txt  

[root@linux-node1 files]# cat test.txt |awk ‘{a+=$0}END{print a}’

5050

[[root@linux-node1 files]# awk ‘a=a+$0;END{print a}’ test.txt |sed
-n ‘$p’

5050

1.7.4 企业案例4:

寻有环境变量$PATH中,所有只来三只随机字符的命,例如tee,并以他们重定向到command.txt中,要求一行显示1个,并以文件尾统计他们的单数.

 

[root@linux-node1 files]# find $(echo $PATH|tr “:” ” “) -type f -name
“???”| awk ‘{a++}END{print “result:”a}’

find: `/root/bin’: No such file or directory

result:75

通配符:用来配合文件称的。{}字符序列

正要则发挥:字符串

1.7.5 总结awk执行过程

 

[root@linux-node1 files]# awk -F “:” ‘BEGIN{print FS}’        

:

先执行命令再履行BEGIN模块

 

 

思想:

  1. awk核心思想就是现处理,然后END模块输出。(累加(a++;a+=$0),awk数组)
  2. BEGIN模块用于awk内置变量FS,RS的赋值,打印标题头的音信,(excel表格里面标题行)
  3. END模块用来最后输出,统计信息,awk数组信息。
  4. 区域,记录

 

  1. BEGIN和END模块只能发出一个。不可知BEGIN{}BEGIN{}或者END{}END{}
  2. 招来哪个干啥模块,可以是基本上独。

NR=2{print $1}NR=5{print $0}

1.8awk内置变量(预定义变量)

 

变量名

属性

$0

当前记录

$1-$n

当前记录的第n个字段,字段间由FS分隔

FS

输入字段分隔符 默认是空格

NF

当前记录中的字段个数。就是有多少列

NR

已经读出的记录数,就是行号,从1开始

RS

输入的记录分隔符默认为换行符

OFS

输出字段分隔符 默认也是空格

ORS

输出的记录分隔符,默认为

FNR

当前文件的读入记录号

1.9 awk数组

示范1-9勤组演示

array[b]=”aaa”:array…..

 

 

1.9.1商家面试题1

 

处理以下文件内容,将域名取出并因域名进行计数排序处理(去重):(百度和sohu面试题)

[root@linux-node1 files]# cat awkfile3.txt

http://www.etiantian.org/index.html

http://www.etiantian.org/1.html

http://post.etiantian.org/index.html

http://mp3.etiantian.org/index.html

http://www.etiantian.org/3.html

http://post.etiantian.org/2.html

 

[root@linux-node1 files]# awk -F “/” ‘{array[$3]++}END{for(key in
array) print key,array[key]}’ awkfile3.txt

mp3.etiantian.org 1

post.etiantian.org 2

www.etiantian.org 3

 

[root@linux-node1 files]# awk -F “/+” ‘{array[$2]++}END{for(key in
array)print key,array[key]}’  awkfile3.txt

mp3.etiantian.org 1

post.etiantian.org 2

www.etiantian.org 3

小结:

 

  1. awk数组去再
  2. 选择好分隔符 -F “/”
  3. 选好处理的区域,print
    $1,$3,$2
  4. array[$3]++
  5. 优先处理,最后END模块输出
  6. 出口awk数组我们下for(key in array)
  7. ===>for ()循环
  8. key in array 手去框里,抓苹果。
  9. key 就是苹果名字(数组元素的名)
  10. array数组名(框的讳)
  11. 打印输出print
    key,array[key]

 

1.9.2 企业案例2统计每个IP的访问量

access_awk.log

 

1.10 awk有关英语总结

名称

含义

filed

域,区域,字段

record

记录,默认一整行

Filed Separator

FS:区域分隔符,表示一个区域的结束,字段,域

Number of Filed

NF:每一个记录中区域的数量

Record Separator

RS:记录分隔符,表示每个记录的结束

output filed separator

OFS

output Record Separator

ORS

awk当前处理的文件的记录号

FNR

[root@linux-node1 files]# seq 20 30 >20-30.txt

[root@linux-node1 files]# seq 50 60 >50-60.txt

[root@linux-node1 files]# awk ‘{print FNR,NR,$0}’ 20-30.txt 50-60.txt

1 1 20

2 2 21

3 3 22

4 4 23

5 5 24

6 6 25

7 7 26

8 8 27

9 9 28

10 10 29

11 11 30

1 12 50

2 13 51

3 14 52

4 15 53

5 16 54

6 17 55

7 18 56

8 19 57

9 20 58

10 21 59

11 22 60

第2章awk总结:

2.1.寻找哪个干啥模块

 澳门新葡亰官网 3

澳门新葡亰官网 4

 

 

 

 

 

 

 

 

2.2awk执行过程-完全

 澳门新葡亰官网 5

 

BEGIN模块输出一些提示性文字。awk内置变量FS,RS,ORS,OFS。

END 模块输出一些提示性文字,显示最后的结果,计算空行,awk数组,去苹果之过程将苹果来得处理。

awk里面的一般性变量不用初始化。

awk先处理,一行一行的处理,然后END模块输出。

  1. 处与记录

FS指定各种各样的刀(正则表示),RS正则发挥

 

  1. 模式匹配===》条件 如何寻找人。

正则表达式

^字符串开头

$字符串结尾

$3~/^http$/

–posix或 –re-interval

r{n,m}

相当精确,模糊

NR==1

NR>=2

模式默认匹配 一行$0

$3~/^r/

awk ‘$3~/[4-6]/{print $0}’ passwd.txt

限匹配

NR=2,NR=5   ==>2,5p

/start 位置/,/结束位置/

 

  1. 撞正则表达式/ /
  2. $3~/reg/
  3. > = <
  4. NR==2,NR=5 /start位置/,/结束位置/

 

  1. awk数组

数组 ==>元素

一个筐==》苹果

澳门新葡亰官网 6

澳门新葡亰官网 7

澳门新葡亰官网 8

 

 

 

题材来:

http://edu.51cto.com/course/course\_id-4319.html

 

3. 考试题

试书1:处理以下文件内容,将域名取出并基于域名进行计数排序处理:(百度和sohu面试题)

oldboy.log

http://www.etiantian.org/index.html

http://www.etiantian.org/1.html

http://post.etiantian.org/index.html

http://mp3.etiantian.org/index.html

http://www.etiantian.org/3.html

http://post.etiantian.org/2.html

答案 (4种)

#这里的

root@linux-node1 files]# awk -F “/” ‘{array[$3]++}END{for(key in
array) print key,array[key]}’ awkfile3.txt

[root@linux-node1 files]# awk -F “/+” ‘{array[$2]++}END{for(key in
array)print key,array[key]}’  awkfile3.txt

[root@linux-node1 files]#  cut -d / -f3 awkfile3.txt|sort|uniq
-c|sort -nrk2

[root@linux-node1 files]#  sort -t / -rk3 awkfile3.txt|awk -F /
‘{print $3}’|uniq -c

 

考查题2:统计公司工作受到强并发web服务器不同网络连接状态对应之数

[root@linux-node1 files]# netstat -ant|awk
‘NR>=3{array[$6]++}END{for(key in array)print key,array[key]}’
             

TIME_WAIT 134

SYN_SENT 1

ESTABLISHED 5

LISTEN 10

 

[root@linux-node1 files]# netstat -ant|awk ‘{print $6}’|uniq -c|sort
-nr

    138 TIME_WAIT

      7 LISTEN

      5 ESTABLISHED

      3 LISTEN

      1 Foreign

      1 established)

试书3.分析图片服务日志,把日记(每个图片看次数*图片大小的总和)排行,取top10,也便是计量每个url的究竟看大小【附加题:加分题】。

征:本题生产环境下:这个职能可以用于IDC网站流量带富很高,然后通过分析服务器日志哪些因素占用流量过那个,进而开展优化还是淘汰剪该图片,压缩js等方式。

主题需要输出三单指标: 【访问次数】  
 【访问次数*单个文件大小】   【文件称(可以拉动URL)】

测试数据

59.33.26.105 – – [08/Dec/2010:15:43:56 +0800] “GET
/staticphotos/2.jpg HTTP/1.1” 200 11299
“http://oldboy.blog.51cto.com/static/web/column/17/index.shtml?courseId=43”
“Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR
2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)”

59.33.26.105 – – [08/Dec/2010:15:43:56 +0800] “GET
/staticphotos/2.jpg HTTP/1.1” 200 11299
“http://oldboy.blog.51cto.com/static/web/column/17/index.shtml?courseId=43”
“Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR
2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)”

59.33.26.105 – – [08/Dec/2010:15:44:02 +0800] “GET
/static/flex/vedioLoading.swf HTTP/1.1” 200 3583
“http://oldboy.blog.51cto.com/static/flex/AdobeVideoPlayer.swf?width=590&height=328&url=/\[\[DYNAMIC\]\]/2”
“Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR
2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)”

124.115.4.18 – – [08/Dec/2010:15:44:15 +0800] “GET /?= HTTP/1.1” 200
46232 “-” “-“

124.115.4.18 – – [08/Dec/2010:15:44:25 +0800] “GET
/static/js/web_js.js HTTP/1.1” 200 4460 “-” “-“

124.115.4.18 – – [08/Dec/2010:15:44:25 +0800] “GET
/static/js/jquery.lazyload.js HTTP/1.1” 200 1627 “-” “-“

 

答案:

[root@linux-node1 files]# awk
‘BEGIN{print”URL:””\t””num:\t””total_size:”}{a[$7]++;b[$7]=$10}END{for(key
in a)print key”\t”a[key]”\t”a[key]*b[key]}’ images.log  

URL:    num:    total_size:

/?=     1       46232

/static/js/web_js.js    1       4460

/staticphotos/2.jpg     2       22598

/static/flex/vedioLoading.swf   1       3583

/static/js/jquery.lazyload.js   1       1627

明透上述问题并搞定后,你用好轻松搞定如下扩展的试开:

扩充考试开1:

4.假如今起只文件,格式如下:

a  1

b  3

c  2

d  7

b  5

a  3 

g  2

f  6

d  9

虽左边是随机字母,右边是不管三七二十一数字,要求写单底论使其出口格式为:

a  4

b  8

c  2

d  16

f  6

g  2

即将同的字母后面的数字加在一起,按字母之逐条输出。

答案:

答案

[root@linux-node1 files]# awk ‘{if(!
a[$1]++)b[++n]=$1;c[$1]+=$2}END{for(i=1;i<=n;i++)print
b[i],c[b[i]]}’ a.txt

a 4

b 8

c 2

d 16

g 2

f 6

扩张考试题2:用shell处理以下内容

1、按单词出现频率降序排序!

2、按字母出现频率降序排序!

the squid project provides a number of resources to assist users
design,implement and support squid installations. Please browse the
documentation and support sections for more infomation

1.答案

[root@linux-node1 files]# sed -r ‘s#,| #\n#g’ b.txt|awk
‘{array[$0]++}END{for(key in array) print array[key],key}’|sort -r
         

2 the

2 support

2 squid

2 and

1 users

1 to

1 sections

1 resources

1 provides

1 project

1 of

1 number

1 more

1 installations.

1 infomation

1 implement

1 for

1 documentation

1 design

1 browse

1 assist

1 a

1 Please

1

 

 

 

2.答案

[root@linux-node1 files]# sed ‘s#[a-zA-Z]#& #g’ b.txt|awk
‘BEGIN{RS=” “}{arr[$1]++}END{for(i in arr) print arr[i],i}’|sort -nr
    

25

19 s

17 e

16 o

14 t

12 n

11 r

11 i

9 a

8 u

7 p

7 d

6 m

4 l

4 c

3 f

2 q

2 h

2 b

1 w

1 v

1 j

1 g

1 P

1 .

1 ,i

 

澳门新葡亰官网H2Engine游戏服务器设计的性质管理器

娱乐服务器设计之性管理器

  游戏受角色有所的属性值很多,运营多年之玩乐,往往会来许多个成才线,每个属性都来或为N个成长线模块增减数值。举例当角色戴上铁时hp+100沾,卸下武器时HP-100点,这样加减逻辑只出同高居还比好控制,如果某天有个独特作用当被某技能攻击时,角色武器会为击落,这样尽管会并发减数值的操作不止一远在。如果逻辑处理不当,比如击落的当儿没有当的减数值,再次穿戴武器就造成属性值加了少限,也就算是玩家经常说之刷属性。这种bug对娱乐平衡性影响好非常,反响大恶劣,bug又格外不便被测试发现。本文将介绍一栽管理性之笔触,最酷限度的避免此类bug,如果起bug,也克充分好之排查。

设计思路

  刷属性bug的主导原因是有功能的模块数值加了N次,所以各个模块加的习性要于记录,加了了总得不可知再加。设计这样的数据结构。

//!各个属性对应一个总值
//!各个属性对应各个模块的分值
template<typename T>
class PropCommonMgr
{
public:
    typedef T ObjType;
    typedef int64_t (*functorGet)(ObjType);
    typedef void (*functorSet)(ObjType, int64_t);
    struct PropGetterSetter
    {
        PropGetterSetter():fGet(NULL), fSet(NULL){}        
        functorGet fGet;
        functorSet fSet;
        std::map<std::string, int64_t> moduleRecord;
    };
    void regGetterSetter(const std::string& strName, functorGet fGet, functorSet fSet){
        PropGetterSetter info;
        info.fGet = fGet;
        info.fSet = fSet;
        propName2GetterSetter[strName] = info;
    }
  public:
      std::map<std::string, PropGetterSetter>    propName2GetterSetter;
  };
  1. 有关数据结构的get和set,我们吧每个属性命名一个名,这样处理数量的下会死便于(比如道具配增加性能等等),角色属性有过多种植,这里不克挨个定义,所以属性管理器只是映射属性,并无创造属性值。通过regGetterSetter接口,注册get和set的操作映射。为什么非需要提供add和sub接口能,因为add和sub可以通过get和set组合实现。get和set的接口实现如下:

    int64_t get(ObjType obj, const std::string& strName) {

        typename std::map<std::string, PropGetterSetter>::iterator it = propName2GetterSetter.find(strName);
        if (it != propName2GetterSetter.end() && it->second.fGet){
            return it->second.fGet(obj);
        }
        return 0;
    }
    bool set(ObjType obj, const std::string& strName, int64_t v) {
        typename std::map<std::string, PropGetterSetter>::iterator it = propName2GetterSetter.find(strName);
        if (it != propName2GetterSetter.end() && it->second.fSet){
            it->second.fSet(obj, v);
            return true;
        }
        return false;
    }
    
  2. 至于add和sub,前面提到如果避免刷属性,就务须避免重复加属性。所以每个模块再加属性前须检查一下是否该模块已加了性,如果加了得要是先期减后加。因为每次模块加属性都记录在性管理器中,那么减掉的数值肯定是毋庸置疑的。这样好避另外一栽常见bug,如加了100,减的时节计算错误减了80,也会见积少成多招刷属性。add和sub的代码如下:

    int64_t addByModule(ObjType obj, const std::string& strName, const std::string& moduleName, int64_t v) {

        typename std::map<std::string, PropGetterSetter>::iterator it = propName2GetterSetter.find(strName);
        if (it != propName2GetterSetter.end() && it->second.fGet && it->second.fSet){
            int64_t ret =it->second.fGet(obj);
            std::map<std::string, int64_t>::iterator itMod = it->second.moduleRecord.find(moduleName);
            if (itMod != it->second.moduleRecord.end()){
                ret -= itMod->second;
                itMod->second = v;
            }
            else{
                it->second.moduleRecord[moduleName] = v;
            }
            ret += v;
            it->second.fSet(obj, ret);
            return ret;
        }
        return 0;
    }
    int64_t subByModule(ObjType obj, const std::string& strName, const std::string& moduleName) {
        typename std::map<std::string, PropGetterSetter>::iterator it = propName2GetterSetter.find(strName);
        if (it != propName2GetterSetter.end() && it->second.fGet && it->second.fSet){
            int64_t ret =it->second.fGet(obj);
            std::map<std::string, int64_t>::iterator itMod = it->second.moduleRecord.find(moduleName);
            if (itMod == it->second.moduleRecord.end()){
                return ret;
            }
            ret -= itMod->second;
            it->second.moduleRecord.erase(itMod);
            it->second.fSet(obj, ret);
            return ret;
        }
        return 0;
    }
    int64_t getByModule(ObjType obj, const std::string& strName, const std::string& moduleName) {
        typename std::map<std::string, PropGetterSetter>::iterator it = propName2GetterSetter.find(strName);
        if (it != propName2GetterSetter.end() && it->second.fGet && it->second.fSet){
            int64_t ret =it->second.fGet(obj);
            std::map<std::string, int64_t>::iterator itMod = it->second.moduleRecord.find(moduleName);
            if (itMod != it->second.moduleRecord.end()){
                return itMod->second;
            }
        }
        return 0;
    }
    std::map<std::string, int64_t> getAllModule(ObjType obj, const std::string& strName) {
        std::map<std::string, int64_t> ret;
        typename std::map<std::string, PropGetterSetter>::iterator it = propName2GetterSetter.find(strName);
        if (it != propName2GetterSetter.end() && it->second.fGet && it->second.fSet){
            ret = it->second.moduleRecord;
        }
        return ret;
    }
    

  如达到代码所示,addByModule和subByModule必须提供模块名,比如通过装备的下加血量:addByModule(‘HP’,
‘Weapon’, 100),而下武器的时候如果subByModule(‘HP’,
‘Weapon’),因为性管理器知道减多少。

总结

  1. 属性提供一个名映射出好多利益,比如装备配属性,buff配属性的,有名字不无关系联会特别好
  2. 供一个get和set接口的照,这样属性管理器就跟求实的对象的属性字段解耦了。即使是并存的功能模块也可合二为一这个特性管理器。
  3. 性之add和sub操作,都在性管理器中留记录,这样就出现问题,通过getByModule
    getAllModule两独接口也足帮查找问题。
  4. 性管理既合并到H2Engine中,github地址:
    https://github.com/fanchy/h2engine

Linux常用命令

系信息
arch 显示机器的处理器架构(1)
uname -m 显示机器的计算机架构(2)
uname -r 显示在以的根本版本
dmidecode -q 显示硬件系统部件 – (SMBIOS / DMI)
hdparm -i /dev/hda 罗列一个磁盘的架构特性
hdparm -tT /dev/sda 在磁盘上实行测试性读取操作
cat /proc/cpuinfo 显示CPU info的信息
cat /proc/interrupts 显示暂停
cat /proc/meminfo 校验内存以
cat /proc/swaps 显示怎么swap被运用
cat /proc/version 显示内核的本子
cat /proc/net/dev 显示网络适配器及统计
cat /proc/mounts 显示曾加载的文件系统
lspci -tv 罗列 PCI 设备
lsusb -tv 显示 USB 设备
date 显示系统日期
cal 2007 显示2007年的日历表
date 041217002007.00 设置日期及时间 – 月日时分年.秒
clock -w 将日改保存到 BIOS

 

关机 (系统的关机、重开以及登出 )
shutdown -h now 关闭系统(1)
init 0 关闭系统(2)
telinit 0 关闭系统(3)
shutdown -h hours:minutes & 按预定时间关闭系统
shutdown -c 取消按预约时关闭系统
shutdown -r now 重启(1)
reboot 重启(2)
logout 注销

 

文件及目录
cd /home 进入 ‘/ home’ 目录’
cd .. 返回上一级目录
cd ../.. 返回上有数层目录
cd 进入个人的主目录
cd ~user1 进入个体的主目录
cd – 返回上次所在的目录
pwd 显示工作路径
ls 查看目录中的文本
ls -F 查看目录中之公文
ls -l 显示文件和目录的详细资料
ls -a 显示隐藏文件
ls *[0-9]* 显示包含数字的文本称及目录名
tree 显示文件和目录由穷目录开始的树形结构(1)
lstree 显示文件和目录由穷目录开始的树形结构(2)
mkdir dir1 创建一个称 ‘dir1′ 的目录’
mkdir dir1 dir2 同时创造两独目录
mkdir -p /tmp/dir1/dir2 创建一个目录树
rm -f file1 删除一个号称 ‘file1′ 的文件’
rmdir dir1 删除一个称呼 ‘dir1′ 的目录’
rm -rf dir1 删除一个誉为 ‘dir1’ 的目并还要删除该情节
rm -rf dir1 dir2 同时删除两只目录及它的情
mv dir1 new_dir 重命名/移动 一个索引
cp file1 file2 复制一个文件
cp dir/* . 复制一个目下之具备文件及当前工作目录
cp -a /tmp/dir1 . 复制一个目录及当前工作目录
cp -a dir1 dir2 复制一个目
ln -s file1 lnk1 开立一个对准文件或者目录的软链接
ln file1 lnk1 创办一个针对文件或者目录的情理链接
touch -t 0712250000 file1 修改一个文书或者目录的时空戳 – (YYMMDDhhmm)
file file1 outputs the mime type of the file as text
iconv -l 列有就解的编码
iconv -f fromEncoding -t toEncoding inputFile > outputFile creates a
new from the given input file by assuming it is encoded in fromEncoding
and converting it to toEncoding.
find . -maxdepth 1 -name *.jpg -print -exec convert “{}” -resize 80×60
“thumbs/{}” \; batch resize files in the current directory and send
them to a thumbnails directory (requires convert from Imagemagick)

 

文本搜索
find / -name file1 从 ‘/’ 开始进入根文件系统搜索文件以及目录
find / -user user1 搜索属于用户 ‘user1’ 的文件与目录
find /home/user1 -name \*.bin 在目录 ‘/ home/user1′ 中追寻带有’.bin’
结尾的公文
find /usr/bin -type f -atime +100
搜索在过去100上外不吃采取过的实行文书
find /usr/bin -type f -mtime -10 搜索在10上内为创造或者涂改了之文本
find / -name \*.rpm -exec chmod 755 ‘{}’ \; 搜索以 ‘.rpm’
结尾的公文并定义其权力
find / -xdev -name \*.rpm 搜索以 ‘.rpm’
结尾的文本,忽小光驱、捷盘等可走装备
locate \*.ps 寻找以 ‘.ps’ 结尾的文书 – 先运行 ‘updatedb’ 命令
whereis halt 显示一个二进制文件、源码或man的岗位
which halt 显示一个二进制文件要可执行文件的共同体路径

 

挂载一个文件系统
mount /dev/hda2 /mnt/hda2 挂载一个称hda2的盘 – 确定目录 ‘/ mnt/hda2’
已经在
umount /dev/hda2 卸载一个称为hda2的盘 – 先由挂载点 ‘/ mnt/hda2’ 退出
fuser -km /mnt/hda2 当设备繁忙时强制卸载
umount -n /mnt/hda2 运行卸载操作而不写副 /etc/mtab 文件-
当文件呢单读或当磁盘写满时颇实惠
mount /dev/fd0 /mnt/floppy 挂载一个软盘
mount /dev/cdrom /mnt/cdrom 挂载一个cdrom或dvdrom
mount /dev/hdc /mnt/cdrecorder 挂载一个cdrw或dvdrom
mount /dev/hdb /mnt/cdrecorder 挂载一个cdrw或dvdrom
mount -o loop file.iso /mnt/cdrom 挂载一个文书要ISO镜像文件
mount -t vfat /dev/hda5 /mnt/hda5 挂载一个Windows FAT32文件系统
mount /dev/sda1 /mnt/usbdisk 挂载一个usb 捷盘或闪存设备
mount -t smbfs -o username=user,password=pass //WinClient/share
/mnt/share 挂载一个windows网络共享

 

磁盘空间
df -h 显示就挂载的分区列表
ls -lSr |more 以尺寸大小排列文件及目录
du -sh dir1 估算目录 ‘dir1′ 已经使的磁盘空间’
du -sk * | sort -rn 以容量大小也依据各个显示文件和目录的深浅
rpm -q -a –qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1n
以大小也依据各个显示就设置的rpm包所使用的空间 (fedora, redhat类系统)
dpkg-query -W -f=’${Installed-Size;10}t${Package}n’ | sort -k1,1n
以大小为根据显示都设置之deb包所使用的空间 (ubuntu, debian类系统)

返回到部索引 ^

用户与群组
groupadd group_name 创建一个新用户组
groupdel group_name 删除一个用户组
groupmod -n new_group_name old_group_name 重命名一个用户组
useradd -c “Name Surname ” -g admin -d /home/user1 -s /bin/bash user1
创建一个属 “admin” 用户组的用户
useradd user1 创建一个新用户
userdel -r user1 删除一个用户 ( ‘-r’ 排除主目录)
usermod -c “User FTP” -g system -d /ftp/user1 -s /bin/nologin user1
修改用户属性
passwd 修改口令
passwd user1 修改一个用户之口令 (只允许root执行)
chage -E 2005-12-31 user1 设置用户口令的失灵期限
pwck 检查 ‘/etc/passwd’ 的文件格式和语法修正以及有的用户
grpck 检查 ‘/etc/passwd’ 的文件格式和语法修正以及在的群组
newgrp group_name 登陆进一个初的群组以改新创建文件的预设群组

回来到部索引 ^

文件的权能 – 使用 “+” 设置权限,使用 “-” 用于取消
ls -lh 显示权限
ls /tmp | pr -T5 -W$COLUMNS 将终端划分成5栏显示
chmod ugo+rwx directory1
设置目录的保有人数(u)、群组(g)以及其他人(o)以朗诵(r
)、写(w)和实行(x)的权限
chmod go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权
chown user1 file1 改变一个文书之持有人属性
chown -R user1 directory1
改变一个索引的有着人属性并而改变改目录下所有文件的性能
chgrp group1 file1 改变文件之群组
chown user1:group1 file1 改变一个文书之拥有人以及群组属性
find / -perm -u+s 罗列一个网面临具备应用了SUID控制的文书
chmod u+s /bin/file1 设置一个二进制文件的 SUID 位 –
运行该文件的用户也被赋予与主人同的权能
chmod u-s /bin/file1 禁用一个二进制文件之 SUID位
chmod g+s /home/public 设置一个目的SGID 位 – 类似SUID
,不过这是对目录的
chmod g-s /home/public 禁用一个目录的 SGID 位
chmod o+t /home/public 设置一个文本之 STIKY 位 –
只同意合法拥有人数抹文件
chmod o-t /home/public 禁用一个目的 STIKY 位

回到到部索引 ^

文本之非常规性能 – 使用 “+” 设置权限,使用 “-” 用于取消
chattr +a file1 只允许为追加方式读写文件
chattr +c file1 允许这个文件能够于基本自动减/解压
chattr +d file1 在拓展文件系统备份时,dump程序将忽略这个文件
chattr +i file1 设置成不可变的文书,不能够被删除、修改、重命名或者链接
chattr +s file1 允许一个文件为平安地抹
chattr +S file1
一旦应用程序对斯文件实施了写操作,使系统即将修改的结果写到磁盘
chattr +u file1 若文件为删除,系统会容许你以后头恢复这个被删的文书
lsattr 显示特殊之属性

归来到部索引 ^

装进和压缩文件
bunzip2 file1.bz2 解压一个号称 ‘file1.bz2’的文件
bzip2 file1 压缩一个名叫 ‘file1’ 的文本
gunzip file1.gz 解压一个叫做 ‘file1.gz’之文书
gzip file1 压缩一个名 ‘file1’的公文
gzip -9 file1 最特别程度减少
rar a file1.rar test_file 创建一个称作 ‘file1.rar’ 底承保
rar a file1.rar file1 file2 dir1 同时压缩 ‘file1’, ‘file2’ 以及目录
‘dir1’
rar x file1.rar 解压rar包
unrar x file1.rar 解压rar包
tar -cvf archive.tar file1 创建一个非压缩的 tarball
tar -cvf archive.tar file1 file2 dir1 创建一个饱含了 ‘file1’, ‘file2’
以及 ‘dir1’的档案文件
tar -tf archive.tar 显示一个包中的始末
tar -xvf archive.tar 释放一个保证
tar -xvf archive.tar -C /tmp 将压缩包释放及 /tmp目录下
tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包
tar -xvfj archive.tar.bz2 解压一个bzip2格式的压缩包
tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包
tar -xvfz archive.tar.gz 解压一个gzip格式的压缩包
zip file1.zip file1 创建一个zip格式的压缩包
zip -r file1.zip file1 file2 dir1
将几只公文及目录同时减少成一个zip格式的压缩包
unzip file1.zip 解压一个zip格式压缩包

回来到部索引 ^

RPM 包 – (Fedora, Redhat及类似系统)
rpm -ivh package.rpm 安装一个rpm包
rpm -ivh –nodeeps package.rpm 安装一个rpm包要忽视依赖关系警告
rpm -U package.rpm 更新一个rpm包但不更改该安排文件
rpm -F package.rpm 更新一个规定就装之rpm包
rpm -e package_name.rpm 删除一个rpm包
rpm -qa 出示系统受到有曾经设置之rpm包
rpm -qa | grep httpd 出示所有名称被寓 “httpd” 字样的rpm包
rpm -qi package_name 获得一个早已设置包的独特信息
rpm -qg “System Environment/Daemons” 显示一个零部件的rpm包
rpm -ql package_name 显示一个都装的rpm包提供的公文列表
rpm -qc package_name 显示一个业已安装的rpm包提供的配备文件列表
rpm -q package_name –whatrequires 显示与一个rpm包有因关系之列表
rpm -q package_name –whatprovides 显示一个rpm包所占的体积
rpm -q package_name –scripts 显示在装/删除期间所实行的脚本l
rpm -q package_name –changelog 显示一个rpm包的改历史
rpm -qf /etc/httpd/conf/httpd.conf 确认所给的公文由哪位rpm包所提供
rpm -qp package.rpm -l 显示由一个没有安装之rpm包提供的文件列表
rpm –import /media/cdrom/RPM-GPG-KEY 导入公钥数字证书
rpm –checksig package.rpm 认可一个rpm包的完整性
rpm -qa gpg-pubkey 确认已经装的备rpm包的完整性
rpm -V package_name 检查文件尺寸、
许可、类型、所有者、群组、MD5反省以及最终修改时间
rpm -Va 检查体系受具有已设置的rpm包- 小心使用
rpm -Vp package.rpm 确认一个rpm包还无安装
rpm2cpio package.rpm | cpio –extract –make-directories *bin*
从一个rpm包运行可执行文件
rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm
从一个rpm源码安装一个构建好的承保
rpmbuild –rebuild package_name.src.rpm 于一个rpm源码构建一个 rpm 包

回来到部索引 ^

YUM 软件包升级器 – (Fedora, RedHat及类似系统)
yum install package_name 下载并安装一个rpm包
yum localinstall package_name.rpm
将设置一个rpm包,使用你协调之软件仓库为公解决有因关系
yum update package_name.rpm 更新当前系受具备安装的rpm包
yum update package_name 更新一个rpm包
yum remove package_name 删除一个rpm包
yum list 列出脚下网遭到安之备保险
yum search package_name 于rpm仓库着寻觅软件包
yum clean packages 清理rpm缓存删除下载的管教
yum clean headers 删除所有头文件
yum clean all 删除所有缓存的包和头文件

归来到部索引 ^

DEB 包 (Debian, Ubuntu 以及近似系统)
dpkg -i package.deb 安装/更新一个 deb 包
dpkg -r package_name 于网去一个 deb 包
dpkg -l 显示系统受到有所曾经设置之 deb 包
dpkg -l | grep httpd 显示有名称中隐含 “httpd” 字样的deb包
dpkg -s package_name 获得已安装在系受一个非正规包的消息
dpkg -L package_name 显示系统中已经安装之一个deb包所提供的文本列表
dpkg –contents package.deb 显示没有安装的一个包所提供的文书列表
dpkg -S /bin/ping 确认所受的文本由哪位deb包供

归来到部索引 ^

APT 软件工具 (Debian, Ubuntu 以及近似系统)
apt-get install package_name 安装/更新一个 deb 包
apt-cdrom install package_name 于光盘安装/更新一个 deb 包
apt-get update 升级列表中之软件包
apt-get upgrade 升级有曾经安装的软件
apt-get remove package_name 于网去一个deb包
apt-get check 确认因之软件仓库正确
apt-get clean 从下载的软件包被清理缓存
apt-cache search searched-package 返回包含所设摸字符串的软件包号

回来到部索引 ^

查文件内容
cat file1 从第一只字节开始正于查看文件的始末
tac file1 从最后一推行开始倒为查看一个文本之始末
more file1 查看一个抬高文件的内容
less file1 类似于 ‘more’
命令,但是其同意以文书中以及正向操作一样的反向操作
head -2 file1 查看一个文件之前头少实行
tail -2 file1 查看一个文本之末段两推行
tail -f /var/log/messages 实时翻被填补加至一个文书中的情

返回到部索引 ^

文本处理
cat file1 file2 … | command <> file1_in.txt_or_file1_out.txt
general syntax for text manipulation using PIPE, STDIN and STDOUT
cat file1 | command( sed, grep, awk, grep, etc…) > result.txt
合并一个文书之详细说明文本,并以简介写入一个初文件被
cat file1 | command( sed, grep, awk, grep, etc…) >> result.txt
合并一个文书之详尽说明文本,并将简介写入一个一度有的文件中
grep Aug /var/log/messages 于文件 ‘/var/log/messages’中搜索关键词”Aug”
grep ^Aug /var/log/messages 在文件
‘/var/log/messages’中找以”Aug”开始的词汇
grep [0-9] /var/log/messages 选择 ‘/var/log/messages’
文件被具有包含数字之实施
grep Aug -R /var/log/* 在目 ‘/var/log’
及随后的目中摸索字符串”Aug”
sed ‘s/stringa1/stringa2/g’ example.txt 将example.txt文件被之 “string1”
替换成 “string2”
sed ‘/^$/d’ example.txt 从example.txt文件被去所有空白行
sed ‘/ *#/d; /^$/d’ example.txt
从example.txt文件中剔除所有注释和空白行
echo ‘esempio’ | tr ‘[:lower:]’ ‘[:upper:]’ 合并上下单元格内容
sed -e ‘1d’ result.txt 从文件example.txt 中祛第一实践
sed -n ‘/stringa1/p’ 查看只包含词汇 “string1″的尽
sed -e ‘s/ *$//’ example.txt 删除每一行最后之空白字符
sed -e ‘s/stringa1//g’ example.txt 从文档中单单去词汇 “string1”
并保存盈余全部
sed -n ‘1,5p;5q’ example.txt 查看从第一尽及第5尽内容
sed -n ‘5p;5q’ example.txt 查看第5行
sed -e ‘s/00*/0/g’ example.txt 用么零替换多个七零八落
cat -n file1 标示文件之行数
cat example.txt | awk ‘NR%2==1’ 删除example.txt文件被的具备偶数行
echo a b c | awk ‘{print $1}’ 查看一行首先棚
echo a b c | awk ‘{print $1,$3}’ 查看一行的首先暨老三牢
paste file1 file2 合并两单文件或者少圈的情节
paste -d ‘+’ file1 file2 合并两单文本或者有限棚的情节,中间用”+”区分
sort file1 file2 排序两单文件之情节
sort file1 file2 | uniq 取出两单文件的并集(重复的履就保留一客)
sort file1 file2 | uniq -u 删除交集,留下别样的推行
sort file1 file2 | uniq -d
取出点儿个文本之交集(只留同时设有让少数只文件中之文书)
comm -1 file1 file2 比较简单个公文之始末就去 ‘file1’ 所蕴藏的内容
comm -2 file1 file2 比较单薄独公文的情才去 ‘file2’ 所涵盖的始末
comm -3 file1 file2 比较有限只公文之情节无非去两独文件共有的组成部分

回去到部索引 ^

字符设置和文件格式转换
dos2unix filedos.txt fileunix.txt
将一个文件文件之格式从MSDOS转换成为UNIX
unix2dos fileunix.txt filedos.txt
将一个文本文件的格式从UNIX转换成为MSDOS
recode ..HTML < page.txt > page.html 将一个文本文件转换成html
recode -l | more 显示有允许的变格式

回到到部索引 ^

文件系统分析
badblocks -v /dev/hda1 检查磁盘hda1达标之好磁块
fsck /dev/hda1 修复/检查hda1磁盘上linux文件系统的完整性
fsck.ext2 /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性
e2fsck /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性
e2fsck -j /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性
fsck.ext3 /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性
fsck.vfat /dev/hda1 修复/检查hda1磁盘上fat文件系统的完整性
fsck.msdos /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性
dosfsck /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性

回来到部索引 ^

初始化一个文件系统
mkfs /dev/hda1 在hda1分开区创建一个文件系统
mke2fs /dev/hda1 在hda1瓜分区创建一个linux ext2的文件系统
mke2fs -j /dev/hda1 在hda1分割区创建一个linux ext3(日志型)的文件系统
mkfs -t vfat 32 -F /dev/hda1 创建一个 FAT32 文件系统
fdformat -n /dev/fd0 格式化一个软盘
mkswap /dev/hda3 创建一个swap文件系统

回到部索引 ^

SWAP文件系统
mkswap /dev/hda3 创建一个swap文件系统
swapon /dev/hda3 启用一个新的swap文件系统
swapon /dev/hda2 /dev/hdb3 启用两单swap分区

回来到部索引 ^

备份
dump -0aj -f /tmp/home0.bak /home 制作一个 ‘/home’ 目录的圆备份
dump -1aj -f /tmp/home0.bak /home 制作一个 ‘/home’ 目录的交互式备份
restore -if /tmp/home0.bak 还原一个交互式备份
rsync -rogpav –delete /home /tmp 同步两止的目录
rsync -rogpav -e ssh –delete /home ip_address:/tmp 通过SSH通道rsync
rsync -az -e ssh –delete ip_addr:/home/public /home/local
通过ssh和削减将一个长距离目录并到本地目录
rsync -az -e ssh –delete /home/local ip_addr:/home/public
通过ssh和压缩将地方目录并到长途目录
dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr ‘dd of=hda.gz’
通过ssh在长途主机上推行同一涂鸦备份本地磁盘的操作
dd if=/dev/sda of=/tmp/file1 备卖磁盘内容及一个文件
tar -Puf backup.tar /home/user 执行同样次于针对 ‘/home/user’
目录的交互式备份操作
( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr ‘cd /home/share/ &&
tar x -p’ 通过ssh在长途目录中复制一个目内容
( tar c /home ) | ssh -C user@ip_addr ‘cd /home/backup-home && tar x
-p’ 通过ssh在长距离目录中复制一个当地目录
tar cf – . | (cd /tmp/backup ; tar xf – )
本地将一个索引复制到其他一个地方,保留原来权限和链接
find /home/user1 -name ‘*.txt’ | xargs cp -av
–target-directory=/home/backup/ –parents 从一个索引查找并复制所有坐
‘.txt’ 结尾的文件及任何一个目
find /var/log -name ‘*.log’ | tar cv –files-from=- | bzip2 >
log.tar.bz2 搜索所有以 ‘.log’ 结尾的公文并做成一个bzip包
dd if=/dev/hda of=/dev/fd0 bs=512 count=1 做一个用 MBR (Master Boot
Record)内容复制到软盘的动作
dd if=/dev/fd0 of=/dev/hda bs=512 count=1
于曾经保存到软盘的备份中还原MBR内容

返到部索引 ^

光盘
cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force
清空一个可复写的光盘内容
mkisofs /dev/cdrom > cd.iso 在磁盘上缔造一个光盘的iso镜像文件
mkisofs /dev/cdrom | gzip > cd_iso.gz
在磁盘上创立一个抽了之光盘iso镜像文件
mkisofs -J -allow-leading-dots -R -V “Label CD” -iso-level 4 -o ./cd.iso
data_cd 创建一个索引的iso镜像文件
cdrecord -v dev=/dev/cdrom cd.iso 刻录一个ISO镜像文件
gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom –
刻录一个精减了之ISO镜像文件
mount -o loop cd.iso /mnt/iso 挂载一个ISO镜像文件
cd-paranoia -B 从一个CD光盘转录音轨到 wav 文件中
cd-paranoia — “-3” 从一个CD光盘转录音轨到 wav 文件被(参数-3)
cdrecord –scanbus 扫描总线以识别scsi通道
dd if=/dev/hdc | md5sum 校验一个设备的md5sum编码,例如一摆设 CD

归来到部索引 ^

纱 – (以太网和WIFI无线)
ifconfig eth0 显示一个以太网卡的配备
ifup eth0 启用一个 ‘eth0’ 网络设施
ifdown eth0 禁用一个 ‘eth0’ 网络设施
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 控制IP地址
ifconfig eth0 promisc 设置 ‘eth0’ 成混杂模式因为嗅探数据包 (sniffing)
dhclient eth0 以dhcp模式启用 ‘eth0’
route -n show routing table
route add -net 0/0 gw IP_Gateway configura default gateway
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 configure
static route to reach network ‘192.168.0.0/16’
route del 0/0 gw IP_gateway remove static route
echo “1” > /proc/sys/net/ipv4/ip_forward activate ip routing
hostname show hostname of system
host www.example.com lookup hostname to resolve name to ip address and
viceversa(1)
nslookup www.example.com lookup hostname to resolve name to ip address
and viceversa(2)
ip link show show link status of all interfaces
mii-tool eth0 show link status of ‘eth0’
ethtool eth0 show statistics of network card ‘eth0’
netstat -tup show all active network connections and their PID
netstat -tupl show all network services listening on the system and
their PID
tcpdump tcp port 80 show all HTTP traffic
iwlist scan show wireless networks
iwconfig eth1 show configuration of a wireless network card
hostname show hostname
host www.example.com lookup hostname to resolve name to ip address and
viceversa
nslookup www.example.com lookup hostname to resolve name to ip address
and viceversa
whois www.example.com lookup on Whois database

GO TOP INDEX ^
Microsoft Windows networks (SAMBA)
nbtscan ip_addr netbios name resolution
nmblookup -A ip_addr netbios name resolution
smbclient -L ip_addr/hostname show remote shares of a windows host
smbget -Rr smb://ip_addr/share like wget can download files from a host
windows via smb
mount -t smbfs -o username=user,password=pass //WinClient/share
/mnt/share mount a windows network share

悬挂通命(mount)

先是,介绍一下挂接(mount)命令的使用方式,mount命令参数非常多,这里根本出口一下今我们而为此到的。

命格式:mount [-t vfstype] [-o options] device dir
其中:

1.-t vfstype 指定文件系统的项目,通常不必指定。mount
会自动选择是的品种。常因此色有:
光盘或光盘镜像:iso9660
DOS fat16文件系统:msdos
Windows 9x fat32文件系统:vfat
Windows NT ntfs文件系统:ntfs
Mount Windows文件网络共享:smbfs
UNIX(LINUX) 文件网络共享:nfs

2.-o options 要用来描述设备或者档案的挂接方式。常用的参数有:
loop:用来拿一个文本正是硬盘分区挂通上系统
ro:采用单独念方式挂接设备
rw:采用读写方式挂接设备
iocharset:指定访问文件系统所用字符集

3.device 要挂接(mount)的设备。

4.dir设备以网及之挂接点(mount point)。

挂通光盘镜像文件

1、从光盘制作光盘镜像文件。将光盘放入光驱,执行下的命。
#cp /dev/cdrom /home/sunky/mydisk.iso 或
#dd if=/dev/cdrom of=/home/sunky/mydisk.iso
横流:执行方的其它一样长命令还只是拿目前光驱里之光盘制作成光盘镜像文件/home/sunky/mydisk.iso

2、将文件以及目录制作成光盘镜像文件,执行下的授命。
#mkisofs -r -J -V mydisk -o /home/sunky/mydisk.iso /home/sunky/ mydir
注:这长达命令将/home/sunky/mydir目录下具有的目及文书制作成光盘镜像文件/home/sunky/mydisk.iso,光盘卷标为:mydisk

3、光盘镜像文件的挂接(mount)
#mkdir /mnt/vcdrom
注:建立一个索引用来发挂接点(mount point)
#mount -o loop -t iso9660 /home/sunky/mydisk.iso /mnt/vcdrom
流动:使用/mnt/vcdrom就可以访问盘镜像文件mydisk.iso里的兼具文件了。

挂接移动硬盘
对linux系统而言,USB接口的移动硬盘是用作SCSI设备对待的。插入移动硬盘之前,应事先用fdisk
–l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况。
[root at pldyrouter /]# fdisk -l

接好移动硬盘后,再就此fdisk –l 或 more
/proc/partitions查看系统的硬盘和硬盘分区情况.应该可以发现大多矣一个SCSI硬盘/dev/sdc和她的个别独磁盘分区/dev
/sdc1?、/dev/sdc2,其中/dev/sdc5是/dev/sdc2分开区之逻辑分区。我们可以运用下的命挂接/dev/sdc1和
/dev/sdc5。
#mkdir -p /mnt/usbhd1
#mkdir -p /mnt/usbhd2
注:建立目录用来发挂接点(mount point)
#mount -t ntfs /dev/sdc1 /mnt/usbhd1
#mount -t vfat /dev/sdc5 /mnt/usbhd2
流淌:对ntfs格式的磁盘分区应下-t ntfs
参数,对fat32格式的磁盘分区应采取-t
vfat参数。若汉字文件称示为乱码或不显得,可以应用下的命格式。
#mount -t ntfs -o iocharset=cp936 /dev/sdc1 /mnt/usbhd1
#mount -t vfat -o iocharset=cp936 /dev/sdc5 /mnt/usbhd2

linux系统下下fdisk分区命令和mkfs文件系统创建命令可以用移动硬盘的分区制作成linux系统所特有的ext2、ext3格式。这样,在linux下利用就重新便宜了。使用下的授命直接挂接即可。
#mount /dev/sdc1 /mnt/usbhd1

挂接U盘
暨USB接口的移动硬盘一样对linux系统而言U盘也是当做SCSI设备对待的。使用方法和移动硬盘完全同。插入U盘之前,应先行用fdisk
–l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况。
[root at pldyrouter root]# fdisk -l
插U盘后,再就此fdisk –l 或 more
/proc/partitions查看系统的硬盘和硬盘分区情况。
[root at pldyrouter root]# fdisk -l
系多了一个SCSI硬盘/dev/sdd和一个磁盘分区/dev/sdd1,/dev/sdd1就是我们设挂接的U盘。
#mkdir -p /mnt/usb
注:建立一个索引用来发挂接点(mount point)
#mount -t vfat /dev/sdd1 /mnt/usb
流淌:现在得以透过/mnt/usb来访问U盘了,
若汉字文件称示为乱码或未显示,可以采用下的下令。
#mount -t vfat -o iocharset=cp936 /dev/sdd1 /mnt/usb

挂接Windows文件共享
Windows网络共享的中坚是SMB/CIFS,在linux下如果挂接(mount)windows的磁盘共享,就亟须安装及用samba
软件包。现在盛行的linux发行本绝大多数一度包含了samba软件包,如果安装linux系统时不安装samba请首先安装samba。当然也足以到
www.samba.org网站下载……新的本是3.0.10版。
当windows系统共享设置好之后,就可于linux客户端挂接(mount)了,具体操作如下:
# mkdir –p /mnt/samba
横流:建立一个目用来作挂接点(mount point)
# mount -t smbfs -o username=administrator,password=pldy123
//10.140.133.23/c$ /mnt/samba
流淌:administrator 和 pldy123 是ip地址为10.140.133.23
windows计算机的一个用户称以及密码,c$是即时尊电脑的一个磁盘共享
然就可在linux系统上通过/mnt/samba来聘windows系统磁盘上之文书了。以上操作以redhat
as server 3、redflag server 4.1、suse server 9以及windows NT
4.0、windows 2000、windows xp、windows 2003条件下测试通过。

挂接UNIX系统NFS文件共享
类于windows的网络共享,UNIX(Linux)系统也发出协调的网络共享,那就是NFS(网络文件系统),下面我们就算因为SUN
Solaris2.8和REDHAT as server 3 为条例简单介绍一下于linux下怎么mount
nfs网络共享。
当linux客户端挂接(mount)NFS磁盘共享之前,必须事先配备好NFS服务端。

1、Solaris系统NFS服务端配置方式如下:
(1)修改 /etc/dfs/dfstab, 增加共享目录
share -F nfs -o rw /export/home/sunky
(2)启动nfs服务
# /etc/init.d/nfs.server start
(3)NFS服务启动后,也可采取下的授命增加新的共享
# share /export/home/sunky1
# share /export/home/sunky2
注:/export/home/sunky和/export/home/sunky1是准备共享的目录

2、linux系统NFS服务端配置方式如下:
(1)修改 /etc/exports,增加共享目录
/export/home/sunky 10.140.133.23(rw)
/export/home/sunky1 *(rw)
/export/home/sunky2 linux-client(rw)
注:/export/home/目录下的sunky、sunky1、sunky2是准备共享的目,10.140.133.23、*、
linux-client是被允许挂接此共享linux客户机的IP地址或主机名。如果只要采取主机名linux-client必须在劳动端主机
/etc/hosts文件里添linux-client主机ip定义。格式如下:
10.140.133.23 linux-client

(2)启动与住NFS服务
/etc/rc.d/init.d/portmap start (在REDHAT中PORTMAP是默认启动之)
/etc/rc.d/init.d/nfs start 启动NFS服务
/etc/rc.d/init.d/nfs stop 停止NFS服务
横流:若修改/etc/export文件增加新的共享,应先停止NFS服务,再起步NFS服务在能够而新加的共享于作用。使用命令exportfs
-rv也可以直达相同的效应。

3、linux客户端挂接(mount)其他linux系统或UNIX系统的NFS共享
# mkdir –p /mnt/nfs
横流:建立一个目用来作挂接点(mount point)
#mount -t nfs -o rw 10.140.133.9:/export/home/sunky /mnt/nfs
横流:这里我们若10.140.133.9是NFS服务端的主机IP地址,当然这里吧得使主机名,但得于本机/etc/hosts文件里增加服务端ip定义。/export/home/sunky为服务端共享的目。

这样就可以linux客户端通过/mnt/nfs来访问其它linux系统或UNIX系统以NFS方式人事档案共享出来的文书了。以上操作以
redhat as server 3、redflag server4.1、suse server 9以及Solaris
7、Solaris 8、Solaris 9 for x86&sparc环境下测试通过

补充:

linux加载光驱

(1)使用光驱前,要先期mount一下:#mount /dev/cdrom
/mnt/cdrom,然后您便得入/mnt/cdrom目录下诵读博光盘内容了;
(2)当你想退出光盘时,须使用umout命令,否则光驱就会见直接处于死锁状态:#umount
/mnt/cdrom。

澳门新葡亰网址Linux常用命令

系信息
arch 显示机器的电脑架构(1)
uname -m 显示机器的微机架构(2)
uname -r 显示着利用的根本版本
dmidecode -q 显示硬件系统部件 – (SMBIOS / DMI)
hdparm -i /dev/hda 罗列一个磁盘的架构特性
hdparm -tT /dev/sda 在磁盘上实行测试性读取操作
cat /proc/cpuinfo 显示CPU info的信息
cat /proc/interrupts 显示暂停
cat /proc/meminfo 校验内存以
cat /proc/swaps 显示怎么swap被利用
cat /proc/version 显示内核的本子
cat /proc/net/dev 显示网络适配器及统计
cat /proc/mounts 显示已经加载的文件系统
lspci -tv 罗列 PCI 设备
lsusb -tv 显示 USB 设备
date 显示系统日期
cal 2007 显示2007年底日历表
date 041217002007.00 设置日期以及时空 – 月日时分年.秒
clock -w 将日改保存及 BIOS

 

关机 (系统的关机、重开以及登出 )
shutdown -h now 关闭系统(1)
init 0 关闭系统(2)
telinit 0 关闭系统(3)
shutdown -h hours:minutes & 按预定时关闭系统
shutdown -c 取消按约定时间关闭系统
shutdown -r now 重启(1)
reboot 重启(2)
logout 注销

 

文本与目录
cd /home 进入 ‘/ home’ 目录’
cd .. 返回上一级目录
cd ../.. 返回上点儿级目录
cd 进入个人的主目录
cd ~user1 进入个体的主目录
cd – 返回上次所在的目
pwd 显示工作路径
ls 查看目录中之文书
ls -F 查看目录中的文本
ls -l 显示文件和目录的详细资料
ls -a 显示隐藏文件
ls *[0-9]* 显示包含数字之文书称及目录名
tree 显示文件和目录由穷目录开始的树形结构(1)
lstree 显示文件和目录由穷目录开始的树形结构(2)
mkdir dir1 创建一个称作 ‘dir1′ 的目录’
mkdir dir1 dir2 同时创造两只目录
mkdir -p /tmp/dir1/dir2 创建一个目录树
rm -f file1 删除一个名叫 ‘file1′ 的公文’
rmdir dir1 删除一个名为 ‘dir1′ 的目录’
rm -rf dir1 删除一个叫作 ‘dir1’ 的目录并以删除该内容
rm -rf dir1 dir2 同时删除两单目录和她的情节
mv dir1 new_dir 重命名/移动 一个目录
cp file1 file2 复制一个文书
cp dir/* . 复制一个索引下的持有文件及当前工作目录
cp -a /tmp/dir1 . 复制一个目及当前工作目录
cp -a dir1 dir2 复制一个索引
ln -s file1 lnk1 创立一个对准文件要目录的软链接
ln file1 lnk1 创办一个针对性文件要目录的物理链接
touch -t 0712250000 file1 修改一个文本要目录的时间戳 – (YYMMDDhhmm)
file file1 outputs the mime type of the file as text
iconv -l 列有既掌握的编码
iconv -f fromEncoding -t toEncoding inputFile > outputFile creates a
new from the given input file by assuming it is encoded in fromEncoding
and converting it to toEncoding.
find . -maxdepth 1 -name *.jpg -print -exec convert “{}” -resize 80×60
“thumbs/{}” \; batch resize files in the current directory and send
them to a thumbnails directory (requires convert from Imagemagick)

 

文件搜索
find / -name file1 从 ‘/’ 开始进入根文件系统搜索文件及目录
find / -user user1 搜索属于用户 ‘user1’ 的文件和目录
find /home/user1 -name \*.bin 于目 ‘/ home/user1′ 中寻觅带有’.bin’
结尾的公文
find /usr/bin -type f -atime +100
搜索在过去100龙内未受应用了之推行文书
find /usr/bin -type f -mtime -10 搜索于10龙外为创造或者修改过的文件
find / -name \*.rpm -exec chmod 755 ‘{}’ \; 搜索以 ‘.rpm’
结尾的文本并定义其权力
find / -xdev -name \*.rpm 搜索以 ‘.rpm’
结尾的文件,忽小光驱、捷盘等可走设备
locate \*.ps 寻找以 ‘.ps’ 结尾的公文 – 先运行 ‘updatedb’ 命令
whereis halt 显示一个二进制文件、源码或man的职务
which halt 显示一个二进制文件要可执行文件的完好路径

 

挂载一个文件系统
mount /dev/hda2 /mnt/hda2 挂载一个称为hda2的盘 – 确定目录 ‘/ mnt/hda2’
已经是
umount /dev/hda2 卸载一个号称hda2的盘 – 先由挂载点 ‘/ mnt/hda2’ 退出
fuser -km /mnt/hda2 当设备繁忙时强制卸载
umount -n /mnt/hda2 运行卸载操作而不写副 /etc/mtab 文件-
当文件呢就念或当磁盘写满时好管用
mount /dev/fd0 /mnt/floppy 挂载一个软盘
mount /dev/cdrom /mnt/cdrom 挂载一个cdrom或dvdrom
mount /dev/hdc /mnt/cdrecorder 挂载一个cdrw或dvdrom
mount /dev/hdb /mnt/cdrecorder 挂载一个cdrw或dvdrom
mount -o loop file.iso /mnt/cdrom 挂载一个文书或者ISO镜像文件
mount -t vfat /dev/hda5 /mnt/hda5 挂载一个Windows FAT32文件系统
mount /dev/sda1 /mnt/usbdisk 挂载一个usb 捷盘或闪存设备
mount -t smbfs -o username=user,password=pass //WinClient/share
/mnt/share 挂载一个windows网络共享

 

磁盘空间
df -h 显示就挂载的分区列表
ls -lSr |more 以尺寸大小排列文件和目录
du -sh dir1 估算目录 ‘dir1′ 已经应用的磁盘空间’
du -sk * | sort -rn 以容量大小也根据各个显示文件和目录的高低
rpm -q -a –qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1n
以大小为根据各个显示就设置的rpm包所使用的空间 (fedora, redhat类系统)
dpkg-query -W -f=’${Installed-Size;10}t${Package}n’ | sort -k1,1n
以大小也依据显示就安装之deb包所使用的空间 (ubuntu, debian类系统)

回到到部索引 ^

用户以及群组
groupadd group_name 创建一个新用户组
groupdel group_name 删除一个用户组
groupmod -n new_group_name old_group_name 重命名一个用户组
useradd -c “Name Surname ” -g admin -d /home/user1 -s /bin/bash user1
创建一个属 “admin” 用户组的用户
useradd user1 创建一个初用户
userdel -r user1 删除一个用户 ( ‘-r’ 排除主目录)
usermod -c “User FTP” -g system -d /ftp/user1 -s /bin/nologin user1
修改用户属性
passwd 修改口令
passwd user1 修改一个用户之口令 (只允许root执行)
chage -E 2005-12-31 user1 设置用户口令的失效期限
pwck 检查 ‘/etc/passwd’ 的文件格式和语法修正以及有的用户
grpck 检查 ‘/etc/passwd’ 的文件格式和语法修正以及在的群组
newgrp group_name 登陆进一个初的群组以改变新创造文件之预设群组

回到部索引 ^

文件的权力 – 使用 “+” 设置权限,使用 “-” 用于取消
ls -lh 显示权限
ls /tmp | pr -T5 -W$COLUMNS 将终端划分成5栏显示
chmod ugo+rwx directory1
设置目录的装有人数(u)、群组(g)以及其他人(o)以朗诵(r
)、写(w)和履(x)的权柄
chmod go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权
chown user1 file1 改变一个文件之享有人属性
chown -R user1 directory1
改变一个目的具备人属性并还要更改改目录下所有文件的性质
chgrp group1 file1 改变文件之群组
chown user1:group1 file1 改变一个文本的有着人同群组属性
find / -perm -u+s 罗列一个系统面临拥有以了SUID控制的文书
chmod u+s /bin/file1 设置一个二进制文件之 SUID 位 –
运行该文件的用户为于授予与所有者同的权位
chmod u-s /bin/file1 禁用一个二进制文件之 SUID位
chmod g+s /home/public 设置一个目录的SGID 位 – 类似SUID
,不过就是对目录的
chmod g-s /home/public 禁用一个目录的 SGID 位
chmod o+t /home/public 设置一个文书的 STIKY 位 –
只同意合法持有人抹文件
chmod o-t /home/public 禁用一个目的 STIKY 位

回到到部索引 ^

文件之非正规性质 – 使用 “+” 设置权限,使用 “-” 用于取消
chattr +a file1 只同意为增加方式读写文件
chattr +c file1 允许这个文件能够给基本自动削减/解压
chattr +d file1 在进行文件系统备份时,dump程序将忽略这个文件
chattr +i file1 设置成不可变的公文,不克吃删、修改、重命名或者链接
chattr +s file1 允许一个文件为安全地去
chattr +S file1
一旦应用程序对斯文件实施了描写操作,使系统立即将修改的结果写及磁盘
chattr +u file1 若文件给剔除,系统会容许你在后恢复是给删的文书
lsattr 显示特殊的性质

回来到部索引 ^

包裹和压缩文件
bunzip2 file1.bz2 解压一个号称 ‘file1.bz2’的文书
bzip2 file1 压缩一个称呼 ‘file1’ 的公文
gunzip file1.gz 解压一个誉为 ‘file1.gz’的文件
gzip file1 压缩一个名为 ‘file1’的文书
gzip -9 file1 最要命程度减少
rar a file1.rar test_file 创建一个叫作 ‘file1.rar’ 之担保
rar a file1.rar file1 file2 dir1 同时压缩 ‘file1’, ‘file2’ 以及目录
‘dir1’
rar x file1.rar 解压rar包
unrar x file1.rar 解压rar包
tar -cvf archive.tar file1 创建一个非压缩的 tarball
tar -cvf archive.tar file1 file2 dir1 创建一个暗含了 ‘file1’, ‘file2’
以及 ‘dir1’的档案文件
tar -tf archive.tar 显示一个包中的情
tar -xvf archive.tar 释放一个保证
tar -xvf archive.tar -C /tmp 将压缩包释放到 /tmp目录下
tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包
tar -xvfj archive.tar.bz2 解压一个bzip2格式的压缩包
tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包
tar -xvfz archive.tar.gz 解压一个gzip格式的压缩包
zip file1.zip file1 创建一个zip格式的压缩包
zip -r file1.zip file1 file2 dir1
将几单公文和目录同时减少成一个zip格式的压缩包
unzip file1.zip 解压一个zip格式压缩包

回来到部索引 ^

RPM 包 – (Fedora, Redhat及类似系统)
rpm -ivh package.rpm 安装一个rpm包
rpm -ivh –nodeeps package.rpm 安装一个rpm包要忽略依赖关系警告
rpm -U package.rpm 更新一个rpm包但不改动该安排文件
rpm -F package.rpm 更新一个规定已设置之rpm包
rpm -e package_name.rpm 删除一个rpm包
rpm -qa 显示系统中所有曾经安装之rpm包
rpm -qa | grep httpd 展示所有名称中蕴藏 “httpd” 字样的rpm包
rpm -qi package_name 获得一个既设置包之非常规信息
rpm -qg “System Environment/Daemons” 显示一个零件的rpm包
rpm -ql package_name 显示一个已经设置之rpm包提供的文书列表
rpm -qc package_name 显示一个业已设置之rpm包提供的布局文件列表
rpm -q package_name –whatrequires 显示和一个rpm包在因关系之列表
rpm -q package_name –whatprovides 显示一个rpm包所占用的体积
rpm -q package_name –scripts 显示在安/删除期间所推行之脚本l
rpm -q package_name –changelog 显示一个rpm包的修改历史
rpm -qf /etc/httpd/conf/httpd.conf 确认所吃的文件由何人rpm包所提供
rpm -qp package.rpm -l 显示由一个不曾安装之rpm包提供的文件列表
rpm –import /media/cdrom/RPM-GPG-KEY 导入公钥数字证书
rpm –checksig package.rpm 确认一个rpm包的完整性
rpm -qa gpg-pubkey 确认就装之所有rpm包的完整性
rpm -V package_name 检查文件尺寸、
许可、类型、所有者、群组、MD5检查及最终修改时
rpm -Va 检查系统面临具有已装之rpm包- 小心用
rpm -Vp package.rpm 确认一个rpm包还无设置
rpm2cpio package.rpm | cpio –extract –make-directories *bin*
从一个rpm包运行可执行文件
rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm
从一个rpm源码安装一个构建好的管
rpmbuild –rebuild package_name.src.rpm 从一个rpm源码构建一个 rpm 包

归来到部索引 ^

YUM 软件包升级器 – (Fedora, RedHat及类似系统)
yum install package_name 下载并设置一个rpm包
yum localinstall package_name.rpm
将设置一个rpm包,使用你自己之软件仓库为你解决有因关系
yum update package_name.rpm 更新当前系受享有安装的rpm包
yum update package_name 更新一个rpm包
yum remove package_name 删除一个rpm包
yum list 列出脚下系遭到安之兼具保险
yum search package_name 在rpm仓库被寻找软件包
yum clean packages 清理rpm缓存删除下载的保
yum clean headers 删除所有头文件
yum clean all 删除所有缓存的包和头文件

回到部索引 ^

DEB 包 (Debian, Ubuntu 以及近似系统)
dpkg -i package.deb 安装/更新一个 deb 包
dpkg -r package_name 从系统除去一个 deb 包
dpkg -l 显示系统面临具有已设置的 deb 包
dpkg -l | grep httpd 显示有名称被蕴含 “httpd” 字样的deb包
dpkg -s package_name 获得已装在网被一个特有包之信息
dpkg -L package_name 显示系统遭到早已装之一个deb包所提供的文本列表
dpkg –contents package.deb 显示没有安装的一个包所提供的文件列表
dpkg -S /bin/ping 确认所让的文本由哪个deb包供

回来到部索引 ^

APT 软件工具 (Debian, Ubuntu 以及近似系统)
apt-get install package_name 安装/更新一个 deb 包
apt-cdrom install package_name 于光盘安装/更新一个 deb 包
apt-get update 升级列表中之软件包
apt-get upgrade 升级有曾经安装的软件
apt-get remove package_name 于网去一个deb包
apt-get check 确认因之软件仓库正确
apt-get clean 从下载的软件包着清理缓存
apt-cache search searched-package 返回包含所假设寻找字符串的软件包号

回来到部索引 ^

查文件内容
cat file1 从第一单字节开始正于查看文件之情节
tac file1 从最后一履开始倒转往查看一个文书之始末
more file1 查看一个长文件之情节
less file1 类似于 ‘more’
命令,但是它们同意以文书中同正向操作一样的反向操作
head -2 file1 查看一个文书的前面少实施
tail -2 file1 查看一个文件之最后两履
tail -f /var/log/messages 实时翻看被填补加到一个文件被的始末

回到到部索引 ^

文本处理
cat file1 file2 … | command <> file1_in.txt_or_file1_out.txt
general syntax for text manipulation using PIPE, STDIN and STDOUT
cat file1 | command( sed, grep, awk, grep, etc…) > result.txt
合并一个文书之事无巨细说明文本,并以简介写入一个新文件中
cat file1 | command( sed, grep, awk, grep, etc…) >> result.txt
合并一个文书的详细说明文本,并将简介写入一个已经部分文件被
grep Aug /var/log/messages 于文书 ‘/var/log/messages’中觅关键词”Aug”
grep ^Aug /var/log/messages 在文件
‘/var/log/messages’中找找以”Aug”开始之词汇
grep [0-9] /var/log/messages 选择 ‘/var/log/messages’
文件中具备包含数字之履
grep Aug -R /var/log/* 在目录 ‘/var/log’
以及随后的目中搜索字符串”Aug”
sed ‘s/stringa1/stringa2/g’ example.txt 将example.txt文件被的 “string1”
替换成 “string2”
sed ‘/^$/d’ example.txt 从example.txt文件中除去所有空白行
sed ‘/ *#/d; /^$/d’ example.txt
从example.txt文件被删去所有注释和空白行
echo ‘esempio’ | tr ‘[:lower:]’ ‘[:upper:]’ 合并上下单元格内容
sed -e ‘1d’ result.txt 从文件example.txt 中祛第一实行
sed -n ‘/stringa1/p’ 查看只包含词汇 “string1″的履行
sed -e ‘s/ *$//’ example.txt 删除每一行最后之空白字符
sed -e ‘s/stringa1//g’ example.txt 从文档中单单去词汇 “string1”
并保留盈余全部
sed -n ‘1,5p;5q’ example.txt 查看从第一执至第5尽内容
sed -n ‘5p;5q’ example.txt 查看第5行
sed -e ‘s/00*/0/g’ example.txt 用么零替换多单七零八落
cat -n file1 标示文件之行数
cat example.txt | awk ‘NR%2==1’ 删除example.txt文件被之拥有偶数行
echo a b c | awk ‘{print $1}’ 查看一行首先圈
echo a b c | awk ‘{print $1,$3}’ 查看一行的率先及老三牢
paste file1 file2 合并两单文件要少棚的情节
paste -d ‘+’ file1 file2 合并两个公文要零星牢的内容,中间用”+”区分
sort file1 file2 排序两独公文的始末
sort file1 file2 | uniq 取出两单文本的并集(重复的履仅保留一客)
sort file1 file2 | uniq -u 删除交集,留下任何的实行
sort file1 file2 | uniq -d
取出片只文本的搅和(只留同时是于简单个公文被的文件)
comm -1 file1 file2 比较有限只公文的情才去 ‘file1’ 所蕴含的始末
comm -2 file1 file2 比较少单文本之情节无非去 ‘file2’ 所包含的情
comm -3 file1 file2 比较简单个公文的内容才去两只文件共有的一对

返到部索引 ^

字符设置以及文件格式转换
dos2unix filedos.txt fileunix.txt
将一个文件文件的格式从MSDOS转换成UNIX
unix2dos fileunix.txt filedos.txt
拿一个文本文件之格式从UNIX转换成MSDOS
recode ..HTML < page.txt > page.html 将一个文本文件转换成为html
recode -l | more 显示所有允许的转移格式

返回到部索引 ^

文件系统分析
badblocks -v /dev/hda1 检查磁盘hda1及的挺磁块
fsck /dev/hda1 修复/检查hda1磁盘上linux文件系统的完整性
fsck.ext2 /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性
e2fsck /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性
e2fsck -j /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性
fsck.ext3 /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性
fsck.vfat /dev/hda1 修复/检查hda1磁盘上fat文件系统的完整性
fsck.msdos /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性
dosfsck /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性

回去到部索引 ^

初始化一个文件系统
mkfs /dev/hda1 在hda1分开区创建一个文件系统
mke2fs /dev/hda1 在hda1瓜分区创建一个linux ext2的文件系统
mke2fs -j /dev/hda1 在hda1分区创建一个linux ext3(日志型)的文件系统
mkfs -t vfat 32 -F /dev/hda1 创建一个 FAT32 文件系统
fdformat -n /dev/fd0 格式化一个软盘
mkswap /dev/hda3 创建一个swap文件系统

回到到部索引 ^

SWAP文件系统
mkswap /dev/hda3 创建一个swap文件系统
swapon /dev/hda3 启用一个初的swap文件系统
swapon /dev/hda2 /dev/hdb3 启用两单swap分区

返到部索引 ^

备份
dump -0aj -f /tmp/home0.bak /home 制作一个 ‘/home’ 目录的共同体备份
dump -1aj -f /tmp/home0.bak /home 制作一个 ‘/home’ 目录的交互式备份
restore -if /tmp/home0.bak 还原一个交互式备份
rsync -rogpav –delete /home /tmp 同步两边的目
rsync -rogpav -e ssh –delete /home ip_address:/tmp 通过SSH通道rsync
rsync -az -e ssh –delete ip_addr:/home/public /home/local
通过ssh和减少将一个远程目录并到当地目录
rsync -az -e ssh –delete /home/local ip_addr:/home/public
通过ssh和减少将地面目录并到长途目录
dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr ‘dd of=hda.gz’
通过ssh在长距离主机及执行同样涂鸦备份本地磁盘的操作
dd if=/dev/sda of=/tmp/file1 备份磁盘内容到一个文本
tar -Puf backup.tar /home/user 执行同样坏针对 ‘/home/user’
目录的交互式备份操作
( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr ‘cd /home/share/ &&
tar x -p’ 通过ssh在长途目录中复制一个目内容
( tar c /home ) | ssh -C user@ip_addr ‘cd /home/backup-home && tar x
-p’ 通过ssh在长距离目录中复制一个地面目录
tar cf – . | (cd /tmp/backup ; tar xf – )
本地将一个索引复制到另外一个地方,保留原权限和链接
find /home/user1 -name ‘*.txt’ | xargs cp -av
–target-directory=/home/backup/ –parents 从一个目录查找并复制所有以
‘.txt’ 结尾的公文及另外一个索引
find /var/log -name ‘*.log’ | tar cv –files-from=- | bzip2 >
log.tar.bz2 找所有为 ‘.log’ 结尾的文本并做成一个bzip包
dd if=/dev/hda of=/dev/fd0 bs=512 count=1 做一个用 MBR (Master Boot
Record)内容复制到软盘的动作
dd if=/dev/fd0 of=/dev/hda bs=512 count=1
由曾经保存到软盘的备份中回复MBR内容

返到部索引 ^

光盘
cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force
清空一个可复写的光盘内容
mkisofs /dev/cdrom > cd.iso 在磁盘上创办一个光盘的iso镜像文件
mkisofs /dev/cdrom | gzip > cd_iso.gz
在磁盘上缔造一个削减了底光盘iso镜像文件
mkisofs -J -allow-leading-dots -R -V “Label CD” -iso-level 4 -o ./cd.iso
data_cd 创建一个目录的iso镜像文件
cdrecord -v dev=/dev/cdrom cd.iso 刻录一个ISO镜像文件
gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom –
刻录一个减小了的ISO镜像文件
mount -o loop cd.iso /mnt/iso 挂载一个ISO镜像文件
cd-paranoia -B 从一个CD光盘转录音轨到 wav 文件被
cd-paranoia — “-3” 从一个CD澳门新葡亰网址光盘转录音轨到 wav 文件中(参数-3)
cdrecord –scanbus 扫描总线以识别scsi通道
dd if=/dev/hdc | md5sum 校验一个装备的md5sum编码,例如一张 CD

返到部索引 ^

纱 – (以太网和WIFI无线)
ifconfig eth0 显示一个以太网卡的部署
ifup eth0 启用一个 ‘eth0’ 网络设施
ifdown eth0 禁用一个 ‘eth0’ 网络设施
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 控制IP地址
ifconfig eth0 promisc 设置 ‘eth0’ 成混杂模式为嗅探数据包 (sniffing)
dhclient eth0 以dhcp模式启用 ‘eth0’
route -n show routing table
route add -net 0/0 gw IP_Gateway configura default gateway
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 configure
static route to reach network ‘192.168.0.0/16’
route del 0/0 gw IP_gateway remove static route
echo “1” > /proc/sys/net/ipv4/ip_forward activate ip routing
hostname show hostname of system
host www.example.com lookup hostname to resolve name to ip address and
viceversa(1)
nslookup www.example.com lookup hostname to resolve name to ip address
and viceversa(2)
ip link show show link status of all interfaces
mii-tool eth0 show link status of ‘eth0’
ethtool eth0 show statistics of network card ‘eth0’
netstat -tup show all active network connections and their PID
netstat -tupl show all network services listening on the system and
their PID
tcpdump tcp port 80 show all HTTP traffic
iwlist scan show wireless networks
iwconfig eth1 show configuration of a wireless network card
hostname show hostname
host www.example.com lookup hostname to resolve name to ip address and
viceversa
nslookup www.example.com lookup hostname to resolve name to ip address
and viceversa
whois www.example.com lookup on Whois database

GO TOP INDEX ^
Microsoft Windows networks (SAMBA)
nbtscan ip_addr netbios name resolution
nmblookup -A ip_addr netbios name resolution
smbclient -L ip_addr/hostname show remote shares of a windows host
smbget -Rr smb://ip_addr/share like wget can download files from a host
windows via smb
mount -t smbfs -o username=user,password=pass //WinClient/share
/mnt/share mount a windows network share

吊通命(mount)

先是,介绍一下挂接(mount)命令的使方式,mount命令参数非常多,这里根本谈一下今我们而就此到之。

命令格式:mount [-t vfstype] [-o options] device dir
其中:

1.-t vfstype 指定文件系统的类别,通常不必指定。mount
会自动选择正确的类型。常因此项目有:
光盘或光盘镜像:iso9660
DOS fat16文件系统:msdos
Windows 9x fat32文件系统:vfat
Windows NT ntfs文件系统:ntfs
Mount Windows文件网络共享:smbfs
UNIX(LINUX) 文件网络共享:nfs

2.-o options 重大为此来讲述设备或者档案的挂接方式。常用之参数有:
loop:用来将一个文书正是硬盘分区挂通上系统
ro:采用单独念方式挂接设备
rw:采用读写方式挂接设备
iocharset:指定访问文件系统所用字符集

3.device 要挂接(mount)的设备。

4.dir设备以系及之挂接点(mount point)。

悬挂通光盘镜像文件

1、从光盘制作光盘镜像文件。将光盘放入光驱,执行下的通令。
#cp /dev/cdrom /home/sunky/mydisk.iso 或
#dd if=/dev/cdrom of=/home/sunky/mydisk.iso
流动:执行方的其它一样漫长命令还可拿手上光驱里之光盘制作成光盘镜像文件/home/sunky/mydisk.iso

2、将文件与目录制作成为光盘镜像文件,执行下的指令。
#mkisofs -r -J -V mydisk -o /home/sunky/mydisk.iso /home/sunky/ mydir
流动:这长达命令将/home/sunky/mydir目录下有所的目及文书制作成为光盘镜像文件/home/sunky/mydisk.iso,光盘卷标为:mydisk

3、光盘镜像文件的挂接(mount)
#mkdir /mnt/vcdrom
流动:建立一个目用来发挂接点(mount point)
#mount -o loop -t iso9660 /home/sunky/mydisk.iso /mnt/vcdrom
横流:使用/mnt/vcdrom就可以访问盘镜像文件mydisk.iso里的装有文件了。

挂接移动硬盘
针对linux系统而言,USB接口的移动硬盘是用作SCSI设备对待的。插入移动硬盘之前,应先用fdisk
–l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况。
[root at pldyrouter /]# fdisk -l

接好移动硬盘后,再就此fdisk –l 或 more
/proc/partitions查看系统的硬盘和硬盘分区情况.应该好窥见大多矣一个SCSI硬盘/dev/sdc和它的蝇头只磁盘分区/dev
/sdc1?、/dev/sdc2,其中/dev/sdc5凡是/dev/sdc2分割区的逻辑分区。我们得以用下的授命挂接/dev/sdc1和
/dev/sdc5。
#mkdir -p /mnt/usbhd1
#mkdir -p /mnt/usbhd2
流淌:建立目录用来作挂接点(mount point)
#mount -t ntfs /dev/sdc1 /mnt/usbhd1
#mount -t vfat /dev/sdc5 /mnt/usbhd2
流动:对ntfs格式的磁盘分区应下-t ntfs
参数,对fat32格式的磁盘分区应采取-t
vfat参数。若汉字文件称示也乱码或未显得,可以运用下的授命格式。
#mount -t ntfs -o iocharset=cp936 /dev/sdc1 /mnt/usbhd1
#mount -t vfat -o iocharset=cp936 /dev/sdc5 /mnt/usbhd2

linux系统下以fdisk分区命令和mkfs文件系统创建命令可以以移动硬盘的分区制作成linux系统所特有的ext2、ext3格式。这样,在linux下使用就重便于了。使用下的授命直接挂接即可。
#mount /dev/sdc1 /mnt/usbhd1

挂接U盘
暨USB接口的移动硬盘一样对linux系统而言U盘也是当SCSI设备对待的。使用方式与移动硬盘完全平等。插入U盘之前,应事先用fdisk
–l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况。
[root at pldyrouter root]# fdisk -l
插U盘后,再就此fdisk –l 或 more
/proc/partitions查看系统的硬盘和硬盘分区情况。
[root at pldyrouter root]# fdisk -l
系统多了一个SCSI硬盘/dev/sdd和一个磁盘分区/dev/sdd1,/dev/sdd1就是咱要挂接的U盘。
#mkdir -p /mnt/usb
横流:建立一个目录用来作挂接点(mount point)
#mount -t vfat /dev/sdd1 /mnt/usb
注:现在可以经过/mnt/usb来访问U盘了,
若汉字文件称示为乱码或不显得,可以使下的命令。
#mount -t vfat -o iocharset=cp936 /dev/sdd1 /mnt/usb

挂接Windows文件共享
Windows网络共享的主导是SMB/CIFS,在linux下一旦挂接(mount)windows的磁盘共享,就务须安装以及运用samba
软件包。现在风行的linux发行本绝大多数曾经包含了samba软件包,如果安装linux系统时未安装samba请首先安装samba。当然也得以到
www.samba.org网站下载……新的版本是3.0.10版。
当windows系统共享设置好下,就好以linux客户端挂接(mount)了,具体操作如下:
# mkdir –p /mnt/samba
流淌:建立一个目用来作挂接点(mount point)
# mount -t smbfs -o username=administrator,password=pldy123
//10.140.133.23/c$ /mnt/samba
流动:administrator 和 pldy123 是ip地址也10.140.133.23
windows计算机的一个用户称及密码,c$是立即令电脑的一个磁盘共享
诸如此类就可当linux系统上通过/mnt/samba来聘windows系统磁盘上之公文了。以上操作以redhat
as server 3、redflag server 4.1、suse server 9以及windows NT
4.0、windows 2000、windows xp、windows 2003条件下测试通过。

挂接UNIX系统NFS文件共享
恍如于windows的网络共享,UNIX(Linux)系统啊生投机的网络共享,那就是是NFS(网络文件系统),下面我们尽管盖SUN
Solaris2.8与REDHAT as server 3 为条例简单介绍一下在linux下何以mount
nfs网络共享。
当linux客户端挂接(mount)NFS磁盘共享之前,必须先配备好NFS服务端。

1、Solaris系统NFS服务端配置方式如下:
(1)修改 /etc/dfs/dfstab, 增加共享目录
share -F nfs -o rw /export/home/sunky
(2)启动nfs服务
# /etc/init.d/nfs.server start
(3)NFS服务启动后,也可动用下的吩咐增加新的共享
# share /export/home/sunky1
# share /export/home/sunky2
注:/export/home/sunky和/export/home/sunky1是准备共享的目录

2、linux系统NFS服务端配置方式如下:
(1)修改 /etc/exports,增加共享目录
/export/home/sunky 10.140.133.23(rw)
/export/home/sunky1 *(rw)
/export/home/sunky2 linux-client(rw)
注:/export/home/目录下的sunky、sunky1、sunky2是准备共享的目,10.140.133.23、*、
linux-client是给允许挂接此共享linux客户机的IP地址或主机名。如果只要运主机名linux-client必须在劳动端主机
/etc/hosts文件里多linux-client主机ip定义。格式如下:
10.140.133.23 linux-client

(2)启动和已NFS服务
/etc/rc.d/init.d/portmap start (在REDHAT中PORTMAP是默认启动之)
/etc/rc.d/init.d/nfs start 启动NFS服务
/etc/rc.d/init.d/nfs stop 停止NFS服务
流淌:若修改/etc/export文件增加新的共享,应先停止NFS服务,再起步NFS服务正在会如新增加的共享于作用。使用命令exportfs
-rv也可达到平等的职能。

3、linux客户端挂接(mount)其他linux系统或UNIX系统的NFS共享
# mkdir –p /mnt/nfs
流淌:建立一个目用来作挂接点(mount point)
#mount -t nfs -o rw 10.140.133.9:/export/home/sunky /mnt/nfs
流动:这里我们若10.140.133.9凡NFS服务端的主机IP地址,当然这里也得采用主机名,但必须于本机/etc/hosts文件里搭服务端ip定义。/export/home/sunky也服务端共享的目录。

这么就好于linux客户端通过/mnt/nfs来访问其它linux系统或UNIX系统为NFS方式共享出来的公文了。以上操作以
redhat as server 3、redflag server4.1、suse server 9以及Solaris
7、Solaris 8、Solaris 9 for x86&sparc环境下测试通过

补充:

linux加载光驱

(1)使用光驱前,要先mount一下:#mount /dev/cdrom
/mnt/cdrom,然后你便足以入/mnt/cdrom目录下念博光盘内容了;
(2)当你想脱离光盘时,须使用umout命令,否则光驱就见面直接处于死锁状态:#umount
/mnt/cdrom。

Linux常用命令

网信息
arch 显示机器的微机架构(1)
uname -m 显示机器的处理器架构(2)
uname -r 显示着利用的基石版本
dmidecode -q 显示硬件系统部件 – (SMBIOS / DMI)
hdparm -i /dev/hda 罗列一个磁盘的架构特性
hdparm -tT /dev/sda 在磁盘上实施测试性读取操作
cat /proc/cpuinfo 显示CPU info的信息
cat /proc/interrupts 显示暂停
cat /proc/meminfo 校验内存以
cat /proc/swaps 显示怎么swap被采用
cat /proc/version 显示内核的本
cat /proc/net/dev 显示网络适配器及统计
cat /proc/mounts 显示已加载的文件系统
lspci -tv 罗列 PCI 设备
lsusb -tv 显示 USB 设备
date 显示系统日期
cal 2007 显示2007年底日历表
date 041217002007.00 设置日期以及时空 – 月日时分年.秒
clock -w 将日改保存及 BIOS

 

关机 (系统的关机、重开以及登出 )
shutdown -h now 关闭系统(1)
init 0 关闭系统(2)
telinit 0 关闭系统(3)
shutdown -h hours:minutes & 按约定时关闭系统
shutdown -c 取消以预定时关闭系统
shutdown -r now 重启(1)
reboot 重启(2)
logout 注销

 

文本以及目录
cd /home 进入 ‘/ home’ 目录’
cd .. 返回上一级目录
cd ../.. 返回上个别级目录
cd 进入个人的主目录
cd ~user1 进入个体的主目录
cd – 返回上次所在的目录
pwd 显示工作路线
ls 查看目录中的文本
ls -F 查看目录中之公文
ls -l 显示文件和目录的详细资料
ls -a 显示隐藏文件
ls *[0-9]* 显示包含数字的文本称以及目录名
tree 显示文件和目录由穷目录开始之树形结构(1)
lstree 显示文件和目录由穷目录开始的树形结构(2)
mkdir dir1 创建一个名 ‘dir1′ 的目录’
mkdir dir1 dir2 同时创造两个目录
mkdir -p /tmp/dir1/dir2 创建一个目录树
rm -f file1 删除一个号称 ‘file1′ 的文本’
rmdir dir1 删除一个称呼 ‘dir1′ 的目录’
rm -rf dir1 删除一个名叫 ‘dir1’ 的目并而删除其情
rm -rf dir1 dir2 同时删除两个目录和它的内容
mv dir1 new_dir 重命名/移动 一个索引
cp file1 file2 复制一个文件
cp dir/* . 复制一个目下之有文件及当前工作目录
cp -a /tmp/dir1 . 复制一个目录及当前工作目录
cp -a dir1 dir2 复制一个目
ln -s file1 lnk1 开立一个针对性文件或者目录的软链接
ln file1 lnk1 创建一个对准文件或者目录的大体链接
touch -t 0712250000 file1 修改一个文书或者目录的时空戳 – (YYMMDDhhmm)
file file1 outputs the mime type of the file as text
iconv -l 列有就解之编码
iconv -f fromEncoding -t toEncoding inputFile > outputFile creates a
new from the given input file by assuming it is encoded in fromEncoding
and converting it to toEncoding.
find . -maxdepth 1 -name *.jpg -print -exec convert “{}” -resize 80×60
“thumbs/{}” \; batch resize files in the current directory and send
them to a thumbnails directory (requires convert from Imagemagick)

 

文件搜索
find / -name file1 从 ‘/’ 开始上根文件系统搜索文件和目录
find / -user user1 搜索属于用户 ‘user1’ 的文本及目录
find /home/user1 -name \*.bin 在目 ‘/ home/user1′ 中搜索带有’.bin’
结尾的文件
find /usr/bin -type f -atime +100
搜索于过去100上内不被采用了之执行文书
find /usr/bin -type f -mtime -10 搜索在10上外吃创造或者涂改过的文本
find / -name \*.rpm -exec chmod 755 ‘{}’ \; 搜索以 ‘.rpm’
结尾的文件并定义其权力
find / -xdev -name \*.rpm 搜索以 ‘.rpm’
结尾的文本,忽小光驱、捷盘等只是走装备
locate \*.ps 寻找以 ‘.ps’ 结尾的文书 – 先运行 ‘updatedb’ 命令
whereis halt 显示一个二进制文件、源码或man的职位
which halt 显示一个二进制文件或者可执行文件的总体路径

 

挂载一个文件系统
mount /dev/hda2 /mnt/hda2 挂载一个曰hda2的盘 – 确定目录 ‘/ mnt/hda2’
已经存在
umount /dev/hda2 卸载一个称作hda2的盘 – 先打挂载点 ‘/ mnt/hda2’ 退出
fuser -km /mnt/hda2 当设备繁忙时强制卸载
umount -n /mnt/hda2 运行卸载操作而非写副 /etc/mtab 文件-
当文件为就读或当磁盘写满时老实用
mount /dev/fd0 /mnt/floppy 挂载一个软盘
mount /dev/cdrom /mnt/cdrom 挂载一个cdrom或dvdrom
mount /dev/hdc /mnt/cdrecorder 挂载一个cdrw或dvdrom
mount /dev/hdb /mnt/cdrecorder 挂载一个cdrw或dvdrom
mount -o loop file.iso /mnt/cdrom 挂载一个文本或者ISO镜像文件
mount -t vfat /dev/hda5 /mnt/hda5 挂载一个Windows FAT32文件系统
mount /dev/sda1 /mnt/usbdisk 挂载一个usb 捷盘或闪存设备
mount -t smbfs -o username=user,password=pass //WinClient/share
/mnt/share 挂载一个windows网络共享

 

磁盘空间
df -h 显示都挂载的分区列表
ls -lSr |more 以尺寸大小排列文件与目录
du -sh dir1 估算目录 ‘dir1′ 已经用的磁盘空间’
du -sk * | sort -rn 以容量大小为根据各个显示文件和目录的尺寸
rpm -q -a –qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1n
以大小为根据各个显示就设置之rpm包所使用的空间 (fedora, redhat类系统)
dpkg-query -W -f=’${Installed-Size;10}t${Package}n’ | sort -k1,1n
以大小也依据显示就安装之deb包所使用的空间 (ubuntu, debian类系统)

回到部索引 ^

用户和群组
groupadd group_name 创建一个初用户组
groupdel group_name 删除一个用户组
groupmod -n new_group_name old_group_name 重命名一个用户组
useradd -c “Name Surname ” -g admin -d /home/user1 -s /bin/bash user1
创建一个属于 “admin” 用户组的用户
useradd user1 创建一个初用户
userdel -r user1 删除一个用户 ( ‘-r’ 排除主目录)
usermod -c “User FTP” -g system -d /ftp/user1 -s /bin/nologin user1
修改用户属性
passwd 修改口令
passwd user1 修改一个用户的口令 (只允许root执行)
chage -E 2005-12-31 user1 设置用户口令的失效期限
pwck 检查 ‘/etc/passwd’ 的文件格式和语法修正以及有的用户
grpck 检查 ‘/etc/passwd’ 的文件格式和语法修正以及在的群组
newgrp group_name 登陆进一个新的群组以改变新创造文件之预设群组

返到部索引 ^

文件之权杖 – 使用 “+” 设置权限,使用 “-” 用于取消
ls -lh 显示权限
ls /tmp | pr -T5 -W$COLUMNS 将终端划分成5栏显示
chmod ugo+rwx directory1
设置目录的具有人数(u)、群组(g)以及其他人(o)以朗诵(r
)、写(w)和推行(x)的权力
chmod go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权
chown user1 file1 改变一个文件之有着人属性
chown -R user1 directory1
改变一个目的兼具人属性并还要更改改目录下所有文件的性质
chgrp group1 file1 改变文件之群组
chown user1:group1 file1 改变一个文本的保有人数同群组属性
find / -perm -u+s 罗列一个系统面临拥有应用了SUID控制的文书
chmod u+s /bin/file1 设置一个二进制文件之 SUID 位 –
运行该公文之用户为深受给予与主人同的权
chmod u-s /bin/file1 禁用一个二进制文件的 SUID位
chmod g+s /home/public 设置一个索引的SGID 位 – 类似SUID
,不过当下是对准目录的
chmod g-s /home/public 禁用一个索引的 SGID 位
chmod o+t /home/public 设置一个文件的 STIKY 位 –
只允许合法拥有人数去文件
chmod o-t /home/public 禁用一个目录的 STIKY 位

返到部索引 ^

文本的新鲜性能 – 使用 “+” 设置权限,使用 “-” 用于取消
chattr +a file1 只允许为多方式读写文件
chattr +c file1 允许这个文件能够为基本自动减/解压
chattr +d file1 在展开文件系统备份时,dump程序将忽略这个文件
chattr +i file1 设置成不可变的文书,不能够让去除、修改、重命名或者链接
chattr +s file1 允许一个文书给平安地抹
chattr +S file1
一旦应用程序对这个文件执行了描写操作,使系统这将修改的结果写到磁盘
chattr +u file1 若文件为删去,系统会同意你当以后恢复是为剔除的公文
lsattr 显示特殊的性能

回到到部索引 ^

装进和压缩文件
bunzip2 file1.bz2 解压一个名 ‘file1.bz2’的公文
bzip2 file1 压缩一个曰 ‘file1’ 的文件
gunzip file1.gz 解压一个称为 ‘file1.gz’之文本
gzip file1 压缩一个号称 ‘file1’的公文
gzip -9 file1 最酷程度减少
rar a file1.rar test_file 创建一个誉为 ‘file1.rar’ 底保
rar a file1.rar file1 file2 dir1 同时压缩 ‘file1’, ‘file2’ 以及目录
‘dir1’
rar x file1.rar 解压rar包
unrar x file1.rar 解压rar包
tar -cvf archive.tar file1 创建一个非压缩的 tarball
tar -cvf archive.tar file1 file2 dir1 创建一个分包了 ‘file1’, ‘file2’
以及 ‘dir1’的档案文件
tar -tf archive.tar 显示一个包中的内容
tar -xvf archive.tar 释放一个确保
tar -xvf archive.tar -C /tmp 将精减包释放到 /tmp目录下
tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包
tar -xvfj archive.tar.bz2 解压一个bzip2格式的压缩包
tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包
tar -xvfz archive.tar.gz 解压一个gzip格式的压缩包
zip file1.zip file1 创建一个zip格式的压缩包
zip -r file1.zip file1 file2 dir1
将几只公文及目录同时减少成一个zip格式的压缩包
unzip file1.zip 解压一个zip格式压缩包

回到部索引 ^

RPM 包 – (Fedora, Redhat及类似系统)
rpm -ivh package.rpm 安装一个rpm包
rpm -ivh –nodeeps package.rpm 安装一个rpm包要忽视依赖关系警告
rpm -U package.rpm 更新一个rpm包但不移其布局文件
rpm -F package.rpm 更新一个确定已经安装的rpm包
rpm -e package_name.rpm 删除一个rpm包
rpm -qa 显得系统遭到兼有曾经安装的rpm包
rpm -qa | grep httpd 出示所有名称中带有 “httpd” 字样的rpm包
rpm -qi package_name 获得一个就安装包之奇特信息
rpm -qg “System Environment/Daemons” 显示一个零部件的rpm包
rpm -ql package_name 显示一个一度安装之rpm包提供的文书列表
rpm -qc package_name 显示一个曾经装之rpm包提供的配置文件列表
rpm -q package_name –whatrequires 显示和一个rpm包是因关系之列表
rpm -q package_name –whatprovides 显示一个rpm包所占用的体积
rpm -q package_name –scripts 显示在装/删除期间所实施之脚本l
rpm -q package_name –changelog 显示一个rpm包的改动历史
rpm -qf /etc/httpd/conf/httpd.conf 确认所于的公文由谁rpm包所提供
rpm -qp package.rpm -l 显示由一个未曾安装的rpm包提供的公文列表
rpm –import /media/cdrom/RPM-GPG-KEY 导入公钥数字证书
rpm –checksig package.rpm 承认一个rpm包的完整性
rpm -qa gpg-pubkey 确认已经安装的具有rpm包的完整性
rpm -V package_name 检查文件尺寸、
许可、类型、所有者、群组、MD5反省与尾声修改时
rpm -Va 检查系统面临兼有都装之rpm包- 小心用
rpm -Vp package.rpm 确认一个rpm包还非设置
rpm2cpio package.rpm | cpio –extract –make-directories *bin*
从一个rpm包运行可执行文件
rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm
从一个rpm源码安装一个构建好的担保
rpmbuild –rebuild package_name.src.rpm 从一个rpm源码构建一个 rpm 包

归来到部索引 ^

YUM 软件包升级器 – (Fedora, RedHat及类似系统)
yum install package_name 下载并安装一个rpm包
yum localinstall package_name.rpm
将设置一个rpm包,使用你自己之软件仓库为公解决有因关系
yum update package_name.rpm 更新当前系受存有安装的rpm包
yum update package_name 更新一个rpm包
yum remove package_name 删除一个rpm包
yum list 列出目前系面临安装的兼具保险
yum search package_name 以rpm仓库被追寻软件包
yum clean packages 清理rpm缓存删除下载的保险
yum clean headers 删除所有头文件
yum clean all 删除所有缓存的包和头文件

返到部索引 ^

DEB 包 (Debian, Ubuntu 以及近似系统)
dpkg -i package.deb 安装/更新一个 deb 包
dpkg -r package_name 于网除去一个 deb 包
dpkg -l 显示系统中颇具曾经安装的 deb 包
dpkg -l | grep httpd 显示所有名称中涵盖 “httpd” 字样的deb包
dpkg -s package_name 获得已设置于系被一个异常包的消息
dpkg -L package_name 显示系统面临都设置的一个deb包所提供的公文列表
dpkg –contents package.deb 显示没有安装之一个包所提供的文书列表
dpkg -S /bin/ping 确认所受的公文由哪位deb包供

归来到部索引 ^

APT 软件工具 (Debian, Ubuntu 以及近似系统)
apt-get install package_name 安装/更新一个 deb 包
apt-cdrom install package_name 于光盘安装/更新一个 deb 包
apt-get update 升级列表中之软件包
apt-get upgrade 升级具有都装之软件
apt-get remove package_name 从系统除去一个deb包
apt-get check 确认因之软件仓库正确
apt-get clean 从下载的软件包着清理缓存
apt-cache search searched-package 返回包含所要找字符串的软件包号

归来到部索引 ^

查阅文件内容
cat file1 从第一单字节开始正奔查看文件之情节
tac file1 从最后一尽开始倒为查看一个文本之内容
more file1 查看一个丰富文件之情节
less file1 类似于 ‘more’
命令,但是它们同意以文书被同正向操作一样的反向操作
head -2 file1 查看一个文本的面前少履
tail -2 file1 查看一个文书之末尾两尽
tail -f /var/log/messages 实时翻看被填补加到一个文书被的情

返到部索引 ^

文本处理
cat file1 file2 … | command <> file1_in.txt_or_file1_out.txt
general syntax for text manipulation using PIPE, STDIN and STDOUT
cat file1 | command( sed, grep, awk, grep, etc…) > result.txt
合并一个文本的事无巨细说明文本,并以简介写入一个新文件被
cat file1 | command( sed, grep, awk, grep, etc…) >> result.txt
合并一个文书之详细说明文本,并将简介写入一个已部分文件被
grep Aug /var/log/messages 于文书 ‘/var/log/messages’中检索关键词”Aug”
grep ^Aug /var/log/messages 在文书
‘/var/log/messages’中找寻以”Aug”开始的词汇
grep [0-9] /var/log/messages 选择 ‘/var/log/messages’
文件被存有包含数字的尽
grep Aug -R /var/log/* 在目录 ‘/var/log’
和随后的目录中找字符串”Aug”
sed ‘s/stringa1/stringa2/g’ example.txt 将example.txt文件被之 “string1”
替换成 “string2”
sed ‘/^$/d’ example.txt 从example.txt文件中删去所有空白行
sed ‘/ *#/d; /^$/d’ example.txt
从example.txt文件被删除所有注释和空白行
echo ‘esempio’ | tr ‘[:lower:]’ ‘[:upper:]’ 合并上下单元格内容
sed -e ‘1d’ result.txt 从文件example.txt 中祛第一行
sed -n ‘/stringa1/p’ 查看只含词汇 “string1″的推行
sed -e ‘s/ *$//’ example.txt 删除每一行最后之空白字符
sed -e ‘s/stringa1//g’ example.txt 从文档中独去词汇 “string1”
并保留剩余全部
sed -n ‘1,5p;5q’ example.txt 查看从第一执及第5执内容
sed -n ‘5p;5q’ example.txt 查看第5行
sed -e ‘s/00*/0/g’ example.txt 用么零替换多只七零八落
cat -n file1 标示文件的行数
cat example.txt | awk ‘NR%2==1’ 删除example.txt文件被的有所偶数行
echo a b c | awk ‘{print $1}’ 查看一行首先棚
echo a b c | awk ‘{print $1,$3}’ 查看一行的第一和老三牢
paste file1 file2 合并两独文本或者个别苑的始末
paste -d ‘+’ file1 file2 合并两单文件要有限栏的情节,中间用”+”区分
sort file1 file2 排序两个文件之内容
sort file1 file2 | uniq 取出两只公文之并集(重复的实践就保留一份)
sort file1 file2 | uniq -u 删除交集,留下别样的尽
sort file1 file2 | uniq -d
取出些许独文本的混合(只留下同时在被少数单文件被的文书)
comm -1 file1 file2 比较单薄独公文的情仅仅去 ‘file1’ 所富含的始末
comm -2 file1 file2 比较有限只公文之情节无非去 ‘file2’ 所含有的情
comm -3 file1 file2 比较简单单公文的内容才去两只文件共有的组成部分

回到部索引 ^

字符设置以及文件格式转换
dos2unix filedos.txt fileunix.txt
将一个文件文件的格式从MSDOS转换成UNIX
unix2dos fileunix.txt filedos.txt
拿一个文本文件之格式从UNIX转换成MSDOS
recode ..HTML < page.txt > page.html 将一个文本文件转换成html
recode -l | more 显示有允许的更换格式

返回到部索引 ^

文件系统分析
badblocks -v /dev/hda1 检查磁盘hda1臻之雅磁块
fsck /dev/hda1 修复/检查hda1磁盘上linux文件系统的完整性
fsck.ext2 /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性
e2fsck /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性
e2fsck -j /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性
fsck.ext3 /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性
fsck.vfat /dev/hda1 修复/检查hda1磁盘上fat文件系统的完整性
fsck.msdos /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性
dosfsck /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性

回去到部索引 ^

初始化一个文件系统
mkfs /dev/hda1 在hda1区划区创建一个文件系统
mke2fs /dev/hda1 在hda1划分区创建一个linux ext2的文件系统
mke2fs -j /dev/hda1 在hda1分割区创建一个linux ext3(日志型)的文件系统
mkfs -t vfat 32 -F /dev/hda1 创建一个 FAT32 文件系统
fdformat -n /dev/fd0 格式化一个软盘
mkswap /dev/hda3 创建一个swap文件系统

回到到部索引 ^

SWAP文件系统
mkswap /dev/hda3 创建一个swap文件系统
swapon /dev/hda3 启用一个初的swap文件系统
swapon /dev/hda2 /dev/hdb3 启用两独swap分区

回去到部索引 ^

备份
dump -0aj -f /tmp/home0.bak /home 制作一个 ‘/home’ 目录的整备份
dump -1aj -f /tmp/home0.bak /home 制作一个 ‘/home’ 目录的交互式备份
restore -if /tmp/home0.bak 还原一个交互式备份
rsync -rogpav –delete /home /tmp 同步两限的目
rsync -rogpav -e ssh –delete /home ip_address:/tmp 通过SSH通道rsync
rsync -az -e ssh –delete ip_addr:/home/public /home/local
通过ssh和压缩将一个远程目录并到当地目录
rsync -az -e ssh –delete /home/local ip_addr:/home/public
通过ssh和减少将本地目录并到长途目录
dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr ‘dd of=hda.gz’
通过ssh在长距离主机及实施同一浅备份本地磁盘的操作
dd if=/dev/sda of=/tmp/file1 备卖磁盘内容及一个文本
tar -Puf backup.tar /home/user 执行同样赖针对 ‘/home/user’
目录的交互式备份操作
( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr ‘cd /home/share/ &&
tar x -p’ 通过ssh在长途目录中复制一个目录内容
( tar c /home ) | ssh -C user@ip_addr ‘cd /home/backup-home && tar x
-p’ 通过ssh在长距离目录中复制一个地面目录
tar cf – . | (cd /tmp/backup ; tar xf – )
本地将一个索引复制到其它一个地方,保留原权限和链接
find /home/user1 -name ‘*.txt’ | xargs cp -av
–target-directory=/home/backup/ –parents 从一个索引查找并复制所有以
‘.txt’ 结尾的文本及其他一个目
find /var/log -name ‘*.log’ | tar cv –files-from=- | bzip2 >
log.tar.bz2 查找所有因 ‘.log’ 结尾的文书并做成一个bzip包
dd if=/dev/hda of=/dev/fd0 bs=512 count=1 做一个以 MBR (Master Boot
Record)内容复制到软盘的动作
dd if=/dev/fd0 of=/dev/hda bs=512 count=1
由曾保存及软盘的备份中平复MBR内容

回到到部索引 ^

光盘
cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force
清空一个可复写的光盘内容
mkisofs /dev/cdrom > cd.iso 在磁盘上开创一个光盘的iso镜像文件
mkisofs /dev/cdrom | gzip > cd_iso.gz
以磁盘上创造一个减小了的光盘iso镜像文件
mkisofs -J -allow-leading-dots -R -V “Label CD” -iso-level 4 -o ./cd.iso
data_cd 创建一个索引的iso镜像文件
cdrecord -v dev=/dev/cdrom cd.iso 刻录一个ISO镜像文件
gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom –
刻录一个减去了之ISO镜像文件
mount -o loop cd.iso /mnt/iso 挂载一个ISO镜像文件
cd-paranoia -B 从一个CD光盘转录音轨到 wav 文件被
cd-paranoia — “-3” 从一个CD光盘转录音轨到 wav 文件被(参数-3)
cdrecord –scanbus 扫描总线以识别scsi通道
dd if=/dev/hdc | md5sum 校验一个装置的md5sum编码,例如一摆 CD

回去到部索引 ^

网络 – (以太网和WIFI无线)
ifconfig eth0 显示一个以太网卡的布
ifup eth0 启用一个 ‘eth0’ 网络设施
ifdown eth0 禁用一个 ‘eth0’ 网络设施
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 控制IP地址
ifconfig eth0 promisc 设置 ‘eth0’ 成混杂模式为嗅探数据包 (sniffing)
dhclient eth0 以dhcp模式启用 ‘eth0’
route -n show routing table
route add -net 0/0 gw IP_Gateway configura default gateway
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 configure
static route to reach network ‘192.168.0.0/16’
route del 0/0 gw IP_gateway remove static route
echo “1” > /proc/sys/net/ipv4/ip_forward activate ip routing
hostname show hostname of system
host www.example.com lookup hostname to resolve name to ip address and
viceversa(1)
nslookup www.example.com lookup hostname to resolve name to ip address
and viceversa(2)
ip link show show link status of all interfaces
mii-tool eth0 show link status of ‘eth0’
ethtool eth0 show statistics of network card ‘eth0’
netstat -tup show all active network connections and their PID
netstat -tupl show all network services listening on the system and
their PID
tcpdump tcp port 80 show all HTTP traffic
iwlist scan show wireless networks
iwconfig eth1 show configuration of a wireless network card
hostname show hostname
host www.example.com lookup hostname to resolve name to ip address and
viceversa
nslookup www.example.com lookup hostname to resolve name to ip address
and viceversa
whois www.example.com lookup on Whois database

GO TOP INDEX ^
Microsoft Windows networks (SAMBA)
nbtscan ip_addr netbios name resolution
nmblookup -A ip_addr netbios name resolution
smbclient -L ip_addr/hostname show remote shares of a windows host
smbget -Rr smb://ip_addr/share like wget can download files from a host
windows via smb
mount -t smbfs -o username=user,password=pass //WinClient/share
/mnt/share mount a windows network share

昂立通命(mount)

率先,介绍一下挂接(mount)命令的用方式,mount命令参数非常多,这里主要出口一下今我们若用到之。

令格式:mount [-t vfstype] [-o options] device dir
其中:

1.-t vfstype 指定文件系统的档次,通常不必指定。mount
会自动选择是的类别。常因此种有:
光盘或光盘镜像:iso9660
DOS fat16文件系统:msdos
Windows 9x fat32文件系统:vfat
Windows NT ntfs文件系统:ntfs
Mount Windows文件网络共享:smbfs
UNIX(LINUX) 文件网络共享:nfs

2.-o options 第一为此来叙述设备或者档案的挂接方式。常用之参数有:
loop:用来管一个文本正是硬盘分区挂通上系
ro:采用单独读方式挂接设备
rw:采用读写方式挂接设备
iocharset:指定访问文件系统所用字符集

3.device 要挂接(mount)的设备。

4.dir配备在网及之挂接点(mount point)。

吊通光盘镜像文件

1、从光盘制作光盘镜像文件。将光盘放入光驱,执行下的命令。
#cp /dev/cdrom /home/sunky/mydisk.iso 或
#dd if=/dev/cdrom of=/home/sunky/mydisk.iso
注:执行方的任何一样长命令还只是拿眼前光驱里的光盘制作成为光盘镜像文件/home/sunky/mydisk.iso

2、将文件及目录制作成光盘镜像文件,执行下的下令。
#mkisofs -r -J -V mydisk -o /home/sunky/mydisk.iso /home/sunky/ mydir
流淌:这漫长命令将/home/sunky/mydir目录下拥有的目录和文书制作成光盘镜像文件/home/sunky/mydisk.iso,光盘卷标为:mydisk

3、光盘镜像文件的挂接(mount)
#mkdir /mnt/vcdrom
流淌:建立一个索引用来作挂接点(mount point)
#mount -o loop -t iso9660 /home/sunky/mydisk.iso /mnt/vcdrom
流动:使用/mnt/vcdrom就好访问盘镜像文件mydisk.iso里的持有文件了。

挂接移动硬盘
本着linux系统而言,USB接口的移动硬盘是当SCSI设备对待的。插入移动硬盘之前,应事先用fdisk
–l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况。
[root at pldyrouter /]# fdisk -l

接好移动硬盘后,再就此fdisk –l 或 more
/proc/partitions查看系统的硬盘和硬盘分区情况.应该可以发现多矣一个SCSI硬盘/dev/sdc和她的简单独磁盘分区/dev
/sdc1?、/dev/sdc2,其中/dev/sdc5凡是/dev/sdc2划分区之逻辑分区。我们好以下的下令挂接/dev/sdc1和
/dev/sdc5。
#mkdir -p /mnt/usbhd1
#mkdir -p /mnt/usbhd2
注:建立目录用来作挂接点(mount point)
#mount -t ntfs /dev/sdc1 /mnt/usbhd1
#mount -t vfat /dev/sdc5 /mnt/usbhd2
流淌:对ntfs格式的磁盘分区应利用-t ntfs
参数,对fat32格式的磁盘分区应采用-t
vfat参数。若汉字文件称示为乱码或不亮,可以运用下的命令格式。
#mount -t ntfs -o iocharset=cp936 /dev/sdc1 /mnt/usbhd1
#mount -t vfat -o iocharset=cp936 /dev/sdc5 /mnt/usbhd2

linux系统下使用fdisk分区命令和mkfs文件系统创建命令可以用移动硬盘的分区制作成linux系统所特有的ext2、ext3格式。这样,在linux下以就再也便利了。使用下的下令直接挂接即可。
#mount /dev/sdc1 /mnt/usbhd1

挂接U盘
同USB接口的移动硬盘一样对linux系统而言U盘也是用作SCSI设备对待的。使用方法及移动硬盘完全同。插入U盘之前,应优先用fdisk
–l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况。
[root at pldyrouter root]# fdisk -l
插入U盘后,再就此fdisk –l 或 more
/proc/partitions查看系统的硬盘和硬盘分区情况。
[root at pldyrouter root]# fdisk -l
网多了一个SCSI硬盘/dev/sdd和一个磁盘分区/dev/sdd1,/dev/sdd1就是我们设挂接的U盘。
#mkdir -p /mnt/usb
流淌:建立一个索引用来作挂接点(mount point)
#mount -t vfat /dev/sdd1 /mnt/usb
流动:现在好通过/mnt/usb来访问U盘了,
若汉字文件称示也乱码或未显示,可以采取下的下令。
#mount -t vfat -o iocharset=cp936 /dev/sdd1 /mnt/usb

挂接Windows文件共享
Windows网络共享的主导是SMB/CIFS,在linux下要挂接(mount)windows的磁盘共享,就亟须安装及运samba
软件包。现在兴的linux发行本绝大多数早就包含了samba软件包,如果安装linux系统时不设置samba请首先安装samba。当然为堪到
www.samba.org网站下载……新的本是3.0.10版。
当windows系统共享设置好之后,就足以于linux客户端挂接(mount)了,具体操作如下:
# mkdir –p /mnt/samba
横流:建立一个目录用来作挂接点(mount point)
# mount -t smbfs -o username=administrator,password=pldy123
//10.140.133.23/c$ /mnt/samba
注:administrator 和 pldy123 是ip地址也10.140.133.23
windows计算机的一个用户称和密码,c$是及时台计算机的一个磁盘共享
然就得在linux系统上通过/mnt/samba来拜访windows系统磁盘上之文书了。以上操作以redhat
as server 3、redflag server 4.1、suse server 9以及windows NT
4.0、windows 2000、windows xp、windows 2003条件下测试通过。

挂接UNIX系统NFS文件共享
类于windows的网络共享,UNIX(Linux)系统也有协调的网络共享,那即便是NFS(网络文件系统),下面我们就算因SUN
Solaris2.8和REDHAT as server 3 为条例简单介绍一下以linux下怎么mount
nfs网络共享。
每当linux客户端挂接(mount)NFS磁盘共享之前,必须事先配备好NFS服务端。

1、Solaris系统NFS服务端配置方式如下:
(1)修改 /etc/dfs/dfstab, 增加共享目录
share -F nfs -o rw /export/home/sunky
(2)启动nfs服务
# /etc/init.d/nfs.server start
(3)NFS服务启动以后,也得以用下的授命增加新的共享
# share /export/home/sunky1
# share /export/home/sunky2
注:/export/home/sunky和/export/home/sunky1是准备共享的目

2、linux系统NFS服务端配置方式如下:
(1)修改 /etc/exports,增加共享目录
/export/home/sunky 10.140.133.23(rw)
/export/home/sunky1 *(rw)
/export/home/sunky2 linux-client(rw)
注:/export/home/目录下之sunky、sunky1、sunky2是准备共享的目录,10.140.133.23、*、
linux-client是吃允许挂接此共享linux客户机的IP地址或主机名。如果假定用主机名linux-client必须于服务端主机
/etc/hosts文件里搭linux-client主机ip定义。格式如下:
10.140.133.23 linux-client

(2)启动同已NFS服务
/etc/rc.d/init.d/portmap start (在REDHAT中PORTMAP是默认启动之)
/etc/rc.d/init.d/nfs start 启动NFS服务
/etc/rc.d/init.d/nfs stop 停止NFS服务
流淌:若修改/etc/export文件增加新的共享,应先停止NFS服务,再起步NFS服务在能够如新增加的共享于作用。使用命令exportfs
-rv也可以达标平等的机能。

3、linux客户端挂接(mount)其他linux系统或UNIX系统的NFS共享
# mkdir –p /mnt/nfs
流淌:建立一个目用来作挂接点(mount point)
#mount -t nfs -o rw 10.140.133.9:/export/home/sunky /mnt/nfs
流动:这里我们若10.140.133.9凡NFS服务端的主机IP地址,当然这里为得采用主机名,但不能不于本机/etc/hosts文件里搭服务端ip定义。/export/home/sunky也服务端共享的目录。

如此这般就好在linux客户端通过/mnt/nfs来访问其它linux系统或UNIX系统因为NFS方式共享出来的文本了。以上操作以
redhat as server 3、redflag server4.1、suse server 9以及Solaris
7、Solaris 8、Solaris 9 for x86&sparc环境下测试通过

补充:

linux加载光驱

(1)使用光驱前,要先mount一下:#mount /dev/cdrom
/mnt/cdrom,然后你就足以上/mnt/cdrom目录下念博光盘内容了;
(2)当您想淡出光盘时,须使用umout命令,否则光驱就会一直处在死锁状态:#umount
/mnt/cdrom。

网站地图xml地图