目录操作
指令
语法:
指令[选项] [操作的文件或目录]
-
pwd:查看当前目录的路径(绝对路径)
-
ls
:显示指定路径(默认当前路径)下的文件或目录-
-a:显示所有(包含隐藏文件)文件或目录
-
-l
:显示所有的文件或目录的详细信息列表 -
-r:将文件以相反的次序显示(原定是依照英文字母次序显示)
-
-t:将文件以创建时间的先后次序显示
说明:多个参数是可以共同出现的,如:
-
ls -t -l -r ---> ls -tlr
我们也可以指定具体的目录进行访问,如:
ls /mnt/hgfs/linux
-
cd:切换目录
格式:
cd 目录
注意:cd 后不跟文件路径,应该跟文件夹(目录)路径
cd中的特殊写法:
①cd ~
:切换到当前家目录下的用户目录下,比如:cd ~,就会切换到/home/st,等价于cd /home/st
②cd -
:返回上一次操作的工作目录
③cd /
:切换到根目录
④cd ./
:切换到当前目录
⑤cd ../
:切换到上一级目录,等价于 cd ..
⑥cd ../..
:切换到上上一级目录
-
mkdir:创建空的文件夹(目录)
语法:
mkdir 文件夹的路径
举例:
参数:
p
:可以创建多层文件夹
语法:
mkdir -p 多层文件
-
rmdir :删除目录,仅限于删除目录
语法:
rmdir 空文件夹路径
-
touch:创建文件
语法:
touch 文件路径
举例:
-
rm:删除文件(递归删除时可以删除文件)
语法:
rm [选项] 文件/文件夹路径
选项:
-i
:给出交互提示,可以输入YES或者NO
-f
:强制删除,不提示
-r
:递归删除
举例:
说明:文件删除,直接删就可以了;目录删除,需要递归删除
-
cp:复制文件(递归复制时可以复制文件夹,所谓的复制是由拷贝+粘贴构成)
语法:
cp [选项] 被复制的目录或者文件路径 目的地路径
选项:
-r
:递归复制,复制文件夹中的所有
-i
:如果目的地路径下已经存在同名目录或者文件,会交互提示
举例:
-
mv:移动文件或目录(重命名文件或目录)
语法:
mv 被移动的文件/目录路径 目的地文件/目录路径
说明:被移动文件名与目的地文件名不一致,相当于重命名了
举例:
mv aa.txt ../b --移动 mv aa.txt bb.txt --重命名 mv aa.txt ../b/bb.txt --移动并重命名 mv aa.txt ../b/cc.txt --移动并重命名 cp -ri aa.txt ../b/cc.txt --拷贝并重命名
说明:重命名是移动和拷贝在特殊情况下的产物。
文件的操作
指令
-
cat:查看文件内容
-
执行权限:所有用户
-
语法:
cat [选项] 文件
-
选项:
-
-n:显示文件行号
-
-
范例:
-
cat /proc/cpuinfo cat -n /proc/cpuinfo
-
more:分页查看文件内容
-
执行权限:所有用户
-
语法:
more 文件(文件路径)
-
-
操作:
-
空格键:向下翻动一页
-
回车键:向下反动一行
-
Q/q键:退出
-
-
范例:
more /proc/cpuinfo
-
-
less:分页查看文件内容
-
执行权限:所有用户
-
语法:
less [选项] 文件(文件路径)
-
选项:
-
-M:显示当前行的范围
-
-
操作:
-
空格键:向下翻动一页
-
B/b键:向上翻动一页
-
方向上下键:向上向下翻动一行
-
Q/q键:退出(quit)
-
-
范例:
less -M /proc/cpuinfo
-
-
head:查看文件的头部内容(默认10行)
-
执行权限:所有用户
-
语法:
head [选项] 文件 (文件路径)
-
选项:
-
-n:从头显示n行内容(识别到换行符),
n
可以用具体的数字替换
-
-
范例:
head -n 5 /proc/cpuinfo 或者 head -5 /proc/cpuinfo
-
-
tail:查看文件的尾部内容(默认10行)
-
执行权限:所有用户
-
语法:
tail [选项] 文件 (文件路径)
-
选项:
-
-n:从尾开始显示n行内容(识别换行符)
-
-
范例:
tail -n 5 /proc/cpuinfo tail -5 /proc/cpuinfo
-
-
grep:搜索文件内容,在文件中查找指定的字符序列(字符串)
-
执行权限:所有用户
-
语法:
grep [选项] 要查找的字符串 文件 (文件路径)或者 grep [选项] '要查找的字符串' 文件 (文件路径)
-
选项:
-
-n:显示行号(number)
-
-c:统计搜索到的行的数量(count)
-
-i:忽略大小写搜索
-
-
范例:
grep -n procesor /proc/cpuinfo //显示行号 grep -ni 'procesor' /proc/cpuinfo //推荐这种写法 grep -ni /proc/cpuinfo -- 显示行号的同时忽略大小写
-
特殊匹配:
-
^:行首匹配
-
范例:
grep -n '^001' demo01.c //在demo01.c中匹配001开头的内容
-
-
$:行尾匹配
-
范例:
grep -n '[0-7][0-9]$' demo01.c //在demo01.c中匹配[0-7][0-9]结尾的内容
-
-
-
-
find:查找文件或目录(递归查找),从硬盘查找,精确性高,性能低
-
执行权限:所有用户
-
语法:
find 检索路径 [选项] 参数
-
选项:
-
-name:按照名称查找
-
-iname:忽略大小写按名称查找
-
-size:按照文件大小搜索,默认1个单位是512Bytes(字节)
-
-type:按照文件类型查找(d,f,l,p,s..)
-
-
范例:
find ./ -iname test.c //在当前目录中查找名字为test.c/TEST.C.. find ./ -size +3M //在当前目录中查找文件超过3M的文件,这里的“+”表示大于 find ./ -size -3M //在当前目录中查找文件不超过3M的文件,这里的“-”表示小于 find ./ -size -5 //在当前目录中查找文件不超过5*512 = 2560bytes(字节)
-
-
locate:快速查找文件或目录,从数据库(索引)中查找,准确性低,性能高
说明:该指令是从文件的数据库中查找的,缺点是新创建的文件没有在数据库中建立索引,用该指令找不到
-
执行权限:所有用户
-
语法:
locate [选项] 文件/目录
-
选项:
-
-c:统计(count)
-
-i:忽略大小写
-
-
范例:
locate -i test.c
-
注意:默认情况下,updatedb每天更新一次,我们可以手动更新。指令:
updatedb
-
-
which:快速检索指令位置
-
执行权限:所有用户
-
语法:
which 指令名称
-
范例:
which ls
-
-
echo:将指定字符串输出到设备上
-
执行权限:所有用户
-
语法:
echo 字符串
-
范例:
echo "yueqian is good!" > yueqian.txt //将yueqian is good! 输出到yueqian.txt echo "gaochao is good!" >> yueqian.txt //将gaochao is good! 追加到yueqian.txt
解释:
①
>
覆盖式写入,就是覆盖文件中本来的内容(不保留原本内容)②
>>
追加式写入,就是在原本文件内容末追加内容(保留原本内容)
-
-
|(管道):将前一个指令执行的结果作为后一个指令执行的条件
-
执行权限:所有用户
-
范例:
ls -l | grep "demo01.c" //以详细列表的形式显示文件名称为demo01.c的文件 find /dev -type c | grep "2$" //查找/dev文件夹下以2结尾的文件或目录
-