Shell编程
2025-09-19 08:14:48 0 举报
AI智能生成
我2
作者其他创作
大纲/内容
目录操作命令
查看目录
命令:ls
用法
ls 查看当前目录中的文件或子目录
ls 目录的地址 查看目录中的地址
常用选项
-l 显示详细信息子主题-l 显示详细信息
a 显示所有文件(包含隐藏文件)
切换目录
命令:cd
用法
cd 目录地址
切换到特定的目录
cd ..
返回上级目录
cd /
返回根目录
地址的分类
绝对路径
包含根目录/的完整路径
cd /d/srcode
相对路径
相对于当前目录的路径
cd srcode
创建目录
命令:mkdir
用法
mkdir 目录地址
创建一个目录
示例:mkdir /d/hello
mkdir 地址1 地址2 地址3
创建多个同级目录
示例:mkdir hello1 hello2 hello3
mkdir 地址1/地址2/地址3
创建多级目录
示例:mkdir a/b/c
常用选项
-p 创建多级目录时,自动创建上级目录
mkdir -p a/b/c
删除目录
命令:rm
用法
rm 文件地址
删除文件
示例:rm 1.txt 或 rm /d/1.txt
rm 目录地址
删除目录
示例:rm hello1
常用选项
-r 递归删除,如果是目录,就依次删除子目录中的内容
-f 强制删除,不进行确认直接删除
示例:删除目录
rm -rf hello1
rm -rf hello1
复制目录
命令:cp
作用是:复制目录或文件
用法
cp 原目录或文件的路径 目标目录或文件的路径
复制文件
示例:
cp 1.txt 2.txt
cp /d/1.txt /d/2.txt
cp 1.txt 2.txt
cp /d/1.txt /d/2.txt
复制目录
示例:
cp srcode code123
cp srcode code123
常用选项
-r 递归复制
复制非空的目录,必须加-r
cp -r srcode code123
移动目录
命令:mv
移动目录或文件,相当于剪切粘贴
用法
mv 原目录或文件的路径 目标目录或文件的路径
移动文件
示例:mv 1.txt /c/1.txt
示例:mv 1.txt /c/1.txt
移动目录
示例:mv code123 /c/code123
示例:mv code123 /c/code123
重命名
示例:mv 2.txt 666.txt
示例:mv 2.txt 666.txt
补充目录命令
ll
显示目录详细内容,类似:ls -l
用法
ll
显示当前目录详细信息
显示当前目录详细信息
ll 目录地址
显示特定目录详细信息
显示特定目录详细信息
示例:
cd /
ll
ll usr
cd /
ll
ll usr
pwd
查看当前目录的完整路径
用法
pwd
tree
显示当前目录的树状结构
用法
tree 目录路径
示例:tree /usr/local
文件操作命令
创建文件
touch
创建空文件或更新文件状态
用法
touch 文件路径
创建一个文件
touch hello
touch 文件1 文件2 文件3
创建多个文件
touch hello1 hello2 hello3
touch {开始值..结束值}
创建范围内多个文件
touch {1..5}
touch a{1..9}
touch a{1..9}
编辑文件
vi
创建和修改文件的内容
用法
vi 文件路径
如:vi test
如:vi test
模式
命令模式
一开始进入的模式,能复制粘贴和删除、查找操作
编辑模式
按i或a进入,能输入文字
命令行模式
按esc回到命令模式,按: 进入命令行模式
q 直接退出
w 保存
wq 保存+退出
q! 强制退出
基本操作
1)输入 vi hello 回车
2) 按i进入编辑模式,输入文字
3)按esc退回到命令模式
4)按:wq保存退出
2) 按i进入编辑模式,输入文字
3)按esc退回到命令模式
4)按:wq保存退出
高级操作
查找文字
在命令模式下 输入 / 输入要找的文字
按 n 查找下一个
复制粘贴
命令模式下 按yy复制当前一行
按p粘贴
按数字和yy复制多行,p粘贴多行
按p粘贴
按数字和yy复制多行,p粘贴多行
删除
按dd删除当前一行
按数字和dd删除多行
按数字和dd删除多行
撤销
按u
查看文件
cat
查看文件的所有内容
cat 文件路径
more
分页查看文件的内容
more 文件路径
按空格下一页,按b上一页,按q退出
head
查看文件头部内容
head -数字 文件路径
head -5 hello
head -5 hello
tail
查看文件末尾内容
tail -数字 文件路径
tail -5 hello
tail -5 hello
压缩文件
命令:tar
压缩
tar -cvf 压缩包的路径 压缩的文件名 ....
说明:
-c 表示压缩
-v 显示压缩过程
-f 指定文件
示例:在/opt创建几个文件,压缩到 test.tar.gz 中
cd /opt
touch test{1..5}
tar -cvf test.tar.gz test1 test2 test3 test4 test5
cd /opt
touch test{1..5}
tar -cvf test.tar.gz test1 test2 test3 test4 test5
解压缩
tar -xvf 压缩包的路径
说明:-x 表示解压缩
v和f同上
v和f同上
示例:把test.tar.gz 解压缩到当前目录
rm -rf test{1..5} 删除掉原来的文件
tar -xvf test.tar.gz 解压文件
ls
rm -rf test{1..5} 删除掉原来的文件
tar -xvf test.tar.gz 解压文件
ls
补充:-C 指定解压缩的位置
不加-C解压到当前目录
tar -xvf test.tar.gz -C /tmp
不加-C解压到当前目录
tar -xvf test.tar.gz -C /tmp
查找文件
命令:find
作用:在磁盘上按某些条件查找文件
用法
find 查找的位置 查找条件
命令 --help 查看命令用法
查找位置
命令:find
作用:在磁盘上按某些条件查找文件
查找位置
/ 全盘
当前目录
目录路径
查找条件
-name 文件名 按文件名查找
示例:
1)在整个磁盘查找以sh开头的文件
find / -name sh*
2) 在/usr/local下查找以sh结尾的文件
find /usr/local -name *sh
示例:
1)在整个磁盘查找以sh开头的文件
find / -name sh*
2) 在/usr/local下查找以sh结尾的文件
find /usr/local -name *sh
-size 大小 按文件大小查找
大小的表示:
具体的值:1024
带符号:1K 1M 1G
10M 等于10M
+10M 大于10M
-10M 小于10M
示例:
1)在整个磁盘上找大于50M的文件
find / -size +50M
2) 在整个磁盘找大于5M的名字结尾是img的文件
find / -size +5M -name *img
大小的表示:
具体的值:1024
带符号:1K 1M 1G
10M 等于10M
+10M 大于10M
-10M 小于10M
示例:
1)在整个磁盘上找大于50M的文件
find / -size +50M
2) 在整个磁盘找大于5M的名字结尾是img的文件
find / -size +5M -name *img
-type 类型 按文件类型查找
类型:
f 普通文件
d 目录
l 链接文件
b 块文件
示例:
1)在/etc目录下查找以a开头的文件
find /etc -name a* -type f
2)在/etc目录下查找以b开头的目录
find /etc -name b* -type d
类型:
f 普通文件
d 目录
l 链接文件
b 块文件
示例:
1)在/etc目录下查找以a开头的文件
find /etc -name a* -type f
2)在/etc目录下查找以b开头的目录
find /etc -name b* -type d
-ctime 创建时间
-mtime 修改时间
-atime 访问时间
单位是天,如:
-ctime -5 创建时间是5天内
-atime +5 访问时间是5天前
-ctime 5 访问时间是前面第5天
示例:
1)查找整个磁盘一天前创建的文件
find / -ctime +1
2)查找一天内创建的文件
find / -ctime -1
-mtime 修改时间
-atime 访问时间
单位是天,如:
-ctime -5 创建时间是5天内
-atime +5 访问时间是5天前
-ctime 5 访问时间是前面第5天
示例:
1)查找整个磁盘一天前创建的文件
find / -ctime +1
2)查找一天内创建的文件
find / -ctime -1
0 条评论
下一页