- 文件目录
/ 代表根目录 整个系统全部在根目录中
/boot 存放启动配置文件 建议,单独做成一个分区
/dev 设备文件目录 比如:光盘、硬盘
/etc 存放所有的配置文件
/home 普通用户的家目录文件
/root 管理所在的家目录
/run 存放动态文件(不持久运行的应用程序数据),关机就清空文件
/tmp 存放临时文件,一个星期以后可能就没有了
/var 存放动态数据文件 比如 :/var/log/messages 日志文件
/usr 存放已安装的软件程序和库文件
/usr/bin 存放普通用户的命令
/usr/sbin 存放管理员的命令
/usr/local 存放自定义软件
which mkdir
/usr/bin/mkdir
Which usesradd
/usr/sbin/mkdir
/proc 存放内核参数以及硬件参数 比如:cpu 、内存相关信息
cat /proc/cupinfo 查看CPU信息
cat /proc/meminfo 查看CPU信息
2.pwd 查看所在目录
cd / 切换到根目录下
如何查看所在的目录路径
pwd 查看目录
whatis pwd
3.cd切换目录
cd 目录
相对路径:路径是以当前路径为起点
. 表示当前目录下
.. 表示上一级目录
~ 表示返回自己的家目录 相当于输入cd
绝对路径:永远以根作为路径起点
比如: cd /home/student 以根为起点,这是一个绝对路径
cd ../home/student 相对路径
*** cd ./student 进入当前目录下的/student目录 “./” 可以省略,直接输入student进入
-
ls 列出当前目录下的所有内容
-l 以长格式显示
-a 显示所有文件包括隐藏文件和. 以及.. 包括. /. ./.bash 隐藏文件
-A 显示所有文件包括隐藏文件
-d 显示所有目录文件,一般和-l 结合使用
ls -ld 显示当前目录的长文件格式
-h 以K/M/G为单位显示信息 一般和-l 结合使用
-R 递归显示 -
touch 创建空文件(可以刷新文件的时间戳)
touch file1 创建file1文件
echo 123 echo hello world > file1
cat file1 查看file1中的内容
ls -l file1 可以看见时间
touch file1 时间戳会修改,文件中的内容不会修改
touch file1 file2 file3 创建多个文件
touch file{5..9 } - mkdir 创建一个空目录
-p 创建多级目录 如果之前没有目录也可以创建
mkdir dir1 dir2 dir3
mkdir dir{5..9}
mkdir -p a/b/c 创建c目录,如果没有b,就先创建b
*** ls -R a ls递归查看
- mv 移动文件、目录/重命名(路径相同的移动)
(移动文件时,默认保留原文件的权限)
mv file1 dir1/
mv ../file2 ../dir2
mv file5 file5.old
mv file9 dir9 /file99
mv a dir1/
- cp 复制
( cp也可以重命名,相同目标下做复制,可以重命名 )
-i 覆盖复制时有提示信息
-f 强制覆盖
-r 递归复制
-p 保留原属性
前提: dir1 中存在文件和多级目录
cp dir1 dir2/ 无法复制
cp -r dir1 dir2/ 递归复制
cp 命令在系统中默认添加-i选项,所以会自动提醒是否覆盖原文件
alias 查看系统当中的命令别名
cp -rfp dir1 dir2/
-
rm/rmdir 删除目录、文件 rm 一定要慎用
rmdir 删除空目录
rm 删除文件或目录
-i 覆盖复制时有提示信息
-f 强制覆盖
-r 递归复制rm dir1
rm file4
rm -f file6 不需要询问是否删除
rm -f -r dir1 强制递归删除文件和目录
rm -r dir2 提示是否删除
rm -rf / root/dir2
- 文件通配: 路径名扩展
mkdir dira
dir1,dir2,dir3,dir4,dir5,file7,file8,dira
需要将dir1,dir2,dir3 这些数字的文件夹显示出来,这时需要借助特殊字符来实现
特殊字符分类:
(1)元字符 (后面介绍)
重定向 > >>
管道符 |
(2)通配符
* 匹配0个或多个字符
? 匹配任意一个字符
[ list] 匹配list中的任意一个字符
[ !list] 匹配除list以外的的任意一个字符
{string1,string2,string3, ...} 匹配字符串
——————————————————————————————————
[[:digit:]] [ [] ]外面表示匹配一个字符,里面表示匹配一个数字
[[:lower:]] 表示匹配小写字母
[[:upper:]] 表示匹配大写字母
[[:alum:]] 表示匹配数字或下划线
[[:space:]] 表示匹配空格
[[:punct:]] 表示”.”
例子:
ls -ld dir* 匹配所有dir的文件夹
ls -ld dir? 匹配dir后面一个字符的文件夹
ls -ld dir[0-9] 0-9中的一个字符匹配出来
mkdir dir{b..f} 创建b-f的文件夹
ls -ld dir[a-z] a-z中的字符匹配出来
ls -ld dir[!a-z] 除了a-z中的字符匹配出来
touch file{aa,bb,cc,dd,ee,ff}
ll file {aa,bb,cc,ff}
———————————————————————————————————————
ls -ld dir[[:digit:]] 显示数字 等同于 ls -ld dir[0-9]
touch file{A..E}
touch file{a..e}
ls -ld dir[[:lower:]] 等同于 ls -ld dir[A-Z]
ls -ld dir[[:upper:]] 等同于 ls -ld dir[a-z]
(3)转义符:
‘’ 硬转义
“” 软转义
\ 转义
例子:
touch xx yy
touch “xx yy”
touch’ yy zz’
a=1 定义变量
echo a 输出a
echo $a 输出变量a
echo “$a” 1 “” 如果出现了特殊符号,当做特殊字符输出
echo ‘$a’ $a ‘’ 如果出现了特殊符号,当做普通字符输出
echo “\$a” $a \的作用是将$a当做普通字符输出
echo ‘\$a’ \$a ‘’当做普通字符输出
touch aa\ bb 将空格当做普通字符来处理