1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
常用命令:
pwd:printing working directory(显示工作目录)
示例:
[root@cuikedong ~]# pwd
/root
[root@cuikedong ~]#
cd:change directory(切换目录)
cd [/PATH/TO/SOMEDIR]
cd后不加任何命令,表示切换回家目录;
注意:bash中,~表示家目录;
cd ~:切换回自己的家目录
cd ~USERNAME(用户名):切换至指定用户的家目录;
cd -:在上一次所在目录与当前
相关的环境变量
$PWD:当前工作目录
$OLDPWD:上一次的工作目录
示例:
[root@cuikedong ~]# cd /etc/sysconfig
[root@cuikedong sysconfig]# pwd
/etc/sysconfig
[root@cuikedong sysconfig]#
ls:list,列出指定目录下的内容
ls [OPTION]… [FILE]…
-a:显示所有文件,包括隐藏文件;
-A:显示除.和..之外的所有文件;
-l:–long,长格式列表,即显示文件的详细属性信息;
例: -rw-r–r–. 1 root root 8957 11月 20 21:06 boot.log
-:文件类型:-,d,b,c,l,s,p
rw-r–r–
rw-:文件属主的权限:
r–:文件属组的权限:
r–:其他用户(非属主、属组)的权限:
1:数字表示文件被硬链接的次数:
root:文件的属主:
root:文件的属组:
8957:数字表示文件的大小,单位是字节:
11月 20 21:06:文件最近一次被修改的时间:
boot.log:文件名:
-h,–human-readable(人类易读):对文件大小单位换算:换算后的结果可能会非精确值:
-d:查看目录自身而非其内部的文件列表:
-r:reverse,逆序显示:
-R:recursive,递归显示(子目录下的所有内容):
示例:
[root@cuikedong sysconfig]# ls -l
总用量 104
-rw-r–r–. 1 root root 400 11月 13 20:01 anaconda
-rw-r–r–. 1 root root 483 11月 13 20:00 authconfig
drwxr-xr-x. 2 root root 43 11月 13 19:52 cbq
-rw-r–r–. 1 root root 46 8月 4 05:27 chronyd
drwxr-xr-x. 2 root root 6 8月 4 07:57 console
-rw-r–r–. 1 root root 150 8月 23 05:43 cpupower
……………………………………………
cat:concatenate:文件文本查看工具:
cat /etc/fstab
cat /etc/passwd
cat [OPTION]… [FILE]…
-n:给显示的文本行统一编号:
-E:显示行结束符$:
示例:
[root@cuikedong sysconfig]# cat -n anaconda
1 # This file has been generated by the Anaconda Installer 21.48.22.121-1
2
3[WelcomeLanguageSpoke]
4visited = 1
5
6[OSCAPSpoke]
7visited = 1
8
9[NetworkSpoke]
10visited = 1
………………
tac:concatenate:文件文本查看工具:
tac /etc/fstab
tac /etc/passwd
tac [OPTION]… [FILE]…
-n:给显示的文本行统一编号:
-E:显示行结束符$:
示例:
[root@cuikedong ~]# tac /etc/fstab
/dev/mapper/centos_cuikedong-swap swap swap defaults 0 0
/dev/mapper/centos_cuikedong-home /home xfs defaults 0 0
UUID=e8437b00-9547-480d-a63a-0e5cbcda3683 /boot xfs defaults 0 0
/dev/mapper/centos_cuikedong-root / xfs defaults 0 0
#
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
# Accessible filesystems, by reference, are maintained under ‘/dev/disk’
#
# Created by anaconda on Mon Nov 13 19:51:58 2017
# /etc/fstab
#
[root@cuikedong ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Mon Nov 13 19:51:58 2017
#
# Accessible filesystems, by reference, are maintained under ‘/dev/disk’
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos_cuikedong-root / xfs defaults 0 0
UUID=e8437b00-9547-480d-a63a-0e5cbcda3683 /boot xfs defaults 0 0
/dev/mapper/centos_cuikedong-home /home xfs defaults 0 0
/dev/mapper/centos_cuikedong-swap swap swap defaults 0 0
注:cat与tac显示内容顺序相反
file:查看文件内容类型:
file[FILE]……….
示例:
[root@cuikedong ~]# file /etc/passwd
/etc/passwd: ASCII text
mkdir:make directory (创建目录)
mkdir [OPTION]… DIRECTORY…
-p:自动按需创建父目录:
-v verbose:显示创建的详细过程:
-m MODE:直接给定权限:
注意:路径基名方为命令的作用对象: 基名之前的路径必须的存在:
示例:
[root@cuikedong /]# mkdir /etc/cuicui
[root@cuikedong /]# ls -l /etc
……………………………………………..
-rw-r–r–. 1 root root 841 6月 7 2013 csh.login
drwxr-xr-x. 2 root root 17 12月 10 12:08 cui
drwxr-xr-x. 2 root root 6 12月 10 13:14 cuicui
drwxr-xr-x. 4 root root 78 11月 13 19:53 dbus-1
[root@cuikedong /]#
rmdir:remove empty directories(删除空目录)
rmdir [OPTION]… DIRECTORY…
-p:删除某目录后,如果其父目录为空,则一并删除之:
-v:显示过程:
示例:
[root@cuikedong /]# rmdir /etc/cuicui
[root@cuikedong /]# ls -l /etc
……………………………………………
-rw-r–r–. 1 root root 841 6月 7 2013 csh.login
drwxr-xr-x. 2 root root 17 12月 10 12:08 cui
drwxr-xr-x. 4 root root 78 11月 13 19:53 dbus-1
……………………………………………
[root@cuikedong /]#
tree命令:
tree [options] [directory]
-L level:指定要显示的层级:
示例:
[root@cuikedong /]# tree -L 1 /
/
├── bin -> usr/bin
├── boot
├── dev
├── etc
├── home
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── media
├── mnt
├── opt
├── proc
├── root
├── run
├── sbin -> usr/sbin
├── srv
├── sys
├── tmp
├── usr
└── var
19 directories, 0 files
[root@cuikedong /]#
文件查看类命令:cat,tac,head,tail,more,less
分屏查看命令:more和less
more命令:
more FILE
特点:翻屏至文件尾部后自动退出:
less命令:(man 本身就是调用less命令)
less FILE
head命令:
查看文件的前n行:
head [options] FILE
-n #(#=1,2,3,……..)
-#
示例:
[root@cuikedong ~]# head -n3 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
tail命令:
查看文件后的n行:
tail [options] FILE
-n #(#=1,2,3,……..)
-#
-f:查看文件尾部内容结束后不退出,跟随显示新增的行:(查看新增日志时候会用)
示例:
[root@cuikedong ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
………………………………..
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
gentoo:x:1001:1001::/home/gentoo:/bin/bash
slakware:x:1002:1002::/home/slakware:/bin/tcsh
slackware:x:1003:1003::/home/slackware:/bin/tcsh
docker:x:1004:1004::/home/docker:/bin/bash
[root@cuikedong ~]# tail -n3 /etc/passwd
slakware:x:1002:1002::/home/slakware:/bin/tcsh
slackware:x:1003:1003::/home/slackware:/bin/tcsh
docker:x:1004:1004::/home/docker:/bin/bash
stat命令:状态(查看文件的元数据)
stat – display file or file system status
用法:
stat FILE,,,,,,
Linux中每一个文件:两类数据
元数据:metadata(例如书的目录)
数据:data(例如书的正文)
时间戳:
access time (最近访问):2017-11-14 20:07:30.941647159 +0800 (读取数据流)
modify time(最近更改):2017-11-27 20:14:05.372243896 +0800 (改动的数据)
change time(最近改动):2017-11-27 20:14:05.372243896 +0800 (改动的元数据)
示例:
[root@cuikedong ~]# stat /etc/cui/aaa
文件:”/etc/cui/aaa”
大小:105 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:101126440 硬链接:1
权限:(0644/-rw-r–r–) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:etc_t:s0
最近访问:2017-12-10 12:11:10.395401753 +0800
最近更改:2017-12-10 12:10:16.098348565 +0800
最近改动:2017-12-10 12:10:16.098348565 +0800
创建时间:-
[root@cuikedong ~]#
touch命令:创建新的空文件,改变已有文件的时间戳属性:
手动更改时间戳( change time不能手动指定)
touch – change file timestamps
touch [OPTION]… FILE…
-c:指定的文件路径不存在时不予创建:
-a:仅修改access time
-m:仅修改modify time
-t STAMP
[[CC]YY]MMDDhhmm[.ss]
例如:~]# touch -m -t 0212010303.03 /tmp/functions
结果:最近更改:2002-12-01 03:03:03.000000000 +0800
示例:
[root@cuikedong ~]# touch /etc/cui/aaa
[root@cuikedong ~]# ls /etc/cui
aaa
[root@cuikedong /]# file /etc/cui/aaa
/etc/cui/aaa: empty
[root@cuikedong /]#
文件管理工具:cp,mv,rm
cp命令:copy
源文件:目标文件:
单源复制: cp [OPTION]… [-T] SOURCE DEST
多源复制 :cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
单源复制: cp [OPTION]… [-T] SOURCE DEST
如果DEST不存在:则事先创建此文件,并复制源文件的数据流至DEST中: 如果DEST存在:
如果DEST是非目录文件:则覆盖目标文件:
如果DEST是目录文件:则现在DEST目录下创建一个与源文件同名的文件,并复制其属性和数据流至目标文件:
多源复制 :cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
如果DEST不存在:错误:
如果DEST存在:
如果DEST是非目录文件:错误:
如果DEST是目录文件:分别复制每个文件至目标目录中,并保持原名:
常用选项:
-i:交互式复制,即覆盖之前提醒用户确认:
-f:强制覆盖目标文件:
-r,-R:递归复制目录:
-d:复制符号链接本身,而非其指向的源文件:
-a:-dR –preserve=all,archive,用于实现归档:
–preserve=
mode:权限
ownership:属主和属组
timestamps:时间戳
context:安全标签
xattr:扩展属性
links:符号链接
all:上述所有属性
示例:
[root@cuikedong /]# ls /var
adm crash empty gopher lib lock mail opt run tmp
cache db games kerberos local log nis preserve spool yp
注:/var没有文件“aaa”
[root@cuikedong /]# cp /etc/cui/aaa /var
[root@cuikedong /]# ls /var
aaa cache db games kerberos local log nis preserve spool yp
adm crash empty gopher lib lock mail opt run tmp
[root@cuikedong /]#
mv命令:move
mv [OPTION]… [-T] SOURCE DEST
mv [OPTION]… SOURCE… DIRECTORY
mv [OPTION]… -t DIRECTORY SOURCE…
常用选项:
-i:交互式:
-f:force
示例:
[root@cuikedong /]# mv /var/aaa /tmp
[root@cuikedong /]# ls /tmp
aaa
systemd-private-70e2d125bf6b49fc9c16a25e6f383f7f-chronyd.service-JrJZ6h
systemd-private-70e2d125bf6b49fc9c16a25e6f383f7f-vgauthd.service-o3ZUMJ
systemd-private-70e2d125bf6b49fc9c16a25e6f383f7f-vmtoolsd.service-IHRY0T
[root@cuikedong /]# ls /var
adm crash empty gopher lib lock mail opt run tmp
cache db games kerberos local log nis preserve spool yp
[root@cuikedong /]#
rm命令:remove
rm [OPTION]… FILE…
常用选项:
-i:interactive
-f:force
-r:recursive
删除目录:rm -rf /PATH/TO/DIR
危险操作:rm -rf /*(清楚根目录下的所有内容)
注意:所有不用的文件建议不要直接删除,而是移动至某个专用目录:(模拟回收站)
示例:
[root@cuikedong /]# rm -r /tmp/aaa
rm:是否删除普通空文件 “/tmp/aaa”?y
[root@cuikedong /]# ls /tmp
systemd-private-70e2d125bf6b49fc9c16a25e6f383f7f-chronyd.service-JrJZ6h
systemd-private-70e2d125bf6b49fc9c16a25e6f383f7f-vgauthd.service-o3ZUMJ
systemd-private-70e2d125bf6b49fc9c16a25e6f383f7f-vmtoolsd.service-IHRY0T
[root@cuikedong /]#
which命令:
which – shows the full path of (shell) commands.
使用格式:
which [options] [–] programname […]
–skip-alias:显示时,不显示别名:
示例:
[root@cuikedong ~]# which man
/bin/man
[root@cuikedong ~]# which cat
/bin/cat
whereis命令:
whereis – locate the binary, source, and manual page files for a command
whereis [options] name…
-b:仅搜索二进制程序路径:
-m:仅搜索使用手册文件路径:
示例:
[root@cuikedong ~]# whereis -m man
man: /usr/share/man/man1/man.1.gz
[root@cuikedong ~]# whereis -m ls
ls: /usr/share/man/man1/ls.1.gz
[root@cuikedong ~]# whereis -m cat
cat: /usr/share/man/man1/cat.1.gz
[root@cuikedong ~]#
who命令:
who – show who is logged on
who [OPTION]…
-b:系统最近一次启动的时间
-d:显示死亡进程:
-l:显示登录进程:
-u:显示谁登录的:
-r:运行级别:
w命令:增强版的who命令
w – Show who is logged on and what they are doing.
示例:
[root@cuikedong ~]# who
cuikedong tty1 2017-12-10 10:40
cuikedong pts/0 2017-12-10 10:43 (192.168.0.101)
[root@cuikedong ~]#
tr命令:
COMMAND | tr [OPTION]… SET1 [SET2]
把输入的数据当中的字符,凡是在SET1定义范围内出现的,通通对位转换为SET2出现的字符
用法1:tr SET1 SET2 > /PATH/FROM/SOMEFILE
用法2:tr -d SET1 < /PATH/FROM/SOMEFILE
注意:不修改原文件
示例:
[root@cuikedong ~]# head -n3 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
[root@cuikedong ~]# head -n3 /etc/passwd | tr ‘a-z’ ‘A-Z’
ROOT:X:0:0:ROOT:/ROOT:/BIN/BASH
BIN:X:1:1:BIN:/BIN:/SBIN/NOLOGIN
DAEMON:X:2:2:DAEMON:/SBIN:/SBIN/NOLOGIN
[root@cuikedong ~]#
tee命令:
COMMAND | tee /PATH/TO/SOMEFILE
前一个命令的数据流输出到屏幕上,并保存到另一个指明文件中,且分发到后一个命令中去:
示例:
[root@cuikedong ~]# head -n3 /etc/passwd | tee /etc/cui/aaa
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
[root@cuikedong ~]# cat /etc/cui/aaa
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
[root@cuikedong ~]#
2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
bash的基础特性:命令的执行状态结果
bash通过状态返回值来输出此结果:
成功:0
失败:1~255
命令执行完成之后,其状态返回值保存于bash的特殊变量$?中:
~]# echo $?
示例:
[root@cuikedong /]# ls /
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
[root@cuikedong /]# echo $?
0
注:显示值为“0”命令执行成功
[root@cuikedong /]# lss /
-bash: lss: 未找到命令
[root@cuikedong /]# echo $?
127
注:显示值为“127”命令执行失败
命令正常执行时,有的还会有命令返回值:
根据命令其功能不同,结果各不相同:
bash的基础特性之:命令行展开
~:自动展开为用户的家目录,或指定的用户的家目录:
{}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径:
例如:/tmp/{a,b}相当于/tmp/a /tmp/b
示例:
创建/tmp/x/y1,/tmp/x/y2,/tmp/x/y1/a,/tmp/x/y1/b?
解答:
[root@cuikedong /]# mkdir -pv /tmp/x/{y1/{a,b},y2}
mkdir: 已创建目录 “/tmp/x”
mkdir: 已创建目录 “/tmp/x/y1”
mkdir: 已创建目录 “/tmp/x/y1/a”
mkdir: 已创建目录 “/tmp/x/y1/b”
mkdir: 已创建目录 “/tmp/x/y2”
[root@cuikedong /]# tree /tmp
/tmp
└── x
├── y1
│ ├── a
│ └── b
└── y2
[root@cuikedong /]#
创建a_c,a_d,b_c,b_d:
解答:
[root@cuikedong /]# mkdir -v /tmp/{a,b}_{c,d}
mkdir: 已创建目录 “/tmp/a_c”
mkdir: 已创建目录 “/tmp/a_d”
mkdir: 已创建目录 “/tmp/b_c”
mkdir: 已创建目录 “/tmp/b_d”
[root@cuikedong /]# ls -l /tmp
总用量 0
drwxr-xr-x. 2 root root 6 12月 10 15:06 a_c
drwxr-xr-x. 2 root root 6 12月 10 15:06 a_d
drwxr-xr-x. 2 root root 6 12月 10 15:06 b_c
drwxr-xr-x. 2 root root 6 12月 10 15:06 b_d
3、请使用命令行展开功能来完成以下练习:
(1)、创建/tmp目录下的:a_c, a_d, b_c, b_d
解答:
[root@cuikedong /]# mkdir -v /tmp/{a,b}_{c,d}
mkdir: 已创建目录 “/tmp/a_c”
mkdir: 已创建目录 “/tmp/a_d”
mkdir: 已创建目录 “/tmp/b_c”
mkdir: 已创建目录 “/tmp/b_d”
[root@cuikedong /]# ls -l /tmp
总用量 0
drwxr-xr-x. 2 root root 6 12月 10 15:06 a_c
drwxr-xr-x. 2 root root 6 12月 10 15:06 a_d
drwxr-xr-x. 2 root root 6 12月 10 15:06 b_c
drwxr-xr-x. 2 root root 6 12月 10 15:06 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
解答:
[root@cuikedong /]# mkdir -pv
/tmp/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}}
mkdir: 已创建目录 “/tmp/mylinux”
mkdir: 已创建目录 “/tmp/mylinux/bin”
mkdir: 已创建目录 “/tmp/mylinux/boot”
mkdir: 已创建目录 “/tmp/mylinux/boot/grub”
mkdir: 已创建目录 “/tmp/mylinux/dev”
mkdir: 已创建目录 “/tmp/mylinux/etc”
mkdir: 已创建目录 “/tmp/mylinux/etc/rc.d”
mkdir: 已创建目录 “/tmp/mylinux/etc/rc.d/init.d”
mkdir: 已创建目录 “/tmp/mylinux/etc/sysconfig”
mkdir: 已创建目录 “/tmp/mylinux/etc/sysconfig/network-scripts”
mkdir: 已创建目录 “/tmp/mylinux/lib”
mkdir: 已创建目录 “/tmp/mylinux/lib/modules”
mkdir: 已创建目录 “/tmp/mylinux/lib64”
mkdir: 已创建目录 “/tmp/mylinux/proc”
mkdir: 已创建目录 “/tmp/mylinux/sbin”
mkdir: 已创建目录 “/tmp/mylinux/sys”
mkdir: 已创建目录 “/tmp/mylinux/tmp”
mkdir: 已创建目录 “/tmp/mylinux/usr”
mkdir: 已创建目录 “/tmp/mylinux/usr/local”
mkdir: 已创建目录 “/tmp/mylinux/usr/local/bin”
mkdir: 已创建目录 “/tmp/mylinux/usr/local/sbin”
mkdir: 已创建目录 “/tmp/mylinux/var”
mkdir: 已创建目录 “/tmp/mylinux/var/lock”
mkdir: 已创建目录 “/tmp/mylinux/var/log”
mkdir: 已创建目录 “/tmp/mylinux/var/run”
[root@cuikedong /]# tree /tmp/mylinux
/tmp/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
24 directories, 0 files
[root@cuikedong /]#
4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
解答:
stat命令:状态(查看文件的元数据)
用法:
stat FILE,,,,,,
示例:
[root@cuikedong ~]# stat /tmp/cui
文件:”/tmp/cui”
大小:0 块:0 IO 块:4096 普通空文件
设备:fd00h/64768d Inode:67358650 硬链接:1
权限:(0644/-rw-r–r–) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:user_tmp_t:s0
最近访问:2017-12-10 18:45:55.186935129 +0800
最近更改:2017-12-10 18:45:55.186935129 +0800
最近改动:2017-12-10 18:45:55.186935129 +0800
创建时间:-
修改时间戳
touch命令:手动更改时间戳
touch – change file timestamps
touch [OPTION]… FILE…
-c:指定的文件路径不存在时不予创建:
-a:仅修改access time
-m:仅修改modify time
-t STAMP
[[CC]YY]MMDDhhmm[.ss]
示例:
[root@cuikedong ~]# stat /tmp/cui
文件:”/tmp/cui”
大小:0 块:0 IO 块:4096 普通空文件
设备:fd00h/64768d Inode:67358650 硬链接:1
权限:(0644/-rw-r–r–) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:user_tmp_t:s0
最近访问:2017-12-10 18:45:55.186935129 +0800
最近更改:2017-12-10 18:45:55.186935129 +0800(跟改前)
最近改动:2017-12-10 18:45:55.186935129 +0800
创建时间:-
[root@cuikedong ~]# touch -m -t 201808080808.08 /tmp/cui
[root@cuikedong ~]# stat /tmp/cui
文件:”/tmp/cui”
大小:0 块:0 IO 块:4096 普通空文件
设备:fd00h/64768d Inode:67358650 硬链接:1
权限:(0644/-rw-r–r–) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:user_tmp_t:s0
最近访问:2017-12-10 18:45:55.186935129 +0800
最近更改:2018-08-08 08:08:08.000000000 +0800(更改后)
最近改动:2017-12-10 18:58:07.301294741 +0800
创建时间:-
5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
解答:
定义别名:
~]# alias NAME=‘COMMAD’
注意:仅对当前shell进程有效
示例:
[root@cuikedong ~]# alias p=’pwd’
[root@cuikedong ~]# alias
alias p=’pwd’
[root@cuikedong ~]# p
/root
引用命令的执行结果:
$(COMMAND)
或‘COMMAND’
bash的基础特性:引用
强引用:”
弱引用:“”
命令引用:“(反引号)
示例:
[root@cuikedong ~]# touch /tmp/cui-`date +%Y-%m-%d-%H-%M-%S` (命令引用)
[root@cuikedong ~]# ls /tmp
cui
cui-2017-12-10-19-21-41
[root@cuikedong ~]#
6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
解答:
[root@cuikedong /]# ls -d /var/l*[0-9]*[[:lower:]]
7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
解答:
[root@cuikedong /]# ls -d /etc/[0-9]*[^0-9]
8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
解答:
[root@cuikedong /]# ls -d /etc/[^a-z][a-z]*
9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
解答:
[root@cuikedong ~]# touch /tmp/tfile-`date +%Y-%m-%d-%H-%M-%S`
[root@cuikedong ~]# ls /tmp
mylinux
tfile-2017-12-10-17-22-13
x
[root@cuikedong ~]#
10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
解答:
[root@cuikedong ~]# mkdir /tmp/mytest1
[root@cuikedong ~]# cp -r /etc/p*[^0-9] /tmp/mytest1
[root@cuikedong ~]# ls -l /tmp/mytest1
总用量 28
drwxr-xr-x. 2 root root 4096 12月 10 18:15 pam.d
-rw-r–r–. 1 root root 1473 12月 10 18:15 passwd
-rw-r–r–. 1 root root 1430 12月 10 18:15 passwd-
drwxr-xr-x. 10 root root 116 12月 10 18:15 pki
drwxr-xr-x. 2 root root 28 12月 10 18:15 plymouth
drwxr-xr-x. 5 root root 52 12月 10 18:15 pm
drwxr-xr-x. 2 root root 6 12月 10 18:15 popt.d
drwxr-xr-x. 2 root root 154 12月 10 18:15 postfix
drwxr-xr-x. 3 root root 123 12月 10 18:15 ppp
drwxr-xr-x. 2 root root 78 12月 10 18:15 prelink.conf.d
-rw-r–r–. 1 root root 233 12月 10 18:15 printcap
-rw-r–r–. 1 root root 1795 12月 10 18:15 profile
drwxr-xr-x. 2 root root 232 12月 10 18:15 profile.d
-rw-r–r–. 1 root root 6545 12月 10 18:15 protocols
drwxr-xr-x. 2 root root 79 12月 10 18:15 pulse
drwxr-xr-x. 2 root root 35 12月 10 18:15 python
11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
解答:
[root@cuikedong ~]# mkdir /tmp/mytest2
[root@cuikedong ~]# cp -r /etc/*.d /tmp/mytest2
[root@cuikedong ~]# ls -l /tmp/mytest2
总用量 4
drwxr-xr-x. 2 root root 223 12月 10 18:26 bash_completion.d
drwxr-xr-x. 2 root root 6 12月 10 18:26 binfmt.d
drwxr-xr-x. 2 root root 6 12月 10 18:26 chkconfig.d
drwxr-xr-x. 2 root root 39 12月 10 18:26 cron.d
drwxr-xr-x. 2 root root 23 12月 10 18:26 depmod.d
drwxr-xr-x. 2 root root 6 12月 10 18:26 dracut.conf.d
drwx——. 2 root root 182 12月 10 18:26 grub.d
lrwxrwxrwx. 1 root root 11 12月 10 18:26 init.d -> rc.d/init.d
drwxr-xr-x. 2 root root 6 12月 10 18:26 krb5.conf.d
drwxr-xr-x. 2 root root 74 12月 10 18:26 ld.so.conf.d
drwxr-xr-x. 2 root root 114 12月 10 18:26 logrotate.d
drwxr-xr-x. 2 root root 24 12月 10 18:26 modprobe.d
drwxr-xr-x. 2 root root 6 12月 10 18:26 modules-load.d
drwxr-xr-x. 2 root root 31 12月 10 18:26 my.cnf.d
drwxr-xr-x. 2 root root 70 12月 10 18:26 oddjobd.conf.d
drwxr-xr-x. 2 root root 4096 12月 10 18:26 pam.d
drwxr-xr-x. 2 root root 6 12月 10 18:26 popt.d
drwxr-xr-x. 2 root root 78 12月 10 18:26 prelink.conf.d
drwxr-xr-x. 2 root root 232 12月 10 18:26 profile.d
lrwxrwxrwx. 1 root root 10 12月 10 18:26 rc0.d -> rc.d/rc0.d
lrwxrwxrwx. 1 root root 10 12月 10 18:26 rc1.d -> rc.d/rc1.d
lrwxrwxrwx. 1 root root 10 12月 10 18:26 rc2.d -> rc.d/rc2.d
lrwxrwxrwx. 1 root root 10 12月 10 18:26 rc3.d -> rc.d/rc3.d
lrwxrwxrwx. 1 root root 10 12月 10 18:26 rc4.d -> rc.d/rc4.d
lrwxrwxrwx. 1 root root 10 12月 10 18:26 rc5.d -> rc.d/rc5.d
lrwxrwxrwx. 1 root root 10 12月 10 18:26 rc6.d -> rc.d/rc6.d
drwxr-xr-x. 10 root root 127 12月 10 18:26 rc.d
drwxr-xr-x. 2 root root 25 12月 10 18:26 rsyslog.d
drwxr-xr-x. 2 root root 23 12月 10 18:26 rwtab.d
drwxr-xr-x. 2 root root 6 12月 10 18:26 statetab.d
drwxr-x—. 2 root root 6 12月 10 18:26 sudoers.d
drwxr-xr-x. 2 root root 28 12月 10 18:26 sysctl.d
drwxr-xr-x. 2 root root 6 12月 10 18:26 tmpfiles.d
drwxr-xr-x. 2 root root 6 12月 10 18:26 xinetd.d
drwxr-xr-x. 2 root root 187 12月 10 18:26 yum.repos.d
12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
解答:
[root@cuikedong ~]# mkdir /tmp/mytest3
[root@cuikedong ~]# cp -r /etc/{l,m,n}*.conf /tmp/mytest3
[root@cuikedong ~]# ls -l /tmp/mytest3
总用量 36
-rw-r–r–. 1 root root 28 12月 10 18:33 ld.so.conf
-rw-r—–. 1 root root 191 12月 10 18:33 libaudit.conf
-rw-r–r–. 1 root root 2391 12月 10 18:33 libuser.conf
-rw-r–r–. 1 root root 19 12月 10 18:33 locale.conf
-rw-r–r–. 1 root root 662 12月 10 18:33 logrotate.conf
-rw-r–r–. 1 root root 5171 12月 10 18:33 man_db.conf
-rw-r–r–. 1 root root 936 12月 10 18:33 mke2fs.conf
-rw-r–r–. 1 root root 1746 12月 10 18:33 nsswitch.conf
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/89881
评论列表(2条)
完成的非常好 回答的很全面,加油,再接再励。
@马哥教育:谢谢老师夸奖,继续努力