1 linux文件结构
以下所有的操作均是在树莓派3B上进行,查看所有的操作命令!首先进入根目录:cd / 并用ls查看根目录下所有的文件,具体操作如下
通过上面的截图可以看到根目录下所有的文件,每一个文件和目录都从根目录开始,/root是root用户的主目录,只有root用户具有该目录下的写权限。
/bin:用户二进制文件,包含二进制可执行文件,常见的linux命令都位于此目录下,如ls,ps,cd等
/dev-设备文件:包含终端设备、USB或连接到系统的任何设备。
/home-HOME目录
所有用户用Home目录来存储他们的个人档案,/home/pi
/lost+found存放一些系统丢失文件(以外关键)或碎片文件
/mnt:挂在目录,系统临时文件夹
/proc:系统进程的相关信息,这是一个虚拟的文件系统,包含有关正在运行的进程的信息,系统资源以文本形式存在
/sbin目录:系统二进制文件,在这个目录下的linux命令通常由系统管理员使用,对系统进行维护,例如ifconfig
/etc - 配置文件:所有程序所需的配置文件,也包含了用于启动/停止单个程序的启动和关闭shell脚本,例如/etc/resolv.conf
/var-变量文件:在这个目录下可以找到内容可能增长的文件,包含系统日志文件og,数据文件lib等
/tmp-临时文件:包含系统和用户创建的临时文件,当系统重启时,这个目录下的文件都将删除
/usr-用户程序,包含二进制文件,库文件,文档和二级程序的源代码,/usr/bin中包含用户程序的二进制文件。
/boot-引导加载程序文件,内核的initrd.
/lib-系统库,包含支持位于/bin和/sbin下的二进制文件的库文件,库文件为ld*lib*so.*等
/opt-可选的附加应用程序,包含从个别厂商的附加应用程序,安装在/opt目录或其子目录下
/media-可移动媒体设备
/srv-服务数据
2 linux操作几个关键问题
(1)绝对路径:从/(根目录)开始描述的路径。
相对路径:从当前位置开始描述的路径
.(一个点)表示当前目录
..(两个点)表示上一级目录,即父目录
-(横杠)表示上一次使用的目录
~(波浪线)表示当前的用户目录
对以上几个标识符操作如下:
(2)文件权限
-rw-rw-r-- pi pi 69 May 27 2016 .asoundr
linux下一切皆文件,所有的目录、设备、接口、链接等都可以看做文件,但是可以通过通过ls -al来查看具体的格式
第一个字符代表文件类型:
d:代表文件夹(目录)
-:普通文件
c:硬件字符设备
b:硬件块设备
s:管道文件
l:软连接文件
后面字符:r读功能 w写功能 x可执行功能
(3)#表示当前用户为超级管理员
$表示当前用户为普通用户
pi表示当登录用户
@在
raspberrypi当前使用电脑主机名(树莓派)
~表示当前目录,~为/home/pi家目录
$表示普通用户
(4)通配符
*代表文件中所有的字符
?文件中任意一个字符
[]配置中括号内的任意一个字符,用‘-‘表示范围a-z表示从a到z所有的字符
(5)用户切换
进入超级管理员:sudo -s(有的系统用sudo root) 退出用exit
切换普通账户su -普通用户 ‘-’可忽略
3 linux常用基本命令
(1)pwd:打印当前目录所在路径
(2)ls列出指定目录下所有文件
pwd查看当前目录
ls列出当前目录文件
ls /home列出/home下的所有文件
ls -a列出隐藏文件
ls -l列出文件的详细信息
ls -lh文件已kb GB MB大小的形势显现出来
(3)cd切换目录
cd ..进入上一级目录
cd -返回上一次目录
cd ~进入家目录
(4)清屏
clear:清除当前的屏幕,保留命令,向上翻页而已
reset:清除当前屏幕,不保留历史操作命令,实质是重启
(5)查看帮助
man ls
ls --help
(6)目录文件操作
1):mkdir 目录名(文件夹名):创建目录(文件夹)
mkdir -p 父目录/子目录 (没有父目录时同时创建父目录)
2):rmdir 目录名 删除目录,但不能删除非空目录
3):touch 文件名 新建文件,无法创建同名文件,文件名区分大小写
4):mv(move缩写)修改文件名,目录名,移动路径
mv file1 file2 把文件名file1修改为file2
mv dir1 dir2 把目录名1修改为目录名2
mv file2 dir2 把file2移动到dir2中
5):cp复制文件、目录
cp 源文件名 目标文件名:cp f1 f2
cp 源文件名 目标目录名:cp f1 dir1
cp 源目录名 目标目录名:cp dir1 dir2 若是非空目录,有问价加-r cp -r dir1 dir2
-r 递归删除指定目录下的目录以及文件
-i 操作之前要求确认,交互式
-f 强制操作,存在不提示
-a 保持文件的属性
6)查看文件内容
cat file1
cat file1 file2 同时查看两个文件
cat -n file1 显示文件内容,同时在前面显示行号
若是文件内容比较多,则用more查看,可以分屏显示
7)gedit图形应用程序的编辑器
8)rm 删除文件或目录 文件或目录删除后不能恢复
-i 交互式执行
-r 递归删除目录下的内容,删除文件夹是需要加此参数
-f 强制操作
(7)tree以目录树的形式查看当前文件下所有文件,可以看到下面2个目录,4个文件
(8)输出重定向:.>
linux允许将命令执行结果重新输入到另一个文件中,本应是显示在终端上的内容保存到指定文件中。
ls > test.txt输出重定向覆盖原来的内容
ls>>test.text输出重定向追加到文件的末尾,源文件内容保留
(9)管道:|
一个命令的输出可以通过管道作为另一个i命令的输入
“|”分在两端,左端写(塞)->|->右端读(取)
ls -alh | more
(10)创建连接文件
软连接:软连接不占用磁盘空间,源文件删除后软连接失效
ln -s 源文件 连接文件名
硬链接:硬链接只能连接普通文件,不能连接目录
ln 源文件 连接文件
如果源文件与连接文件不在同一个目录,则源文件要使用绝对路径
硬链接的实质对源文件进行计数,增加一个名字,删除其中一个,只是计数减一
软连接只是一个文件名指向源文件
(11)搜索命令grep搜索字符串
grep [-选项] '搜索字符串‘ 文件名
-v 不包含匹配文件的所有行
-n 包含匹配的文本并显示行
-i 忽略大小写
grep使用的正则表达式
^a 行首,搜索以‘a’开头的行首
ke$搜索以ke结尾的行
[iI]搜索匹配‘i’"I"的字符
(12)find查找文件
find ./ -name text.py
find ./ -name '*.py' 查找后缀‘.py’的所有文件
find ./ -name "[A-Z]"*查找以大写字符开头的所有文件
find /home -mtime -2 查找2小时内变动的文件
find /tmp -size 2M查找在/tmp目录下等于2M的文件
find /tmp -size +3M查找在/tmp目录下大于3M的文件
find ./ -size +4k -size -5M 查找当前目录下大于4K,小于5M的文件
find ./ -perm 777 查找当前目录下权限为777的文件或目录
(13)压缩解压缩
1)打包命令tar
tar [参数] 打包文件名 [文件]
-c 创建打包文件
-v列出归档接档的详细过程,显示进度
-f 指定档案文件名称,放在选项最后
-t 列出档案中包含的文件
-x 解开档案文件
常用命令:
打包:tar -cvf 打包名 文件
解包:tar -xvf 打包名 [-C 指定目录]
2)gzip压缩命令 -d解压 -r压缩所有的子目录
gzip通常与tar一起使用,且常用的两条命令:
打包压缩:tar -czvf 打包压缩名.tar.gz 打包文件
解包压缩:tar -xzvf 解包压缩名.tar.gz [-C 目录]
3)bzip2压缩
打包压缩:tar -cjvf 打包压缩名.tar.bz2 文件
解包压缩:tar -xjvf 解包压缩名.tar.bz2 [-C 目录]
(4)文件压缩解压 zip unzip与windows系统兼容
压缩: zip [-r] 目标文件 源文件
解压: unzip -d 解压后目录文件 压缩文件
(14)查看命令位置
which ls
whereis ls 含ls所有的命令
(15)系统相关的命令
cal 查看当前日历
date设置显示时间
ps查看进程信息
top动态显示运行中的进程
kill杀死系统的进程
reboot shutdown重启关机
df检测磁盘空间 df -h
du 检测当前目录所占的磁盘空间 使用情况
ifconfig 查看网络配置
ping 查看网络电脑连接情况