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

相关推荐

  • Mysql备份III

    Mysql备份III Mysqldump和mysqldumper A备份和恢复所有库 $ time mysqldumo –all-databases > /mysql/backup/date.time.database.dump.sql $ echo $? $ ls&nbs…

    Linux干货 2016-06-09
  • Linux 文件系统上的权限

    文件系统上的权限是指文件系统上的文件和目录的权限,由于Linux是一种多用户的操作系统,而且允许同一时间登录多个用户操作,所以我们就需要一定的管理机制来对限定不同用户对同一文件或目录的操作权限。 文件系统上的权限主要针对三类对象(访问者)进行定义: owner:属主 u; g 属组 group; o: 其它 other 每个文件针对每类访问者都定义了三种权限…

    2017-06-04
  • Linux下XFS、Ext2文件系统对比、文件管理、inode、文件名、标准I/O、管道|tee、tr -cs blog by fazionlan July.31st

    Linux下XFS、Ext2文件系统对比、文件管理、inode、文件名、标准I/O Ext2、Fat、XFS文件系统   文件系统是对一个存储设备上的数据和元数据进行组织的机制,文件系统的创建是在格式化分区的过程中完成的(一个分区就是一个系统),众所周知Windows操作系统使用的文件系统是FAT与NTFS;Linux不同的发行版本使用的文件系统主…

    Linux干货 2016-08-01
  • 网络管理2

    一、知识整理 1、网卡配置文件格式:vim /etc/sysconfig/network-scripts/ifcfg-eth0 TYPE=Ethernet接口类型,常见的类型有Ethernet,Bridge BOOTPROTO=static设置静态还是DHCP获取IP,static和none都为静态,不写此行必须指定。查看配置DHCP之后的信息: cat /…

    Linux干货 2016-09-07
  • VIM 详用!

    1、复制/etc/rc.d/rc.sysinit文件至/TMP目录,将/tmp/rc.sysinit文件的至少一个空白字符开头的行首加 :%s/^[[:space:]]/#/ 2、复制/boot/grub/grub.conf 至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符; :%s/[[:space:]]\+// 3、删除/tmp/…

    Linux干货 2017-08-20
  • N22-第一周博客作业

    1、计算机的组成和及其功能? 计算机由硬件,操作系统,软件三大部分组成。 硬件: 计算机系统中所使用的电子线路和物理设备,主要由中央处理器( CPU )、存储器、外部设备(输入输出设备、I/O设备)及总线等组成。 a、中央处理器(CPU)的主要功能是根据存储器内的程序 ,逐条地执行程序所指定的操作。中央处理器的主要组成部分是:数据寄存器、指令寄存器、指令译码…

    Linux干货 2016-08-15

评论列表(1条)

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

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