首页 > 代码库 > RHEL7 124 之从命令行管理文件(2)
RHEL7 124 之从命令行管理文件(2)
从命令行管理文件
[root@linux ~]# cd /
[root@linux /]# ls
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr xx
/bin
/dev 包含特殊的设备文件,供系统用于访问硬件
/home 普通用户存储其个人数据和配置文件的主目录
/root root的主目录
/lib64
/mnt
/proc
/run 自上一次系统启动以来启动的进程的运行时数据。包括进程ID文件和锁定文件等。
此目录中的内容在重启时重新创建。(此目录整合了旧版RHEL中的/var/run和/var/lock
/srv
/tmp 供临时文件使用的全局可写空间。10天未访问,未更改,或未修改的文件将自动从该目录中删除。还有一个临时目录/var/tmp,该目录中的文件如果在30天内未访问,更改或修改过,将被自动删除。
/var 特定于此系统的可变数据,在系统启动之间保持永久性。
/boot 开始启动过程所需要的文件
/etc 特定于此系统的配置文件
/lib
/media
/opt
/root
/sbin
/usr 安装的软件、共享的库,包括文件和静态只读程序数据。重要的子目录有:
-/usr/bin:用户命令
-/usr/sbin:系统管理命令
-/usr/local:本地自定义软件
更多详情 man 7 hier
绝对路径:自根(/)开始,指定达到且唯一代表单个文件所遍历的每个子目录。
相对路径:第一个字符是/之外的其他字符的路径名。
导航路径 pwd:显示当前位置的完整路径名
[root@linux ~]# pwd /root [root@linux ~]#
ls
-l长列表格式
-a包含隐藏文件的所有文件
-R递归方式,包含所有子目录内容
cd ~返回家目录
cd –返回上一次所在目录
cd ..返回上一级目录
cd .点代表当前目录
使用命令行工具管理文件
目的:能够在各种目录中创建、复制、链接、和删除文件与子目录
单一操作 多个操作
复制文件 cp file1 file 2 cp file1 file2 file3 dir
移动文件 mv file1 file2(1) mv file1 file2 file4dir
删除文件 rm dir rm–f file1 file2 file3
创建目录 mkdir dir mkdir –p pro1/par2/dir
复制目录 cp –r dir1 dir2(2) cp –r dir 1 dir2 dir3dir4
移动目录 mv dir1 dir2(3) mv dir1 dir2 dir3 dir4
删除目录 rm –r dir1(2) rm –rf dir1 dir2 dir3
(1) 重命名
(2) 递归处理
(3) 如果dir2存在则移动,dir2不存在则复制
(4) “force”,强制删除,不提示
使用路径名扩展
* 由0个或以上字符组成的任何字符串
? 任何一个字符
~ 当前目主目录
~yi yi用户的主目录
~+ 当前工作目录
~- 上一工作目录
[ab..]扩起的类中的任何一个字符
[^a] 取反,不包括
[!a] 取反,不包括
POSIX字符类
[[:alpha:]]任何字母
[[:lower:]]任何小写字母
[[:upper:]]任何大写字母
[[:alnum:]]任何字母字符或数字
[[:punct:]]除空格和字母数字意外的任何可打印字符
[[:digit:]]任何数字,即0-9
[[:space:]]任何一个空白字符,可能包含制表符、换行符、或回车符,以及换行页符和空格。
大括号扩展
用于生成任意字符串
{1,2,3,4}
[root@linux xx]# touch{sunday,monday,tuesday,wednesday}.log [root@linux xx]# ls monday.log sunday.log tuesday.log wednesday.log
{1..4}
[root@linux xx]# ls file1 file2 file3 file4
{a,b}{1,2}
[root@linux xx]# touch {a,b}{1,2}.txt [root@linux xx]# ls a1.txt a2.txt b1.txt b2.txt
{a{1,2},b,c}
[root@linux xx]#touch {a{1,2},b,c,} [root@linux xx]#ls a1 a2 b c
命令替换
$() [root@linux xx]#echo The time is $(date +%M) minutes past $(date +%l%p). The time is 59minutes past 10上午. [root@linux xx]#host=$(hostname);echo $host Linux
``
[root@linux xx]# echo my path is `pwd` my path is /xx
防止参数被扩展
\ 转义符 “” 双引号‘’单引号
root@linux xx]#echo my name is $USER my name is root [root@linux xx]#echo my name is \$USER my name is $USER [root@linux xx]#echo "my name is $USER" my name is root [root@linux xx]#echo ‘my name is $USER‘ my name is $USER
本文出自 “小笼包” 博客,请务必保留此出处http://gongxiaoyi.blog.51cto.com/7325139/1597652
RHEL7 124 之从命令行管理文件(2)