马哥教育网络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

相关推荐

  • 上海2016全球运维大会 美女辣妹吸引眼球!

    国内第一个运维行业大会 GOPS 2016全球运维大会(上海站)在2016年9月23-24日在上海雅悦新天地大酒店举办,面向IT及传统行业、广大运维技术人员,传播先进技术思想和理念,分享业内最佳实践。 参会两日,虽然大会主角是运维技术交流学习,不过却意料之外的邂逅了另一道靓丽的风景,瞬间燃了… 在会场,站立着一群高挑美女,我的…

    2016-12-05
  • 20160808作业

    20160808作业 1、每日课堂笔记总结 2、预习 3、每日课堂pdf练习 1、删除/etc/grub2.cfg文件中所有以空白开头的行行首的空白字符 [root@Centos7 ~]# sed '/^[[:space:]]\+/d' /etc/grub2.cfg  # # …

    Linux干货 2016-08-15
  • Linux里的用户与组

    任何事务的进行都离不开管理,脱离了管理的系统将会是一团乱麻。今天就来讲讲Linux里的用户与组的管理 首先,用户与组不会凭空出现,必须得是系统本身或人为创建的 。     所以,系统创建的就叫系统用户.系统组,用户创建的就是普通用户.普通组。 useradd  创建用户 -u 创建用户并指定用户的UID -g…

    2017-07-30
  • 从LongAdder看更高效的无锁实现

    接触到AtomicLong的原因是在看guava的LoadingCache相关代码时,关于LoadingCache,其实思路也非常简单清晰:用模板模式解决了缓存不命中时获取数据的逻辑,这个思路我早前也正好在项目中使用到。 言归正传,为什么说LongAdder引起了我的注意,原因有二: 作者是Doug lea ,地位实在举足轻重。 他说这个比AtomicLon…

    Linux干货 2016-06-01
  • linux计划任务

    任务计划的分类: 一次性的任务计划:只执行一次 周期性的任务计划:每隔一定的周期去做相同的事情 设置任务计划功能的工具:at和crontab at:专门处理一次性的计划任务 crontab:根据定义的周期信息,循环做一些事情 batch:系统自行选择空闲时间去执行此处指定的任务 At命令: 查看atd状态和启动atd服务及其配置文件路径: centos6:s…

    2017-09-09
  • Linux用户及权限管理

    Linux用户及权限管理 当我们用ls -al查看一个文件的详细信息的时候会显示出一个有七个字段的文件详细信息,现在我们来了解下这七个字段各自代表的意义 drwxr-xr-x 18 root root 4096 12月 16 15:25 .config 我们先来说明这七段分别表示什么每个字段我们用 | 隔开 drwxr-xr-x | 18 | root | …

    Linux干货 2016-12-19

评论列表(1条)

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

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