一.Linux的目录结构
Linux系统中并没有盘符的概念,而是通过目录/
表示所有文件的开始,并通过挂载(mount)的方式把所有硬盘分区都放置在根目录下。
目录名称 | 英文原意 | 说明 |
---|---|---|
usr | unix system resources | 存放应用程序和文件目录 |
home | - | 用户空间 |
etc | etcetera | 存放系统的管理文件和配置文件 |
proc | process | 虚拟目录,系统内存中的进程以文件的形式体现 |
dev | device | 设备文件目录 |
lib | library | 系统最基本的动态连接分享库 |
boot | - | 存放用于启动linux系统的核心文件 |
bin | binary | 二进制可执行文件目录(ls等命令保存在此) |
opt | optional | 存放额外安装的软件 |
root | - | 超级权限者的用户主目录 |
sbin | super user binary | 存放超级用户使用的二进制可执行文件 |
tmp | temporary | 存放临时文件 |
var | variable | 存放经常变化的文件 |
mnt | mount | 临时挂载文件的挂载点 |
二.Linux常用命令
命令 | 说明 | 参数 |
---|---|---|
ps | 用于显示当前进程状态 | -A/-ef |
top | 用于实时显示 process 的动态 | -c/-b/-s/-p |
rm | 用于删除一个文件或者目录 | -r/-f/-i |
cp | 主要用于复制文件或目录 | -r/-a/-f |
ll | 罗列出当前文件或目录的详细信息 | - |
mv | 用来为文件或目录改名、或将文件或目录移入其它位置 | -i/-f |
chmod | 修改权限 | -c/-f/-v |
cat | 用于连接文件并打印到标准输出设备上 | -n/-b/-s |
wc | 用于计算字数 | -c/-l/-w |
grep | 用于查找文件里符合条件的字符串 | -r/-v |
find | 用来在指定目录下查找文件 | |
xargs | 给命令传递参数的一个过滤器 | -a/-e |
ifconfig | 用于显示或设置网络设备 | - add/-del |
history | 显示或操纵历史列表 | -c |
netstat | 用于显示网络状态 | -a/-c |
sudo | 以系统管理者的身份执行指令 | -v/-h/-l |
iostat | 用于输出CPU和磁盘I/O相关的统计信息 | -c/-d |
df | 用于显示目前在Linux系统上的文件系统的磁盘使用情况统计 | -f/-h/--total |
du | 用于显示目录或文件的大小 | -h |
crontab | 用来定期执行程序 | -e/-r/-f |
lsof | 列出当前系统打开文件的工具 | -u/-c |
ssh | 密钥 | - |
三.Linux常见进程
3.1 init进程
介绍:它是一个由内核启动的用户级进程,内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。所以,init始终是第一个进程(其进程编号始终为1)。内核会在过去曾使用过init的几个地方查找它,它的正确位置(对Linux系统来说)是/sbin/init。如果内核找不到init,它就会试着运行/bin/sh,如果运行失败,系统的启动也会失败。
3.2 migration进程
介绍:这种内核线程共有32个,从migration/0到migration/31,每个处理器核对应一个migration内核线程,主要作用是作为相应CPU核的迁移进程,用来执行进程迁移操作,内核中的函数是migration_thread()
3.3 ksoftirqd进程
介绍:这个线程正是用来执行软中断的(准确的说应该是执行过多的软中断)。我们知道按照优先级来说,中断>软中断>用户进行,也就是说中断可以打断软中断,而软中断又可以打断用户进程。
3.4 events进程
介绍:这种内核线程共有32个,从events/0到events/31, 每个处理器核对应一个 events内核线程。用来处理内核事件很多软硬件事件(比如断电,文件变更)被转换为events,并分发给对相应事件感兴趣的线程进行响应。