注:本部分主要描述一些常用文件管理方法中容易被忽略遗忘的问题,对于基本用法不做过多阐述
在linux系统中,有一个重要思想:一切都是文件。
即linux系统将几乎所有的设备、配置、软件全部抽象为文件,而这些文件都保存在 / 目录下
/ 目录以下为二级目录这些目录都是系统装机时系统自动建立的
二级目录的作用
/bin ##二进制可执行文件也就是系统命令
/sbin ##系统管理命令存放位置
/boot ##启动分区,负责系统启动
/dev ##设备管理文件
/etc ##大多数系统管理文件
/home ##普通用户的家目录
/lib ##32位系统库文件存放位置
/lib64 ##64位系统库文件存放位置
/media ##系统临时设备挂载点
/mnt ##系统临时设备挂载点
/run ##系统临时设备挂载点
/opt ##第三方软件安装位置
/proc ##系统信息
/root ##超级用户家目录
/srv /var ##系统数据
/sys ##系统管理,主要是关于内核的
/tmp ##系统临时文件存放位置
/usr ##系统用户相关信息数据及用户自定义软件存放位置
路径描述:
绝对路径:文件在系统的真实位置,文件名字以“/”开头
相对路径:文件相对与当前所在位置的一个名字的简写,这个名字不会以/开头,而且名字会自动添加pwd显示的值
#######cd用法#######
cd命令用于进入某目录,最基本用法为:
cd+绝对路径 | 相对路径
例:相对路径:
[root@localhost ~]# pwd
[root@localhost ~]# cd Desktop/ /root/Desktop
[root@localhost Desktop]#
[root@localhost Desktop]# pwd /root 绝对路径:
[root@localhost Desktop]# cd /etc//etc/ntp
[root@localhost etc]# cd /etc/ntp/
[root@localhost ntp]# pwd
cd ~ 进入自己的家目录
[root@localhost ~]# cd ..
[root@localhost /]# pwd
/
[root@localhost /]# cd ~
[root@localhost ~]# pwd
/root
cd~ username 进入某用户的家目录
[root@localhost ~]# pwd
/root
[root@localhost ~]# cd ~mazha
[root@localhost mazha]# pwd
/home/mazha
cd - 返回上一次打开的目录(与当前目录无关)
[root@localhost mazha]# pwd
/home/mazha
[root@localhost mazha]# cd -
/root
[root@localhost ~]#
cd .. 返回上级目录
[root@localhost usr]# pwd
/usr
[root@localhost usr]# cd ..
[root@localhost /]# pwd
/
[root@localhost /]#
########ls的用法#######
ls -d dir 列出当前目录。(单独使用没啥用)
ls -l fil|dir 列出当前目录内所有文件或某文件的属性(可结合-d使用)
[root@localhost ~]# ls -l
total 4
-rw-------. 1 root root 2740 Oct 4 09:47 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 Oct 7 21:23 Desktop
drwxr-xr-x. 2 root root 6 Oct 7 21:23 Documents
drwxr-xr-x. 2 root root 6 Oct 7 21:23 Downloads
drwxr-xr-x. 2 root root 6 Oct 7 21:23 Music
drwxr-xr-x. 2 root root 6 Oct 7 21:23 Pictures
drwxr-xr-x. 2 root root 6 Oct 7 21:23 Public
drwxr-xr-x. 2 root root 6 Oct 7 21:23 Templates
drwxr-xr-x. 2 root root 6 Oct 7 21:23 Videos
ls -ld dir 列出当前目录属性
[root@localhost ~]# ls -ld /..
dr-xr-xr-x. 17 root root 4096 Oct 4 09:45 /..
[root@localhost ~]#
ls -R 递归显示所有内容
[root@localhost ~]# ls -R
.:
anaconda-ks.cfg Documents Music Public Videos
Desktop Downloads Pictures Templates
./Desktop:
./Documents:
./Downloads:
./Music:
./Pictures:
./Public:
./Templates:
./Videos:
ls -a 显示所有内容(包括隐藏文件)
[root@localhost usr]# ls -a
. bin games lib libexec mnt share tmp
.. etc include lib64 local sbin src
#######cp的用法######
cp是个新建的过程
cp+file+dir 复制并新建文件
cp -r dir 递归复制目录
[root@localhost /]# cp -r mnt/ usr/
[root@localhost /]# cd usr/
[root@localhost usr]# ls
bin games lib libexec mnt share tmp
etc include lib64 local sbin src
[root@localhost usr]#
######mv的用法######
注:mv在当前目录是重命名过程,在不同目录是新建和删除的过程
mv 路径 file|dir . 将所选路径下的文件或目录移动到当前目录(此时递归移动不须参数)
[root@localhost mnt]# mv 22 /
[root@localhost mnt]# cd /
[root@localhost /]# ls
22 boot etc lib media opt Public run srv tmp var
bin dev home lib64 mnt proc root sbin sys usr
mv 已存在文件 不存在文件 文件重命名
[root@localhost mnt]# ls
11
[root@localhost mnt]# mv 11 22
[root@localhost mnt]# ls
22
#######################
####正则表达式(批处理)##
* 匹配所有字符(0-任意)
? 匹配单个字符(一个?代表一个字符)
[[:alpha:]] 匹配单个字母(忽略其他符号)
[[:lower:] 匹配单个小写字母
[[:upper:]] 匹配单个大写字母
[[:digit:]] 匹配单个数字
[[:alnum:]] 匹配单个数字或字母
[[:punct:]] 匹配单个符号
[[:space:]] 匹配单个空格
注:1.一个表达式表示单个字符,有几个字符用几个表达式
2.在文件命名时,如须加入空格,需用“ ”引起来
1.{}用花括号表示一个存在或不存在的集合(增删改查都可用)
如:{1,2,3} 表示1,2和3 rm -f test{1,2,3}
{1..9} b表示1-9所有
2.[]用平括号表示已经存在的集合(不可用于新建文件)
[1-4] 1或2或3或4,只可用于已经存在的
[123] 大约与{1,2,3}同用法但不可用于创建时,只可用于已存在文件的查找删除等
[!123] 除1,2,3以外存在的文件
[^123] 同[!123]
注:{}内不可以加 ! 或 ^ 等符号
*****加注*****
[a-c]系统默认排序为:aAbBc(此时不包括C)
{a..c}系统默认按照ASC2码:a b c
例:
[root@localhost mnt]# touch file{a..C}
[root@localhost mnt]# LS
bash: LS: command not found...
Similar command is: 'ls'
[root@localhost mnt]# ls
file file_ filea fileE fileH fileK fileN fileQ fileT fileW fileZ
file` file[ fileC fileF fileI fileL fileO fileR fileU fileX
file^ file] fileD fileG fileJ fileM fileP fileS fileV fileY
[root@localhost mnt]# rm -fr file[a-C]
[root@localhost mnt]# LS
bash: LS: command not found...
Similar command is: 'ls'
[root@localhost mnt]# ls
file file_ fileD fileG fileJ fileM fileP fileS fileV fileY
file` file[ fileE fileH fileK fileN fileQ fileT fileW fileZ
file^ file] fileF fileI fileL fileO fileR fileU fileX