Linux文件系统结构
Linux下一切皆文件,Linux的文件系统是一个倒置的单根树形结构。
打开终端时默认当前路径是该用户的家目录。
绝对路径和相对路径
绝对路径:相对于根目录的路径。
相对路径:相对于当前所在路径的路径。
linux常用命令
linux系统命令的格式
命令 选项 参数
注意:不是所有命令都有选项和参数,命令不同,选项和参数也不同。命令和选项之间 、选项和参数之间都要有空格。
命令中所有涉及文件的操作使用绝对路径和相对路径都可以,什么都不加的时候 默认是在当前所在路径下匹配。
whoami命令
显示当前使用的用户
pwd命令
显示当前所在的绝对路径
ls命令
ls
列出当前路径下的所有文件
ls 路径名
列出指定路径下的所有文件
ls -l
列出当前路径下的所有文件,包括文件的详细信息
ls -a
列出当前路径下的所有文件,包括隐藏文件。linux中隐藏文件都是以 "."开头的
ls -lh
列出当前路径下的所有文件,包括文件的详细信息,且文件的大小以 K M G 等形式显示
单位的换算:
1Byte = 8bit
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
文件详细信息说明:
-rw-rw-r-- 1 linux linux 1231 5月 23 16:42 client.c
从左到右
-:文件的类型(bsp-lcd)
b 块设备文件
s 套接字文件
p 管道文件
- 普通文件
l (小写的L)链接文件
c 字符设备文件
d 目录文件
rwxrw-r– 文件的权限(对应三组权限) :文件的所属用户权限、所属组权限、其他人权限
r 读权限 w 写权限 x 执行权限
1 文件的硬链接个数
linux 文件的所属用户
linux 文件的所属组
1231 文件的大小 (单位是 字节)
6月20 17:30 文件的时间戳 (文件最后一次被修改的时间)
client.c :文件名
cd命令
命令用法 | 含义 |
---|---|
cd 目录名 | 进入指定的目录(可以是绝对路径 也可以是相对路径) |
cd . | 进入当前路径 --相当于没动 |
cd .. | 进入上一级目录 |
cd ../../ | 进入上一级的上一级目录 (可以连续使用) |
cd ~ | 进入用户的家目录 也可以直接 cd 回车 |
cd / | 进入根目录 |
cd - | 进入上一次所在的目录 |
mkdir命令
mkdir dir1
在当前路径下创建一个目录文件 名为dir1
mkdir ~/dir2
在当前用户的家目录下创建一个目录文件 名为 dir2
mkdir /home/linux/dir
在/home/linux 创建一个目录文件 名为 dir3
mkdir ../dir4
在上一级路径下创建一个目录文件 名为 dir4
mkdir dir1 dir2 dir3
在当前路径下 并列的创建三个目录文件 分别名为 dir1 dir2 dir3
mkdir -p dir1/dir2/dir3
在当前路径下 嵌套创建三个目录文件,也就是说dir1里面有dir2 dir2里面有dir3
touch命令
touch file
如果文件file存在,表示更新文件的时间戳
如果文件file不存在,表示在当前路径新建普通文件 名为file
rmdir命令
rmdir 目录文件名
删除目录文件(注意:这个命令只能删除空目录)
rm命令
rm file
删除当前路径下名为file的文件
rm -r dir
如果要删除的是目录文件,需要加选项 -r ,这种方式可以删除非空的目录文件
rm -f file
删除文件file 忽略错误信息 强制删除
rm -rf 文件名 (常用的用法)
cp命令
cp file1 file2
如果file2不存在,将文件file1复制一份儿取名为file2
如果file2存在,表示将file1复制一份儿取名为file2 会覆盖原来的file2
cp file1 dir1
将文件file1复制一份儿放到目录dir1里面
cp -r dir1 dir2
如果目录dir2不存在,表示将目录dir1复制一份儿取名为dir2
如果目录dir2存在,表示将目录dir1复制一份儿放到dir2里面
mv命令
mv file1 file2
如果file2不存在,表示将文件file1重命名为file2
如果file2存在,表示将文件file1重命名为file2,覆盖原来的file2
mv file1 dir1
将file1移动到dir1中
mv dir1 dir2
如果dir2不存在,表示将dir1重命名为dir2
如果dir2存在,表示将dir1移动到dir2里面
clear命令
清屏 或使用快捷键 ctrl + l(小写的L)
exit命令
如果涉及到用户切换,表示退回到上一次的用户
如果本来就已经是最初的用户了,exit表示关闭终端
su 用户名 切换用户
su - 用户名 切换用户(并加载新用户的环境变量)
练习
1.在用户的家目录下创建 目录文件 dir1 和 普通文件file1
2.在家目录下给dir1目录嵌套创建 dir1/dir2/dir3/dir4/dir5
3.在家目录下直接一步进入到 dir4 里面
4.在dir4目录中将家目录下的file1 移动到上一级的dir3中
5.在dir4目录下创建一个目录文件 test
6.将test 复制到上一级的dir3中
7.在dir4中直接查看dir3中有哪些文件
8.在dir4中直接回到家目录 删除刚才创建的目录 dir1
cd ~
mkdir dir1
touch file1
mkdir -p dir1/dir2/dir3/dir4/dir5
cd ./dir1/dir2/dir3/dir4
mv ~/file1 ../
mkdir test
cp -r test ../
ls ../
cd ~
rm -r dir1
软件安装相关的命令
离线安装软件相关的命令–>dpkg
-
离线安装包软件的后缀
ubuntu ----> .deb
redhat ----> .rpm -
离线安装包软件命令方式
sl_3.03-17build2_amd64.deb
sl:软件的名字
3.03:软件的版本号
amd64:软件支持系统的位数,amd64(64位操作系统) i386(32位操作系统)
.deb:软件包的后缀 -
使用共享文件夹将sl_3.03-17build2_amd64.deb拷贝到ubuntu中
cp /mnt/hgfs/share/sl_3.03-17build2_amd64.deb ./
/mnt/hgfs/share:自己的共享文件夹的名字
使用共享文件夹将windows中的文件拷贝到ubuntu中, -
离线安装软件的的命令
sudo dpkg -i 要安装的离线软件包的名字.deb
例如 : sudo dpkg -i sl_3.03-17build2_amd64.deb -
运行软件
在终端输入安装的软件的名字即可
linux@ubuntu:day01$ sl -
查看软件安装的列表信息
sudo dpkg -l 安装的软件的名字
例如 : sudo dpkg -l sl -
查看软件的安装的路径
sudo dpkg -L 安装的软件的名字
例如 : sudo dpkg -L sl -
卸载软件
sudo dpkg -r 要卸载的软件名
sudo dpkg -P 要卸载的软件名 —> 卸载的更加干净
在线安装软件相关的命令–> apt-get
1> 修改ubuntu的软件源
软件源的作用:当使用在线安装的命令安装软件时,从哪个服务上下载软件并安装
- 对ubuntu系统中自带的软件源进行备份
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak - 将清华源的链接拷贝到/etc/apt/sources.list文件中,替换原有的内容。
清华源的网址的链接:https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/
打开sudo vi /etc/apt/sources.list文件,将里边的内容删除,添加以下内容,添加之后保存退出
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
# deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
# deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
2> 在终端执行sudo apt-get update命令,更新软件源
更新软件源的命令,将软件员服务器中所有的软件更新到本地中,当安装软件时,提高软件的检索的效率。
3> 在线安装软件
sudo apt-get install 安装的软件名
eg:
sudo apt-get install sl // 安装小火车的程序
sudo apt-get install oneko //安装追⿏标的⼩猫
sudo apt-get install frozen-bubble //安装泡泡⻰
sudo apt-get install cmatrix //代码⾬
sudo apt-get install bastet //俄罗斯⽅块
运行软件,
linux@ubuntu:~$ oneko ----> 在前台运行
结束前台的进程:ctrl + c
linux@ubuntu:~$ oneko & ----> 进程在后台运行
结束后台的进程:终端关闭重启
4> 卸载软件
sudo apt-get remove 卸载的软件名
sudo apt-get autoremove 卸载的软件名
5> 下载软件安装包
sudo apt-get download 软件的名字
6> 下载软件的源码包
sudo apt-get source 软件的名字
压缩解压缩命令
压缩命令
- bzip2 : 压缩之后得到bz2后缀的压缩文件
- xz : 压缩之后得到xz后缀的压缩文件
- gzip : 压缩之后得到gz后缀的压缩文件
格式:
bzip2/xz/gzip 要压缩的文件的名字
压缩之后得到***.xx (xx = bz2、xz、gz)
注:- bzip2/xz/gzip只可以对单个文件进行压缩,不可以对文件夹进行压缩
- 压缩之后得到对应的压缩文件,源文件消失
- 压缩效率:xz > bzip2 > gzip
- 压缩时间:xz > bzip2 > gzip(压缩时间)
例如:
linux@ubuntu:day01$ ls Image -lh
-rwxrwxr-x 1 linux linux 19M Nov 16 00:49 Image
linux@ubuntu:day01$ bzip2 Image
linux@ubuntu:day01$ ls Image.bz2 -lh
-rwxrwxr-x 1 linux linux 6.7M Nov 16 00:49 Image.bz2
linux@ubuntu:day01$ xz Image
linux@ubuntu:day01$ ls Image.xz -lh
-rwxrwxr-x 1 linux linux 5.4M Nov 16 00:49 Image.xz
linux@ubuntu:day01$ gzip Image
linux@ubuntu:day01$ ls Image.gz -lh
-rwxrwxr-x 1 linux linux 7.2M Nov 16 00:49 Image.gz
解压缩命令
- bunzip2 : 对bz2的压缩文件进行解压缩
- unxz : 对xz的压缩文件进行解压缩
- gunzip : 对gz的压缩文件进行解压缩
格式:
bunzip2/unxz/gunzip 要解压缩文件的名字.xx (xx = bz2、xz、gz)
linux@ubuntu:day01$ bunzip2 Image.bz2
linux@ubuntu:day01$ unxz Image.xz
linux@ubuntu:day01$ gunzip Image.gz
归档和拆包的命令–>tar
- tar命令的参数
-c : 归档
-x : 拆包
-v : 在终端回显归档和拆包的详细信息,比如:把哪些文件或目录进行归档,或者拆包了哪些文件或目录