敲代码的姿势要帅
基础知识
GNU/Linux = Linux内核 + GNU系统工具链 + 软件。(采用Linux内核的 GNU操作系统)
- 内核:控制硬件,管理进程线程,文件、内存、IO管理。。。
- GNU:GNU‘s Not Unix,移植Unix命令到Linux,GNU / Linux shell是一种特殊的交互工具。
--比如shell,c编译器,ls命令等都是GNU提供的 - Shell:管理命令,多个(shell脚本),
-- 常见的shell:bash shell,一般包含多个shell
man 查看bash手册
- 查看命令的帮助文档page页,主要看前3项,完成后按q键退出
--help
-
命令 + --help
查看命令帮助
Linux文件目录
- window使用驱动器盘符标注不同的磁盘分区,有多个磁盘分区,每个分区有自己的目录结构。
- Linux 将所有文件组织在一个目录下,即虚拟目录,虚拟目录只包含一个root目录,其他文件和目录均在root之下,根目录用
/
表示,通常不要存文件,用来放顶级文件夹 - Linux 机器上安装的第一个硬盘为根驱动器,包含虚拟目录的核心。
- 挂载点:linux会在根驱动器中创建一些目录,用于分配额外存储目录,虚拟目录能将其他驱动器中的文件和目录展示在挂载点下,比如挂在在
/home
文件夹下。 - Linux顶层虚拟目录名:
--/bin:系统二进制目录,存放一些用户级的GNU工具(命令)
--/sbin:管理员GNU工具
--/usr:用户二进制目录,存放一些用户安装的GUN工具
--/boot:启动相关
--/dev:硬件设备挂在这,通过该目录访问
--/etc:存放系统配置文件
--/home:存放用户目录
--/lib:系统使用的库文件
--/media:可移动媒体设备挂载在此
--/root:root用户的主目录
--/pric:访问进程和硬件信息
文件目录相关
1. psw
- 查看当前所在路径
2.cd
- 切换目录
-
/
表示根目录 -
./
表示当前目录,../
表示父目录
3.ls
- 列表展示目录
-
-F
:区分目录和文件 -
-a
:显示所有隐藏 -
-l
:展示详细信息 -
-alF
:选项可以组合 -
-l ab*c?[12]
:使用字符串进行筛选
4.cp
- 复制文件
-
cp src des
,也可与复制整个文件夹
5.mv
- 重命名文件夹或者文件
--mv name new_name
- 移动文件或者文件夹
--mv name path / path+name
-
-i
:显示操作中的提示和结果信息
6.mkdir
- 创建 文件夹
- rmdir:只能删除空文件夹,删除非空,用下边的。,
7.rm
- 删除文件或者文件夹
-
-rf
:删除非空文件夹
-- -r表示递归
8.查看文件相关
-
file file_name
:查看文件类型 -
cat file_name
:查看文件内容
---n
:显示行号
3.进程相关
1.ps
- 用于查看进程信息
- 默认无参:只展示当前bash的进程
-
-ef
:展示所有进程详细信息(常用)
- CMD列m:启动该进程的应用名称
- 对结果进行筛选:ps -ef | grep string
-
-aux
:现实所有进程信息,并展示所有的列
2.kill
- 用于杀死进程
kill -9 [PID]
- 参数
-9
表示强行杀死进程
4.磁盘相关:
1.mount
- 默认:展示已经挂载的存储
-
mount -t type device to_dictionary
--type可以是ntfs、vfat、iso9660
--例如:mount -t ntfs dev/sdb1 media/disk
2.unmount
unmount device / dictionary
3.df
- 当前各个磁盘使用情况
- du:检查超大文件
5.文件数据相关
1.grep
- 搜索文件中关键字,展示相关行
-
grep string file
:展示file中含有string的行
2.tar 和zip
- zip用来压缩数据
- tar是linux自带的主流的归档工具
-
tar -cvf tar_name.tar source
:将source指明的一个或者多个文件源归档为一个tar -
tar -tf tar_name.tar
:查看tar中的内容 -
tar -xvf tar_name.tar
:展开tar(相当于解压) -
tar -zxvf srcname -C desName
: 解压到制定目录
6.环境变量
1.设置添加环境变量:
-
export NAME=$HOME/subdir
: 添加home目录下的某个子目录为环境变量
7.网络与端口
1.查看端口占用情况
-
lsof -i:[port]
:查看端口被那个进程占用 -
netstat -apn | grep [name]
:查看端口被占用的进程的信息