Linux系统学习:文件、目录操作,简单语法

DAY 2

文件系统

Linux本质上就是一个文件系统。Linux文件系统是操作系统组织、存取、保存数据的一种
手段。整体采用层级式的倒状目录结构。

倒状树结构中的目录

/:根目录

/bin:主要存放系统普通指令

/boot:主要存放系统的引导程序

/dev:存放硬件设备对应的文件(Linux应用开发阶段,访问其中的文件)

/etc:存放系统和应用程序的配置文件(如:profile)

/home:家目录,存放当前系统下所有用户对应的目录。

/lib:存放系统和应用程序的依赖库。

/proc:存放系统运行时的运行信息。

/usr:是软件的默认安装路径。

/var:存放缓存、备份文件。

/cdrom:光驱挂载点(通常用于挂载光盘)

/mnt:用于系统文件系统的挂载目录,举例:/mnt/hgfs可用于挂载共享目录,/mn t/udisk可用于挂载U盘..

/sbin:用于存放一些特权指令,通常只有系统管理员(root)才能执行。

路径

  • 绝对路径:以根路径(/)为参考点描述的路径。
//windos系统
D:/xxx/xxx

//linux系统
cd /A/B1/C1
  • 相对路径:以当前路径(./)为参考点描述的路径。
cd ./c1    --相对路径,等价于
cd c1

文件类型

d:目录(文件夹)

-:普通文件

l:符号链接(类似于Windos中的快捷方式)

c:字符设备文件,通常用于与字符设备(如串口、终端等)进行交互

b:块设备文件(大容量磁盘等),用于与块设备(如硬盘、U 盘等)进行交互

s:套接字文件,用于进程间通信

p:管道文件,用于进程间通信

 

目录操作

指令

pwd:查看当前所在目录的绝对路径

ls:显示指令路径(默认为当前路径)下的文件或目录

ls [选项] 文件或目录的路径

        常用选项:-a:显示所有文件或目录(隐藏文件或目录,linux中隐藏目录文件以.开头)

                          -l:长格式显示文件详细信息

                          -r:将文件以相反次序排序(英文字母)

                          -t:将文件以修改时间的先后次序排序

提示:多个参数可同时出现,也可以指定具体的目录路径

ls -a -l -t -r  
//等价于
ls -altr


ls ./ 
//等价于
ls

ls /mnt/hgfs/linux

cd:切换目录

cd 目录路径

常用写法:

cd ~:切换到当前登录用户的家目录。比如:若当前登录用户为stcd ~就会切 换到/home/st下,等价于cd /home/st

cd -:返回上一次操作的工作目录

cd /:切换到根目录下

cd ./:切换到当前目录下,无实意

cd ../:切换到上一级目录,等价于cd ..

cd ../../:切换到上两级目录,等价于cd ../..

mkdir:创建空目录(目录和文件夹等价)

mkdir [选项] [多级目录]/目录

支持批量创建和指定路径

选项:

   -n:从头开始显示(识别换行符)

rmdir 说明:删除空目录,仅限空目录。支持批量删除

rmdir 空目录路径

touch说明:创建文件,如果文件已存在,则更新其访问和修改时间。

touch 文件路径    --可以指定文件路径,未指定则在当前路径下。

rm

说明:

  • 删除目录:需要借助选项-r递归删除,可为空目录也可为非空

  • 删除文件:无需借助选项-r,如果加了也无妨

rm -r

提示:递归删除。先由外向内找,直至找到空目录;再由内向外删除。

文件删除,直接删除就可以了,目录删除或者目录 + 文件删除,需要使用选项 -r 进行 递归删除。另外,使用rm -f 可以强制删除文件或目录,不进行确认提示,但使用时需 谨慎,因为删除后数据无法恢复。

cp

说明:

  • 复制文件或者目录(相当于拷贝+粘贴)

  • 实现文件或者目录的重命名

cp [选项] 被复制的目录或文件路径 目的地址

选项:-r:递归复制,复制目录中所有内容,包括目录和文件

    -i:如果目的路径下已存在同名文件,会交互提示

提示:当目的地提供的是同一个文件时,触发重命名。

mv

说明:

  • 移动文件或者目录(剪切+粘贴)

  • 重命名文件或目录

mv [选项] 被移动的目录或文件路径 目的地址

提示:被移动文件名与目的文件名不一致,就相当重命名

mv aa.txt ../b   --移动。将aa.txt移到目录b

mv aa.txt ../b/bb.txt    --移动+重命名。将aa.txt移到目录b,并重命名

mv aa.txt bb.txt   --重命名

文件操作

指令

cat

说明:查看文件内容,适合查看较小文件

cat [选项] 文件路径

选项:-n:显示行号

举例:

cat /proc/cpuinfo
cat -n /proc/cpuinfo

more

说明:分页查看文件内容,文件较大时使用

操作:空格键:向下翻一页

   回车键:向下翻一行

   Q/q:退出

无法上翻页,比较鸡肋

less

说明:分页查看文件内容,文件较大时使用,功能比more强大

less [选项] 文件路径

选项:-M:显示当前行的范围

操作:空格键:向下翻一页

   B/b键:向上翻一页

   方向键:向上/下翻一行

   Q/q:退出

head/tail

说明:查看文件的头部/尾部内容(默认10行)

head/tail [选项] 文件路径

选项:-n:从头开始显示(识别换行符)

head/tail -n 5 /proc/cpuinfo   --等价于
head/tail -5 /proc/cpuinfo   --显示前/后5行

grep

说明:搜索文件内容,在文件中查找指定的字符序列

grep [选项] 要查找的字符序列 文件路径   --等价于
grep [选项] `要查找的字符序列` 文件路径

选项:-n:显示行号

   -c:统计搜索到行的数量(返回数值)

   -i:忽略大小写搜索,针对英文

grep -ni apicid /proc/cpuinfo
显示行号和忽略大小写,等价于
grep -ni `apicid` /proc/cpuinfo

grep -c `apicid` /proc/cpuinfo
数量不可混用,冲突

特殊匹配:

^:行首匹配:匹配以指定字符序列开头的

grep -n '^cp' /proc/cpuinfo    -- 解释:匹配以cp开头的字符序列

$:行尾匹配:匹配以指定字符序列结尾的

grep -n '[0-9]$' /proc/cpuinfo   -- 解释:匹配以0~9的任意单个数字结尾
的序列  [A-Za-z0-9]

find

说明:查找文件或目录(递归)。从磁盘找精确,性能低,速度慢

find 检索路径 [选项] 参数

选项:name:按名称查找(区分大小写)

   iname:按名称查找(不区分大小写)

   size:按照文件大小查找,默认一个单位(1单位=512字节),可使用K(KB)、M(MB)、G(GB)

   -type:按文件类型查找(d:目录,f:普通文件,l:符号链接,p:管道文件)

举例:

find ./ -iname text.txt
解释:在当前路径下包括其子目录中查找文件名为test1.txt的文件,文件名忽略大小
写,以路径列表呈现

find /bin -size +3M
解释:在/目录下包括其子目录中查找文件大小超过3MB的文件,这里的 “+”表示超过 
(字节数:1024 * 3 * 1024)

find /bin -size +3
解释:在/目录下包括其子目录中查找文件大小超过3个单位的文件,这里的 “+”表示超
过 (字节数:512 * 3)

find /bin -size -3M
解释:在/目录下包括其子目录中查找文件大小不超过3MB的文件,这里的 -”表示不超
过 (字节数:1024 * 3 * 1024)

locate

说明:快速查找文件或目录,从数据库查找,准确性低,性能高。该指令是从文件系统的 数据库中查找,新创建的文件还没有在数据库中建立索引,用该指令是找不到的。

选项: -c:统计文件个数,返回的是一个数字

    -i:忽略大小写

which

说明:快速检索

which 指令名

echo

说明:将指定字符串输出到设备上,常用于将内容写入文件

echo "字符串" > | >> 文件路径

说明:> 表示覆盖写入,会清空原文件内容;>> 表示追加写入,会在原文件内容后面 添加新内容

(管道)

说明:将前一个指令执行的结果作为后一个指令执行的条件(了解)

举例:

ls -l | grep ".txt$"           // 以详细列表的形式显示文件名称为.txt结尾
的文件
find /dev -type c | grep "2$"  // 查找/dev下文件类型为c的以2结尾的所有文
件

 

 

你可能感兴趣的:(linux,学习)