Linux操作系统的基础知识

在操作系统中,进程的执行也需要分配 CPU 进行执行,也就是按照程序里面的二进制代码一行一行地执行。于是,为了管理进程,我们还需要一个进程管理子系统(Process Management Subsystem)。如果运行的进程很多,则一个 CPU 会并发运行多个进程,也就需要 CPU 的调度能力了。

在操作系统中,不同的进程有不同的内存空间,但是整个电脑内存就这么点儿,所以需要统一的管理和分配,这就需要内存管理子系统(Memory Management Subsystem)。

Linux操作系统的基础知识_第1张图片

Linux修改密码的命令:passwd;创建用户的命令:useradd。

/bin/bash 的位置是用于配置登录后的默认交互命令行的,不像 Windows,登录进去是界面,其实就是 explorer.exe。而 Linux 登录后的交互命令行是一个解析脚本的程序,这里配置的是 /bin/bash。

ls -l,也就是用列表的方式列出文件。

# ls -l
drwxr-xr-x 6 root root    4096 Oct 20  2017 apt
-rw-r--r-- 1 root root     211 Oct 20  2017 hosts

其中第一个字段的第一个字符是文件类型。如果是“-”,表示普通文件;如果是 d,就表示目录。当然还有很多种文件类型。

第一个字段剩下的 9 个字符是模式,其实就是权限位(access permission bits)。3 个一组,每一组 rwx 表示“读(read)”“写(write)”“执行(execute)”。如果是字母,就说明有这个权限;如果是横线,就是没有这个权限。

这三组分别表示文件所属的用户权限、文件所属的组权限以及其他用户的权限。

第二个字段是硬链接(hard link)数目。

第三个字段是所属用户,第四个字段是所属组。第五个字段是文件的大小,第六个字段是文件被修改的日期,最后是文件名。你可以通过命令chown改变所属用户,chgrp改变所属组。

Linux 现在常用的有两大体系,一个是 CentOS 体系,一个是 Ubuntu 体系,前者使用 rpm,后者使用 deb。

在 Linux 下面,凭借rpm -qa和dpkg -l就可以查看安装的软件列表,-q 就是 query,a 就是 all,-l 的意思就是 list。

如果你不知道关键词,可以使用rpm -qa | more和rpm -qa | less这两个命令,它们可以将很长的结果分页展示出来。这样你就可以一个个来找了。

如果要删除,可以用rpm -e和dpkg -r。-e 就是 erase,-r 就是 remove。

Linux 也有自己的软件管家,CentOS 下面是 yum,Ubuntu 下面是 apt-get。

对于 CentOS 来讲,配置文件在/etc/yum.repos.d/CentOS-Base.repo里。

对于 Ubuntu 来讲,配置文件在/etc/apt/sources.list里。

对应 Linux 里面会放的更散一点。例如,主执行文件会放在 /usr/bin 或者 /usr/sbin 下面,其他的库文件会放在 /var 下面,配置文件会放在 /etc 下面。

如果是 tar.gz 这种格式的,通过 tar xvzf jdk-XXX_linux-x64_bin.tar.gz 就可以解压缩了。

在 Linux 也是一样的,通过 tar 解压缩之后,也需要配置环境变量,可以通过 export 命令来配置。

export JAVA_HOME=/root/jdk-XXX_linux-x64
export PATH=$JAVA_HOME/bin:$PATH

export 命令仅在当前命令行的会话中管用,一旦退出重新登录进来,就不管用了。若需要永久存在,通过 vim .bashrc,将 export 的两行加入后,输入:wq,写入并且退出,这样就编辑好了。

最终命令的一般形式为nohup command >out.file 2>&1 &。这里面,“1”表示文件描述符 1,表示标准输出,“2”表示文件描述符 2,意思是标准错误输出,“2>&1”表示标准输出和错误输出合并了。合并到哪里去呢?到 out.file 里。

我们假设启动的程序包含某个关键字,那就可以使用下面的命令关闭进程。

ps -ef |grep 关键字  |awk '{print $2}'|xargs kill -9

此文章为10月Day16学习笔记,内容来源于极客时间《趣谈Linux操作系统》,推荐该课程。

你可能感兴趣的:(Linux,linux)