马哥教育网络21期+第二周练习博客

马哥教育网络21期+第二周练习博客

复习第一节课内容:
1,计算机的组成及其功能:
    运算器,控制器,存储器,输入设备,输出设备
2,Linux的发行版:
    shackware,debian,redhat
3,Linux的哲学思想
一切介文件把几乎所有资源,包括硬件设备组织成文件格式由众多单一目的小程序组成大程序:
尽量避免跟用户交互,使用脚本完成程序复杂,使用纯文本文件保存配置信息:
在Linux所有文件都是已根目录成倒树型结构模式进行文件存储:
4,Linux系统上命令的使用格式:
运行命令:

命令格式:

COMMAND [OPTION…] [ARGUMENTS…]

选项:用于启用或关闭命令的某个或某些功能

短选项:-c例如:-l,-h

多个短选项可命令使用,例如-l -h 可写作-lh

长选项:–word,例如:–long,–human-readable

参数:命令的作用对象

向命令提供数据:

注意:多选项,以及多参数和命令之间都应该使用空白字符分割

取消命令执行:Ctrl+c

详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用
1,ifconfig:显示地址命令
[root@localhost ~]# ifconfig
eth0  Link encap:Ethernet  HWaddr 08:00:27:B5:54:45
inet addr:192.168.1.5  Bcast:192.168.1.255  Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:feb5:5445/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:9563 errors:0 dropped:0 overruns:0 frame:0
TX packets:2522 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000 
 RX bytes:867941 (847.5 KiB)  TX bytes:228411 (223.0 KiB)

2,echo命令回显:
[root@localhost ~]# name=hhhhh
[root@localhost ~]# echo $name
hhhhh<--此处请注意‘’“”··区别

3,tty显示终端机连接标准输入设备的文件名称:
[root@localhost ~]# tty
/dev/pts/1

4,startx启动 X Windows

5,export设置或显示环境变量:
[root@localhost ~]# export $PATH
-bash: export: `/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin': not a valid identifier

6,pwd显示当前所在目录:
[root@localhost etc]# pwd
/etc

7,history显示历史命令:

8,shutdown,poweroff,reboot系统关机命令:

9,hwclock显示与设定硬件时钟:

10,date显示或设置系统时间日期:

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

cp:复制命令

  • cp [OPTION]… [-T] SOURCE DEST

  • cp [OPTION]… SOURCE… DIRECTORY

  • cp [OPTION]… -t DIRECTORY SOURCE…

cp SRC DEST

SRC是文件:

如果目标文件不存在,新建DEST,并将SRC中的内容至DEST中;
例如:复制/etc/fstab 到tmp下的fstab111文件,首先查看tpm下是否有fstab111文件:
下面使用cp命令:
[root@localhost ~]# cp /etc/fstab /tmp/fstab111
使用cat命令查看/tmp/fstab111文件:
[root@localhost ~]# cat /tmp/fstab111 
# /etc/fstab
# Created by anaconda on Sun Jul 10 08:30:21 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=36e12a53-107b-4f2c-93d2-1a4836d67bab /                       ext4    defaults        1 1
UUID=b66484d9-582d-4371-b4d0-e4ced790c209 /boot                   ext4    defaults        1 2
UUID=001595df-98dd-441b-bb32-267407ff2e30 /home                   ext4    defaults        1 2
UUID=6578a451-4708-43da-b64c-376745edcefe swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0

OK:这样就可以看出,在/tmp并没有fstab111这个文件,使用cp命令可以在/tmp下面创建fstab111这个文件以及并将/etc/fstab这个文件复制到/tmp下的fstab111这个文件当中:

如果目标文件存在:

如果DEST是文件:将SRC中的内容覆盖至DEST中;
    注意:此时建议使用cp命令使用-i选项:
[root@localhost etc]# cp -i /etc/inittab /tmp/fstab111 
cp: overwrite `/tmp/fstab111'? y
[root@localhost etc]# cat /tmp/fstab111 
# inittab is only used by upstart for the default runlevel.

如果DEST是目录:在DEST下新建与原文件同名的文件,并将SRC中内容填充至新文件中;

###

[root@localhost aaa]# ls
fstab
[root@localhost aaa]# cp /etc/inittab /tmp/aaa/
[root@localhost aaa]# ls
fstab  inittab

cp SRC…DEST SRC…:多个文件DEST必须存在,且为目录:其他情形均会出错

[root@localhost aaa]# ls
[root@localhost aaa]# 
[root@localhost aaa]# cp /etc/fstab /etc/inittab /tmp/aaa
[root@localhost aaa]# 
[root@localhost aaa]# ls
fstab  inittab

cp SRC…DESTSRC是目录:

则使用选项:-r

如果SRC是目录:则使用-r选项,DEST如果不存在,则创建目录,如果DEST存在,则将SRC及其下的文件复制到DEST中:

注:如果DEST是文件,则会报错

mv:move 移动文件

mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...

常用选项:

-i:交互式
-f:强制

rm:remove 删除

rm [OPTION]... FILE...

常用选项:
-i: 交互式
-f: 强制删除
-r: 递归

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

bash 中命令输入完成以后,有时候会没有现象,使用bash中的工作特性至命令执行状态返回值可以查看次命令是否执行成功:
使用[root@localhost ~]# echo $?
如果状态返回值为0表明此命令成功:
如果状态返回值非0表明此命令失败:

(1)、创建/tmp目录下的:ac, ad, bc, bd

[root@localhost tmp]# mkdir /tmp/{a,b}_{c,d}
[root@localhost tmp]# ls
aaa  a_c  a_d  bc   bd   ccc  fstab111        orbit-gdm   pulse-Hkrlpu85Ha6Q  pulse-RyquxrS9hZeu   yum.log
ac   ad   bbb  b_c  b_d  ddd  keyring-gPIlCB  orbit-root  pulse-mikoHiMbrMNL  virtual-root.4oeO

(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

mkdrir -p /tmp/mylinx/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{local,log,run}}

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

[root@localhost ~]# ls -l /etc/passwd
-rw-r--r--. 1 root root 1625 Jul 10 08:48 /etc/passwd

第一代表的文件格式:
1,-(f):普通文件
2,d:目录文件
3,b:块设备文件
4,c:字符设备
5,l:符号连接
6,p:管道文件
7,s:套接字文件

第二代表所属的用户的权限,属组的权限,其他用户的权限:
    r:只读
    w:可写
    x:执行
以及后面的属主,属组,大小,最后一次的访问时间



使用stat查看时间戳:
[root@localhost ~]# stat /etc/passwd
File: `/etc/passwd'
Size: 1625          Blocks: 8          IO Block: 4096   regular file
Device: 802h/2050d  Inode: 1181800     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-07-10 08:48:03.218558331 -0400
Modify: 2016-07-10 08:48:03.215558332 -0400
Change: 2016-07-10 08:48:03.215558332 -0400

三个时间戳:
**access time:访问时间,简写为atime,读取文件内容**
**modify time: 修改时间, mtime,改变文件内容(数据)**
**change time: 改变时间, ctime,元数据发生改变**

使用touch命令修改时间戳:
touch [OPTION]... FILE...
    -a: only atime
    -m: only mtime
    -t STAMP:
    [[CC]YY]MMDDhhmm[.ss]
    -c: 如果文件不存,则不予创建

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

使用alias命令进行命令别名:
使用alias显示当前shell进程所有可用的命令别名:
[root@localhost tmp]# alias 
alias cp='cp -i'
alias grep='grep --color'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

alias NAME='VALUE'定义别名NAME,其相当于指明命令VALUE;

注意:定义命令别名的时候,仅对当前shell进程有效,如果想永久有效,要定义在配置文件中:
仅对当前用户:~/.bashrc
对所有用有效:/etc/bashrc
bash进程重新读取配置文件:
使用source命令重新定义bash进程!!

撤销别名:unlaias
unalias [-a] name [name ...]
Note: 如果别名同原命令的名称,则如果要执行原命令,可使用"\COMMAND";

☆★☆★6,文件通配符:☆★☆★

*:任意长度字符
?:任意单个字符
[]:匹配指定范围内的任意单个字符
[0-9]:0到9的任意单个数字
[a-z]:不区分字符的大小写
[A-Z]:大写字母
[^]:匹配指定范围以外的任意单个字符
**专用字符集合:**
[:digit:]:任意数字,相当于0-9
[:lower:]:任意小写字母:
[:upper:]: 任意大写字母:
[:alpha:]: 任意大小写字母:
[:alnum:]:任意数字或字母:
[:space:]:空白字符:
[:punct:]:标点符号:

6,练习:

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

2,显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
ls /etc/[0-9]*[^[:digit:]]

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

4,在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
[root@localhost tmp]# touch /tmp/tfile`date +%F-%H-%M-%S`

5,复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
[root@localhost tmp]# cp -rf /etc/p*[^[:digit:]] /tmp/mytest1

6,复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
[root@localhost tmp]# cp -rf /etc/*.d /tmp/mytest2

复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中
cp -rf /etc/[1,m,n]*.conf /tmp/mytest3/

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

(0)
wostopwostop
上一篇 2016-07-12
下一篇 2016-07-12

相关推荐

  • Iptables基础

       Firewall:防火墙,工作于主机或网络的边缘处,对于进出本主机或网络的报文根据事先定义好的检查规则左匹配检测,对于能够被规则所匹配到的报文进行相应的处理的组件。   防火墙可分为:硬件防火墙,在硬件级别实现部分功能的防火墙;软件防火墙,应用软件处理逻辑运行于通用硬件平台之上的防火墙;主机防火墙,服务范围为当前主机;网络…

    2017-06-19
  • 第三周n28

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 who | cut -d ” ” -f 1 | sort -u 2、取出最后登录到当前系统的用户的相关信息。 who | tail -1 3、取出当前系统上被用户当作其默认shell的最多的那个shell。 cat /etc/passwd | …

    Linux干货 2017-12-17
  • 如何使用正则表达式

    正则表达式(Regular Expression)就是使用简单的字符按照预先设定的规则来完成复杂的功能,说白了,正则表达式是一种字符串的匹配方式,就是用预先设定好的规则来描述我们想要表达的内容,它是由普通字符以及元字符组成的字符串,其中元字符不表示本身的意义,而是用于表达控制或通配等功能。 为什么要用这个东西那,我想,每一个学习计算机的人都应该明白,计算机就…

    Linux干货 2015-10-27
  • Linux磁盘管理命令

    Linux有着管理各种存储设备的强大能力。Linux把所有磁盘都当作文件管理,从而简化我们对其进行的读写等操作。 IDE接口的硬盘在Linux中命名为:/dev/hd{a|b|c……},比如/dev/hda; 其他硬盘比如SATA接口的硬盘命名为:/dev/sd{a|b|c……},比如/dev/sda。 注:{…

    Linux干货 2015-12-06
  • day5作业

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

    系统运维 2016-08-08
  • 磁盘阵列(raid),划分逻辑卷(lvm)

    磁盘阵列(raid),划分逻辑卷(lvm)       将来我们在生产环境中由于磁盘的来回读写量比较大,所以就容易导致磁盘的损坏率比较高。但是,处于生产环境的需求,我们还得保证服务器的正常运行。或者说我们需要对服务器的读写速率进行优化,这样我们就不得不运用到这个磁盘阵列(raid )。而所谓的磁盘阵列就是使用…

    Linux干货 2016-08-29

评论列表(1条)

  • 马哥教育
    马哥教育 2016-07-12 11:27

    写的很好,排版也很棒,加油