*linux启动流程 *linu相关的指令 *软件管理相关指令 *文件系统 *Linux里的文件系统 *目录操作的常见指令 *文件和目录的创建删除 *查看文件
在Linux中,很多功能需要使用命令行来实现,我们甚至可以不使用桌面,只使用终端命令在Linux里实现绝大多数功能。
指令的基本格式:
命令 [选项] [参数]
Copy
例如:
ls -a / # 表示列出根目录下所有的文件及文件夹
Copy
####
简单来说,Linux系统可以分为Debian和RedHat两大分支。基于Debian平台比较流行的操作系统是Ubuntu,基于RedHat平台比较流行的操作系统是fedora.两种不同的分支,它们所使用的软件管理命令也是不一样的。
基于Debian平台的操作系统,使用dpkg和apt指令管理软件,基于RedHat平台的操作系统,使用rpm和yum指令来管理软件。它们的命名方式不同,但是命令的执行效果大致相同,我们主要学习基于Debian平台Ubuntu系统下的dpkg和apt指令。
dpkg是“Debian Package”的简写,为 “Debian” 专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自“Debian”的“Linux ”发行版都使用 “dpkg”,例如 “Ubuntu”、“Knoppix ”等。
命令行 | 作用 | 示例 |
---|---|---|
dpkg -i <.deb file name> | 安装.deb后缀名的软件 | dpkg -i google-chrome-stable_current_amd64.deb |
dpkg --info <.deb file name> dpkg -s | 检测打包好的文件 | dpkg --info google-chrome-stable_current_amd64.deb dpkg -s google-chrome-stable |
dpkg -L | 列出与该资源包有关的文件 | dpkg -L google-chrome-stable |
dpkg -l | 列出所有已安装的包 | dpgk -l |
dpkg -r | 删除指定的软件,并保留配置 | dpkg -r google-chrome-stable |
dpkg -P | 删除指定的软件,不保留配置 | dpkg -P google-chrome-stable |
dpkg本身是一个偏底层的工具,一般情况下不经常使用,我们更多的使用apt. apt全称Advanced Packaging Tool(apt),是Linux下的一款安装包管理工具。使用这个命令可以快速的实现在线、升级以及卸载软件。
命令行 | 作用 | 示例 |
---|---|---|
apt-cache search | 查找指定的包 | apt-cache search google |
apt-get install | 安装指定的包 | apt-get install vim |
apt-get -f install | 安装依赖包 | apt-get -f install |
apt-get reinstall | 重现安装指定的包 | apt-get reinstall vim |
apt-get remove | 删除指定的包 | apt-get remove vim |
apt-get remove --purge | 删除指定的包,包括配置文件 | apt-get remove --purge vim |
apt-get update | 会更新/etc/apt/sources.list软件资源包列表 | aput-get update |
apt-get upgrade | 更新已安装的包 | apt-get upgrade |
apt-get dist-upgrade | 更新系统 | apt-get dist-upgrade |
操作系统中,用来管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。具体来说,这部分系统就是负责为用户建立、读取、修改和转储文件,控制文件的存取,当用户不再使用时撤销文件等。
常见的文件系统介绍:
#####
不同于Windows系统有盘符的概念(C盘、D盘等),Linux里只有一个盘符,是从 " / " 开始的,只有它是没有上级目录的。如果把整个应用目录系统看成一个树形结构," / " 表示相当于这个树形结构的根,我们可以将 " / " 称之为根目录。
在根目录里,有以下几个一级文件夹或文件,需要大家有所了解。
目录 | 说明 |
---|---|
/ | 系统的根目录 |
/bin | 包含了一些二进制文件,即可执行文件。我们在命令行里执行的指令,例如 ls,rm,cp,mv等,其实都是执行的这个目录里的二进制文件。 |
/boot | 系统启动相关时所需的文件。(勿动) |
/cdroom | 挂载光盘 |
/dev | 设备文件,其中许多都是在启动时或运行时生成的。例如,如果你将新的网络摄像头连接到机器中,会自动弹出一个新的设备条目 |
/etc | 用来存放所有的系统管理所需要的配置文件和子目录。(会经常使用) |
/home | 用户的主目录,每一个用户都有自己的目录,所有的用户都存放在home目录下。 |
/lib(64) | 用来存放系统最基本的动态连接共享库,几乎所有的应用程序都需要用到这些共享库。 |
/lost+found | 这个目录一般情况下是空的,当系统非法关机后,这里会存放一些没来得及保存的文件。 |
/media | Linux系统自动识别的一些设备,比如U盘、光驱等,当识别后,linux会把识别的设备挂载到这个目录下。 |
/mnt | 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光盘挂载在/mnt/上,然后进入到该目录就可以查看光驱里的内容了。 mount /dev/cdrom /mnt/ umount /mnt/ |
/opt | 给额外安装软件所摆放的目录。比如你安装一个ORACLE数据库就可以把它放到这个目录下 |
/proc | 虚拟目录,它是系统内存的映射,可以通过直接访问这个目录来获取系统信息。 /proc/sys/net/ipv4/icmp_echo_ignore_all |
/root | 超级用户目录 |
/run | 是一个临时文件,存储系统启动以来的信息,当系统重启时,这个目录下的文件会被删除。 |
/sbin | 超级用户使用的命令存放目录(系统启动时所需要的重要的系统二进制文件) |
/snap | Ubuntu自己的软件管理工具 |
/srv | 存放一些服务启动之后需要提取的数据 |
/sys | 映射内核设备 |
/tmp | 存放临时文件 |
/usr | 非常重要的目录,用来存放用户安装的应用程序和用户文件。 |
/var | 经常修改的数据,比如程序运行的日志文件 |
符号 | 说明 |
---|---|
. | 当前目录 |
… | 上一级目录 |
~ | 当前用户的家目录 |
- | 表示上次切换之前的目录 |
/ | 表示根目录 |
1.使用cd时,不指定目标地址,会切换到家目录 2.凡是以/开头的目录都是绝对目录 3.凡是以.或…开头的目录都是相当目录
选项 | 说明 |
---|---|
-a | 显示所有文件,包括隐藏文件 |
-l | 列表显示,详细信息 |
-h | 人性化的显示大小,如:K/M/G |
-l选项显示的结果:类型及权限 | 连接数 | 用户 | 用户组 | 大小 | 月 | 日| 年/时间 | 名称
文件类型:(-l显示结果中的第一部分的第一列)
连接数:如果是文件,表示这个文件有多少个名字(硬链接);如果是目录,表示这个目录里有多少个子目录。
符号 | 类型 |
---|---|
- | 普通文件。包括纯文本文件(ASCII);二进制文件(binary);数据格式的文件(data);各种压缩文件等。 |
d | 目录文件。 |
l | 链接文件。类似于Windows里的快捷方式。 |
c | 字符设备文件。即串行端口的接口设备,例如键盘、鼠标等等。 |
b | 块设备文件。就是存储数据以供系统存取的接口设备,简单而言就是硬盘 |
s | 套接字文件。这类文件通常用在网络数据连接,最常在 /var/run目录中看到这种文件类型。 |
p | 管道文件。它主要的目的是,解决多个程序同时存取一个文件所造成的错误。 |
alias:给命令起别名。
alias md=mkdir
Copy
相当于给mkdir命令起了一个别名,以后使用md即可创建一个文件夹。
alias # 不添加任何参数,表示列出所有的别名
Copy
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CCX3KPOb-1595169381692)(imgs/alias指令.png)]
unalias md # 删除别名
Copy
命令 | 说明 |
---|---|
touch | 新建文件,可以是多个 |
rm | 删除文件或目录(删除目录时要传递’-r’选项) |
cp | 拷贝文件或目录(拷贝目录是要传递’-r’选项) |
mv | 移动文件或目录 |
mkdir | 创建目录,可以是多个 |
rmdir | 删除空目录 |
选项说明
-r:删除或拷贝目录时需要添加,表示递归操作。
-f:表示强制操作,没有提示信息。
*:表示模糊匹配,如:rm* .py
,表示删除所有的py文件。
-p:创建目录时若需要创建中间目录,可以添加此选项。
mkdir -p a/b/c
Copy
命令 | 说明 |
---|---|
cat | 从上到下,显示文件全部内容 |
tac | 从下到上,显示文件全部内容 |
head | 查看开头指定行数的内容,不指定时默认10行,如:head -20 filename |
tail | 查看文件末尾指定行数的内容,不指定时默认10行,如:tail -5 filename |
nl | 功能与cat相同,但是多显示了行号 |
wc | 统计显示,内容:行数 单词数 字符数 文件名 |
more | 一点一点查看内容 |
less | 一点一点查看内容 |
统计当前目录下的所有文件行数: wc -l * ls -l|wc -l 用来统计当前目录下的文件数 当前目录以及子目录的所有文件行数: find . * | xargs wc -l
可以把改成所要匹配的文件,例如Java文件,.java这样就只统计java源码了。
关于wc命令的更多介绍,可以在终端输入wc --help查看
列出BKK目录下 后缀名是webp 且前缀名不是以大写X结尾的文件的 文件数 ls BKK | egrep [^X].webp | wc
wc命令的功能为统计指定文件中的字节数、字数、行数, 并将统计结果显示输出。 语法:wc [选项] 文件… 说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。 该命令各选项含义如下: