马哥教育网络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
下一篇 2016-06-23

相关推荐

  • 关于取路径名与基名的探讨和扩展-20160806

                          关于取路径名与基名的探讨和扩展     这两天学习grep  ,   egrep  ,  sed  &nb…

    Linux干货 2016-08-07
  • keepalived双主模型的实现

    一、简介  keepalived 简介:是服务器高可用的一个重要软件,它的核心组件有vrrp ,stack, checker ,ipvs, warpper, watch dog  它是vrrp协议的实现,原生设计目的为高可用ipvs服务;keepalived能够通过配置文件中定义生成ipvs规则 并能够对RS的健康状态进行检测;vrrp_…

    Linux干货 2016-08-30
  • 第六周作业

    一、Vim编辑器练习: 用Vim编辑器做下面的练习,我的Linux系统(CentOS 6.9)安装了精简版系统,没有Vim编辑器。 a、设置Yum源为网易开源镜像站。 b、选择对应“镜像名”,到对应的“CentOS使用说明”里面查看内容 c、看着CentOS说明操作就可以了 d、使用说明 首先备份/etc/yum.repos.d/CentOS-Base.re…

    Linux干货 2017-08-22
  • 关于文件查找和解压缩

                     文件查找和解压缩在文件系统上查找符合条件的文件,文件查找的工具有两个,locate 和find文件查找分为:          &nbs…

    系统运维 2016-08-18
  • Linux的正则表达式grep,egrep

    Linux的正则表达式grep,egrep 一、概念 正则表达式是对字符串操作的一种逻辑公式,用事先定义好的一组特殊字符,组成一个“规则字符集合”,根据用户指定的文本模式对目标文件进行逐行搜索匹配,显示能被模式匹配到的结果。 给定一个正则表达式和另一个目标字符串,我们可以从给定的字符串中通过匹配模型,过滤字符串中不想要的的字符串,得到目标字符串,减少工作量。…

    Linux干货 2017-05-07
  • 马哥教育网络班21期+第一周课程练习

    1、描述计算机的组成及其功能。 计算机由五大组件组成包括:计算器,控制器,存储,输入设备,输出设备。 运算器:做运算,且只能做二进制运算,包括算术运算和逻辑运算,如加减乘除,移位,取模。运算器的核心是加法器。 控制器:控制整个计算机部件之间协调。比如做计算,运算器先从存储器取数,运算器作运算,再回存存储器。这整个过程都由控制器做协调。  &nbsp…

    Linux干货 2016-07-12

评论列表(1条)

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

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