一.linux系统结构
linux是一个倒树结构
linux中所有的东西都是文件
这些文件都在系统顶级目录“/” /就是根目录
/目录以下为二级目录这些目录都是系统装机时系统自动建立的
- 二级目录的作用
/bin ##二进制可执行文件也就是系统命令
/sbin ##系统管理命令存放位置
/boot ##启动分区,负责系统启动
/dev ##设备管理文件
/etc ##大多数系统管理文件
/home ##普通用户的家目录
/lib ##32位系统库文件存放位置
/lib64 ##64位系统库文件存放位置
/media ##系统临时设备挂点
/mnt ##系统临时设备挂载点
/run ##系统临时设备挂载点
/opt ##第三方软件安装位置
/proc ##系统信息
/root ##超级用户家目录
/srv,/var ##系统数据
/sys ##系统管理,主要是关于内核的
/tmp ##系统临时文件存放位置
/usr ##系统用户相关信息数据及用户自定义软件存放位置
二.文件的寻址
绝对路径
文件在系统的真实位置,文件名字以“/”开头
相对路径
文件相对与当前所在位置的一个名字的简写,这个名字不会以/开头,而且名字会自动添加pwd显示的值
绝对路径和相对路径的理解:
以收货地址为例,若收货地址为(地球亚洲中国)陕西省西安市**学校,若店家也在中国,则地球亚洲中国是默认成分,可以省略。绝对路径就是从最开始说,地球亚洲中国陕西省西安市区**学校。相对路径则有相同的父目录则可以省略不写,即写陕西省西安市区**学校。
三.文件的管理
1.touch 建立文件或修改文件时间戳
touch file ##创建文件
gedit 只有在root权限下才可以使用,普通用户不可以用。
2.mkdir 建立目录
mkdir directory ##创建目录
mkdir -p 目录名/次级目录/次级目录 ##上级目录不存在自动建立(创建分级目录,目录里有目录)
mkdir -p test/linux
创建目录里有次级目录: test目录下有linux目录
错误命令:
mkdir test linux
test linux ##同时创建两个目录
mkdir test/liunx ##报错(没有-p)
3.rm 删除
rm -f 文件名 ##强行删除不提示
rm -r 目录名 ##删除目录
rm file 删除文档file,会提示你是否确定删除:y是 n否
rm -r test 删除目录test,会提示你是否确定删除:y是 n否
每次都会提示,不想被提示加-f。
rm -fr * 删除当前目录下的所有文档和目录
4.cat|head|tail 查看文件内容
stat 文件名 ##查看文件属性
cat 文件名 ##文件内容查看命令
head -n 5 file ##查看文件前5行内容
tail -n 3 file ##文件内容查看命令
5.cd 切换工作目录
cd directory ##切换工作目录到指定目录
cd - ##切换工作目录到之前所在目录
cd ~ ##切换到自己的家目录
cd ~usernmae ##切换到指定用户家目录
cd .. ##进入到当前目录的上级目录
6.ls 列出目录或文件信息
ls ##如果后面没有目标那么默认目标为当前目录
ls directory|filename ##列出文件或目录内容
ls -d direcotry ##列出目录本身
ls -l filename|dorectory ##列出文件或目录里面内容的属性
ls -ld directory ##列出目录本身属性
ls -a ##显示目录中的所有内容,包括以"."开头的隐藏文件
ls -R ##第归显示目录中的内容(桉顺序显示目录)
7.cp 文件复制
cp是新建文件的过程
cp file file1 file2 ... directory ###把file file1 file2 复制到 directory中(此处的目录必须在复制之前存在)
cp file test ###建立test文件模板为file
cp -r directory direcotry1 ###复制目录
8.mv 移动或重命名
8.mv 移动或重命名
cp和mv的区别
cp是一个新建的过程
而mv是一个重命名或移动的过程(mv 文件后,之前的文件不存在,移动到新的目录下)
mv file file1 direcotry ##移动file file1到directory中
mv 存在文件 不存在文件 ##重命名文件(将文件重新命名)
mv westos/linux . ##把westos中的linux移动到当前目录 .代表当前目录ll
四.正则表达式
匹配0到任意字符 举例:mv * 目录()(可以将文件和目录移进目标目录,警告目标目录不能移进目标目录里) 会警告(mv: cannot move 'mnt' to a subdirectory of itself,'mnt/mnt')
? ###匹配单个字符 举例:mv ? 目录(将单个字母移进目标目录里)
[[:alpha:]] ###匹配单个字母
[[:lower:]] ###匹配单个小写字母
[[:upper:]] ###匹配单个大写字母
[[:digit:]] ###匹配单个数字
[[:alnum:]] ###匹配单个数字或字母
[[:punct:]] ###匹配单个符号
[[:space:]] ###匹配单个空格
{}表示不存在的或者存在的
{1..9} ###1-9 举例:touch file{1..9}
{a..f} ###a-f 举例:touch file{a..f}
{1,3,5} ###135 举例:touch file{1,3,5}
{a,c,e} ###a c e 举例:touch file{a,c,e}
{1..3}{a..c} ###1a 2a 3a 2a 2b 2c 3a 3b 3c 举例:touch file{1..3}{a..c}
[]表示存在的(注:删除要删除已有的东西)
[A-C] ##aA bB cC 举例:rm -rf file[A-c] 将含有A,B,C的file文件删除
[a-c] ##aA或者bB或者c 举例:rm -rf file[a-c] 将含有a,b,c的file文件删除
[1-3] ##1或者2或者3 举例:rm -rf file[1-3] 将含有1,2,3的file文件删除
[145] ##1或者4或者5 举例:rm -rf file[145] 将含有1,4,5的file文件删除
[^abc]|[!abc] ##除了a并且除了b并且除了c 举例:rm -rf file[^abc]将含有a,b,c的file文件删除
rm -rf file[!abc]将含有a,b,c的file文件删除
五.目录符号
~ ###当前用户家目录
~username ###指定的用户家目录
~+ ###当前目录
~- ###当前目录之前所在目录~
. ###当前目录
.. ###当前目录的上一级