第二周总结(文件操作命令、用户及组权限管理、BASH命令行展开与执行命令返回值、命令别名使用、执行结果引用、通配符使用)

1、常见文件管理命令分类

        1)文件内容查看(cat、tca、more、less、head、tail)

        2)文件字符替换(tr、sed、awk等)

        3)文件创建、移动、复制和删除(touch、mv、cp、scp、rm)

        4)文件权限修改(chown,chmod,chgrp)

        5)文件元数据查看和文件属性(stat、file)

        6)文件查找(find、locate)

     文件内容查看

        cat 

            使用方式:cat <file1>[file2…]

        查看文件内容全文

[root@localhost ~]# cat anaconda-ks.cfg 
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
cdrom
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot --enable

        tac 

            使用方式:tac <file1>[file2…]

        查看文件内容全文(逆向显示)

[root@localhost ~]# tac anaconda-ks.cfg 
%end

%addon com_redhat_kdump --enable --reserve-mb='auto'

%end

kexec-tools
@core

    more

        more <file1>[file2…]

       以当前终端大小为单位显示文件内容。如果当前终端不能全部显示,则显示第一页内容,使用空格键进行翻页,q键退出。

[root@localhost ~]# more anaconda-ks.cfg 
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
cdrom
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot --enable
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8

# Network information
network  --bootproto=dhcp --device=eno16777736 --onboot=off --ipv6=auto
network  --hostname=localhost.localdomain

# Root password
rootpw --iscrypted $6$KI37O.HrF6QsdogV$FarNU1T5m7MJU7AZL66Dsr8YtEBmj9YeXYg8.lbUWAIo0osZcfGNgO7KiKyTRboAbHGNuA42EKfJ2s66hHIR30
# System timezone
timezone America/New_York --isUtc
--More--(68%)

    less

           less <file1>[file2…]       

            以当前终端大小为单位显示文件内容。如果当前终端不能全部显示,则显示第一页内容,使用空格键进行翻页,可使用方向键进行上下进行行级翻动、使用Pageup,PageDown按键进行页面翻动,q键退出。

[root@localhost ~]# less anaconda-ks.cfg 


#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
cdrom
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot --enable
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8

# Network information
network  --bootproto=dhcp --device=eno16777736 --onboot=off --ipv6=auto
network  --hostname=localhost.localdomain

# Root password
rootpw --iscrypted $6$KI37O.HrF6QsdogV$FarNU1T5m7MJU7AZL66Dsr8YtEBmj9YeXYg8.lbUWAIo0osZcfGNgO7KiKyTRboAbHGNuA42EKfJ2s66hHIR30
# System timezone
timezone America/New_York --isUtc
:

    head 

            head [-n] <file1>  

              显示文件的前几行,不加参数默认显示头10行,-n参数指定显示n行。

[root@localhost ~]# head anaconda-ks.cfg 
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
cdrom
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot --enable
# Keyboard layouts

    tail

            tail [-n|f] <file1>  

                

              显示文件的后几行,不加参数默认显示后10行,-n参数指定显示n行,-f显示后10行后不退出持续显示新增加的内容。

[root@localhost ~]# tail anaconda-ks.cfg 
%packages
@^minimal
@core
kexec-tools

%end

%addon com_redhat_kdump --enable --reserve-mb='auto'

%end

    文件字符替换(tr、sed、awk等)

    tr

        tr [option] [set1] [set2]

            option

                -c或–complerment 取代所有不属于第一字符集([set1])的字符

                -d或–delete 删除所有属于第一字符集([set1])的字符

                -s或–squeeze-repeats 把连续重复的字符单独一个字符表示

                -t或–truncate-set1 先删除第一字符集比第二符集多出的字符

                   不加参数时,使用第二字符集中的字符替代第一字符集中的字符使用较多的是 [a-z] [A-Z] 替换文本中的字母的大小写

            注:tr 命令不能直接操作文件故需要将文件内容读取后通过管道 | 或者使用输入重定向 < 输出给tr命令,tr命令也不会直接修改原文件。

            特殊字符集

                [:space:]  所有空白字符

                [:alnum:]:字母和数字

                [:alpha:]:字母 (包含大小写)

                [:cntrl:]:控制(非打印)字符 

                [:digit:]:数字 

                [:graph:]:图形字符 

                [:lower:]:小写字母 

                [:print:]:可打印字符 

                [:punct:]:标点符号 

                [:space:]:空白字符 

                [:upper:]:大写字母 

                [:xdigit:]:十六进制字符

    示例1:删除anaconda-ks.cfs中的字母

[root@localhost ~]# tr -d [:alpha:] < anaconda-ks.cfg 
#=
#   
 -- --=512
#    

#   

#       
 --
#  
 --= --=''
#  
 _.-8

#  
  --= --=16777736 --= --6=

示例2 将anaconda-ks.cfs中的字母替换成大写

root@localhost ~]# tr [a-z] [A-Z] < anaconda-ks.cfg 
#VERSION=DEVEL
# SYSTEM AUTHORIZATION INFORMATION
AUTH --ENABLESHADOW --PASSALGO=SHA512
# USE CDROM INSTALLATION MEDIA
CDROM
# USE GRAPHICAL INSTALL
GRAPHICAL
# RUN THE SETUP AGENT ON FIRST BOOT
FIRSTBOOT --ENABLE
# KEYBOARD LAYOUTS
KEYBOARD --VCKEYMAP=US --XLAYOUTS='US'
# SYSTEM LANGUAGE
LANG EN_US.UTF-8

# NETWORK INFORMATION
NETWORK  --BOOTPROTO=DHCP --DEVICE=ENO16777736 --ONBOOT=OFF --IPV6=AUTO
NETWORK  --HOSTNAME=LOCALHOST.LOCALDOMAIN

# ROOT PASSWORD
ROOTPW --ISCRYPTED $6$KI37O.HRF6QSDOGV$FARNU1T5M7MJU7AZL66DSR8YTEBMJ9YEXYG8.LBUWAIO0OSZCFGNGO7KIKYTRBOABHGNUA42EKFJ2S66HHIR30
# SYSTEM TIMEZONE
TIMEZONE AMERICA/NEW_YORK --ISUTC
# SYSTEM BOOTLOADER CONFIGURATION
BOOTLOADER --APPEND=" CRASHKERNEL=AUTO" --LOCATION=MBR --BOOT-DRIVE=SDA
AUTOPART --TYPE=LVM
# PARTITION CLEARING INFORMATION
CLEARPART --NONE --INITLABEL

%PACKAGES
@^MINIMAL
@CORE
KEXEC-TOOLS

%END

%ADDON COM_REDHAT_KDUMP --ENABLE --RESERVE-MB='AUTO'

%END
123123

    sed命令和awk命令使用比较复杂,在此不提。

    文件创建、移动、复制和删除

        文件创建

                touch [option] <filename1> [filename2] 

                    创建一个普通的空文件

                option    

                    -a 修改文件的change time

                    -m 修改文件的modify time

                    -d或–date=STRING 创建时文件使用字符串指定的时间而非当前时间

                    -r或–reference=FILE 创建文件时使用引用文件的时间而非当前时间

                    -t  STAMP  或–time=WORD 使用指定时间而非当前时间

        示例1 创建文件 123.txt

[root@localhost ~]# touch 123.txt 
[root@localhost ~]# ll 123.txt 
-rw-r--r-- 1 root root 0 Jan 30 18:17 123.txt

        示例2 修改文件的change time

[root@localhost ~]# stat 123.txt 
  File: ‘123.txt’
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d	Inode: 68046578    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2017-01-30 18:17:01.353846432 -0500
Modify: 2017-01-30 18:17:01.353846432 -0500
Change: 2017-01-30 18:17:01.353846432 -0500
 Birth: -
[root@localhost ~]# touch 123.txt 
[root@localhost ~]# stat 123.txt 
  File: ‘123.txt’
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d	Inode: 68046578    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2017-01-30 18:18:10.357844376 -0500
Modify: 2017-01-30 18:18:10.357844376 -0500
Change: 2017-01-30 18:18:10.357844376 -0500
 Birth: -

        文件移动

    mv

        mv [option] file1 file2

                    移动file1 到file2位置,在同一目录使用mv时是重命名效果,如移动的到的目录有同名文件将会覆盖已有文件。

            option

                -i 移动时如果有同名文件提示是否覆盖(默认选项)

                -f 移动时如果有同名文件直接覆盖

    实例:

[root@localhost ~]# mv anaconda-ks.cfg /usr/local/
[root@localhost ~]# ls /usr/local/
anaconda-ks.cfg  bin  etc  games  include  lib  lib64  libexec  sbin  share  src

    文件删除

  rm

    rm [option] <filename>[filename_n]

        删除单个、多个文件或目录。

    option(常用)

        -r 递归删除

        -f 强制删除

示例:删除文件anaconda-ks.cfg.1

[root@localhost ~]# ls
anaconda-ks.cfg  anaconda-ks.cfg.1
[root@localhost ~]# rm -rf anaconda-ks.cfg.1
[root@localhost ~]# ls 
anaconda-ks.cfg

文件复制

    cp

       cp [option] file1 file2

    复制文件或目录,如果复制到的目录有同名文件将会覆盖掉该文件   

        option(常用)

        -i  覆盖前提示是否覆盖(默认选项)

        -f  强制覆盖没有提示信息

        -R|r 递归复制目录

        -d 复制符号链接本身而非符号链接指向的源文件

        -p 复制时同时复制源文件的权限

示例:复制文件anaconda-ks.cfg为anaconda-ks.cfg.1

[root@localhost ~]# cp anaconda-ks.cfg anaconda-ks.cfg.1
[root@localhost ~]# ls
anaconda-ks.cfg  anaconda-ks.cfg.1

    scp

        scp [option]  file1 username@address:/path/file2 

       跨系统复制文件或目录

            option

            -r 递归复制目录

[root@localhost ~]# scp anaconda-ks.cfg root@192.168.241.10:/root/anaconda-ks.cfg.1
The authenticity of host '192.168.241.10 (192.168.241.10)' can't be established.
ECDSA key fingerprint is 64:d4:58:c7:00:70:f0:98:2d:76:9c:fb:ed:ef:5c:6f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.241.10' (ECDSA) to the list of known hosts.
root@192.168.241.10's password: 
Permission denied, please try again.
root@192.168.241.10's password: 
anaconda-ks.cfg

文件权限修改

    linux系统中相对于文件有三种身份分别是 文件属主,文件属组和其他(既不是文件属主也不是文件属组)

修改文件的属主

    chown [option] username[:groupname] file

            option

                   -R 递归处理目录下的所有目录或文件 

          示例:修改文件 anaconda-ks.cfg的属主为ftp

[root@localhost ~]# chown ftp anaconda-ks.cfg
[root@localhost ~]# ll 
总用量 8
-rw-------. 1 ftp  root 1116 11月  1 22:58 anaconda-ks.cfg

修改文件的属组

  

    chgrp [option] groupname file

            option

                   -R 递归处理目录下的所有目录或文件 

          示例1:修改文件 anaconda-ks.cfg的属组为ftp

[root@localhost ~]# chgrp ftp anaconda-ks.cfg
[root@localhost ~]# ll 
总用量 8
-rw-------. 1 ftp  ftp  1116 11月  1 22:58 anaconda-ks.cfg

          示例2:修改文件 anaconda-ks.cfg的属组为ftp

[root@localhost ~]# chown :ftp anaconda-ks.cfg
[root@localhost ~]# ll 
总用量 8
-rw-------. 1 ftp  ftp  1116 11月  1 22:58 anaconda-ks.cfg

   linux系统中有3种权限读(r) 、写 (w)、执行(x),这三种权限转换成8进制对应的数字为 4  2 1

    文件的权限修改

            chown

               chown [option] MODE file1

                        修改文件的属主,属组,或其他权限

                option

                    -r 递归修改

示例:修改文件 anaconda-ks.cfg属组权限为读写执行

[root@localhost ~]# ll 
总用量 8
-rw-------. 1 ftp  ftp  1116 11月  1 22:58 anaconda-ks.cfg
-rw-------. 1 root root 1116 12月  6 20:52 anaconda-ks.cfg.1
[root@localhost ~]# chmod g+rwx anaconda-ks.cfg
[root@localhost ~]# ll 
总用量 8
-rw-rwx---. 1 ftp  ftp  1116 11月  1 22:58 anaconda-ks.cfg

文件元数据查看和文件属性

    stat

        stat [option] file

            查看文件的元数据

                option

                        -f 查看文件在文件系统中的信息

示例:显示文件anaconda-ks.cfg的文件所在文件系统信息和元数据信息

[root@localhost ~]# stat -f anaconda-ks.cfg
  文件:"anaconda-ks.cfg"
    ID:80300000000 文件名长度:255     类型:xfs
块大小:4096       基本块大小:4096
    块:总计:4926720    空闲:4686159    可用:4686159
Inodes: 总计:19717120   空闲:19689072
[root@localhost ~]# stat anaconda-ks.cfg
  文件:"anaconda-ks.cfg"
  大小:1116      	块:8          IO 块:4096   普通文件
设备:803h/2051d	Inode:67404352    硬链接:1
权限:(0670/-rw-rwx---)  Uid:(   14/     ftp)   Gid:(   50/     ftp)
环境:system_u:object_r:admin_home_t:s0
最近访问:2016-12-06 20:36:13.086316361 +0800
最近更改:2016-11-01 22:58:52.158040304 +0800
最近改动:2016-12-06 21:26:25.225548862 +0800
创建时间:-

    file

        file [option] filename

        查看文件属性类型

        option

        -L 查看软连接文件对应的源文件类型

示例:查看文件anconda-ks.cfg

[root@localhost ~]# file anaconda-ks.cfg
anaconda-ks.cfg: ASCII text

文件查找

    locate

        locate [option] pattern

            基于 /var/lib/slocate/slocate.db内的数据查找系统中的匹配关键字的文件或目录(使用update命令可更新该数据库)

            option

                -b 只查找基名匹配的文件或目录

    示例:查找文件名中包含anac的文件或目录

[root@localhost ~]# locate -b anac
/etc/anacrontab
/etc/cron.hourly/0anacron
/etc/selinux/targeted/modules/active/modules/anaconda.pp
/root/anaconda-ks.cfg
/usr/sbin/anacron
/usr/share/anaconda

    find

        find [options] [查找起始路径] [查找条件]  [找到后的操作]

        实时查找当前系统中匹配的文件或目录(此命令较为复杂,此刻只做简单示范)

  示例:查找文件名中包含anac的文件或目录    

[root@localhost ~]# find / -name anac*
/root/anaconda-ks.cfg

命令执行返回值

    linux中命令执行后的状态返回值保存在bash的$?变量中,可在命令执行后执行echo $? 命令来查看该值。    

        示例,查看上一个命令的命令执行返回值

[root@localhost ~]# find / -name anac*
/root/anaconda-ks.cfg
[root@localhost ~]# echo $?
0

                该值为0 命令执行成功

                            1 命名执行错误

                            127 命令不存在

命令行展开

    linux命令行中可使用{}对列表进行承载,并将其展开为多个路径

        示例1:创建/tmp目录下的:a_c, a_d, b_c, b_d

[root@localhost ~]# mkdir /tmp/{a,c}_{b,d}
[root@localhost ~]# ls /tmp/
a_b  a_d  c_b  c_d

       示例2 :创建/tmp/mylinux目录下的:

    mylinux/
        ├── bin
        ├── boot
        │   └── grub
        ├── dev
        ├── etc
        │   ├── rc.d
        │   │   └── init.d
        │   └── sysconfig
        │       └── network-scripts
        ├── lib
        │   └── modules
        ├── lib64
        ├── proc
        ├── sbin
        ├── sys
        ├── tmp
        ├── usr
        │   └── local
        │       ├── bin
        │       └── sbin
        └── var
            ├── lock
            ├── log
            └── run

[root@localhost ~]# mkdir -p /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,user/local/{bin,sbin},var/{lock,log,run}}
[root@localhost ~]# tree /tmp/mylinux/
/tmp/mylinux/
├── bin
├── boot
│   └── grub
├── dev
├── etc
│   ├── rc.d
│   │   └── init.d
│   └── sysconfig
│       └── network-scripts
├── lib
│   └── modules
├── lib64
├── proc
├── sbin
├── sys
├── tmp
├── user
│   └── local
│       ├── bin
│       └── sbin
└── var
    ├── lock
    ├── log
    └── run

命令别名使用

        alias

                linux中可使用alias定义一个命令的别名,常用来讲一个复杂命名用一个简单别名的方式进行使用,此方法定义的别名只在当前shell中生效,如果需要在全局或者重启服务器依然生效需要将该命令声明为环境变量并写入/etc/bashrc 中。

        alias new_name='command option'

   示例:给命令 ls -al 定义一个别名 lsl

[root@localhost ~]# alias lsl='ls -ll'
[root@localhost ~]# lsl
total 28
-rwxr-xr-x  1 root root  271 Dec 24 11:18 1.sh
-rw-r--r--  1 root root   72 Dec 24 12:00 2.sh
-rw-r--r--  1 root root   90 Dec 24 12:08 3.sh
-rw-r--r--  1 root root    0 Feb  1 15:54 4
-rwxr-xr-x  1 root root  135 Dec 24 12:22 4.sh
-rw-------. 1 root root  932 Oct 27 18:30 anaconda-ks.cfg
-rw-r--r--  1 root root  465 Dec 24 12:19 fstab
-rw-r--r--  1 root root 1040 Dec 24 12:19 passwd1

命令执行结果引用

    linux中有两种方式可直接引用命令执行结果

        1、 在反引号中执行命令 `command`

        2、$(command)

    示例:显示当前用户家目录的文件

[root@localhost ~]# echo `ls`
1.sh 2.sh 3.sh 4 4.sh anaconda-ks.cfg fstab passwd1
[root@localhost ~]# echo $(ls)
1.sh 2.sh 3.sh 4 4.sh anaconda-ks.cfg fstab passwd1

linux系统中的时间

    date

        用于显示当前系统的时间

        date "+option"

        option   

            %Y : 完整年份 (0000-9999)

            %m : 月份 (01-12)

            %d : 日 (01-31)

            %H : 小时(00-23)

            %M : 分钟(00-59)

            %T : 直接显示时间 (24 小时制)

            %S : 秒(00-60)

            %s : 时间戳(从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数)

        示例:在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。

[root@localhost ~]# touch /tmp/tfile-$(date "+%Y-%m-%d-%H-%M-%S")
[root@localhost ~]# ls /tmp/
 tfile-2017-02-01-16-59-50

bash中的特殊符号

        linux中有一些特殊符号在使用中有特殊意义

            *   通配符,代表任意字符(0到多个)

            ?   通配符,代表一个字符

            #   注释

            /   跳转符号,将特殊字符或通配符还原成一般符号

            |   分隔两个管线命令的界定

            ;    连续性命令的界定

            ~    用户的根目录

            $    变量前需要加的变量值

            !    逻辑运算中的"非"(not)

            /    路径分隔符号

            >, >>   输出导向,分别为"取代"与"累加"

            '   单引号,不具有变量置换功能

            "   双引号,具有变量置换功能

            `   quote符号,两个“中间为可以先执行的指令

            ()   中间为子shell的起始与结束

            []   中间为字符组合

                [:space:]  所有空白字符

                [:alnum:]:字母和数字

                [:alpha:]:字母 (包含大小写)

                [:cntrl:]:控制(非打印)字符 

                [:digit:]:数字 

                [:graph:]:图形字符 

                [:lower:]:小写字母 

                [:print:]:可打印字符 

                [:punct:]:标点符号 

                [:space:]:空白字符 

                [:upper:]:大写字母 

                [:xdigit:]:十六进制字符

            [^]  对中间字符组合取反

            {}   中间为命令区块组合

示例1:显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。

ls -d /var/l*[[:digit:]]*[[:lower:]]
/var/l2a

示例2:显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。

[root@localhost ~]# ls /etc/[0-9]*[^0-9] 
/etc/12d

示例3:显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。

[root@localhost ~]# ls /etc/[^[:alpha:]][[:alpha:]]*
/etc/5a2345  /etc/5awww

示例4:复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。

[root@localhost ~]# cp -a /etc/p*[^[:digit:]] /tmp/mytest1/
[root@localhost ~]# ls /tmp/mytest1/
pam.d  passwd  passwd-  pki  plymouth  pm  popt.d  postfix  ppp  prelink.conf.d  printcap  profile  profile.d  protocols  python

示例5:复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录

[root@localhost ~]# cp -a /etc/*.d /tmp/mytest2
[root@localhost ~]# ls /tmp/mytest2
bash_completion.d  depmod.d       init.d        modules-load.d  prelink.conf.d  rc2.d  rc6.d      statetab.d  xinetd.d
binfmt.d           dnsmasq.d      ld.so.conf.d  my.cnf.d        profile.d       rc3.d  rc.d       sudoers.d   yum.repos.d
chkconfig.d        dracut.conf.d  logrotate.d   pam.d           rc0.d           rc4.d  rsyslog.d  sysctl.d
cron.d             grub.d         modprobe.d    popt.d          rc1.d           rc5.d  rwtab.d    tmpfiles.d

示例6:复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

[root@localhost ~]# cp -a /etc/[l,m,n]*.conf /tmp/mytest3
[root@localhost ~]# ls /tmp/mytest3
ld.so.conf  libaudit.conf  libuser.conf  locale.conf  logrotate.conf  man_db.conf  mke2fs.conf  nsswitch.conf

原创文章,作者:胡安慧,如若转载,请注明出处:http://www.178linux.com/67294

(0)
胡安慧胡安慧
上一篇 2017-01-31
下一篇 2017-01-31

相关推荐

  • linux文件权限

    一、前言 在linux中,每个目录或者文件都有相对应的权限,linux通过文件属主(user),文件属组(group),其它人(order)对一个文件或者目录控制读写执行权限,当然在这些基本权限之外还有特殊权限,facl(file access control list)等。 二、文件基本权限    2.1:属主、属组、order概念 &…

    Linux干货 2015-08-17
  • RPM软件包管理

    Linux应用程序的组成 安装完一个软件包以后,可能会向系统中复制大量的数据文件,并进行相关设置。在Linux系统中,典型的应用程序通常由以下几部分组成。 普通的可执行程序文件:一般保存在“/usr/bin”目录中,普通用户即可执行。 服务器程序、管理程序文件:一般保存在”/usr/sbin“目录中,只有管理员能执行。 配置文件:一般保存在”/etc“目录中…

    Linux干货 2016-08-21
  • Linux的简介

    Linux的简介 冯诺依曼体系结构 主要特点:使用存储器,采用二进制(据说,采用二进制的灵感来源于中国的八卦,2变4,4变8…) 体系介绍:其由几大部分组成,输入设备,运算器,控制器,内部存储器,外部存储器,输出设备。 目前,输入设备就是指键盘鼠标, 运算器和控制器现在统称CPU。其实已经内置了两个功能。 内部存储器就是内存,某种意义上,缓存也算…

    Linux干货 2016-10-28
  • 软链接与硬链接的区别

      这两牵扯到链接,那么先介绍以下链接。   在文件系统中,有一种可以把不同的文件相连接到一起的机制,这个机制叫做链接。通俗的话来说就是打开两个不同的文件夹,其实进去的是同一个。它可以把一个文件用不同的名字和路径来表示出来。系统通过inode(索引节点,文件唯一标识)来识别是否为同一个文件,无论系统上有有多少个链接,在磁盘上只有一个唯一的…

    2017-05-25
  • day5作业

    软硬链接区别: 1 硬链接会增加连接数,而软链接不会。 2 硬链接始终表示的只是一个文件,只是名字不同而已,而软链接本身就是一个独立的文件,文件内容为指向的文件的路径。 3 命令格式不同。 硬链接: ln filename linkname 软链接: ln -s filename&nbsp…

    系统运维 2016-08-08
  • CentOS6.9系统上编译安装httpd.2.2.32

    本文所做的所有操作是在一部新安装的CentOS6.9系统上。 1.环境与配置 环境说明:VMware上安装的CentOS6.9系统,两张系统盘做成的yum源 配置:编译生成的所有的文件都存放在/usr/local/httpd22/这个目录下 2.安装GCC编译器 [root@localhost ~]# yum grouplist | grep “Develo…

    2017-04-20