标签:第二周linux
1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
(1)Linux上的文件管理类命令有:cd、pwd、mkdir、rmdir、tree等等。
(2)Linux上的文件管理类命令使用方法及其相关示例:
cd:使用格式 cd DIRECTORY...
[root@bogon ~]# cd /etc
[root@bogon etc]#
pwd:使用格式 pwd [OPTION]...
[root@bogon ~]# pwd 输出:/root
mkdir:使用格式: mkdir [OPTION]... DIRECTORY...
[root@bogon /]# mkdir /etc/mylinux
[root@bogon ~]# mkdir -v /etc/test1/{a/c,b}
mkdir: 已创建目录 "/etc/test1/a/c"
mkdir: 已创建目录 "/etc/test1/b"
rmdir:使用格式 rmdir [OPTION]... DIRECTORY...
[root@bogon /]# rmdir /etc/mylinux
[root@bogon ~]# rmdir /etc/test1/{a/c,b}
tree :使用格式 tree [OPTION]... DIRECTORY...
(1) -d :只显示目录
[root@bogon ~]# tree -d /etc/test1
/etc/test1
├── a
│ └── c
└── b
(2) -L :指定显示的层级数目
[root@bogon ~]# tree -L 1 /etc/test1
/etc/test1
├── a
── b
2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
(1)、bash的工作特性之命令执行状态返回值:
1、0:表示成功
2、1-255:表示失败
3、bash使用特殊变量$?保存最近一条命令的执行状态结果
[root@bogon ~]# pwd 输出:/root
[root@bogon ~]# echo $? 输出: 0
[root@bogon ~]# pww 输出:-bash: pww: 未找到命令
[root@bogon ~]# echo $? 输出:127
(2)、bash的工作特性之命令行展开:
~:展开为用的主目录,如:~USERNAME:展开为指定用户的主目录
{}:可承载一个以逗号分隔的列表,并将其展开为多个路径
/tmp/{a,b}=/tmp/a,/tmp/b
/tmp/{tom,jerry}/hi=/tmp/tom/hi,/tmp/jerry/hi
3、请使用命令行展开功能来完成以下练习:
(1)、创建/tmp目录下的:a_c, a_d, b_c, b_d
[root@bogon ~]# mkdir /etc/mylinux/{a,b}_{c,d}
[root@bogon ~]# ls /etc/mylinux 输出:a_c a_d b_c b_d
(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
(1)、[root@bogon ~]# mkdir /etc/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}
[root@bogon ~]# tree /etc/mylinux
/etc/mylinux
├── bin
├── boot
│ └── grub
├── dev
├── etc
│ ├── rc.d
│ │ └── init.d
│ └── sysconfig
│ └── network-scripts
├── lib
│ └── modules
├── lib64
├── lock
├── log
├── proc
├── run
├── sbin
├── sys
├── tmp
├── usr
│ └── local
│ ├── bin
│ └── sbin
└── var
4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
(1) access time :访问时间
modify time :修改时间
change time :改变时间
(2)查看:
[root@bogon ~]# stat /etc/test1
最近访问:2016-08-13 16:06:27.935461222 +0800
最近更改:2016-08-13 16:04:20.008453386 +0800
最近改动:2016-08-13 16:04:20.008453386 +0800
(3)修改文件的时间戳的信息
touch:使用格式:touch [OPTION]... FILE...
(1)[root@bogon ~]# touch /etc/test1
[root@bogon ~]# stat /etc/test1
最近访问:2016-08-13 16:20:55.848514387 +0800
最近更改:2016-08-13 16:20:55.848514387 +0800
最近改动:2016-08-13 16:20:55.848514387 +0800
(2)-a: only atime
[root@bogon ~]# touch -a /etc/test1
[root@bogon ~]# stat /etc/test1
最近访问:2016-08-13 16:23:48.959524991 +0800
最近更改:2016-08-13 16:20:55.848514387 +0800
最近改动:2016-08-13 16:23:48.959524991 +0800
(3)-m: only mtime
[root@bogon ~]# touch -m /etc/test1
[root@bogon ~]# stat /etc/test1
最近访问:2016-08-13 16:23:48.959524991 +0800
最近更改:2016-08-13 16:26:48.702536001 +0800
最近改动:2016-08-13 16:26:48.702536001 +0800
(4)-t STAMP:[[CC]YY]MMDDhhmm[.ss]
[root@bogon ~]# touch -t 201608131929.55 /etc/test1
[root@bogon ~]# stat /etc/test1
最近访问:2016-08-13 19:29:55.000000000 +0800
最近更改:2016-08-13 19:29:55.000000000 +0800
最近改动:2016-08-13 16:34:30.966564318 +0800
5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
(1)定义一个命令的别名
[root@bogon ~]# alias cdnet=‘cd /etc/sysconfig/network-scripts‘
(2)在命令中引用另一命令的执行结果:
[root@bogon ~]# alias cdnet=‘cd /etc/sysconfig/network-scripts‘
[root@bogon ~]# cdnet
[root@bogon network-scripts]#
6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字
(可以有其它字符)的文件或目录。
答:~]# ls -d /var/l*[[:lower:]] 输出:/var/lib /var/local /var/lock /var/log
7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
答:~]# ls -d /etc/[0-9]*[^0-9]
输出:ls: 无法访问/etc/[0-9]*[^0-9]: 没有那个文件或目录
8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
答: ~]# ls /etc/[^[:alpha:]][[:alpha:]]*
输出: ls: 无法访问/etc/[^[:alpha:]][[:alpha:]]*: 没有那个文件或目录
9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,
文件名形如:tfile-2016-08-06-09-32-22。
答:[root@bogon ~]# name=‘tfile‘-$(date +%Y-%m-%d-%H-%M-%S)
[root@bogon ~]# mkdir /tmp/mytest3/$name
10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
答:[root@bogon ~]# mkdir -p /tmp/mytest1
[root@bogon ~]# cp -ap /etc/p*[^0-9] /tmp/mytest1
显示:[root@bogon ~]# ls -l /tmp/mytest1
总用量 40
drwxr-xr-x. 2 root root 4096 7月 31 08:29 pam.d
-rw-r--r--. 1 root root 1077 7月 31 08:29 passwd
-rw-r--r--. 1 root root 1077 7月 31 08:29 passwd-
drwxr-xr-x. 9 root root 91 7月 31 08:26 pki
drwxr-xr-x. 2 root root 27 7月 31 08:26 plymouth
drwxr-xr-x. 5 root root 49 7月 31 08:25 pm
drwxr-xr-x. 2 root root 6 6月 10 2014 popt.d
drwxr-xr-x. 2 root root 4096 7月 31 08:26 postfix
drwxr-xr-x. 3 root root 4096 7月 31 08:26 ppp
drwxr-xr-x. 2 root root 75 7月 31 08:26 prelink.conf.d
-rw-r--r--. 1 root root 233 6月 7 2013 printcap
-rw-r--r--. 1 root root 1750 6月 7 2013 profile
drwxr-xr-x. 2 root root 4096 7月 31 08:26 profile.d
-rw-r--r--. 1 root root 6545 6月 7 2013 protocols
drwxr-xr-x. 2 root root 34 7月 31 08:26 python
11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
答:[root@bogon ~]# mkdir -p /tmp/mytest2
[root@bogon ~]# cp -ap /etc/*.d /tmp/mytest2
[root@bogon ~]# ls -l /tmp/mytest2
总用量 20
drwxr-xr-x. 2 root root 48 7月 31 08:27 bash_completion.d
drwxr-xr-x. 2 root root 6 11月 20 2015 binfmt.d
drwxr-xr-x. 2 root root 6 11月 20 2015 chkconfig.d
drwxr-xr-x. 2 root root 20 7月 31 08:26 cron.d
drwxr-xr-x. 2 root root 22 7月 31 08:26 depmod.d
drwxr-xr-x. 2 root root 6 8月 6 2015 dnsmasq.d
drwxr-xr-x. 2 root root 6 11月 20 2015 dracut.conf.d
drwx------. 2 root root 4096 7月 31 08:27 grub.d
lrwxrwxrwx. 1 root root 11 7月 31 08:25 init.d -> rc.d/init.d
drwxr-xr-x. 2 root root 72 7月 31 08:26 ld.so.conf.d
drwxr-xr-x. 2 root root 60 7月 31 08:26 logrotate.d
drwxr-xr-x. 2 root root 22 7月 31 08:26 modprobe.d
drwxr-xr-x. 2 root root 6 11月 20 2015 modules-load.d
drwxr-xr-x. 2 root root 30 7月 31 08:26 my.cnf.d
drwxr-xr-x. 2 root root 4096 7月 31 08:29 pam.d
drwxr-xr-x. 2 root root 6 6月 10 2014 popt.d
drwxr-xr-x. 2 root root 75 7月 31 08:26 prelink.conf.d
drwxr-xr-x. 2 root root 4096 7月 31 08:26 profile.d
lrwxrwxrwx. 1 root root 10 7月 31 08:25 rc0.d -> rc.d/rc0.d
lrwxrwxrwx. 1 root root 10 7月 31 08:25 rc1.d -> rc.d/rc1.d
lrwxrwxrwx. 1 root root 10 7月 31 08:25 rc2.d -> rc.d/rc2.d
lrwxrwxrwx. 1 root root 10 7月 31 08:25 rc3.d -> rc.d/rc3.d
lrwxrwxrwx. 1 root root 10 7月 31 08:25 rc4.d -> rc.d/rc4.d
lrwxrwxrwx. 1 root root 10 7月 31 08:25 rc5.d -> rc.d/rc5.d
lrwxrwxrwx. 1 root root 10 7月 31 08:25 rc6.d -> rc.d/rc6.d
drwxr-xr-x. 10 root root 4096 11月 20 2015 rc.d
drwxr-xr-x. 2 root root 24 11月 20 2015 rsyslog.d
drwxr-xr-x. 2 root root 6 11月 20 2015 rwtab.d
drwxr-xr-x. 2 root root 6 11月 20 2015 statetab.d
drwxr-x---. 2 root root 6 11月 21 2015 sudoers.d
drwxr-xr-x. 2 root root 27 7月 31 08:26 sysctl.d
drwxr-xr-x. 2 root root 24 11月 20 2015 tmpfiles.d
drwxr-xr-x. 2 root root 6 8月 12 2015 xinetd.d
drwxr-xr-x. 2 root root 4096 12月 3 2015 yum.repos.d
12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
答: [root@bogon ~]# mkdir -p /tmp/mytest3
[root@bogon ~]# cp /etc/[lmn]*.config /tmp/mytest3
输出:cp: 无法获取"/etc/[lmn]*.config" 的文件状态(stat): 没有那个文件或目录
本文出自 “一起Linux之旅” 博客,转载请与作者联系!
标签:第二周linux
原文地址:http://hackyu.blog.51cto.com/7242775/1837786