Linux 目录
├── bin -> usr/bin # 用于存放二进制命令
├── boot # 内核及引导系统程序所在的目录
├── dev # 所有设备文件的目录(如磁盘、光驱等)
├── etc # 配置文件默认路径、服务启动命令存放目录
├── home # 用户家目录,root用户为/root
├── lib -> usr/lib # 32位库文件存放目录
├── lib64 -> usr/lib64 # 64位库文件存放目录
├── media # 媒体文件存放目录
├── mnt # 临时挂载设备目录
├── opt # 自定义软件安装存放目录
├── proc # 进程及内核信息存放目录
├── root # Root用户家目录
├── run # 系统运行时产生临时文件,存放目录
├── sbin -> usr/sbin # 系统管理命令存放目录
├── srv # 服务启动之后需要访问的数据目录
├── sys # 系统使用目录
├── tmp # 临时文件目录
├── usr # 系统命令和帮助文件目录
└── var # 存放内容易变的文件的目录
一.目录操作
cd ~ 当前用户目录
cd / 根目录
cd - 上一次访问的目录
cd .. 上一级目录
pwd 查看当前工作目录
clear 清除屏幕ll 查看当前目录下内容
#创建
mkdir x 在当前目录下创建x目录
mkdir ./y 在当前目录下创建y目录
mkdir /z 在根目录下创建z目录#查询
find / -name 'b' 查询根目录下(包括子目录),名为b的目录和文件;
find / -name 'b*' 查询根目录下(包括子目录),名以b开头的目录和文件;
find . -name "*.c" 查询根目录下(包括子目录),名以.c结尾的目录和文件;
#重命名
mv 原先目录 当前名称 mv servlets servlet#复制
cp -r /x /y 将/目录下的x目录复制到/y目录下
cp -r /x /y/x 将/目录下的x目录复制到/y目录下,且修改名为x;
#删除目录
rm -rf /x 强制删除/目录下的x目录。如果x目录中还有子目录,也会被强制删除
rm -r /x 会询问你是否删除每一个文件
rmdir x 目录的删除
#查看树状目录结构
tree z/#批量操作 需要采用{}进行参数的传入
mkdir {A,B} # 批量创建目录
touch A/{A1,A2,A3} # A创建三个文件A/A1,A/A2,A/A3
二.文件操作
#创建
touch A#删除
rm -r a.java 删除当前目录下的a.java文件,会询问是否删除
#强制删除
rm -rf x.java 强制删除当前目录下的x.java文件
rm -rf ./x* 强制删除当前目录下以x开头的所有文件
rm -rf ./* 强制删除当前目录下所有文件#递归删除.cpp格式的文件
find . -name '*.cpp' -exec rm -rf {} \;#递归删除指定大小的文件
find . -name "*" -size 234500c -exec rm -rf {} \;
#递归删除指定大小的文件,并打印
find . -name "*" -size 234500c -print -exec rm -rf {} \;
#打印指定大小的文件
find . -name "*" -size 234500c -print"." 表示从当前目录开始递归查找
“ -name '*.exe' "根据名称来查找,要查找所有以.exe结尾的文件夹或者文件
" -type f "查找的类型为文件
"-print" 输出查找的文件目录名
-size 145800c 指定文件的大小
-exec rm -rf {} \; 递归删除(前面查询出来的结果)
三.文件内容操作
#修改
vim x.java 进入一般模式
i(按键) 进入插入模式(编辑模式)
ESC(按键) 退出
:wq 保存退出
:q! 不保存退出(强制退出,不保留更改内容)
:q 不保存退出(如果内容有修改,无法退出)
#查看
cat x.java 查看x.java文件的最后一页内容;
more x.java 从第一页开始查看x.java文件内容,按回车键一行一行进行查看,
按空格键一页一页进行查看,q退出;
less x.java 从第一页开始查看x.java文件内容,按回车键一行一行的看,
按空格键一页一页的看,q退出;head x.java 查看x.java文件的前10行内容;
tail -f x.java 查看x.java文件的后10行内容;
head -n 5 x.java 查看x.java文件的前5行内容;
tail -n 5 x.java 查看x.java文件的后5行内容;
#文件内部搜索指定内容
grep under x.txt 在x.txt文件中搜索under字符串,大小写敏感,显示行;
grep -n under x.txt 在x.txt文件中搜索under字符串,大小写敏感,显示行及行号;
grep -v under x.txt 在x.txt文件中搜索under字符串,大小写敏感,显示没搜索到的行;
grep -i under x.txt 在x.txt文件中搜索under字符串,大小写敏感,显示行;
grep -ni under x.txt 在x.txt文件中搜索under字符串,大小写敏感,显示行及行号#终止当前操作
ctrl+z
ctrl+cecho 'Hello World' > /root/x.txt 使用 > 或 < 将命令的输出的命令重定向到
x.txt文件中(没有则创建一个)
#grep 查找文件里符合条件的字符串
grep "upset" x* //从x开头文件中,查找含有upset的行
四.压缩与解压缩
#压缩
tar -cvf start.tar a.java b.java 将当前目录下a.java、b.java打包压缩成x.tar文件
tar -cvf x.tar ./* 将当前目录下的所有文件打包压缩成x.tar文件tar -zcvf x.tar.gz a.java b.java 将当前目录下a.java、b.java打包压缩成x.tar文件
tar -zcvf x.tar.gz ./* 将当前目录下的所有文件打包压缩成x.tar.gz文件#解压缩
tar -xvf x.tar 解压x.tar压缩包,到当前文件夹下;
tar -xvf x.tar -C usr/local 解压x.tar压缩包,到/usr/local目录下tar -zxvf x.tar.gz 解压x.tar.gz压缩包,到当前文件夹下;
tar -zxvf x.tar.gz -C usr/local 解压x.tar.gz压缩包,到/usr/local目录下;#解压缩
tar.xz
文件tar xf node-v12.18.1-linux-x64.tar.xz
#压缩(zip)
zip lib.zip tomcat.jar 将单个文件压缩(lib.zip)
zip -r lib.zip lib/ 将目录进行压缩(lib.zip)
zip -r lib.zip tomcat-embed.jar xml-aps.jar 将多个文件压缩为zip文件(lib.zip)
解压缩(unzip)
unzip file1.zip 解压一个zip格式压缩包
unzip -d /usr/app/com.lydms.english.zip 将`english.zip`包,解压到指定目录下 `/usr/app/`
五.文件的详细信息
R:Read w:write x: execute执行
-rw-r--r-- 1 root root 34942 Jan 19 2018 bootstrap.jar
前三位代表当前用户对文件权限:可以读/可以写/不能执行
中间三位代表当前组的其他用户对当前文件的操作权限:可以读/不能写/不能执行
后三位其他用户对当前文件权限:可以读/不能写/不能执行
#更改文件的权限
chmod u+x web.xml (---x------) 为文件拥有者(user)添加执行权限;
chmod g+x web.xml (------x---) 为文件拥有者所在组(group)添加执行权限;
chmod 111 web.xml (---x--x--x) 为所有用户分类,添加可执行权限;
chmod 222 web.xml (--w--w--w-) 为所有用户分类,添加可写入权限;
chmod 444 web.xml (-r--r--r--) 为所有用户分类,添加可读取权限;