N25-第二周作业

1、linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示

linux上处理目录的常用命令:

    ls :列出目录

    cd :切换目录

    pwd:显示当前工作路径

    mkdir:创建目录

    rm:删除文件或目录

    rmdir:删除空文件

    mv:剪切、重命名文件、目录

    cp:复制文件或目录

    touch:创建空文件

ls:= list:查看指定目录下文件和目录;

  语法:

    ls [选项] [目录名]

 选项与参数:    

    -a, –all 列出目录下的所有文件,包括以 . 开头的隐含文件

    -A 同-a,但不列出“.”(表示当前目录)和“..”(表示当前目录的父目录)。  

    -c  配合 -lt:根据 ctime 排序及显示 ctime (文件状态最后更改的时间)配合 -l:显示 ctime 但根据名称排序否则:根据 ctime 排序

    -C 每栏由上至下列出项目

    –color[=WHEN] 控制是否使用色彩分辨文件。WHEN 可以是'never'、'always'或'auto'其中之一

    -d, –directory 将目录象文件一样显示,而不是显示其下的文件。

    -D, –dired 产生适合 Emacs 的 dired 模式使用的结果

    -f 对输出的文件不进行排序,-aU 选项生效,-lst 选项失效

    -g 类似 -l,但不列出所有者

    -G, –no-group 不列出任何有关组的信息

    -h, –human-readable 以容易理解的格式列出文件大小 (例如 1K 234M 2G)

    –si 类似 -h,但文件大小取 1000 的次方而不是 1024

    -H, –dereference-command-line 使用命令列中的符号链接指示的真正目的地

    –indicator-style=方式 指定在每个项目名称后加上指示符号<方式>:none (默认),classify (-F),file-type (-p)

    -i, –inode 印出每个文件的 inode 号

    -I, –ignore=样式 不印出任何符合 shell 万用字符<样式>的项目

    -k 即 –block-size=1K,以 k 字节的形式表示文件的大小。

    -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来。ls -l = ll

    -L, –dereference 当显示符号链接的文件信息时,显示符号链接所指示的对象而并非符号链接本身的信息

    -m 所有项目以逗号分隔,并填满整行行宽

    -o 类似 -l,显示文件的除组信息外的详细信息。   

    -r, –reverse 依相反次序排列,按照时间顺序排列,从旧到新;

    -R, –recursive 同时列出所有子目录层

    -s, –size 以块大小为单位列出所有文件的大小

    -S 根据文件大小排序

    –sort=WORD 以下是可选用的 WORD 和它们代表的相应选项:

        extension -X status -c

        none -U time -t

        size -S atime -u

        time -t access -u

        version -v use -u

    -t 以文件修改时间排序

    -u 配合 -lt:显示访问时间而且依访问时间排序

        配合 -l:显示访问时间但根据名称排序

        否则:根据访问时间排序

    -U 不进行排序;依文件系统原有的次序列出项目

    -v 根据版本进行排序

    -w, –width=COLS 自行指定屏幕宽度而不使用目前的数值

    -x 逐行列出项目而不是逐栏列出

    -X 根据扩展名排序

    -1 每行只列出一个文件

    –help 显示此帮助信息并离开

    –version 显示版本信息并离开

例:

[root@zhao-66 ~]# ls

anaconda-ks.cfg  install.log  shell  test

[root@zhao-66 ~]# ll    #ls -l = ll

总用量 76

-rw——-. 1 root root  1106 5月   4 2016 anaconda-ks.cfg

-rw-r–r–. 1 root root 22632 5月   4 2016 install.log

drwxr-xr-x  2 root root  4096 7月  11 13:53 shell

drwxr-xr-x  6 root root  4096 12月 13 14:21 test

[root@zhao-66 ~]# ll -a    #显示隐藏文件

总用量 152

dr-xr-x—.  7 root root  4096 9月  22 12:06 .

dr-xr-xr-x. 22 root root  4096 12月 13 14:17 ..

-rw——-.  1 root root  1106 5月   4 2016 anaconda-ks.cfg

-rw——-.  1 root root  9124 10月  1 21:25 .bash_history

-rw-r–r–.  1 root root    18 5月  20 2009 .bash_logout

-rw-r–r–   1 root root   287 7月   5 15:50 .bash_profile

-rw-r–r–.  1 root root   176 9月  23 2004 .bashrc

-rw-r–r–.  1 root root 22632 5月   4 2016 install.log

drwxr-xr-x   2 root root  4096 7月  11 13:53 shell

drwx——   2 root root  4096 6月  28 14:29 .ssh

drwxr-xr-x   6 root root  4096 12月 13 14:21 test

[root@zhao-66 ~]# ll -rt    

总用量 76

-rw-r–r–. 1 root root 22632 5月   4 2016 install.log

-rw——-. 1 root root  1106 5月   4 2016 anaconda-ks.cfg

drwxr-xr-x  2 root root  4096 7月  11 13:53 shell

drwxr-xr-x  6 root root  4096 12月 13 14:21 test


cd:Change Directory的缩写,切换目录。

  语法:

    cd [相对路径或绝对路径]

  参数:

    -:切换到上一次打开的目录;

    ~:切换到当前用户家目录,不加参数也是切换到当前用户家目录;

     .:当前目录

    ..:上级目录

例:

[root@master long]# pwd

/root/long

[root@master long]# cd ceshi/

[root@master ceshi]# pwd

/root/long/ceshi

[root@master ceshi]# cd 

[root@master ~]# pwd

/root

[root@master ~]# cd –

/root/long/ceshi

[root@master ceshi]# cd –

/root

[root@master ~]# pwd

/root

[root@master ~]# 

pwd:显示当前目录的绝对路径:

 语法:

    pwd [选项]

 选项与参数:

    一般情况下不带任何参数,如果目录是链接时:

    格式:pwd -P  显示出实际路径,而非使用连接(link)路径。

例:

[root@localhost ~]# pwd

/root

[root@localhost ~]# cd /etc/init.d 

[root@localhost init.d]# pwd

/etc/init.d

[root@localhost init.d]# pwd -P

/etc/rc.d/init.d

[root@localhost init.d]#


mkdir:创建指定名称的目录

 语法:

    mkdir [选项] 目录

 选项与参数:

    -m, –mode=模式,直接配置权限<模式> (类似 chmod),而不是 rwxrwxrwx 减 umask

     -p, –parents  递归创建多层目录,即一次可以建立多个目录; 

     -v, –verbose  显示创建过程

        –help    显示此帮助信息并退出

        –version  输出版本信息并退出

例:

[root@master ceshi]# mkdir test

[root@master ceshi]# mkdir -pv test1/test2/{test3,test4}

mkdir: 已创建目录 "test1"

mkdir: 已创建目录 "test1/test2"

mkdir: 已创建目录 "test1/test2/test3"

mkdir: 已创建目录 "test1/test2/test4"

[root@master ceshi]# mkdir -m 644 test5

[root@master ceshi]# ll

总用量 12

drwxr-xr-x 2 root root 4096 12月 13 18:14 test

drwxr-xr-x 3 root root 4096 12月 13 18:14 test1

drw-r–r– 2 root root 4096 12月 13 18:15 test5

[root@master ceshi]# tree

.

├── test

├── test1

│   └── test2

│       ├── test3

│       └── test4

└── test5

6 directories, 0 files

[root@master ceshi]# 


rm:删除文件、目录;注意:rm是一个危险的命令,使用的时候要特别当心;

 语法:

    rm [选项] 文件目录…

 选项与参数:

   -f, –force    忽略不存在的文件,从不给出提示。

    -i, –interactive 进行交互式删除

    -r, -R, –recursive   指示rm将参数中列出的全部目录和子目录均递归地删除;用于删除目录;

    -v, –verbose    详细显示进行的步骤

       –help     显示此帮助信息并退出

       –version  输出版本信息并退出

例:

[root@master ceshi]# ll

总用量 12

-rw-r–r– 1 root root    0 12月 13 18:23 install.log

-rwxr-xr-x 1 root root    0 12月 13 18:22 scp.sh

drwxr-xr-x 2 root root 4096 12月 13 18:14 test

drwxr-xr-x 3 root root 4096 12月 13 18:14 test1

drw-r–r– 2 root root 4096 12月 13 18:15 test5

[root@master ceshi]# rm  install.log 

rm:是否删除普通空文件 "install.log"?y

[root@master ceshi]# rm -i scp.sh 

rm:是否删除普通空文件 "scp.sh"?y

[root@master ceshi]# rm -rf test

[root@master ceshi]# ll

总用量 8

drwxr-xr-x 3 root root 4096 12月 13 18:14 test1

drw-r–r– 2 root root 4096 12月 13 18:15 test5

[root@master ceshi]# rm -rfv test*

已删除目录:"test1/test2/test3"

已删除目录:"test1/test2/test4"

已删除目录:"test1/test2"

已删除目录:"test1"

已删除目录:"test5"

[root@master ceshi]# 

rmdir:删除空目录,一个目录被删除之前必须是空的;删除某目录时也必须具有对父目录的写权限。

 语法:

    rmdir [选项]… 目录…

 选项:

    – p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。

    -v, –verbose  显示指令执行过程;

例:

[root@master ceshi]# mkdir -pv {test,test1/test2/{test3,test4}}

mkdir: 已创建目录 "test"

mkdir: 已创建目录 "test1"

mkdir: 已创建目录 "test1/test2"

mkdir: 已创建目录 "test1/test2/test3"

mkdir: 已创建目录 "test1/test2/test4"

[root@master ceshi]# tree

.

├── test

└── test1

    └── test2

        ├── test3

        └── test4

5 directories, 0 files

[root@master ceshi]# ll

总用量 8

drwxr-xr-x 2 root root 4096 12月 13 18:36 test

drwxr-xr-x 3 root root 4096 12月 13 18:36 test1

[root@master ceshi]# rmdir test

[root@master ceshi]# ll

总用量 4

drwxr-xr-x 3 root root 4096 12月 13 18:36 test1

[root@master ceshi]# rmdir -pv test1/test2/test*

rmdir: 正在删除目录 "test1/test2/test3"

rmdir: 正在删除目录 "test1/test2"

rmdir: 删除目录 "test1/test2" 失败: 目录非空

rmdir: 正在删除目录 "test1/test2/test4"

rmdir: 正在删除目录 "test1/test2"

rmdir: 正在删除目录 "test1"

[root@master ceshi]# ll

总用量 0

[root@master ceshi]# 

mv:= move,可以用来移动文件或者将文件改名(move (rename) files)

 语法:

    mv [参数] 源文件或目录 目标文件或目录

 选项:  

   -b :若需覆盖文件,则覆盖前先行备份。 

   -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;

   -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

   -u :若目标文件已经存在,且 source 比较新,才会更新(update)

   -t : –target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。

例:

[root@master URLGenerator]# ll

总用量 28

-rwxr-xr-x 1 root root  329 5月  20 2016 restart.sh

-rwxr-xr-x 1 root root  116 6月  23 20:23 start.sh_bak

-rwxr-xr-x 1 root root  122 5月  20 2016 stop.sh

[root@master URLGenerator]# mv -f restart.sh stop.sh

[root@master URLGenerator]# ll

总用量 24

-rwxr-xr-x 1 root root  116 6月  23 20:23 start.sh_bak

-rwxr-xr-x 1 root root  329 5月  20 2016 stop.sh

[root@master URLGenerator]# mv start.sh_bak stop.sh

mv:是否覆盖"stop.sh"? n

[root@master URLGenerator]# ll

总用量 24

-rwxr-xr-x 1 root root  116 6月  23 20:23 start.sh_bak

-rwxr-xr-x 1 root root  329 5月  20 2016 stop.sh

[root@master URLGenerator]# mv -b start.sh_bak stop.sh  

mv:是否覆盖"stop.sh"? n

[root@master URLGenerator]# ll

总用量 24

-rwxr-xr-x 1 root root  116 6月  23 20:23 start.sh_bak

-rwxr-xr-x 1 root root  329 5月  20 2016 stop.sh

[root@master URLGenerator]# 

cp:复制文件或目录;将单个或多个源文件复制至目标目录下。

 语法:

   单源复制:

    cp [OPTION]… [-T] SOURCE DEST

      选项         源

    如果DEST不存在:则事先创建此文件,并复制源文件的数据流至DEST中;     

    如果DEST存在:     

         如果DEST是非目录文件:则覆盖目标文件;     

         如果DEST是目录文件:则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流; 

   多源复制:

     cp [OPTION]… SOURCE… DIRECTORY                   

      cp [OPTION]… -t DIRECTORY SOURCE…     

    如果DEST不存在:错误;      

    如果DEST存在:     

         如果DEST是非目录文件:错误;     

        如果DEST是目录文件:分别复制每个文件至目标目录中,并保持原名;

 选项:

    -a :–archive    等于-dR –preserve=all

       –backup[=CONTROL]    为每个已存在的目标文件创建备份

    -b :类似–backup 但不接受参数

       –copy-contents        在递归处理是复制特殊文件内容

    -d :等于–no-dereference –preserve=links

    -f :–force: 如果目标文件无法打开则将其移除并重试(当 -n 选项

                    存在时则不需再选此项)

    -i : –interactive: 覆盖前询问(使前面的 -n 选项失效)

    -H :跟随源文件中的命令行符号链接

    -l, –link: 链接文件而不复制

    -L, –dereference: 总是跟随符号链接

    -n, –no-clobber:不要覆盖已存在的文件(使前面的 -i 选项失效)

    -P, –no-dereference :不跟随源文件中的符号链接

    -p :等于–preserve=模式,所有权,时间戳

        –preserve[=属性列表   保持指定的属性(默认:模式,所有权,时间戳),如果

               可能保持附加属性:环境、链接、xattr 等

    -R, -r, –recursive  复制目录及目录内的所有项目

例:

[root@master URLGenerator]# tree

.

├── config

│   ├── config.xml

│   ├── log4j-config.xml

│   └── private.key

└── lib

    ├── chardet.jar

    ├── edtftpj.jar

    └── jta.jar

2 directories, 6 files

[root@master URLGenerator]# cp config/config.xml lib/

[root@master URLGenerator]# tree

.

├── config

│   ├── config.xml

│   ├── log4j-config.xml

│   └── private.key

└── lib

    ├── chardet.jar

    ├── config.xml

    ├── edtftpj.jar

    └── jta.jar

2 directories, 7 files

[root@master URLGenerator]# ll *

config:

总用量 12

-rw-r–r– 1 root root 2292 8月  23 16:39 config.xml

-rw-r–r– 1 root root 2940 5月  20 2016 log4j-config.xml

-rw-r–r– 1 root root  893 5月  20 2016 private.key

lib:

总用量 200

-rw-r–r– 1 root root  26568 5月  20 2016 chardet.jar

-rw-r–r– 1 root root   2292 12月 13 19:27 config.xml

-rw-r–r– 1 root root 156599 5月  20 2016 edtftpj.jar

-rw-r–r– 1 root root   9719 5月  20 2016 jta.jar

[root@master URLGenerator]# cp -rp config/ lib/

[root@master URLGenerator]# ll *

config:

总用量 12

-rw-r–r– 1 root root 2292 8月  23 16:39 config.xml

-rw-r–r– 1 root root 2940 5月  20 2016 log4j-config.xml

-rw-r–r– 1 root root  893 5月  20 2016 private.key

lib:

总用量 204

-rw-r–r– 1 root root  26568 5月  20 2016 chardet.jar

drwxr-xr-x 2 root root   4096 12月 13 19:25 config

-rw-r–r– 1 root root   2292 12月 13 19:27 config.xml

-rw-r–r– 1 root root 156599 5月  20 2016 edtftpj.jar

-rw-r–r– 1 root root   9719 5月  20 2016 jta.jar

[root@master URLGenerator]# 

touch:一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个空文件;

 语法:

    touch [选项]… 文件名… 

 选项与参数:

    -a   或–time=atime或–time=access或–time=use  只更改存取时间。

    -c   或–no-create  不建立任何文档。

    -d  使用指定的日期时间,而非现在的时间。

    -f  此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。

    -m   或–time=mtime或–time=modify  只更改变动时间。

    -r  把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。

    -t  使用指定的日期时间,而非现在的时间。[[CC]YY]MMDDhhmm[.SS] ;

      CC为年数中的前两位,即”世纪数”;YY为年数的后两位,即某世纪中的年数.如果不给出CC的值,则touch   将把年数CCYY限定在1969–2068之内.MM为月数,DD为天将把年数CCYY限定在1969–2068之内.MM为月数,DD为天数,hh 为小时数(几点),mm为分钟数,SS为秒数.此处秒的设定范围是0–61,这样可以处理闰秒.这些数字组成的时间是环境变量TZ指定的时区中的一个时 间.由于系统的限制,早于1970年1月1日的时间是错误的。   

例:

[root@master ceshi]# touch `date +%F_%T`.csv   

[root@master ceshi]# ll

-rw-r–r– 1 root root 0 12月 13 19:42 2016-12-13_19:42:23.csv

touch -t 201610120532.45 ceshi.csv

[root@master ceshi]# ll

-rw-r–r– 1 root root 0 12月 13 19:42 2016-12-13_19:42:40.csv

-rw-r–r– 1 root root 0 10月 12 05:32 ceshi.csv

[root@master ceshi]# 

Linux查看文件的常用命令

    cat:从第一行显示文件内容;

    tac:倒序显示文件内容;

    nl:带行号显示文件内容;

    more:一页一页的显示文件内容;

    less:与 more 类似,但是比 more 更好的是,他可以往前翻页!

    head:从文件第一行开始看指定行;从上而下;

    tail:从文件尾看指定行;从下而上;

cat:显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。

cat主要有三大功能:

    1.一次显示整个文件:cat filename

    2.从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.

    3.将几个文件合并为一个文件:cat file1 file2 > file

  格式:

    cat [选项] [文件]…

  选项:

     -A, –show-all: 等价于 -vET

    -b, –number-nonblank :对非空输出行编号

    -e  :等价于 -vE

    -E, –show-ends :在每行结束处显示 $

    -n, –number :对输出的所有行编号,由1开始对所有输出的行数编号

    -s, –squeeze-blank :有连续两行以上的空白行,就代换为一行的空白行 

    -t         : 与 -vT 等价

    -T, –show-tabs  :将跳格字符显示为 ^I

    -u           :(被忽略)

    -v, –show-nonprinting   使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外

例:

[root@master ceshi]# cat wenjian.csv 

192.168.9.101

192.168.9.102

192.168.9.105

192.168.9.110

192.168.9.250

[root@master ceshi]# cat wenjian*

192.168.9.33

192.168.9.34

192.168.9.35

192.168.9.50

192.168.9.101

192.168.9.102

192.168.9.105

192.168.9.110

192.168.9.250

[root@master ceshi]# cat -n  wenjian.csv 

     1  192.168.9.101

     2  192.168.9.102

     3  192.168.9.105

     4  192.168.9.110

     5  192.168.9.250

[root@master ceshi]# 

tac :

是将 cat 反写过来,所以他的功能就跟 cat 相反, 

cat 是由第一行到最后一行连续显示在萤幕上,而 tac 则是由最后一行到第一行反向在萤幕上显示出来!

例:

[root@master ceshi]# cat wenjian.csv 

192.168.9.101

192.168.9.102

192.168.9.105

192.168.9.110

192.168.9.250

[root@master ceshi]# tac wenjian.csv 

192.168.9.250

192.168.9.110

192.168.9.105

192.168.9.102

192.168.9.101

[root@master ceshi]# 


nl:带行号显示文件内容;

 格式:

    nl [-bnwp] 文件

 选项: 

   -b  :指定行号指定的方式,主要有两种:

    -b a :表示不论是否为空行,也同样列出行号(类似 cat -n);

    -b t :如果有空行,空的那一行不要列出行号(默认值);

   -n  :列出行号表示的方法,主要有三种:

    -n ln :行号在萤幕的最左方显示;

    -n rn :行号在自己栏位的最右方显示,且不加 0 ;

    -n rz :行号在自己栏位的最右方显示,且加 0 ;

   -w  :行号栏位的占用的位数。

   -p :在逻辑页数切换时不将行号值复位;

例:

[root@master ceshi]# nl wenjian.csv 

     1  192.168.9.101

     2  192.168.9.102

     3  192.168.9.105

       

     4  192.168.9.110

     5  192.168.9.250

[root@master ceshi]# nl -b a wenjian.csv 

     1  192.168.9.101

     2  192.168.9.102

     3  192.168.9.105

     4

     5  192.168.9.110

     6  192.168.9.250

[root@master ceshi]# nl -n rz wenjian.csv     

000001  192.168.9.101

000002  192.168.9.102

000003  192.168.9.105

       

000004  192.168.9.110

000005  192.168.9.250

[root@master ceshi]# nl -w 3 wenjian.csv 

  1     192.168.9.101

  2     192.168.9.102

  3     192.168.9.105

    

  4     192.168.9.110

  5     192.168.9.250

[root@master ceshi]# nl -w 1 wenjian.csv  

1       192.168.9.101

2       192.168.9.102

3       192.168.9.105

  

4       192.168.9.110

5       192.168.9.250

[root@master ceshi]# 

 

more:从第一行一页一页的显示文件内容

  格式:

    more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file … ] 

  选项:(一般很少用)

    +n :从笫n行开始显示

    -n :定义屏幕大小为n行

    +/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示  

    -c :从顶部清屏,然后显示

    -d :提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能

    -l :忽略Ctrl+l(换页)字符

    -p :通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似

    -s :把连续的多个空行显示为一行

    -u :把文件内容中的下画线去掉

  命令:

    Enter   向下n行,需要定义。默认为1行

    Ctrl+F  向下滚动一屏

    空格键  向下滚动一屏

     b或Ctrl+b  返回上一屏

    =      输出当前行的行号

    :f     输出文件名和当前行的行号

    V      调用vi编辑器

    !命令   调用Shell,并执行命令 

    q      退出more

例:

[root@master ceshi]# more /etc/man.config 

#

# Generated automatically from man.conf.in by the

# configure script.

… …

–More–(29%)

 

less:对文件或其它输出进行分页显示,可以向上和向下;

  格式:

    less [选项]  文件 

  选项:  

    -b <缓冲区大小> 设置缓冲区的大小

    -e  当文件显示结束后,自动离开

    -f  强迫打开特殊文件,例如外围设备代号、目录和二进制文件

    -g  只标志最后搜索的关键词

    -i  忽略搜索时的大小写

    -m  显示类似more命令的百分比

    -N  显示每行的行号

    -o <文件名> 将less 输出的内容在指定文件中保存起来

    -Q  不使用警告音

    -s  显示连续空行为一行

    -S  行过长时间将超出部分舍弃

    -x <数字> 将“tab”键显示为规定的数字空格

  命令:

    /字符串:向下搜索“字符串”的功能

    ?字符串:向上搜索“字符串”的功能

    n:重复前一个搜索(与 / 或 ? 有关)

    N:反向重复前一个搜索(与 / 或 ? 有关)

    b  向后翻一页

    d  向后翻半页

    h  显示帮助界面

    Q  退出less 命令

    u  向前滚动半页

    y  向前滚动一行

    空格键 滚动一行

    回车键 滚动一页

    [pagedown]: 向下翻动一页

    [pageup]:  向上翻动一页

head:从文件开头查看指定行;默认head命令打印其相应文件的开头10行。 

  语法:

    head [-n number] 文件

  选项:

    -n:数字,从第一行查看的行数;

例:

head -5 shell/liuliang_1.txt 

date:  2016-09-18  16:30:03    192.168.9.105:p6p1      RX = 2725 Mb/s 

date:  2016-09-18  17:00:02    192.168.9.105:p6p1      RX = 2795 Mb/s 

date:  2016-09-18  17:30:03    192.168.9.105:p6p1      RX = 3419 Mb/s 

date:  2016-09-18  18:00:02    192.168.9.105:p6p1      RX = 2666 Mb/s 

date:  2016-09-18  18:30:04    192.168.9.105:p6p1      RX = 2823 Mb/s 

[root@CMCC105 ~]

head shell/liuliang_*        

==> shell/liuliang_1.txt <==

date:  2016-09-18  16:30:03    192.168.9.105:p6p1      RX = 2725 Mb/s 

date:  2016-09-18  17:00:02    192.168.9.105:p6p1      RX = 2795 Mb/s 

date:  2016-09-18  17:30:03    192.168.9.105:p6p1      RX = 3419 Mb/s 

date:  2016-09-18  18:00:02    192.168.9.105:p6p1      RX = 2666 Mb/s 

date:  2016-09-18  18:30:04    192.168.9.105:p6p1      RX = 2823 Mb/s 

date:  2016-09-18  19:00:02    192.168.9.105:p6p1      RX = 2727 Mb/s 

date:  2016-09-18  19:30:03    192.168.9.105:p6p1      RX = 2815 Mb/s 

date:  2016-09-18  20:00:02    192.168.9.105:p6p1      RX = 2603 Mb/s 

date:  2016-09-18  20:30:03    192.168.9.105:p6p1      RX = 2899 Mb/s 

date:  2016-09-18  21:00:02    192.168.9.105:p6p1      RX = 2637 Mb/s 

==> shell/liuliang_2.txt <==

date:  2016-09-18  16:30:03    192.168.9.105:p6p2      RX = 2605 Mb/s 

date:  2016-09-18  17:00:02    192.168.9.105:p6p2      RX = 2509 Mb/s 

date:  2016-09-18  17:30:03    192.168.9.105:p6p2      RX = 2683 Mb/s 

date:  2016-09-18  18:00:02    192.168.9.105:p6p2      RX = 2641 Mb/s 

date:  2016-09-18  18:30:04    192.168.9.105:p6p2      RX = 2797 Mb/s 

date:  2016-09-18  19:00:02    192.168.9.105:p6p2      RX = 2663 Mb/s 

date:  2016-09-18  19:30:03    192.168.9.105:p6p2      RX = 2830 Mb/s 

date:  2016-09-18  20:00:02    192.168.9.105:p6p2      RX = 2816 Mb/s 

date:  2016-09-18  20:30:03    192.168.9.105:p6p2      RX = 2586 Mb/s 

date:  2016-09-18  21:00:02    192.168.9.105:p6p2      RX = 2632 Mb/s 

[root@CMCC105 ~]

 

tail:用于显示指定文件末尾内容,常用查看实时日志文件。

  语法:

     tail [-n number] 文件

  选项:

    -f :实时读取,常用于查看实时日志文件。

    -n <行数>: 显示文件末尾指定行;

例:

[root@CMCC105 /opt/DPIAPP/logsender]

tail  nohup.out       

[ INFO] [2016-12-13 20:56:20] [pool-1-thread-5] (FtpFileUploadThread.java:68) – compose 7 files with path /usr/local/ltelog

[ INFO] [2016-12-13 20:56:20] [pool-1-thread-3] (FtpFileUploadThread.java:68) – compose 7 files with path /usr/local/ltelog

[ INFO] [2016-12-13 20:56:20] [pool-1-thread-11] (FtpFileUploadThread.java:68) – compose 7 files with path /usr/local/ltelog

[ INFO] [2016-12-13 20:56:20] [pool-1-thread-1] (FtpFileUploadThread.java:68) – compose 7 files with path /usr/local/ltelog

[ INFO] [2016-12-13 20:56:20] [pool-1-thread-7] (FtpFileUploadThread.java:68) – compose 1 files with path /usr/local/ltelog

[ INFO] [2016-12-13 20:56:20] [pool-1-thread-9] (FtpFileUploadThread.java:68) – compose 7 files with path /usr/local/ltelog

[ INFO] [2016-12-13 20:56:20] [pool-1-thread-8] (FtpFileUploadThread.java:68) – compose 7 files with path /usr/local/ltelog

[ INFO] [2016-12-13 20:56:20] [pool-1-thread-6] (FtpFileUploadThread.java:68) – compose 7 files with path /usr/local/ltelog

[ WARN] [2016-12-13 20:56:30] [DefaultQuartzScheduler_Worker-6] (FtpFileJob.java:38) -SimpleJob says: FtpFile.job_FtpFile is running. Tue Dec 13 20:56:30 CST 2016

[ WARN] [2016-12-13 20:56:40] [DefaultQuartzScheduler_Worker-9] (FtpFileJob.java:38) -SimpleJob says: FtpFile.job_FtpFile is running. Tue Dec 13 20:56:40 CST 2016

[root@CMCC105 /opt/DPIAPP/logsender]

tail  -100f nohup.out 

[ INFO] [2016-12-13 20:56:20] [pool-1-thread-3] (FtpFileUploadThread.java:68) – compose 7 files with path /usr/local/ltelog

[ INFO] [2016-12-13 20:56:20] [pool-1-thread-11] (FtpFileUploadThread.java:68) – compose 7 files with path /usr/local/ltelog

[ INFO] [2016-12-13 20:56:20] [pool-1-thread-1] (FtpFileUploadThread.java:68) – compose 7 files with path /usr/local/ltelog

[ INFO] [2016-12-13 20:56:20] [pool-1-thread-7] (FtpFileUploadThread.java:68) – compose 1 files with path /usr/local/ltelog

[ INFO] [2016-12-13 20:56:20] [pool-1-thread-9] (FtpFileUploadThread.java:68) – compose 7 files with path /usr/local/ltelog

[ INFO] [2016-12-13 20:56:20] [pool-1-thread-8] (FtpFileUploadThread.java:68) – compose 7 files with path /usr/local/ltelog

[ INFO] [2016-12-13 20:56:20] [pool-1-thread-6] (FtpFileUploadThread.java:68) – compose 7 files with path /usr/local/ltelog

[ WARN] [2016-12-13 20:56:30] [DefaultQuartzScheduler_Worker-6] (FtpFileJob.java:38) -SimpleJob says: FtpFile.job_FtpFile is running. Tue Dec 13 20:56:30 CST 2016

[ WARN] [2016-12-13 20:56:40] [DefaultQuartzScheduler_Worker-9] (FtpFileJob.java:38) -SimpleJob says: FtpFile.job_FtpFile is running. Tue Dec 13 20:56:40 CST 2016

[ WARN] [2016-12-13 20:56:50] [DefaultQuartzScheduler_Worker-8] (FtpFileJob.java:38) -SimpleJob says: FtpFile.job_FtpFile is running. Tue Dec 13 20:56:50 CST 2016

[ WARN] [2016-12-13 20:57:00] [DefaultQuartzScheduler_Worker-7] (FtpFileJob.java:38) -SimpleJob says: FtpFile.job_FtpFile is running. Tue Dec 13 20:57:00 CST 2016

… …


2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示

bash的工作特性之命令执行状态返回值

 Bash 命令执行后,会对执行状态返回一个值。

     如果命令执行成功则返回0,如果执行不成功,就会返回一个1-255的数字,这个返回值保存在特殊变量$?中。

     可以使用echo $?查看返回值。

    根据命令及其功能不同,结果各不相同;        

    引用命令的执行结果:         

            $(COMMAND)         

            或`COMMAND`

    bash的基于特性:引用

            强引用:''

            弱引用:""

            命令引用:“

    bash基础特性:快捷键
            Ctrl+a:跳转至命令行行首

            Ctrl+e:跳转至命令行行尾

            Ctrl+u:删除行首至光标所在处之间的所有字符;

            Ctrl+k:删除光标所在处至行尾的所有字符;

            Ctrl+l:清屏,相当于clear

例:

[root@master ceshi]# ll

总用量 4

-rwxr-xr-x 1 root root 150 12月 13 14:56 ssh.sh

[root@master ceshi]# ll ssh.sh 

-rwxr-xr-x 1 root root 150 12月 13 14:56 ssh.sh

[root@master ceshi]# echo $?

0

[root@master ceshi]# ll abc_ssh.sh

ls: 无法访问abc_ssh.sh: 没有那个文件或目录

[root@master ceshi]# echo $?      

2

[root@master ceshi]# 

bash的工作基础特性之:命令行展开

      ~:自动展开为用户的家目录,或指定的用户的家目录;                  

      {}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径;

例:

(1)、/etc/{a,b}  

    表示 /etc/a和/etc/b

(2)、mkdir -p /tmp/{a,b}{c,d}     

    新建 /tmp/a/c、/tmp/a/d、/tmp/b/c、/tmp/b/d四个目录

3、请使用命令行展开功能来完成以下练习:

  (1)、创建/tmp目录下的:a_c,a_d,b_c,b_d

[root@master ~]# mkdir -pv /tmp/{a_c,a_d,b_c,b_d} 

mkdir: 已创建目录 "/tmp/a_c"

mkdir: 已创建目录 "/tmp/a_d"

mkdir: 已创建目录 "/tmp/b_c"

mkdir: 已创建目录 "/tmp/b_d"

[root@master ~]# tree /tmp/

/tmp/

├── a_c

├── a_d

├── b_c

└── b_d

4 directories, 0 files

[root@master ~]# 


  (2)、创建/tmp/mylinux目录下的:

[root@master ~]# mkdir -pv /tmp/mylinux/{bin,boot/crub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},\

> lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}} 

mkdir: 已创建目录 "/tmp/mylinux/bin"

mkdir: 已创建目录 "/tmp/mylinux/boot"

mkdir: 已创建目录 "/tmp/mylinux/boot/crub"

mkdir: 已创建目录 "/tmp/mylinux/dev"

mkdir: 已创建目录 "/tmp/mylinux/etc"

mkdir: 已创建目录 "/tmp/mylinux/etc/rc.d"

mkdir: 已创建目录 "/tmp/mylinux/etc/rc.d/init.d"

mkdir: 已创建目录 "/tmp/mylinux/etc/sysconfig"

mkdir: 已创建目录 "/tmp/mylinux/etc/sysconfig/network-scripts"

mkdir: 已创建目录 "/tmp/mylinux/lib"

mkdir: 已创建目录 "/tmp/mylinux/lib/modules"

mkdir: 已创建目录 "/tmp/mylinux/lib64"

mkdir: 已创建目录 "/tmp/mylinux/proc"

mkdir: 已创建目录 "/tmp/mylinux/sbin"

mkdir: 已创建目录 "/tmp/mylinux/sys"

mkdir: 已创建目录 "/tmp/mylinux/tmp"

mkdir: 已创建目录 "/tmp/mylinux/usr"

mkdir: 已创建目录 "/tmp/mylinux/usr/local"

mkdir: 已创建目录 "/tmp/mylinux/usr/local/bin"

mkdir: 已创建目录 "/tmp/mylinux/usr/local/sbin"

mkdir: 已创建目录 "/tmp/mylinux/var"

mkdir: 已创建目录 "/tmp/mylinux/var/lock"

mkdir: 已创建目录 "/tmp/mylinux/var/log"

mkdir: 已创建目录 "/tmp/mylinux/var/run"

[root@master ~]# tree /tmp/mylinux/   

/tmp/mylinux/

├── bin

├── boot

│   └── crub

├── dev

├── etc

│   ├── rc.d

│   │   └── init.d

│   └── sysconfig

│       └── network-scripts

├── lib

│   └── modules

├── lib64

├── proc

├── sbin

├── sys

├── tmp

├── usr

│   └── local

│       ├── bin

│       └── sbin

└── var

    ├── lock

    ├── log

    └── run


24 directories, 0 files

[root@master ~]# 


4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。

(1)、可以用stat(display file or file system status)来查看文件或文件系统的状态: 

    文件:两类数据                 

       元数据:metadata                 

       数据: data

例:

[root@master ~]# ll long/

总用量 650452

-rw-r–r– 1 root root        44 10月 28 10:09 20.21.csv

-rw-r–r– 1 root root 597197252 9月  18 17:33 bao.zip

-rw-r–r– 1 root root    575389 5月  20 2016 commons-collections-3.2.1.jar

-rw-r–r– 1 root root    588337 11月 13 2015 commons-collections-3.2.2.jar

-rw-r–r– 1 root root  57162301 8月   8 16:50 CRv6.0.1.zip

-rwxr-xr-x 1 root root       319 10月 27 10:13 scp.sh

-rwxr-xr-x 1 root root       150 10月 27 10:07 ssh.sh

drwxr-xr-x 6 root root      4096 11月  4 15:16 URLGenerator

-rw-r–r– 1 root root  10508344 11月  4 15:20 URLGenerator.tar.gz

[root@master ~]# stat long/scp.sh 

  File: "long/scp.sh"

  Size: 319             Blocks: 8          IO Block: 4096   普通文件

Device: 802h/2050d      Inode: 1053603     Links: 1

Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)

Access: 2016-10-27 10:13:42.932292450 +0800

Modify: 2016-10-27 10:13:37.860292321 +0800

Change: 2016-10-27 10:13:37.950292623 +0800

[root@master ~]# stat long/

  File: "long/"

  Size: 4096            Blocks: 8          IO Block: 4096   目录

Device: 802h/2050d      Inode: 1044499     Links: 3

Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)

Access: 2016-12-13 14:38:56.581484764 +0800

Modify: 2016-11-04 15:20:56.093502642 +0800

Change: 2016-11-04 15:20:56.093502642 +0800

[root@master ~]# 

含义:File:文件名;

   Blocks:块;IO 

   Block:IO块;

   Device:设备;

   Access(第一个):权限;

    Uid:创建者id;

   Gid:归属组id;

   Access(第二个):最近访问;

    modify:最近修改;

   change:最近改动

(2)、修改文件的时间戳用touch(change file timestamps)

     一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;         

    二是用来创建新的空文件。

 touch [OPTION]… FILE…

      选项和参数:

          -c: 指定的文件路径不存在时不予创建;

          -a: 仅修改access time;

        -m:仅修改modify time;

        -t STAMP:使用[[CC]YY]MMDDhhmm[.ss] 格式的时间替代当前时间

例:

[root@master long]# ll

-rwxr-xr-x 1 root root       150 10月 27 10:07 ssh.sh

[root@master long]# touch -t  201611131459  ssh.sh    

[root@master long]# ll

-rwxr-xr-x 1 root root       150 11月 13 14:59 ssh.sh

[root@master long]# 

5、如何定义一个文件的别名,如何在命令中引用另一个命令的执行结果?

alias:可以用来直接定义命令的别名,有两种方式定义:

    一是直接在命令行下执行,仅对当前用户有效,重启系统后无效,

    二是在/etc/bashrc 下进行设置,对全局用户有效

   获取所有可用别名的定义:                   

          ~]# alias               

    定义别名:                   

          ~]# alias NAME='COMMAND'                   

    注意:仅对当前shell进程有效               

    撤销别名:                   

         ~]# unalias NAME

例:

[root@zhao-66 test]# ll

总用量 5044

drwxr-xr-x 3 root root    4096 6月   6 2016 classes

-rw-r–r– 1 root root  230471 6月   6 2016 classes.zip

drwxr-xr-x 7 root root    4096 6月   6 2016 logsender_cp

-rw-r–r– 1 root root 4914834 6月   6 2016 logsender_cp.tai.gz

drwxr-xr-x 5 root root    4096 6月   6 2016 test

drwxr-xr-x 4 root root    4096 6月   6 2016 yasuo

[root@zhao-66 test]# alias show='ll'

[root@zhao-66 test]# show

总用量 5044

drwxr-xr-x 3 root root    4096 6月   6 2016 classes

-rw-r–r– 1 root root  230471 6月   6 2016 classes.zip

drwxr-xr-x 7 root root    4096 6月   6 2016 logsender_cp

-rw-r–r– 1 root root 4914834 6月   6 2016 logsender_cp.tai.gz

drwxr-xr-x 5 root root    4096 6月   6 2016 test

drwxr-xr-x 4 root root    4096 6月   6 2016 yasuo

[root@zhao-66 test]# unalias show

[root@zhao-66 test]# show        

-bash: show: command not found

[root@zhao-66 test]#

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

[root@master ~]# ll -d /var/l*[0-9]*[a-z]


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

[root@master ~]# ll -d /etc/[0-9]*[^0-9]


8、显示/etc目录下,以非字母开头,后面跟一个字母以及其他任意长度任意字符的文件或目录。

[root@master ~]# ll -d /etc/[^a-z][a-z]*


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

[root@master ~]# mkdir -pv /tmp/tfile-`date +%Y-%m-%d-%H-%M-%S`

mkdir: 已创建目录 "/tmp/tfile-2016-12-08-14-00-06"

[root@master ~]# 


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

[root@master ~]# mkdir -pv /tmp/mytest1

mkdir: 已创建目录 "/tmp/mytest1"

[root@master ~]# cp -a /etc/p* /tmp/mytest1/

[root@master ~]# ll !$

ll /tmp/mytest1/

总用量 376

drwxr-xr-x. 2 root root   4096 7月  28 2015 pam.d

drwxr-xr-x  2 root root   4096 5月   5 2015 pam_pkcs11

drwxr-xr-x. 3 root root   4096 4月  20 2015 pango

-rw-r–r–  1 root root   1520 10月 10 14:30 passwd

-rw-r–r–. 1 root root   1477 7月  21 2015 passwd-

drwxr-xr-x. 2 root root   4096 12月  9 2014 pcmcia

-rw-r–r–. 1 root root   2872 8月  21 2010 pinforc

drwxr-xr-x  3 root root   4096 4月  20 2015 pkcs11

drwxr-xr-x. 9 root root   4096 4月  20 2015 pki

drwxr-xr-x. 2 root root   4096 4月  20 2015 plymouth

drwxr-xr-x. 5 root root   4096 12月  9 2014 pm

-rw-r–r–  1 root root    370 10月 15 2014 pm-utils-hd-apm-restore.conf

drwxr-xr-x. 5 root root   4096 10月 15 2014 polkit-1

drwxr-xr-x. 2 root root   4096 8月  21 2010 popt.d

drwxr-xr-x. 2 root root   4096 4月  20 2015 postfix

drwxr-xr-x. 3 root root   4096 5月   5 2015 ppp

-rw-r–r–  1 root root 285120 12月  3 03:14 prelink.cache

-rw-r–r–  1 root root    789 7月  19 2013 prelink.conf

drwxr-xr-x. 2 root root   4096 7月  28 2015 prelink.conf.d

-rw-r–r–  1 root root    233 1月  12 2010 printcap

-rw-r–r–  1 root root   2902 12月  8 10:40 profile

drwxr-xr-x. 2 root root   4096 5月   5 2015 profile.d

-rw-r–r–  1 root root      0 11月 21 17:45 properties

-rw-r–r–  1 root root   6455 1月  12 2010 protocols

drwxr-xr-x. 2 root root   4096 5月   5 2015 pulse

[root@master ~]# 


11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。

[root@master ~]# mkdir -pv /tmp/mytest2;cp -a /etc/*.d /tmp/mytest2/;ll /tmp/mytest2/

mkdir: 已创建目录 "/tmp/mytest2"

总用量 100

drwxr-xr-x.  2 root root 4096 10月 24 10:41 bash_completion.d

drwxr-xr-x   2 root root 4096 10月 18 2014 cgconfig.d

drwxr-xr-x.  2 root root 4096 9月  23 2013 chkconfig.d

drwxr-xr-x.  2 root root 4096 4月  20 2015 cron.d

drwxr-xr-x.  2 root root 4096 4月  20 2015 depmod.d

drwxr-xr-x   2 root root 4096 6月  16 2014 dnsmasq.d

drwxr-xr-x.  2 root root 4096 7月  14 2015 dracut.conf.d

drwxr-xr-x.  2 root root 4096 12月  9 2014 event.d

drwxr-xr-x   2 root root 4096 11月 11 2010 ggz.modules.d

lrwxrwxrwx   1 root root   11 4月  20 2015 init.d -> rc.d/init.d

drwxr-xr-x.  2 root root 4096 10月 10 15:37 ld.so.conf.d

drwxr-xr-x.  2 root root 4096 7月  28 2015 logrotate.d

drwxr-xr-x.  2 root root 4096 12月  9 2014 makedev.d

drwxr-xr-x.  2 root root 4096 5月   5 2015 modprobe.d

drwxr-xr-x.  2 root root 4096 7月  28 2015 pam.d

drwxr-xr-x.  2 root root 4096 8月  21 2010 popt.d

drwxr-xr-x.  2 root root 4096 7月  28 2015 prelink.conf.d

drwxr-xr-x.  2 root root 4096 5月   5 2015 profile.d

lrwxrwxrwx   1 root root   10 4月  20 2015 rc0.d -> rc.d/rc0.d

lrwxrwxrwx   1 root root   10 4月  20 2015 rc1.d -> rc.d/rc1.d

lrwxrwxrwx   1 root root   10 4月  20 2015 rc2.d -> rc.d/rc2.d

lrwxrwxrwx   1 root root   10 4月  20 2015 rc3.d -> rc.d/rc3.d

lrwxrwxrwx   1 root root   10 4月  20 2015 rc4.d -> rc.d/rc4.d

lrwxrwxrwx   1 root root   10 4月  20 2015 rc5.d -> rc.d/rc5.d

lrwxrwxrwx   1 root root   10 4月  20 2015 rc6.d -> rc.d/rc6.d

drwxr-xr-x. 10 root root 4096 10月 10 10:49 rc.d

drwxr-xr-x.  2 root root 4096 12月 17 2014 rsyslog.d

drwxr-xr-x.  2 root root 4096 11月  4 2014 rwtab.d

drwxr-xr-x.  2 root root 4096 4月  20 2015 setuptool.d

drwxr-xr-x.  2 root root 4096 11月  4 2014 statetab.d

drwxr-x—.  2 root root 4096 10月 15 2014 sudoers.d

drwxr-xr-x.  2 root root 4096 4月  20 2015 xinetd.d

drwxr-xr-x. 27 root root 4096 12月  8 14:06 yum.repos.d

[root@master ~]# 


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

[root@master ~]# mkdir /tmp/mytest3; find /etc/ -maxdepth 1 -type f -name "[l-n]*.conf"|xargs -I {} cp {} /tmp/mytest3                                       

[root@master ~]# ll !$

ll /tmp/mytest3

总用量 32

-rw-r–r– 1 root root   28 12月  8 17:41 ld.so.conf

-rw-r—– 1 root root  191 12月  8 17:41 libaudit.conf

-rw-r–r– 1 root root 2293 12月  8 17:41 libuser.conf

-rw-r–r– 1 root root  662 12月  8 17:41 logrotate.conf

-rw-r–r– 1 root root  827 12月  8 17:41 mke2fs.conf

-rw-r–r– 1 root root 2620 12月  8 17:41 mtools.conf

-rw-r–r– 1 root root 1688 12月  8 17:41 nsswitch.conf

-rw-r–r– 1 root root 1778 12月  8 17:41 ntp.conf

[root@master ~]# 


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

(0)
moermoer
上一篇 2016-12-13
下一篇 2016-12-13

相关推荐

  • 正则表达式及grep使用

    正则表达式分为:“基本正则表达式 BRE”跟“扩展正则表达式 ERE” 基本正则表达式:     (1)字符匹配               "."任意单个字符 &nbs…

    Linux干货 2016-07-10
  • systemd及awk

    1、简述systemd的新特性及unit常见类型分析,能够实现编译安装的如nginx\apache实现通过systemd来管理
    2、描述awk命令用法及示例(至少3例)
    3、描述awk函数示例(至少3例)

    Linux干货 2018-01-17
  • 系统启动流程相关概念

    前言: 了解系统内核基本知识 内核功能:进程管理、内存管理、网络协议栈、文件系统、驱动程序、安全功能等  用户空间:应用程序其中有进程或者线程 运行中的系统可分为两层:内核空间、用户空间  内核设计流派:  单内核设计:把每种功能集成于一个程序中;例如:linux 微内核设计:每种功能使用一个单独的子系统实现;例如:Window…

    Linux干货 2016-09-19
  • shell脚本编程之函数

      在编写脚本时经常会遇到某个任务需要重复使用的问题,需每次都要输入同样的代码是件挺烦人的事情,还好可以通过编写函数还简化这项工作。   函数其实就是给一段代码起个名字,在每次使用这段代码的时候可以直接使用函数名来调用就可以了。 一、创建函数   创建函数的格式有两种:   格式1:function 函数名{ &nbs…

    Linux干货 2016-01-05
  • linux用户与组管理

    一、linux用户与组管理的基本介绍 1、任何一个用户想要使用Linux系统都要向管理员申请一个账号,对这些账号的管理即是对用户的管理,所谓组,就是多个账号的集合。用户和组管理可以提高用户的管理效率、工作效率以及系统的安全性,比如将同一个部门的成员放在一个组里并设置权限,这样可有效的对资源共享,同时可以避免其他部门的人恶意破坏。 2、用户和组的管理内容一般有…

    Linux干货 2016-08-02
  • PXE网络引导系统自动化安装CentOS7

     一.PXE 注意:安装前 selinux 禁用,iptables 关闭 dhcp 服务器静态IP地址  1.PXE的工作原理:      Client向PXE Server上的DHCP发送IP地址请求消息,DHCP检测Client是否合法(主要是检测Client的网卡MAC  &nbsp…

    Linux干货 2017-07-24