1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
cp:复制命令
用法: cp [源文件] [目标地址]
cp vimrc /tmp/
cp [源文件1] [源文件2] … [目标地址]
cp yum.conf who.out sudo-ldap.conf /tmp/
cp -r [文件夹] … [目标地址]
r:实现文件夹的递归复制
cp -r sysconfig/ /tmp/
cp -a [文件夹] [目标文件]
cp -a sysconfig/ /tmp/
cp -p [源文件] [目标文件]
-p 保留文件原有属性
源文件属性
cp -p /home/java/java/ /tmp/
mv:移动(剪切、复制到)文件
-i:交互式选项
-f:强制执行
mv -f java/ /tmp/
rm:删除命令
-i:交互式选项
-f:强制删除
-r:递归选项
rm -f java.*
rm -rf javas
cd :进入指定文件夹
cd /path/to/somefile
.. :返回上一层级目录
~ :返回家目录
ll :显示指定目录中的文件,默认显示当前目录中的文件
ll /path.to/somefolder
pwd:显示当前所在位置的绝对路径
mkdir :创建文件夹
mkdir [option]… diretory…
-p:多层级创建
-v:显示创建过程
-m:指定权限
[root@localhost tmp]# mkdir -pv a/b/c
mkdir: 已创建目录 "a"
mkdir: 已创建目录 "a/b"
mkdir: 已创建目录 "a/b/c"
[root@localhost tmp]# mkdir -pv -m 777 1/2/3
mkdir: 已创建目录 "1"
mkdir: 已创建目录 "1/2"
mkdir: 已创建目录 "1/2/3"
[root@localhost tmp]# ll 1/2/
总用量 4
drwxrwxrwx. 2 root root 4096 6月 27 00:39 3
rmdir:删除文件夹
rmdir [option]… dirctory…
只能删除空目录
-v:显示详细信息
[root@localhost tmp]# rmdir -v 1
rmdir: 正在删除目录 "1"
2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
bash中使用$?,来保存最近一次命令的执行状态结果。
[root@localhost tmp]# ls
a java java.conf java.exe sudo-ldap.conf sysconfig test vimrc who.out yum.conf
[root@localhost tmp]# echo $?
0
命令或脚本执行成功,状态返回值为0;否则,为执行出错:范围:1-255
错误返回值,可在脚本中自行定义错误原因
命令行展开:
{}:展开命令行
3、请使用命令行展开功能来完成以下练习:
(1)、创建/tmp目录下的:a_c, a_d, b_c, b_d
[root@localhost test]# mkdir {a,b}{c,d}
[root@localhost test]# ll
总用量 16
drwxr-xr-x. 2 root root 4096 6月 27 01:32 ac
drwxr-xr-x. 2 root root 4096 6月 27 01:32 ad
drwxr-xr-x. 2 root root 4096 6月 27 01:32 bc
drwxr-xr-x. 2 root root 4096 6月 27 01:32 bd
(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@localhost mylinux]# mkdir -p bin boot/grub dev etc/{rc.d/init.d,sysconfig/network-scripts} lib/modules lib64 proc sbin sys tmp user/local{bin,sbin} var/{lock,log,run}
[root@localhost mylinux]# ll
总用量 48
drwxr-xr-x. 2 root root 4096 6月 27 01:45 bin
drwxr-xr-x. 3 root root 4096 6月 27 01:45 boot
drwxr-xr-x. 2 root root 4096 6月 27 01:45 dev
drwxr-xr-x. 4 root root 4096 6月 27 01:45 etc
drwxr-xr-x. 3 root root 4096 6月 27 01:45 lib
drwxr-xr-x. 2 root root 4096 6月 27 01:45 lib64
drwxr-xr-x. 2 root root 4096 6月 27 01:45 proc
drwxr-xr-x. 2 root root 4096 6月 27 01:45 sbin
drwxr-xr-x. 2 root root 4096 6月 27 01:45 sys
drwxr-xr-x. 2 root root 4096 6月 27 01:45 tmp
drwxr-xr-x. 4 root root 4096 6月 27 01:45 user
drwxr-xr-x. 5 root root 4096 6月 27 01:45 var
[root@localhost mylinux]# tree
.
├── bin
├── boot
│ └── grub
├── dev
├── etc
│ ├── rc.d
│ │ └── init.d
│ └── sysconfig
│ └── network-scripts
├── lib
│ └── modules
├── lib64
├── proc
├── sbin
├── sys
├── tmp
├── user
│ ├── localbin
│ └── localsbin
└── var
├── lock
├── log
└── run
4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
文件大小
创建时间
文件的权限
文件的属主属组
atime
mtime
ctime
文件类型
文件被硬链接的次数
[root@localhost etc]# stat exports
File: "exports"
Size: 0 Blocks: 0 IO Block: 4096 普通空文件
Device: fd00h/64768d Inode: 915736 Links: 1
Access: (0644/-rw-r–r–) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2010-01-12 21:28:22.000000000 +0800
Modify: 2010-01-12 21:28:22.000000000 +0800
Change: 2016-05-29 18:47:02.827999962 +0800
使用touch命令修改时间戳
touch [OPTION]… FILE…
-a: only atime
-m: only mtime
-t STAMP:
[[CC]YY]MMDDhhmm[.ss]
5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
命令别名使用alias
alias:显示当前shell进程所有可用的命令别名
alias NAME='VALUE'
[root@localhost tmp]# alias ip='ifconfig'
[root@localhost tmp]# ip
eth0 Link encap:Ethernet HWaddr 00:0C:29:F9:21:60
inet addr:192.168.99.28 Bcast:192.168.99.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fef9:2160/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:19382 errors:0 dropped:0 overruns:0 frame:0
TX packets:11931 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:7274136 (6.9 MiB) TX bytes:2814802 (2.6 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
命令中引用另一个命令的执行结果
管道命令
COMMAND1 | COMMAND2 | COMMAND3…
cat /etc/passwd | cut -d: -f1,3,5 | sort -t: -k2 -n
6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
ls /var/l*[0-9]*[[:lower:]]
7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录
ll /etc/[0-9]*[^[:digit:]]
8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
ls -ld /etc/[^a-z][a-z]*
9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
touch tfile-$(date +'%F-%H-%M-%S')
10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
cp -r /etc/p*[^0-9] /tmp/mylinux/
11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
cp -r /etc/*.d /tmp/mytest2/
12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
cp -r /etc/[1,m,n]*.conf /tmp/mytest3
原创文章,作者:N20_丁木晨,如若转载,请注明出处:http://www.178linux.com/20522
评论列表(1条)
写的很好,可以多注意一下排版问题,加油