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

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

ls

使用方式:ls [OPTION]… [DIR]…

常用选项:
-a:显示所有档案及目录; 
-A:显示除影藏文件“.”和“..”以外的所有文件列表;
-C:多列显示输出结果。这是默认选项; 
-l:与“-C”选项功能相反,所有输出信息用单列格式输出; 
-F:在每个输出项后追加文件的类型标识符, 
-i:显示文件索引节点号(inode)。
-k:以KB(千字节)为单位显示文件大小;
-l:以长格式显示目录下的内容列表。
-s:显示文件和目录的大小,以区块为单位;
-R:递归处理

stat:获取文件的源数据

cat:查看文件

file:查看文件内容类型

echo:回显命令

常用选项:
-n: 禁止自动添加换行符号;
-e: 允许使用转义符;
    \n: 换行
    \t: 制表符

cp:复制

常用选项:
-i:交互式
-r, -R: 递归复制
-a: 归档,保留文件所有属性
-f:强制

mv:移动

常用选项:
-i: 交互式
-f: 强制

rm:删除

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

install:复制

常用选项:
-m:指定目标文件权限
-o:指定目标文件属主
-g:指定目标文件属组
-d:创建空目录

touch:创建空文件或修改时间戳

-a -t STAMP:访问时间戳
-m -t STAMP:修改时间戳
-c:如果文件不存在就不创建

head:显示文件前N行

常用选项:
-c #:获取前#字节内容
-n #:获取前#行内容

tail:显示文件后N行

常用选项:
-c #:获取后#字节内容
-n #:获取后#行内容
-f:实时监测文件新增内容

wc:文件统计

常用选项:
-l:显示文件行数
-w:显示文件单词数
-c:显示文件字节数

sort:排序

常用选项:
-f:忽略字符大小写
-r:逆序
-t DELIMITER -k #:以DELIMITER为分隔符,以第#个字段为标准排序
-n:以数值大小进行排序
-u:排序后去重

uniq:排序

常用选项:
-c:显示每行重复出现的次数
-d:仅显示重复过的行
-u:仅显示不曾重复过的行

cut:切片

常用选项:
-d DELIMITER:指明字段分隔符
-f #:指明取第#个字段
--output-delimiter=:指明输出字段分隔符

tr:替换

常用选项:
-d:删除给出的字符集
-dc:字符集补集,将不在补集中的所有字符删除

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

(1)命令执行状态返回值

[root@study03 ~]# ls /etc &> /dev/null 
[root@study03 ~]# echo $?
0
[root@study03 ~]#

(2)命令行展开

[root@study03 ~]# ls
anaconda-ks.cfg
[root@study03 ~]# cp anaconda-ks.cfg{,.bak}
[root@study03 ~]# ls
anaconda-ks.cfg  anaconda-ks.cfg.bak

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

[root@study03 ~]# mkdir -pv /tmp/{a,b}_{c,d}
mkdir: 已创建目录 "/tmp/a_c"
mkdir: 已创建目录 "/tmp/a_d"
mkdir: 已创建目录 "/tmp/b_c"
mkdir: 已创建目录 "/tmp/b_d"
[root@study03 ~]# tree /tmp
/tmp
├── a_c
├── a_d
├── b_c
├── b_d
├── fstab
├── ks-script-mXddqP
├── yum.log
└── yum_save_tx.2016-06-19.20-38.hpxX0j.yumtx

4 directories, 4 files
[root@study03 ~]#

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

源数据:

文件大小
创建时间
文件的权限
文件的属主属组
atime
mtime
ctime
文件类型
文件被硬链接的次数
.......

如何查看:

[root@study03 ~]# stat anaconda-ks.cfg
  文件:"anaconda-ks.cfg"
  大小:960       	块:8          IO 块:4096   普通文件
设备:fd00h/64768d	Inode:202352576   硬链接:1
权限:(0600/-rw-------)  Uid:(    0/    root)   Gid:(    0/    root)
最近访问:2016-06-21 10:07:00.487995284 +0800
最近更改:2016-06-15 18:44:55.739969731 +0800
最近改动:2016-06-15 18:44:55.739969731 +0800
创建时间:-
[root@study03 ~]#

修改时间戳:请使用touch命令,前面已有介绍,这里不再演示

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

定义别名:

[root@study03 ~]# alias ld='ls -d'

命令引用:

[root@study03 ~]# ll `which passwd`
-rwsr-xr-x. 1 root root 27832 6月  10 2014 /usr/bin/passwd

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

[root@study03 ~]# ls /var/l*[[:lower:]]

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

[root@study03 ~]# ls /etc/[0-9]*[^0-9]
/etc/5ks:

/etc/5s:
[root@study03 ~]#

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

[root@study03 ~]# ls /etc/[^a-zA-Z][a-zA-Z]*
/etc/5ks:
/etc/5s:
[root@study03 ~]#

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

[root@study03 ~]# touch /tmp/tfile-$(date "+%F-%H-%M-%S")
[root@study03 ~]# ls /tmp
a_c  b_c  fstab             tfile-2016-06-21-11-18-28  yum_save_tx.2016-06-19.20-38.hpxX0j.yumtx
a_d  b_d  ks-script-mXddqP  yum.log
[root@study03 ~]#

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

[root@study03 ~]# mkdir /tmp/mytest1
[root@study03 ~]# cp -r /etc/p*[^0-9] /tmp/mytest1
[root@study03 ~]# ls /tmp/mytest1
pam.d   passwd-  php.ini  plymouth  popt.d   ppp             printcap  profile.d  python
passwd  php.d    pki      pm        postfix  prelink.conf.d  profile   protocols
[root@study03 ~]#

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

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

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

[root@study03 ~]# cp -r /etc/[lmn]*.conf /tmp/mytest3/
[root@study03 ~]# ls /tmp/mytest3/
ld.so.conf     libuser.conf  logrotate.conf  mke2fs.conf
libaudit.conf  locale.conf   man_db.conf     nsswitch.conf
[root@study03 ~]#

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

(0)
Net20-studyNet20-study
上一篇 2016-06-23 11:04
下一篇 2016-06-23 11:04

相关推荐

  • 加密通讯过程

    一次加密通讯的过程 1、client_hello   客户端发起请求,以明文传输请求信息,包含版本信息,加密套件候选列表,压缩算法候选列表,随机数,扩展字段等信息,相关信息如下: 支持的最高TSL协议版本version,从低到高依次 SSLv2 SSLv3 TLSv1 TLSv1.1 TLSv1.2,当前基本不再使用低于 TLSv1 的版本 客户端支持的加密…

    Linux干货 2017-02-07
  • RAID有点意思

        独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),简称磁盘阵列。其基本思想就是把多个相对…

    Linux干货 2017-06-19
  • httpd功能配置之访问控制

       httpd服务可以实现对资源访问控制,可以根据IP地址和用户两种方式进行控制。    一、用户认证控制      1、在站点根目录下创建一个目录及一个页面文件      2、修改/var/httpd/conf/httpd.conf文件   &n…

    Linux干货 2016-03-11
  • 双网卡绑定及单网卡多IP地址实现方法

    Bonding就是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP地址是不可能的。通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址。mode=1(active-backup):一个网卡处于活动状态 ,一个处于备份状态,所有流量都在主链路上处理。当活动网卡down掉时,启用备份…

    Linux干货 2016-09-05
  • Linux iptables配置应用

                    Linux iptables配置应用 概述:    Linux的防火墙体系主要工作在网络层,只对tcp/ip数据包实施过滤和限制,属于典型的包过滤防火墙(或称为网络层防火墙)。Linux的防火墙体系基于内核编码实现,因…

    系统运维 2016-11-18
  • 文件服务及vsftpd的配置

    文件服务:     ftp:应用层,C/S,文件共享;file transfer protocol;     nfs,cifs:文件系统接口,网络文件系统;         nfs:network f…

    Linux干货 2016-10-15

评论列表(1条)

  • 马哥教育
    马哥教育 2016-06-23 13:33

    写的很好,排版也很棒,10题好像有点小瑕疵,在仔细想想,加油